Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add CRYPTOPP_DISABLE_MIXED_ASM define and feature test (GH #756, PR #757) | Jeffrey Walton | 2018-12-05 | 1 | -11/+11 |
| | |||||
* | Drop GCM to POWER7 on PowerPC | Jeffrey Walton | 2018-11-17 | 1 | -11/+11 |
| | | | | GCM can do some bulk XOR's using the SIMD unit. However, we still need loads and stores to be fast. Fast loads and stores of unaligned data requires the VSX unit | ||||
* | Sync CRYPTOPP_{BIG|LITTLE}_ENDIAN with Autotools | Jeffrey Walton | 2018-10-28 | 1 | -2/+2 |
| | | | | Autotools sets up its config.h file with the '#define XXX 0' or '#define XXX 1' pattern. This check-in makes the sources Autotools aware. We need to verify CMake does the same | ||||
* | Fix compiler crash in Visual Studio .Net (2002 and 2003) | Jeffrey Walton | 2018-08-20 | 1 | -0/+5 |
| | |||||
* | Use consistent suffix for SSE2 ASM | Jeffrey Walton | 2018-08-20 | 1 | -8/+8 |
| | |||||
* | Disable X32 inline assembly (GH #686, PR #704) | Jeffrey Walton | 2018-08-18 | 1 | -3/+1 |
| | | | Also use CRYPTOPP_DISABLE_XXX_ASM consistently. The pattern is needed for Clang which still can't compile Intel assembly language. Also see http://llvm.org/bugs/show_bug.cgi?id=24232. | ||||
* | Add POWER8 GCM mode (GH #698) | Jeffrey Walton | 2018-08-09 | 1 | -6/+59 |
| | | | | 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. | ||||
* | Use CRYPTOPP_DISABLE_INTEL_ASM for Clang in GCM | Jeffrey Walton | 2018-07-16 | 1 | -1/+1 |
| | | | | Clang 6.0 is still broke. It cannot compile a simple "neg %rcx" using Intel syntax | ||||
* | Cleanup gcm.cpp after Commit 9d954efcdeee | Jeffrey Walton | 2018-07-16 | 1 | -10/+0 |
| | |||||
* | Fix "impossible constraint in \\asm\" on i686 | Jeffrey Walton | 2017-11-24 | 1 | -15/+1 |
| | | | | | gcm.cpp:89:50: error: impossible constraint in \\asm\ : "=xm" (a[0]) : "xm"(b[0]), "xm"(c[0])); | ||||
* | Fix GCC inline asm register constraint for SSE register | Jeffrey Walton | 2017-11-17 | 1 | -1/+1 |
| | | | | Also see https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html | ||||
* | Fix GCM_Xor16_SSE2 for 32-bit MSVC compiles | Jeffrey Walton | 2017-11-16 | 1 | -1/+1 |
| | |||||
* | Fix SunCC 12.2 compiler crash with GCM_Xor16_SSE2 | Jeffrey Walton | 2017-11-16 | 1 | -11/+15 |
| | | | | SunCC 12.3 through 12.5 still cannot handle CLMUL, though. It would be nice if Sun fixed the regression. | ||||
* | Switch to intrinsic operation instead of casts for GCM SSE2 XOR's | Jeffrey Walton | 2017-11-15 | 1 | -17/+12 |
| | |||||
* | Prefix IS_LITTLE_ENDIAN and IS_BIG_ENDIAN with CRYPTOPP | Jeffrey Walton | 2017-11-10 | 1 | -2/+2 |
| | |||||
* | Fix SunCC crash when compiling GCM | Jeffrey Walton | 2017-08-27 | 1 | -2/+2 |
| | |||||
* | Support Base Implementation + SIMD implementation on Solaris (PR #461) | Jeffrey Walton | 2017-08-24 | 1 | -5/+5 |
| | |||||
* | Remove BOOL macro value (GH #462) | Jeffrey Walton | 2017-08-20 | 1 | -7/+7 |
| | | | | Currently the CRYPTOPP_BOOL_XXX macros set the macro value to 0 or 1. If we remove setting the 0 value (the #else part of the expression), then the self tests speed up by about 0.3 seconds. I can't explain it, but I have observed it repeatedly. This check-in prepares for the removal in Upstream master | ||||
* | Update comments | Jeffrey Walton | 2017-08-19 | 1 | -1/+1 |
| | |||||
* | Use CRYPTOPP_SSE2_INTRIN_AVAILABLE for consistent naming | Jeffrey Walton | 2017-08-18 | 1 | -5/+5 |
| | |||||
* | Split source files to support Base Implementation + SIMD implementation (GH ↵ | Jeffrey Walton | 2017-08-17 | 1 | -446/+76 |
| | | | | | #461) Split source files to support Base Implementation + SIMD implementation | ||||
* | Fix more Clang problems | Jeffrey Walton | 2017-08-17 | 1 | -1/+4 |
| | | | | I wish this god damn compiler would stop pretending to be other compilers when it can't consume the same program. Even the GCC devs have told the LLVM devs to stop ding that crap | ||||
* | Disable Carryless Multiplies for Clang | Jeffrey Walton | 2017-08-16 | 1 | -14/+13 |
| | | | | Clang causes too many problems. Early versions of the compiler simply crashes. Later versions of the compiler still have trouble with Intel ASM and still produce incorrect results on occassion. Additionally, we have to special case the integrated assemvler. Its making a mess of the code and causing self test failures | ||||
* | Cleanup casts due to Clang | Jeffrey Walton | 2017-08-13 | 1 | -17/+21 |
| | |||||
* | Revert 95ee8975b4fc and 7d21cdd54e95 (Issue 408) | Jeffrey Walton | 2017-08-13 | 1 | -62/+47 |
| | | | | This broke some OS X builds. We need more testing. Ugh... | ||||
* | Use blockSize in error message thrown | Jeffrey Walton | 2017-08-12 | 1 | -1/+3 |
| | |||||
* | Convert GCM to use runtime blocksize checking (Issue 408) | Jeffrey Walton | 2017-08-12 | 1 | -6/+19 |
| | | | | GCM is still only defined for 16-byte ciphers, but this is where we need to be when we add the larger polynomials | ||||
* | Add C++ nullptr support (Issue 383) | Jeffrey Walton | 2017-03-01 | 1 | -6/+6 |
| | |||||
* | Change file preamble to include "originally written by Wei Dai" | Jeffrey Walton | 2017-01-27 | 1 | -1/+1 |
| | | | | We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of | ||||
* | VEXT_8 -> VEXT_U8 | Jeffrey Walton | 2017-01-22 | 1 | -8/+8 |
| | |||||
* | Comments and whitespace checkin | Jeffrey Walton | 2017-01-20 | 1 | -860/+864 |
| | |||||
* | Fix "error: impossible constraint in asm" under Aarch64 (Issue 366) | Jeffrey Walton | 2017-01-20 | 1 | -3/+20 |
| | |||||
* | Call vrev64q_u8 after vld1q_u8 | Jeffrey Walton | 2017-01-19 | 1 | -11/+11 |
| | |||||
* | Switch to vext and remove unnecessary casts | Jeffrey Walton | 2017-01-19 | 1 | -10/+11 |
| | |||||
* | Add GCC inline ASM for PMULL and PMULL2 | Jeffrey Walton | 2017-01-19 | 1 | -28/+108 |
| | | | | The macros that invoke GCC inline ASM have better code generation and speedup GCM ops by about 70 MiB/s on an Opteron 1100. The intrinsics are still available for Windows platforms and Visual Studio 2017 and above | ||||
* | Avoid C-style casts for NEON vectors | Jeffrey Walton | 2017-01-16 | 1 | -53/+50 |
| | | | | Switch to ARM vector casts like vreinterpretq_u8_u64 | ||||
* | Breakout __ARM_FEATURE_CRYPTO into PMULL, AES and SHA for Apple Clang (Issue ↵ | Jeffrey Walton | 2017-01-15 | 1 | -5/+5 |
| | | | | | | 362) It appears Apple Clang disgorges carryless multiply (PMULL) from Crypto (AES and SHA). The breakout added CRYPTOPP_BOOL_ARM_PMULL_INTRINSICS_AVAILABLE for PMULL, and retained CRYPTOPP_BOOL_ARM_CRYPTO_INTRINSICS_AVAILABLE for AES and SHA only | ||||
* | Remove last of macros targtting _MSC_VER 1200 (Issue 342) | Jeffrey Walton | 2016-12-03 | 1 | -1/+1 |
| | |||||
* | Reference 226 and 284 bugs in workaround since the gyrations are not readily ↵ | Jeffrey Walton | 2016-09-18 | 1 | -2/+2 |
| | | | | apparent | ||||
* | Fix SunCC 12.5 failed validation in gcm.cpp (Issue 284) | Jeffrey Walton | 2016-09-18 | 1 | -3/+7 |
| | |||||
* | Fix SunCC 12.3 - 12.5 crash in gcm.cpp | Jeffrey Walton | 2016-09-18 | 1 | -1/+1 |
| | | | | | | | | | /opt/developerstudio12.5/bin/CC -DNDEBUG -g2 -O2 -m64 -native -KPIC -template=no%extdef -c gcm.cpp assertion failed in function pr_post_process_node() @ preopt.c:3868 assert(nd_eq_(scope_first_stmt_(node), first_s)) CC: ube failed for gcm.cpp | ||||
* | Revert "Fix SunCC 12.3 - 12.5 crash in gcm.cpp" | Jeffrey Walton | 2016-09-18 | 1 | -7/+5 |
| | | | | This reverts commit 519b41e47eee262539ebe5f64019362ef018eeb1. Additional testing cruft was included in the commit. | ||||
* | Fix SunCC 12.3 - 12.5 crash in gcm.cpp | Jeffrey Walton | 2016-09-18 | 1 | -5/+7 |
| | | | | | | | | | $ /opt/developerstudio12.5/bin/CC -DNDEBUG -g2 -O2 -D__SSE2__ -D__SSE3__ -D__SSSE3__ -xarch=ssse3 -Wno-deprecated-declarations -m64 -native -KPIC -template=no%extdef -c gcm.cpp assertion failed in function pr_post_process_node() @ preopt.c:3868 assert(nd_eq_(scope_first_stmt_(node), first_s)) CC: ube failed for gcm.cpp | ||||
* | Merge 'master' into 'trap' | Jeffrey Walton | 2016-09-16 | 1 | -1/+1 |
|\ | |||||
| * | Fixed gcm.cpp compile under MSC/Visual Studio | Jeffrey Walton | 2016-09-16 | 1 | -1/+1 |
| | | |||||
* | | Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420) | Jeffrey Walton | 2016-09-16 | 1 | -10/+10 |
|/ | | | | trap.h and CRYPTOPP_ASSERT has existed for over a year in Master. We deferred on the cut-over waiting for a minor version bump (5.7). We have to use it now due to CVE-2016-7420 | ||||
* | Fix gcm.cpp compile under i686 Linux after 97282f61cd8b2155 | Jeffrey Walton | 2016-09-13 | 1 | -1/+1 |
| | |||||
* | Fix gcm.cpp compile under x86_64 Linux after 4f7fb2067df41dd8 | Jeffrey Walton | 2016-09-12 | 1 | -0/+3 |
| | |||||
* | Fixed comments in macro magic | Jeffrey Walton | 2016-09-12 | 1 | -3/+3 |
| | |||||
* | Improved comments in macro magic | Jeffrey Walton | 2016-09-12 | 1 | -11/+14 |
| |