Commit Graph

4021 Commits (c25a1e354de1d12e79ba265f37036c908ce9db8f)

Author SHA1 Message Date
Jeffrey Walton 93149e4c25
Update comments 2018-08-14 05:15:32 -04:00
Jeffrey Walton d221336f42
Add POWER8 SPECK-64 implementation 2018-08-14 03:36:49 -04:00
Jeffrey Walton 462851907f
Add AdvancedProcessBlocks64_6x2_ALTIVEC template 2018-08-14 03:32:45 -04:00
Jeffrey Walton b35632e89e
Cleanup SIMON-128 code
The check-in provides more unification and sets the pattern used with SIMON-64
2018-08-14 01:45:23 -04:00
Jeffrey Walton 9d60081619
Cleanup SPECK-128 code
The check-in provides more unification and sets the pattern used with SPECK-64
2018-08-14 01:22:17 -04:00
Jeffrey Walton 7c70b39d18
Cleanup DRBGs
The change picks up about 10 cpb or 20 MB/s on Power8.
2018-08-13 09:54:07 -04:00
Jeffrey Walton 9143a05508
Whitespace check-in 2018-08-13 07:47:56 -04:00
Jeffrey Walton b4c0404bce
Refactor lea-simd.cpp
This was part of a POWER8 LEA implementation. The numbers were awful but we still needed the code cleanup
2018-08-13 07:19:17 -04:00
Jeffrey Walton dbe7025356
Add AdvancedProcessBlocks128_4x1_ALTIVEC template 2018-08-13 06:38:30 -04:00
Jeffrey Walton 78939cb685
Update comments 2018-08-13 01:51:01 -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 39b1f60de5
Fix compile under XLC 2018-08-13 00:16:05 -04:00
Jeffrey Walton e0a35cf18a
Fix compile under XLC 2018-08-13 00:15:06 -04:00
Jeffrey Walton 89476e280d
Cleanup adv-simd.h for ARM 2018-08-12 19:51:50 -04:00
Jeffrey Walton 7f374faf52
Cleanup adv-simd.h for x86 2018-08-12 19:04:14 -04:00
Jeffrey Walton 6c621f91ce
Add POWER8 SIMON-128 implementation
Performance went from about 30 to 40 cpb to 5.5 to 9 cpb, depending on endian-ness
2018-08-12 09:21:09 -04:00
Jeffrey Walton aa806f3475
Add SPECK-128 provider for POWER8 2018-08-12 04:40:10 -04:00
Jeffrey Walton 3e26437249
Remove debug statement
Thus slipped by during commit 898dab99b8
2018-08-12 04:24:08 -04:00
Jeffrey Walton 898dab99b8
Add POWER8 SPECK-128 implementation
Performance went from about 14 cpb to 2-3 cpb, depending on endian-ness
2018-08-12 04:08:33 -04:00
Jeffrey Walton dd4f87fa11
Clear IBM XLC warnings on PowerPC 2018-08-12 04:06:06 -04:00
Jeffrey Walton afe72c50f0
Add VectorSub and VectorSwapWords 2018-08-12 04:05:14 -04:00
Jeffrey Walton 3d6c8d9589
Update comments 2018-08-12 01:12:00 -04:00
Jeffrey Walton 8d62b500cc
Add validat9.cpp to filter list 2018-08-11 23:05:58 -04:00
Jeffrey Walton d109ce09d0
Update comments and function names
Someone trying to make sense of POWER8 GCM is bound to be confused even with the expanded comments and updated function names
2018-08-11 06:40:21 -04:00
Jeffrey Walton 6993d1d0bd
Update comments 2018-08-11 00:55:52 -04:00
Jeffrey Walton 78d3a279dc
Remove specializations for VectorShiftLeft and VectorShiftRight 2018-08-10 23:29:20 -04:00
Jeffrey Walton 555f4742c7
Fix buffering and unusual tag output due to ostringstream 2018-08-10 06:40:44 -04:00
Jeffrey Walton 94eff2cdd6
Remove INLINE used for debugging
We needed to switch inlining off manually. GDB was not stepping into code for us. No longer needed
2018-08-10 05:19:08 -04:00
Jeffrey Walton 23e0ee44a0
Cleanup GCM code
I always thought the SSE code in GCM_ReverseHashBufferIfNeeded_CLMUL was a wart
2018-08-10 04:42:30 -04:00
Jeffrey Walton 1c224c8798
Switch to vector shifts instead of vector merge 2018-08-10 04:27:49 -04:00
Jeffrey Walton a2a520e5b9
Cleanup GCM mode 2018-08-10 01:57:14 -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 9f2d65409a
Add POWER8 GCM mode (GH #698)
Commit 3ed38e42f6 added the POWER8 infrastructure for GCM mode. It also added GCM_SetKeyWithoutResync_VMULL, GCM_Multiply_VMULL and GCM_Reduce_VMULL. This commit adds the remainder, which includes GCM_AuthenticateBlocks_VMULL.
GCC is OK on Linux (ppc64-le) and AIX (ppc64-be). We may need some touchups for XLC compiler
2018-08-09 23:28:49 -04:00
Jeffrey Walton 989c3bfbf2
Update comments 2018-08-09 18:18:40 -04:00
Jeffrey Walton 99ab11d1ed
Add TestAltivecOps for Debug builds 2018-08-09 17:23:35 -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 048c2721fb
Remove unneeded defines from cpu.cpp 2018-08-08 20:55:00 -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 4c30f57d1b
Update comments 2018-08-06 23:04:10 -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