Commit Graph
257 Commits
Author SHA1 Message Date
Frank Denis 68564326e1 A compiler *can* still optimize this out 2016-08-04 20:59:43 +02:00
Ilya Maykov a3b68738db Better AVX2 detection, try 2 (only using intrinsic functions) (#420)
* Better AVX2 detection, try 2 (only using intrinsic functions)

* Slight change to AVX2 detection per jedisct1's feedback
2016-08-04 20:58:48 +02:00
Frank Denis e08feb04d9 Pasto: CFLAGS_AVX -> CFLAGS_AVX2
Spotted by @ivmaykov
2016-08-04 02:26:24 +02:00
Frank Denis fa18ba7505 Revert "Better AVX2 detection for GCC compilers"
This reverts commit 534e0774e3.
2016-08-04 02:25:24 +02:00
Ilya Maykov 534e0774e3 Better AVX2 detection for GCC compilers 2016-08-03 17:00:03 -07:00
Frank Denis 351ae49e53 cpuid is not available on i686-nacl 2016-07-06 16:23:50 +02:00
Frank Denis 29492143ab Warn if the library is being compiled in a custom way 2016-07-02 10:07:38 +02:00
Frank Denis a7a3235a39 Version bump (not released yet) 2016-06-30 18:48:16 +02:00
Frank Denis ba9c296108 Correct whitespace in path detection, and turn it into a fatal error 2016-06-15 09:50:45 +02:00
Frank Denis 474952d3f1 Try using cpuid on NativeClient 2016-04-30 16:23:02 +02:00
Frank Denis a87d30f3af Try MMX/SSE/SSE2/SSE3/SSSE4/SSE4.1 instructions on NativeClient 2016-04-30 16:08:52 +02:00
Frank Denis 00e156198a Disable SIMD instructions on NativeClient 2016-04-30 13:03:31 +02:00
Frank Denis d463dadc51 Disable ssp and aesni on nativeclient, nativeclient.sh->nativeclient-pnacl.sh 2016-04-29 22:29:34 +02:00
Frank Denis fbad64f6ef Disable asm on native client 2016-04-28 21:31:18 +02:00
Frank Denis f8ff8ebf66 Add locks around sodium_init() 2016-04-25 18:33:11 +02:00
Frank Denis e816ffb56c Quotes 2016-04-19 00:24:46 +02:00
Frank Denis bdf5c8246b Compile with pthreads 2016-04-18 20:54:46 +02:00
Frank Denis daeaf63f9c Not an ELF system, not an Apple system, weak symbols may not work 2016-04-13 09:22:51 +02:00
Frank Denis 703120c1a2 Version bump [only the package] 2016-04-04 12:53:35 +02:00
Frank Denis abdc839367 Workaround for old gcc versions missing _mm256_broadcastsi128_si256()
Some old gcc versions define vbroadcasti128 as
_mm_broadcastsi128_si256() not _mm256_broadcastsi128_si256().

Detect this, and use _mm_broadcastsi128_si256() in that case.
2016-04-03 10:41:28 +02:00
Frank Denis c2b8ffb53d NO_BROWSER is not required any more, even for tests 2016-04-02 12:18:52 +02:00
Frank Denis 2b1d7cb750 Revisit the default set of compiler warnings 2016-03-27 11:10:36 +02:00
Frank Denis 55c3eed151 Have the SSE2 test trigger a conversion with old gcc versions 2016-03-24 19:18:15 +01:00
Frank Denis 3f765f1737 Old gcc versions need -flax-vector-conversions to compile some intrinsics 2016-03-24 19:11:21 +01:00
Frank Denis b31f59d835 -save-temps is messing with the detection of supported directives
Remove it from --enable-opt, and don't use any directives to restrict
symbol visibility if detection appears to be unreliable
2016-03-24 10:55:47 +01:00
Frank Denis f4cc8aeb48 Force LITTLE_ENDIAN detection on x86 and x86_64
This is a sad workaround for CompCert 2.6
2016-03-24 09:24:35 +01:00
Frank Denis 7bb9b7fc70 Endianness 2016-03-24 09:05:09 +01:00
Frank Denis 3295752821 Of course, GNU ld doesn't know about .private_extern 2016-03-22 21:26:39 +01:00
Frank Denis bafc9c70e1 Only use .private_extern if this is supported 2016-03-22 20:42:07 +01:00
Frank Denis 0131a72082 BLAKE2b AVX2 implementation
By the marvellous Samuel Neves - https://github.com/sneves/blake2-avx2
2016-03-17 16:24:04 +01:00
Frank Denis 7611ea6018 Add AVX2 detection 2016-03-17 11:15:18 +01:00
Frank Denis f92cfae9d8 Have --enable-opt use -O3, not -Ofast 2016-03-08 12:53:34 +01:00
Frank Denis aafff07689 Add support for running the test suite with Valgrind 2016-03-06 01:35:06 +01:00
Frank Denis 846a84b721 Version bump (not released yet) 2016-01-13 09:49:20 +01:00
Frank Denis a78161981c Check for _mm_set_epi64x() usability in the SSE2 test 2015-12-29 23:18:28 +01:00
Frank Denis d740901df0 Have --enable-opt imply -Ofast 2015-12-29 15:46:23 +01:00
Frank Denis 953e959fba Try --high-entropy-va on MinGW 2015-12-27 20:53:08 +01:00
Frank Denis c08c21887e Version bump 2015-12-23 21:15:12 +01:00
Frank Denis 90c49184fa --enable-opt now enables -save-temps; remove -flto 2015-12-18 01:11:41 +01:00
Frank Denis 3796145631 autoconf: check that named registers work 2015-12-06 18:30:00 +01:00
Frank Denis 5b62287f98 Add a --enable-opt compile-time switch 2015-12-05 17:56:42 +01:00
Frank Denis 1e71f849b5 1.0.7 (not released yet) 2015-11-25 16:12:42 +01:00
Frank Denis b74f644d3f Replace CPU_ALIGNED_ACCESS_REQUIRED with CPU_UNALIGNED_ACCESS
Instead of defining a macro when aligned memory access is required,
define one when unaligned memory access is supported.

Safer when cross-compiling or not using autoconf
2015-11-16 22:01:19 +01:00
Frank Denis eb8119d65c Enable 128-bit arithmetic if __int128 is available 2015-11-15 18:16:15 +01:00
Frank Denis dd238f518d Bump major 2015-11-14 15:33:15 +01:00
Frank Denis fb28119a38 Check inline assembly code using __asm__ __volatile__ 2015-11-14 01:21:55 +01:00
Frank Denis 18906a078c Unfortunately, some assemblers still don't know about AVX opcodes 2015-11-04 23:29:27 +01:00
Frank Denis 3f3969ffae EMSCRIPTEN -> __EMSCRIPTEN__ 2015-11-04 22:43:25 +01:00
Frank Denis 049fd8fd6a Add sodium_runtime_has_avx() 2015-11-03 14:19:22 +01:00
Frank Denis 2a77b18ad8 Version bump (not released yet) 2015-11-01 15:45:36 +01:00