Jeffrey Walton
8a66353b2c
Test <arm_acle.h> include under Apple
...
This is a compile test
2017-08-11 12:31:04 -04:00
Jeffrey Walton
22b7d74e1f
Test Apple ARM64 runtime detection
...
This is a compile test
2017-08-11 11:57:30 -04:00
Jeffrey Walton
a46377caf7
Clear "C4189: 'keys': local variable is initialized but not referenced"
2017-08-11 08:32:09 -04:00
Jeffrey Walton
f7978a6529
Sync with Upstream master
2017-08-11 07:53:37 -04:00
Jeffrey Walton
28a1fc2c60
Sync with Upstream master
2017-08-11 07:36:27 -04:00
Jeffrey Walton
173dd0b530
Add AES for ARMv8 (Issue 458)
2017-08-11 07:31:09 -04:00
Jeffrey Walton
6c28b521bd
Fix Illegal Instruction under SSE2+SSSE3
...
It appears SSE4.1 crept into our SSE2+SSSE3 implementation. We'll revisit it in the future
2017-08-11 06:43:14 -04:00
Jeffrey Walton
0c194bbc46
Fix "SSE4.2 instruction set not enabled"
...
Also see https://gcc.gnu.org/ml/gcc-help/2017-08/msg00015.html
2017-08-11 05:28:36 -04:00
Jeffrey Walton
ce96a7974d
Sync with Upstream master
2017-08-10 23:04:12 -04:00
Jeffrey Walton
e5b1be035e
Add iOS testing to Travis
2017-08-10 22:59:00 -04:00
Jeffrey Walton
70a0ca0826
Try to enable Travis iOS testing
...
Take 18
2017-08-10 22:37:20 -04:00
Jeffrey Walton
7907742c1a
Try to enable Travis iOS testing
...
Take 17
2017-08-10 22:10:47 -04:00
Jeffrey Walton
0b31e7ff5e
Fix broken compiler under Apple Clang for ARMv8
...
Undefined symbols for architecture arm64:
"CryptoPP::CRC32_Update_ARMV8(unsigned char const*, unsigned long, unsigned int&)", referenced from:
CryptoPP::CRC32::Update(unsigned char const*, unsigned long) in libcryptopp.a(crc.o)
"CryptoPP::CRC32C_Update_ARMV8(unsigned char const*, unsigned long, unsigned int&)", referenced from:
CryptoPP::CRC32C::Update(unsigned char const*, unsigned long) in libcryptopp.a(crc.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [cryptest.exe] Error 1
2017-08-10 22:08:40 -04:00
Jeffrey Walton
4a6cdc34a5
Try to enable Travis iOS testing
...
Take 16
2017-08-10 21:19:29 -04:00
Jeffrey Walton
c99beec2cd
Fix "error: use of undeclared identifier 'NULL'" on iOS
2017-08-10 21:18:29 -04:00
Jeffrey Walton
7cbadb43f9
Try to enable Travis iOS testing
...
Take 15
2017-08-10 21:11:33 -04:00
Jeffrey Walton
9df1c3b09b
Try to enable Travis iOS testing
...
Take 14
2017-08-10 21:07:20 -04:00
Jeffrey Walton
cea2249608
Try to enable Travis iOS testing
...
Take 13
2017-08-10 21:01:24 -04:00
Jeffrey Walton
2d97cf8bf8
Try to enable Travis iOS testing
...
Take 12
2017-08-10 20:51:07 -04:00
Jeffrey Walton
eae89e2af0
Try to enable Travis iOS testing
...
Take 11
2017-08-10 20:33:39 -04:00
Jeffrey Walton
6392bcc69d
Try to enable Travis iOS testing
...
Take 10
2017-08-10 20:24:15 -04:00
Jeffrey Walton
b5e2980664
Try to enable Travis iOS testing
...
Take 8
2017-08-10 20:18:56 -04:00
Jeffrey Walton
60ec7dff59
Try to enable Travis iOS testing
...
Take 7
2017-08-10 20:14:18 -04:00
Jeffrey Walton
c9ad2dbb51
Try to enable Travis iOS testing
...
Take 6
2017-08-10 20:08:10 -04:00
Jeffrey Walton
d9b15e8ab7
Try to enable Travis iOS testing
...
Take 6
2017-08-10 20:06:19 -04:00
Jeffrey Walton
89b937bbd7
Try to enable Travis iOS testing
...
Take 5
2017-08-10 19:58:43 -04:00
Jeffrey Walton
d79d14b3ef
Try to enable Travis iOS testing
...
Take 4
2017-08-10 19:55:09 -04:00
Jeffrey Walton
12064f03ee
Try to enable Travis iOS testing
...
Take 3
2017-08-10 19:53:09 -04:00
Jeffrey Walton
bf47e175e3
Try to enable Travis iOS testing
...
Take 2
2017-08-10 19:50:41 -04:00
Jeffrey Walton
e5d99322fd
Try to enable Travis iOS testing
...
Take 1
2017-08-10 14:35:41 -04:00
Jeffrey Walton
69b3a7a664
Fix compile on Solaris 11.3 under GCC and SunCC
2017-08-09 00:14:54 -04:00
Jeffrey Walton
b7c7874d15
Defer on cast from wor32* to __m128i*
...
It appears this is optimized better, and it saves 0.1 cpb
2017-08-08 20:49:44 -04:00
Jeffrey Walton
0b8d6465bd
Use consistent naming of <class>_<inner class>_<func>_<arch>
2017-08-08 19:10:56 -04:00
Jeffrey Walton
e797418fbf
Fix Visual Studio 2017 MSC version number
2017-08-08 06:54:57 -04:00
Jeffrey Walton
6590a928ce
Add Android ARMv8 guards
2017-08-07 21:04:23 -04:00
Jeffrey Walton
b4172f3dd0
Sync with Upstream master
2017-08-07 19:05:01 -04:00
Jeffrey Walton
24bc2b8567
Add HMAC(SHA256) benchmark
2017-08-07 19:04:14 -04:00
Jeffrey Walton
c45c262d2c
Update Android defines
2017-08-07 13:43:40 -04:00
Jeffrey Walton
a8cbfc52fc
__android__ → __ANDROID__
...
Also see https://stackoverflow.com/q/6374523/608639
2017-08-07 12:18:39 -04:00
Jeffrey Walton
42d91b76fc
Fix compile under Clang 3.5 due to use of SSE4.1
...
Both Apple and LLVM Clang want -msse4.2 even when only SSE4.1 is used. Sidestep it because we don't know how it will affect some of the lower end Atoms.
84877:/usr/include/clang/3.5.0/include/nmmintrin.h:28:2: error: "SSE4.2 instruction set not enabled"
84878:#error "SSE4.2 instruction set not enabled"
84880:rijndael-simd.cpp:466:26: error: use of undeclared identifier '_mm_extract_epi32'; did you mean '_mm_extract_epi16'?
84887:rijndael-simd.cpp:480:11: error: use of undeclared identifier '_mm_insert_epi32'; did you mean '_mm_insert_epi16'?
84894:rijndael-simd.cpp:485:11: error: use of undeclared identifier '_mm_insert_epi32'; did you mean '_mm_insert_epi16'?
...
2017-08-07 12:03:17 -04:00
Jeffrey Walton
a8b3327265
Add Android CPU feature detection for NEON
...
Also see https://developer.android.com/ndk/guides/cpu-features.html
2017-08-07 11:33:12 -04:00
Jeffrey Walton
d95a38a9fc
Add Android CPU feature detection code
...
Also see https://developer.android.com/ndk/guides/cpu-features.html
2017-08-07 11:20:14 -04:00
Jeffrey Walton
a04dda56fa
Separate Aarch32 and Aarch64 guards
...
Also see https://sourceware.org/ml/libc-help/2017-08/msg00012.html
2017-08-07 10:37:02 -04:00
Jeffrey Walton
9161443f6d
Sync with Upstream master
2017-08-07 09:47:58 -04:00
Jeffrey Walton
58b731c645
Fix "Integer constant is too large for 'long' type"
...
kalyna.cpp:432: error: integer constant is too large for 'long' type
kalyna.cpp:509: error: integer constant is too large for 'long' type
kalyna.cpp:608: error: integer constant is too large for 'long' type
kalyna.cpp:713: error: integer constant is too large for 'long' type
kalyna.cpp:833: error: integer constant is too large for 'long' type
...
2017-08-07 09:46:33 -04:00
Jeffrey Walton
4ebf9b915e
Add ARM specific guard for Linux
...
Update AppVeyor config to checkout 3 deep to avoid "fatal: reference is not a tree: 89ccfad2d08..."
2017-08-07 08:22:13 -04:00
Jeffrey Walton
2ac6c6dd20
Add Aarch32 and Aarch64 specific guards for Linux
2017-08-07 07:58:16 -04:00
Jeffrey Walton
89ccfad2d0
Use getauxval on Linux for features
...
getauxval() is the recommended way to determine features on Linux. Its likely less expensive than CPU probing for SIGILLs. We gave up portability, but some gained stability
2017-08-07 07:37:08 -04:00
Jeffrey Walton
08cb017836
Update comments
...
Provide CriticalBlue with recognition of their helpful work with mbedTLS. Thanks to Johannes Schneiders, Skip Hovsmith and Barry O'Rourke
2017-08-07 05:30:15 -04:00
Jeffrey Walton
6478d6db87
Unroll ARMv8 AES encryption and decyption loops
...
Unrolling gains about 0.3 to 0.5 cpb
2017-08-07 01:32:25 -04:00