Commit Graph

36 Commits

Author SHA1 Message Date
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.
2020-05-17 23:31:41 -03:00
Jason Rhinelander
955c475dbe Enable cpu detection on amd64
The optional runtime detection shouldn't rely on being compiled in avx2
mode.
2020-01-08 20:45:25 -04:00
Jason Rhinelander
cdca34e628 Fix runtime AVX2 detection
The feature flags come via __cpuid_count instead of __cpuid

Also removes a couple unneeded headers.
2019-11-21 11:50:04 -04:00
Jeff Becker
f38240f945
devendor libsodium by default except for android 2019-10-29 12:01:58 -04:00
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)
2019-09-03 08:02:35 -05:00
Rick V
595b15d538
make format crypto/ 2019-09-03 08:02:35 -05:00
Rick V
b3a975ff8e
sun fix
fix testing on sun
2019-08-27 06:53:08 -05:00
Jeff Becker
3da6551e82
make android compile 2019-04-08 11:54:19 -04:00
Ryan Tharp
98e3753764 fix typo 2019-02-18 05:12:13 -08:00
Ryan Tharp
ad91071633 Fix undefined behaviors and misaligned member access 2019-02-18 01:59:33 -08:00
Jeff Becker
fd87f2ac96
purge VLAs from the codebase 2018-11-09 07:25:14 -05:00
despair
2a5a0f1577 fix warnings on windows
up next: fix netbsd
2018-11-07 18:09:49 -06:00
Jeff Becker
7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 2018-11-07 10:57:34 -05:00
Michael Thorpe
33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
2018-11-07 15:31:13 +00:00
Jeff Becker
f1cca956f9
make android compile again 2018-11-06 09:06:09 -05:00
Jeff Becker
2e511dc414
fix format 2018-10-24 08:29:30 -04:00
Jeff Becker
c262f8b5e3
bundle relevent libsodium parts 2018-10-23 07:29:37 -04:00
despair86
d25a376ea6 added protected-mode avx2 note 2018-10-06 12:04:49 -05:00
despair86
3b9ce8d41d separated avx2 code by architecture 2018-10-06 12:04:48 -05:00
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?
2018-10-01 15:08:55 -05:00
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
2018-10-01 15:06:07 -05:00
Ryan Tharp
094b0fcf3b Merge branch 'master' of https://github.com/despair86/loki-network 2018-08-23 23:59:19 +00:00
Ryan Tharp
8724ddd792 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-23 22:51:23 +00:00
despair86
a4fd7c23af useless header is useless ;-; 2018-08-23 14:33:57 -05:00
despair86
c14aed7809 microsoft c static_assert is shit 2018-08-23 14:04:50 -05:00
despair86
9b73b013ce run-time assertion in ms c: make sure that CPP macro and local variable LOOPS == loops 2018-08-23 13:42:54 -05:00
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
2018-08-18 21:26:18 -05:00
despair86
72c2231caf this works apparently 2018-08-18 21:24:41 -05:00
Ryan Tharp
e3df552986 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-17 06:17:51 +00:00
Jeff Becker
1c916e9d0c
fix building debian package on systems that don't have avx2 2018-08-16 09:12:43 -04:00
Ryan Tharp
ad833f2eb9 fix gcc 7.2 on MacOS compile 2018-08-16 03:53:23 -07:00
Jeff Becker
98b3bd6354
add runtime toggle of AVX2 code in sntrup 2018-08-14 17:28:14 -04:00
Jeff Becker
0d0a3357f7
fix libntrup avx2 detection 2018-08-14 08:44:34 -04:00
Jeff Becker
186bd7d573
use NTRU for introset end to end encryption 2018-08-13 19:22:31 -04:00
Jeff Becker
98c275ab87
fix cpuid call 2018-08-13 11:45:32 -04:00
Jeff Becker
8eacffca09
restructure original code into libntrup 2018-08-13 11:43:27 -04:00