Commit Graph

35 Commits (2f906a031bf723f345d38d9fb9665c7b14f90faf)

Author SHA1 Message Date
Jeffrey Walton 1253bccf06
Add VectorLoad(word32 arr[4]) overloads 2018-08-15 02:12:27 -04:00
Jeffrey Walton de7f4a0894
Fix carry bug in AdvancedProcessBlocks128_6x1_ALTIVEC 2018-08-13 01:44:23 -04:00
Jeffrey Walton 7dc2e6ea31
Switch to byte instead of uint8_t
Several places in ppc-simd.h used uint8_t rather than byte
2018-08-13 00:41:55 -04:00
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