Jeffrey Walton
cf0c487c2a
Fix SPECK-64 on AIX
2018-08-14 19:14:41 -04:00
Jeffrey Walton
9b91b94b05
Add POWER8 SIMON-64 implementation
2018-08-14 07:14:39 -04:00
Jeffrey Walton
d8c28bdc2b
Make SPECK-64 more symmetrical
2018-08-14 06:19:34 -04:00
Jeffrey Walton
f1b190740c
Update comments
2018-08-14 06:07:19 -04:00
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