Commit Graph

17 Commits (c3d4e79a0983c1b5ccf885d39edd44cebd51c07b)

Author SHA1 Message Date
Jeffrey Walton 955ac6fe24
Rework SSE2 and AVX2 loads and stores 2019-06-09 04:29:40 -04:00
Jeffrey Walton 8fab1c3677
Revert changes for lgtm findings
This broke SunCC to the point of no repair. SunCC is using AVX2 instructions for C++ and SSE2. Man this compiler sucks...
2019-06-09 01:49:44 -04:00
Jeffrey Walton 6a11f00768
Clear lgtm findings 2019-06-08 12:59:14 -04:00
Jeffrey Walton 39418a8512
Use PowerPC unaligned loads and stores with Power8 (GH #825, PR #826)
Use PowerPC unaligned loads and stores with Power8. Formerly we were using Power7 as the floor because the IBM POWER Architecture manuals said unaligned loads and stores were available. However, some compilers generate bad code for unaligned loads and stores using `-march=power7`, so bump to a known good.
2019-04-27 20:35:01 -04:00
Jeffrey Walton df9fa62205
Use carryless multiplies for NIST b233 and k233 curves (GH #783, PR #784)
Use carryless multiplies for NIST b233 and k233 curves.
2019-01-16 00:02:04 -05:00
Jeffrey Walton 822ca11579
Cleanup headers after Microsoft ARM64 port 2019-01-04 11:33:28 -05:00
Jeffrey Walton 02f7fda54b
Fix <arm_neon.h> include for ARM64 with MSVC compiler (GH #776) 2019-01-04 11:25:55 -05:00
Jeffrey Walton a0fa63879f
Add PACK32x4 macro guard 2019-01-03 19:52:57 -05:00
Jeffrey Walton b70bc4865f
Fix ChaCha NEON compile with MSVC compiler (GH #776) 2019-01-03 13:37:53 -05:00
Jeffrey Walton 8838f78ec4
Fix ChaCha compiler crash for GCC 3.3 2018-12-29 01:08:43 -05:00
Jeffrey Walton 1a06aadbf0
Update comments 2018-11-18 14:54:37 -05:00
Jeffrey Walton 2e68e95a92
Add BLAKE2s and ChaCha CORE SIMD function (GH #656)
The CORE function provides the implementation for ChaCha_OperateKeystream_ALTIVEC, ChaCha_OperateKeystream_POWER7, BLAKE2_Compress32_ALTIVEC and BLAKE2_Compress32_POWER7. Depending on the options used to compile the source files, either POWER7 or ALTIVEC will be used.
This is needed to support the "new toolchain, ancient hardware" use case.
2018-11-18 14:43:48 -05:00
Jeffrey Walton f6e04e5f33
Rename PPC vector functions from VectorFunc to VecFunc 2018-11-15 15:17:49 -05:00
Jeffrey Walton 10f85d6596
Make Altivec vector wraps friendly to downgrades
The way the existing ppc_simd.h is written makes it hard to to switch between the old Altivec loads and stores and the new POWER7 loads and stores. This checkin rewrites the wrappers to use _ALTIVEC_, _ARCH_PWR7 and _ARCH_PWR8. The wrappers in this file now honor -maltivec, -mcpu-power7 and -mcpu=power8. It allows users to compile a source file, like chacha_simd.cpp, with a lower ISA and things just work for them.
2018-11-15 02:11:00 -05:00
Jeffrey Walton 5b9b9b8d08
Whitespace check-in 2018-11-14 08:24:52 -05:00
Jeffrey Walton 225ab6cb7b
Drop ChaCha requirements to POWER7
This costs about 0.6 cpb (700 MB/s on GCC112), but it makes the faster algorithm available to more machines. In the future we may want to provide both POWER7 and POWER8
2018-11-14 08:19:13 -05:00
Jeffrey Walton 896225069d
Rename files with dashes to underscores (GH #736)
Also see https://groups.google.com/forum/#!topic/cryptopp-users/HBz-6gZZFOA on the mailing list
2018-11-10 08:00:14 -05:00