Jeffrey Walton
afe72c50f0
Add VectorSub and VectorSwapWords
2018-08-12 04:05:14 -04:00
Jeffrey Walton
78d3a279dc
Remove specializations for VectorShiftLeft and VectorShiftRight
2018-08-10 23:29:20 -04:00
Jeffrey Walton
8c21b6af05
Use shifts for VectorGetLow
2018-08-10 01:25:59 -04:00
Jeffrey Walton
eddc357981
Use shifts for VectorGetLow
2018-08-10 01:24:32 -04:00
Jeffrey Walton
b44de10e18
Cleanup Aarch64 GCM mode
2018-08-10 01:00:26 -04:00
Jeffrey Walton
989c3bfbf2
Update comments
2018-08-09 18:18:40 -04:00
Jeffrey Walton
1b5422eb49
Update documentation
2018-08-09 08:16:46 -04:00
Jeffrey Walton
3ed38e42f6
Add POWER8 GCM mode (GH #698 )
...
GCM_SetKeyWithoutResync_VMULL, GCM_Multiply_VMULL and GCM_Reduce_VMULL work as expected on Linux (ppc64-le) and AIX (ppc64-be). We are still working on GCM_AuthenticateBlocks_VMULL.
2018-08-09 08:09:13 -04:00
Jeffrey Walton
5b89e774cc
Add Altivec vector extraction tests
2018-08-09 00:06:42 -04:00
Jeffrey Walton
13b6dac31d
Remove temporary variable
2018-08-08 21:48:07 -04:00
Jeffrey Walton
ce5b6c9e23
Fix return value for Altivec VectorLoad
2018-08-08 21:31:25 -04:00
Jeffrey Walton
bcf05a6c6b
Add additional PowerPC self tests
2018-08-08 20:52:50 -04:00
Jeffrey Walton
0464641069
Remove unneeded enum from VectorShiftLeftVectorShiftRight
2018-08-08 20:17:14 -04:00
Jeffrey Walton
00e7d02a8a
Fix Altive VectorStore on little-endian
...
Remove unneeded VectorLeftShift(a,b) and VectorRightShift(a,b)
2018-08-08 19:59:14 -04:00
Jeffrey Walton
96405e14ec
Fix VectorShiftRight on PowerPC
2018-08-08 05:06:58 -04:00
Jeffrey Walton
d4428d7f1c
Add VectorLoad and VectorStore test code
...
Applies to POWER4 and above only
2018-08-06 22:19:59 -04:00
Jeffrey Walton
a4ebb75538
Update comments
2018-08-06 18:37:25 -04:00
Jeffrey Walton
2ec9c9963c
Update documentation
2018-08-06 06:47:57 -04:00
Jeffrey Walton
6cd7f83346
Cleanup PPC vector functions
...
The Crypto++ functions follow IBM's lead and provide VectorLoad, VectorLoadBE, VectorStore, and VectorStoreBE. Additionally, VectorLoadKey was removed in favor of vanilla VectorLoad.
2018-08-06 05:15:12 -04:00
Jeffrey Walton
1dd0e321a6
Rework Makefile and ppc-simd.h for XLC and LLVM front-end changes
2018-08-05 05:39:42 -04:00
Jeffrey Walton
f67efe75c9
Remove POWER5 define. We don't use it
...
The 64-bit 'vector long long' is POWER8
2018-08-03 14:17:13 -04:00
Jeffrey Walton
0c8a9458cc
Fix compile for AIX using GCC and IBM XL C/C++
2018-07-30 19:14:51 -04:00
Jeffrey Walton
9a52edcfdb
Remove non-const cast from POWER8 loads and stores
...
Also see the discussion at https://github.com/noloader/POWER8-crypto/issues/2
2018-03-20 15:02:47 -04:00
Jeffrey Walton
d31fcd7a1a
Fix IBM XL/C/C++ compile due to uint8x16_p typedef
2018-01-18 05:18:00 -05:00
Jeffrey Walton
4f2c605209
Add Power4 unaligned Load and Store
2018-01-05 21:27:27 -05:00
Jeffrey Walton
d6d53f2e9d
Add Power4 Vector Load, Store, Add and Xor
2018-01-02 08:13:42 -05:00
Jeffrey Walton
fac3a44a84
Move Altivec AdvancedProcessBlocks into adv-simd.h
2018-01-02 07:08:13 -05:00
Jeffrey Walton
f3618f4b7f
Fix IBM xlC compile
2017-12-30 18:37:56 -05:00
Jeffrey Walton
e1c9746b70
Fix Power8 compile under GCC
2017-12-12 10:52:57 -05:00
Jeffrey Walton
57e3ae309b
Update documentation
...
Remove typedefs
Whitespace check-in
2017-12-12 09:22:03 -05:00
Jeffrey Walton
15d637771f
Add CRYPTOPP_POWER5_AVAILABLE
...
Power4 lacks 'vector long long'
Rename datatypes such as 'uint8x16_p8' to 'uint8x16_p'. Originally the p8 suffix indicated use with Power8 in-core crypto. We are now using Altivec/Power4 for general vector operations.
2017-12-12 08:09:31 -05:00
Jeffrey Walton
b7e636ac51
Rename ppc-crypto.h to ppc-simd.h
2017-12-12 07:15:59 -05:00