Commit Graph

23 Commits (afd3b5c596f31de650deac45301c1c3071b27357)

Author SHA1 Message Date
Ilja f035ad7187 Remove extra ; from ppc-simd.cpp (PR #620) 2018-03-31 13:06:44 -04:00
Jeffrey Walton 626c86987b
Fix SHA feature detection on AIX
This one should have been fixed before the Crypto++ 6.1 release. Its no big deal, however. Power8 accelerated SHA-256 is 1.5x to 2x slower than straight C++. SHA-512 may be better, but the implementation is not ready to performance test.
2018-03-05 07:05:12 -05:00
Jeffrey Walton 788cd1794d
Use x86 highest basic before calling a leaf function
This was a latent bug that just surfaced on a Sun Core2 workstation. RDSEED caused an illegal instruction exception on the Core2. It seems we managed to miss it because old processors had family and stepping values so low they never set CPUID.EBX.RDSEED[bit 18] = 1. Newer processors had the feature so CPUID.EBX.RDSEED[bit 18] = 1 was accurate.
2018-01-11 17:59:24 -05:00
Jeffrey Walton 8cc24aa9c0
Update head notes in ppc-simd.cpp 2018-01-11 13:20:29 -05:00
Jeffrey Walton a49ff560e7 Update head notes 2018-01-11 13:16:13 -05:00
Jeffrey Walton 691e7af29a
Fix defines for PPC feature probes
Thanks to Bob Wilkinson for reporting at https://groups.google.com/d/msg/cryptopp-users/gPJOMOUMLhU/xHTxD8P-AgAJ
2018-01-11 13:04:59 -05:00
Jeffrey Walton 1699562581 Remove commented code 2017-12-28 19:25:45 -05:00
Jeffrey Walton d7a2e0e10c
Removed unneeded defines from ppc-simd.cpp
Whitespace check-in
2017-12-16 20:26:59 -05:00
Jeffrey Walton ca54d0c7da
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:14:53 -05:00
Jeffrey Walton b7e636ac51
Rename ppc-crypto.h to ppc-simd.h 2017-12-12 07:15:59 -05:00
Jeffrey Walton bd41c3d5dd
Remove SSE2 from cpu.cpp, add sse-simd.cpp
We need to ensure SSE2 does not cross pollinate into other CPU functions since SSE2 is greater than the minimum arch. The minimum arch is i586/i686, and both lack SSE2 instructions
2017-11-16 15:11:51 -05:00
Jeffrey Walton 7ba8c6bc81
Cleanup Altivec and Power7 code paths
This changes the dependency from Altivec to Power7. Internally we needed Power7 but it was cut-in as a pseudo Altivec dependency. Also see http://groups.google.com/forum/#!topic/cryptopp-users/fmEKOG41SG8
2017-10-17 22:50:45 -04:00
Jeffrey Walton 437eda09e0
Tweak "ppc-crypto.h" include on Power7 2017-10-13 02:23:39 -04:00
Jeffrey Walton d5c12191b3
Update documentation 2017-09-22 18:31:59 -04:00
Jeffrey Walton ced7cff64f
Add Power8 SHA256 and SHA512 support (GH #513) 2017-09-22 09:39:36 -04:00
Jeffrey Walton 3bd01f73ba
Add Power8 SHA256 and SHA512 support (GH #513) 2017-09-22 08:58:50 -04:00
Jeffrey Walton 6102333fc3
Add CRYPTOPP_NO_CPU_FEATURE_PROBES (GH #511)
We determine machine capabilities by performing an os/platform *query* first, like getauxv(). If the *query* fails, we move onto a cpu *probe*. The cpu *probe* tries to exeute an instruction and then catches a SIGILL on Linux or the exception EXCEPTION_ILLEGAL_INSTRUCTION on Windows. Some OSes fail to hangle a SIGILL gracefully, like Apple OSes. Apple machines corrupt memory and variables around the probe.
2017-09-19 21:08:37 -04:00
Jeffrey Walton 5289915d72
Fix compiler crash in ppc-simd.cpp
I think this is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82112
2017-09-14 01:01:00 -04:00
Jeffrey Walton cfb63decec
Guard probe functions
This broke Aarch64
2017-09-12 05:49:38 -04:00
Jeffrey Walton 7fb34e9b08
Add Power8 AES encryption
This is the forward direction on encryption only.  Crypto++ uses the "Equivalent Inverse Cipher" (FIPS-197, Section 5.3.5, p.23), and it is not compatible with IBM hardware. The library library will need to re-work the decryption key scheduling routines. (We may be able to work around it another way, but I have not investigated it).
2017-09-11 22:52:22 -04:00
Jeffrey Walton 9c9d5ebe87
Undef vector, bool and pixel 2017-09-11 22:39:59 -04:00
Jeffrey Walton 120b415e27
Clear compile error on AIX
Truncation due to -1
2017-09-11 04:10:02 -04:00
Jeffrey Walton fb78afba29
Add PowerPC support to cpu.h and validate.cpp 2017-09-11 03:05:04 -04:00