Commit Graph

4329 Commits

Author SHA1 Message Date
Jeffrey Walton
0998b40d2d
Disable Altivec for BLAKE2s on AIX 7.1 and XLC 12.01 (GH #743) 2018-11-21 00:25:05 -05:00
Jeffrey Walton
a65d55a3fd
Rewrite BLAKE2 classes
The ParameterBlocks for BLAKE2 had undefined behavior. We relied on the compiler packing the bytes in the structure, then we used the first byte as the start of an array.

This rewrite does things correctly. We don't memset the structure, and we don't treat the structure as a contiguous array.
2018-11-20 23:32:35 -05:00
Jeffrey Walton
13bee44388
Update comments 2018-11-20 00:06:34 -05:00
Jeffrey Walton
3be1ae60f8
Clear warning on unitialized rounds 2018-11-19 23:41:34 -05:00
Jeffrey Walton
778f6f122d
Remove potential UB from CFB_CipherConcretePolicy 2018-11-19 23:40:51 -05:00
Jeffrey Walton
081d9110ee
Call VecStore_ALTIVEC by name
The old form could suffer recursion if teplate deduction fails
2018-11-19 20:59:15 -05:00
Jeffrey Walton
e6370f3ea1
Fix typo in VecStore 2018-11-19 20:31:06 -05:00
Jeffrey Walton
66b3ba5d66
Update comments 2018-11-19 20:02:51 -05:00
Jeffrey Walton
f52a141f6e
Add separate Polynomial Multiply feature test on POWER8 (GH#742) 2018-11-19 18:31:45 -05:00
Jeffrey Walton
215f9dc164
Fix POWER7 runtime detection test (GH #742) 2018-11-19 18:31:00 -05:00
Jeffrey Walton
0de4556b39
Fix feature test programs for early POWER7 machines 2018-11-19 18:29:46 -05:00
Jeffrey Walton
0df98b049a
Improve support for early XLC compilers on POWER7 (GH #742) 2018-11-19 18:28:50 -05:00
Jeffrey Walton
7274827f19
Add test_ppc_vmull.cxx test program 2018-11-19 15:47:04 -05:00
Jeffrey Walton
531ab7e8c5
Update comments 2018-11-19 15:23:29 -05:00
Jeffrey Walton
87565dce75
Add POWER3 test for PowerPC
Issue 656 talks about running on a G4 Macbook
2018-11-19 15:23:07 -05:00
Jeffrey Walton
3681d2fa1f
Update documentation 2018-11-19 13:50:53 -05:00
Jeffrey Walton
201375749b
Update documentation 2018-11-19 13:30:56 -05:00
Jeffrey Walton
4c192ecc18
Whitespace check-in 2018-11-19 04:55:45 -05:00
Jeffrey Walton
7d637ded9c
Cleanup POWER8 SHA code 2018-11-19 04:50:13 -05:00
Jeffrey Walton
2f26de7aab
Add 64-bit element loads and stores 2018-11-19 04:49:51 -05:00
Jeffrey Walton
3129ad4d70
Fix LLVM Clang compile on PowerPC 2018-11-19 02:28:29 -05:00
Jeffrey Walton
c9f1a26024
Update test programs for PowerPC (GH #741) 2018-11-19 02:02:43 -05:00
Jeffrey Walton
b1929f78d0
Update test programs for PowerPC (GH #741) 2018-11-19 01:36:11 -05:00
Jeffrey Walton
f8b1a997c5
Update test programs for PowerPC (GH #741) 2018-11-18 23:41:43 -05:00
Jeffrey Walton
2bb9f49544
Add test_ppc_aes.cxx test program 2018-11-18 22:26:34 -05:00
Jeffrey Walton
1ac7207545
Use clean compile as feature test gate on PowerPC (GH #742) 2018-11-18 20:49:55 -05:00
Jeffrey Walton
76cb99ffe8
Add unexpected to BAD_RESULT 2018-11-18 19:40:34 -05:00
Jeffrey Walton
a82e766925
Make CMake configurable in test script 2018-11-18 18:54:57 -05:00
Jeffrey Walton
b65ff5293a
Make CMake configurable in test script 2018-11-18 18:49:16 -05:00
Jeffrey Walton
3725c8411b
Move CPU_ProbePower7 and CPU_ProbePower8 into their own source files (GH #742) 2018-11-18 16:35:02 -05:00
Jeffrey Walton
1a06aadbf0
Update comments 2018-11-18 14:54:37 -05:00
Jeffrey Walton
2e68e95a92
Add BLAKE2s and ChaCha CORE SIMD function (GH #656)
The CORE function provides the implementation for ChaCha_OperateKeystream_ALTIVEC, ChaCha_OperateKeystream_POWER7, BLAKE2_Compress32_ALTIVEC and BLAKE2_Compress32_POWER7. Depending on the options used to compile the source files, either POWER7 or ALTIVEC will be used.
This is needed to support the "new toolchain, ancient hardware" use case.
2018-11-18 14:43:48 -05:00
Jeffrey Walton
e28b2e0f02
Switch between POWER7 and POWER4 (GH #656)
This is kind of tricky. We automatically drop from POWER7 to POWER4 if 7 is notavailable. However, if POWER7 is available the runtime test checks for HasAltivec(), and not HasPower7(), if the drop does not occur.
All of this goodness is happening on an old Apple G4 laptop with Gentoo. It is a "new toolchain on old hardware".
2018-11-18 12:42:04 -05:00
Jeffrey Walton
70473f0cab
Whitespace check-in 2018-11-18 12:31:44 -05:00
Jeffrey Walton
59ba3b6aca
Switch between POWER7 and POWER4 (GH #656)
This is kind of tricky. We automatically drop from POWER7 to POWER4 if 7 is not available. However, if POWER7 is available the runtime test checks for HasAltivec(), and not HasPower7(), if the drop does not occur.
All of this goodness is happening on an old Apple G4 laptop with Gentoo. It is a "new toolchain on old hardware".
2018-11-18 11:57:33 -05:00
Jeffrey Walton
aae108d228
Fix PowerPC-64 detection using Clang 2018-11-18 01:52:42 -05:00
Jeffrey Walton
7f5624db7c
Update Filelist 2018-11-17 15:53:52 -05:00
Jeffrey Walton
889c98b9af
Add Newlib test 2018-11-17 15:50:04 -05:00
Jeffrey Walton
0c6dc33d2b
Fix missing header 2018-11-17 15:32:53 -05:00
Jeffrey Walton
0564266151
Cleanup makefile 2018-11-17 15:28:30 -05:00
Jeffrey Walton
b0f77fe7e3
Add additional tests 2018-11-17 15:09:36 -05:00
Jeffrey Walton
147983305a
Use __ALTIVEC__ preprocessor macro for PowerPC 2018-11-17 01:49:48 -05:00
Jeffrey Walton
c4c413e3f3
Drop GCM to POWER7 if POWER8 unavailable 2018-11-17 00:47:17 -05:00
Jeffrey Walton
bbc5c63d33
Drop GCM to POWER7 on PowerPC
GCM can do some bulk XOR's using the SIMD unit. However, we still need loads and stores to be fast. Fast loads and stores of unaligned data requires the VSX unit
2018-11-17 00:41:49 -05:00
Jeffrey Walton
0ac7b25221
Use C++ compiler for all source files (PR #733) 2018-11-15 19:13:28 -05:00
Blue
2d2f69c235 Fix missing cpu-features.o in shared object (PR #733) 2018-11-15 19:11:29 -05:00
Jeffrey Walton
5ef276411c
Update documentation 2018-11-15 17:52:06 -05:00
Jeffrey Walton
4c5695c51b
Update documentation 2018-11-15 17:40:06 -05:00
Jeffrey Walton
f53405b995
Update documentation 2018-11-15 17:21:38 -05:00
Jeffrey Walton
cf52307abd
Update documentation 2018-11-15 16:59:11 -05:00