Commit Graph

60 Commits (d9de314e86306ce6dd549ccf6b98a6100c9c7310)

Author SHA1 Message Date
Jeffrey Walton 5efb019d8b
Add C++ nullptr support (Issue 383) 2017-03-01 06:10:06 -05:00
Jeffrey Walton 81b1a18063
Change file preamble to include "originally written by Wei Dai"
We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of
2017-01-27 07:05:45 -05:00
Jeffrey Walton 14f5305c92
VEXT_8 -> VEXT_U8 2017-01-22 20:53:19 -05:00
Jeffrey Walton f2132a81c1
Comments and whitespace checkin 2017-01-20 19:41:20 -05:00
Jeffrey Walton 74328f93a8
Fix "error: impossible constraint in asm" under Aarch64 (Issue 366) 2017-01-20 18:48:11 -05:00
Jeffrey Walton 4f725eddc1
Call vrev64q_u8 after vld1q_u8 2017-01-19 07:37:54 -05:00
Jeffrey Walton bbf13b77e7
Switch to vext and remove unnecessary casts 2017-01-19 06:22:38 -05:00
Jeffrey Walton b129818c35
Add GCC inline ASM for PMULL and PMULL2
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
2017-01-19 02:38:00 -05:00
Jeffrey Walton 4f2bb7664f
Avoid C-style casts for NEON vectors
Switch to ARM vector casts like vreinterpretq_u8_u64
2017-01-16 17:12:44 -05:00
Jeffrey Walton c80502102a
Breakout __ARM_FEATURE_CRYPTO into PMULL, AES and SHA for Apple Clang (Issue 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
2017-01-15 00:22:14 -05:00
Jeffrey Walton 56a91ca197
Remove last of macros targtting _MSC_VER 1200 (Issue 342) 2016-12-03 21:31:22 -05:00
Jeffrey Walton 33a59b8bd1 Reference 226 and 284 bugs in workaround since the gyrations are not readily apparent 2016-09-18 11:57:57 -04:00
Jeffrey Walton 2d0e388d9a Fix SunCC 12.5 failed validation in gcm.cpp (Issue 284) 2016-09-18 11:45:12 -04:00
Jeffrey Walton 4fb75a8f4d Fix SunCC 12.3 - 12.5 crash in gcm.cpp
/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
2016-09-18 10:26:57 -04:00
Jeffrey Walton 8f33054545 Revert "Fix SunCC 12.3 - 12.5 crash in gcm.cpp"
This reverts commit 519b41e47e. Additional testing cruft was included in the commit.
2016-09-18 10:23:10 -04:00
Jeffrey Walton 519b41e47e Fix SunCC 12.3 - 12.5 crash in gcm.cpp
$ /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
2016-09-18 10:21:59 -04:00
Jeffrey Walton 6847978f0a Merge 'master' into 'trap' 2016-09-16 11:28:23 -04:00
Jeffrey Walton 399a1546de Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420)
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
2016-09-16 11:27:15 -04:00
Jeffrey Walton 69f3d9483e Fixed gcm.cpp compile under MSC/Visual Studio 2016-09-16 08:09:04 -04:00
Jeffrey Walton 9b5dc3c765 Fix gcm.cpp compile under i686 Linux after 97282f61cd 2016-09-13 10:01:39 -04:00
Jeffrey Walton 97282f61cd Fix gcm.cpp compile under x86_64 Linux after 4f7fb2067d 2016-09-12 22:29:13 -04:00
Jeffrey Walton 32375fe322 Fixed comments in macro magic 2016-09-12 19:17:18 -04:00
Jeffrey Walton abd14a4b0a Improved comments in macro magic 2016-09-12 19:05:09 -04:00
Jeffrey Walton 4f7fb2067d Cleaned up use of assembler mnemonics 2016-09-12 17:47:12 -04:00
Jeffrey Walton d83a7e08a9 Re-enable AES-NI/CLMUL when using Clang Integrated Assembler (part of Issue 226) 2016-09-11 23:22:02 -04:00
Jeffrey Walton 737f5b0b72 Disable CLMUL for SunCC 5.13 and below (Issue 226) 2016-09-11 22:52:26 -04:00
Jeffrey Walton 954c3bb82b Enable AES-NI intrinsics for Clang. Add ARM NEON and PMULL implementation 2016-08-24 12:28:54 -04:00
Jeffrey Walton 0b8cea5c51 Add guard for SunCC 2016-07-25 08:03:56 -04:00
Jeffrey Walton aae1f27dee Fix SunCC crash and failed compile for gcm.cpp. This is the hammer - we don't enable any ASM for the source file (Issue 227) 2016-07-15 15:46:31 -04:00
Jeffrey Walton bdd1c12fab Fix SunCC 12.x compile error with -std=c++11 (Issue 226) 2016-07-15 04:57:00 -04:00
Jeffrey Walton 6c78aaa7e3 Cleared "assertion failed in function pr_post_process_node() @ preopt.c" under Sun Studio 12.5 (Issue 220) 2016-07-09 06:24:11 -04:00
Jeffrey Walton 6c0b120072 Go back to Commit 66ada4cc61 2016-07-06 14:39:18 -04:00
Mouse 87be783cd1 Revert "Merge remote-tracking branch 'upstream/master'" - not intended to be merged by me
This reverts commit 762c315566, reversing
changes made to b48866631a.
2016-07-06 12:01:28 -04:00
Jeffrey Walton fb72dbc8cb Add MacPorts GCC compiler and Clang integrated assembler support. This is a merge of the development branch 'clang-ia' 2016-07-05 02:48:27 -04:00
Jeffrey Walton b1df5736a7 Merge 'solaris' dev branch into 'master' 2016-06-15 05:02:28 -04:00
Jeffrey Walton c1f025343a Add C++11 alignas support. Deleting 'alignas' branch 2016-06-14 19:14:09 -04:00
Jeffrey Walton de9cebb50f Cleared -Wcast-align (Issue 122) 2016-01-27 18:36:53 -05:00
Jeffrey Walton 9e92f79932 Cleared -Wcast-align (Issue 122) 2016-01-25 10:47:48 -05:00
Jeffrey Walton cdcff65a35 Cleared -Wcast-align (Issue 122) 2016-01-25 00:12:37 -05:00
Jeffrey Walton 0e3ee98ff6 Fixed Clang 3.4 compiler error on Linux 2015-12-25 08:00:05 -05:00
Jeffrey Walton 885b94707c Fixed Clang 3.3 integrated assembler crash on Linux 2015-12-25 03:37:14 -05:00
Jeffrey Walton c08cac0cd1 Fixed failed compile on OS X using "-arch i386" due to Clang defining __ILP32__ for everything that is 32-bit. MSVC, GCC, ICC and Comeau were OK 2015-12-02 15:54:35 -05:00
Jeffrey Walton b3e49d8c96 Additional documentation; fixed issues with Clang integrated assembler and different versions numbers for LLVM Clang and Apple Clang; fixed missing header in DSA class 2015-11-19 13:09:33 -05:00
Jeffrey Walton 6ac1e46a1f Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup) 2015-11-18 15:32:28 -05:00
Jeffrey Walton 48809d4e85 CRYPTOPP 5.6.3 RC6 checkin 2015-11-05 01:59:46 -05:00
Jeffrey Walton 3fd7a239f0 Backed out Clang integrated assembler changes. LLVM Bug 24232 pushed us over the edge. There is some skeleton code remaining for testing. To activate it, perform "make FORCE_ASM=1" 2015-07-23 16:47:03 -04:00
Jeffrey Walton fcd5f6df72 Cleared "invalid operand size" under Clang's integrated assembler. After more testing, this might be applied to other assemblers because Clang is probably correct in this instance 2015-07-22 06:14:37 -04:00
Jeffrey Walton 3c56063c3f Added CRYPTOPP_CLANG_NO_INTEGRATED_AS as a guard in config.h (disabled by default since integrated-as is default behavior and the bug is active). GNU_ATT_SYNTAX → GNU_AS_ATT_SYNTAX and GNUINTEL_SYNTAX → GNU_AS_INTEL_SYNTAX 2015-07-21 18:05:48 -04:00
Jeffrey Walton 444d1f1a3b Cut-in to utilize GNU_ATT_SYNTAX and GNU_INTEL_SYNTAX macros. Also see LLVM Bug 18916 (https://llvm.org/bugs/show_bug.cgi?id=18916) 2015-07-21 14:37:55 -04:00
Jeffrey Walton 2fa682e699 Cleared GCC/Clang waning on unknown pragma 2015-06-08 03:49:39 -04:00