Commit Graph

37 Commits (dev)

Author SHA1 Message Date
Jeff Becker 07fb41cfd4
fix debian sid compiler error 3 years ago
Jason Rhinelander 5e91c946c5 AVX code: move stub into separate file; always check -mavx2/-mfma
This simplifies the build a bit by moving the avx stubs into a single .c
file: we can avoid compiling all of the avx2 code and just add a single
stub file instead when the compiler doesn't have -mavx2/-mfma.

This also simplifies cmake to just always test the flags; there are some
cases (like using NATIVE_BUILD) where USE_AVX2 doesn't necessarily
apply, and it's cheap to just check them.
4 years ago
Jason Rhinelander 955c475dbe Enable cpu detection on amd64
The optional runtime detection shouldn't rely on being compiled in avx2
mode.
4 years ago
Jason Rhinelander cdca34e628 Fix runtime AVX2 detection
The feature flags come via __cpuid_count instead of __cpuid

Also removes a couple unneeded headers.
5 years ago
Jeff Becker f38240f945
devendor libsodium by default except for android 5 years ago
Rick V 294b98527d
clang-format remaining code, use __asm__ for avx2 port since we
insist on straight C99 without extensions (asm isn't special in
C99, __asm__ is)
5 years ago
Rick V 595b15d538
make format crypto/ 5 years ago
Rick V b3a975ff8e
sun fix
fix testing on sun
5 years ago
Jeff Becker 3da6551e82
make android compile 5 years ago
Ryan Tharp 98e3753764 fix typo 5 years ago
Ryan Tharp ad91071633 Fix undefined behaviors and misaligned member access 5 years ago
Jeff Becker fd87f2ac96
purge VLAs from the codebase 6 years ago
despair 2a5a0f1577 fix warnings on windows
up next: fix netbsd
6 years ago
Jeff Becker 7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 6 years ago
Michael Thorpe 33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
6 years ago
Jeff Becker f1cca956f9
make android compile again 6 years ago
Jeff Becker 2e511dc414
fix format 6 years ago
Jeff Becker c262f8b5e3
bundle relevent libsodium parts 6 years ago
despair86 d25a376ea6 added protected-mode avx2 note 6 years ago
despair86 3b9ce8d41d separated avx2 code by architecture 6 years ago
despair86 2fdc7ae8a8 temporarily removed avx2 fixes for want of further testing
hmm it allows the compiler to pick fpu regs on its own, but is it _truly_ equivalent to the asm code?
6 years ago
despair86 e3a94101b4 the AVX2 codepaths now appear to be 32-bit clean.
old hard-coded inline asm is still included if requested.
-rick

nb: is a vector of eight floats not the same layout as a simple linear array of same? (Aside from the alignment requirements)

netbsd-family build fixes, also - the AVX2 codepaths are _compiler-specific_, they use features _exclusive_ to gcc and clang
6 years ago
Ryan Tharp 094b0fcf3b Merge branch 'master' of https://github.com/despair86/loki-network 6 years ago
Ryan Tharp 8724ddd792 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
despair86 a4fd7c23af useless header is useless ;-; 6 years ago
despair86 c14aed7809 microsoft c static_assert is shit 6 years ago
despair86 9b73b013ce run-time assertion in ms c: make sure that CPP macro and local variable `LOOPS == loops` 6 years ago
despair86 8c1b2c3b79 win32 fluff
more win32 on msc++ fluff

and a solaris patch that i may revert later if the cpp directives aren't processed correctly
-despair86
6 years ago
despair86 72c2231caf this works apparently 6 years ago
Ryan Tharp e3df552986 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 1c916e9d0c
fix building debian package on systems that don't have avx2 6 years ago
Ryan Tharp ad833f2eb9 fix gcc 7.2 on MacOS compile 6 years ago
Jeff Becker 98b3bd6354
add runtime toggle of AVX2 code in sntrup 6 years ago
Jeff Becker 0d0a3357f7
fix libntrup avx2 detection 6 years ago
Jeff Becker 186bd7d573
use NTRU for introset end to end encryption 6 years ago
Jeff Becker 98c275ab87
fix cpuid call 6 years ago
Jeff Becker 8eacffca09
restructure original code into libntrup 6 years ago