Jeffrey Walton
39697d92bf
Add SSSE3 intrinsics for SPECK-128 (GH #538 )
...
Performance increased by about 100% on a 3.1 GHz Core i5 Skylake. Throughput went from about 7.3 cpb to about 3.5 cpb. Not bad for a software-based implementation of a block cipher
2017-11-22 07:57:39 -05:00
Jeffrey Walton
a5bf962681
Fix target misdetection on OS X with '-arch i386'
...
This tested OK on Linux OS X, Solaris and Windows. It may break things under IBM XL C/C++. We will cross that bridge when we get to it.
2017-11-16 19:37:29 -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
8b52a03d08
Fix SunCC 12.2 compiler crash with GCM_Xor16_SSE2
...
SunCC 12.3 through 12.5 still cannot handle CLMUL, though. It would be nice if Sun fixed the regression.
2017-11-16 02:38:53 -05:00
Jeffrey Walton
c49b6d4d71
Cleanup comments and old code artifacts
2017-11-15 21:11:42 -05:00
Jeffrey Walton
e8bed05b7d
Use SSE4.1 instead of SSE4.2 for BLAKE2
...
BLAKE2 requires SSE4.1, no SSE4.2. This change should have been made when we split SSE4 into .1 and .2, but we needed more OS X and LLVM testing
2017-11-15 20:08:06 -05:00
Jeffrey Walton
a3784a3ac5
Update Power8 support for Autotools
2017-11-14 20:54:43 -05:00
Jeffrey Walton
dd1484800c
Rename mapfile for Solaris
2017-11-12 22:48:51 -05:00
Marcel Raad
4043164205
RFC: workarounds for original MinGW ( #531 )
...
* Set default target Windows version for MinGW to XP
The original MinGW from mingw.org targets Windows 2000 by default, but lacks
the <wspiapi.h> include needed for Windows 2000 support.
* Disable CRYPTOPP_CXX11_SYNCHRONIZATION for original MinGW
std::mutex is only available in libstdc++ if _GLIBCXX_HAS_GTHREADS is defined,
which is not the case for original MinGW. Make the existing fix for AIX more
general to fix this. Unfortunately, any C++ header has to be included to
detect the standard library and the otherwise empty <ciso646> is going to be
removed from C++20, so use <cstddef> instead.
2017-11-06 20:49:16 -05:00
Jeffrey Walton
f40afed631
Add more Autotools artifacts to distclean recipe
2017-11-06 07:27:37 -05:00
Jeffrey Walton
432881065c
Removed *.pl from clean rules
2017-11-05 07:21:09 -05:00
Jeffrey Walton
3b43ce53ec
Add more Autotools artifacts to distclean recipe
2017-11-05 03:42:39 -05:00
Jeffrey Walton
c50f2f23d8
Add more Autotools artifacts to distclean recipe
2017-11-05 03:38:19 -05:00
Jeffrey Walton
78a64e37d3
Remove cryptopp.mapfile from distclean rule
2017-11-01 18:30:49 -04:00
Jeffrey Walton
defa3f78d1
Add more Autotools artifacts to distclean recipe
2017-11-01 18:25:44 -04:00
Jeffrey Walton
a72225afff
Add more Autotools artifacts to distclean recipe
2017-11-01 15:51:10 -04:00
Jeffrey Walton
9e85633ff7
Add more Autotools artifacts to distclean recipe
2017-11-01 13:12:27 -04:00
Jeffrey Walton
0f2f753696
Add Autotools artifacts to distclean recipe
2017-11-01 12:11:04 -04:00
Jeffrey Walton
4e6c4e0522
Fix Solaris build using SunCC
...
This broke when we fixed xlC builds on AIX
2017-10-27 18:09:40 -04:00
Jeffrey Walton
6f25cf682a
Improve 64-bit support for GCC on AIX
2017-10-18 05:55:12 -04:00
Jeffrey Walton
c2c0a1ed82
Improve 64-bit support for XL C/C++
2017-10-18 04:49:26 -04:00
Jeffrey Walton
f8d97b83ed
Fix compile on old PowerPC
...
This cleans up the compile on old PwerMac G5's. Our Altivec and Crypto code relies on Power7 and Power8 extensions. There's no need to shoehorn Altivec and Power4 into old platforms, so we disable Altivec and Crypto unless Power7 is available. The GNUmakefile sets CRYPTOPP_DISABLE_ALTIVEC if Power7 is not available.
2017-10-17 20:47:14 -04:00
Jeffrey Walton
3ffff750d7
Fix feature detection on AIX with XL C/C++
2017-10-13 01:27:09 -04:00
Jeffrey Walton
8f6afb3079
Fix -pipe warning under SunCC
2017-09-16 22:09:50 -04:00
Jeffrey Walton
913a9e60d3
Remove CMake from library sources (GH #506 )
...
CMake can now be found at http://www.cryptopp.com/wiki/CMake . The Cmake project files are now maintianed by the community.
2017-09-16 21:09:40 -04:00
Jeffrey Walton
30d519c0bc
Use -O3 for IBM XL C/C++ (GH #502 )
...
We held back XL C/C++ due to warnings and self test failures. Since clearing Issue 502, we are OK for -O3 so we can live with the warnings.
2017-09-16 08:22:25 -04:00
Jeffrey Walton
4670e3d5bc
Revert "Use -O3 for IBM XL C/C++ (GH #502 )"
...
This reverts commit aa348abd15
. It caused a hang in the TEA algorithm. Also see GH #503 .
2017-09-16 05:55:37 -04:00
Jeffrey Walton
aa348abd15
Use -O3 for IBM XL C/C++ (GH #502 )
...
We held back XL C/C++ due to warnings and self test failures. Since clearing Issue 502, we are OK for -O3 so we can live with the warnings.
2017-09-16 02:19:06 -04:00
Jeffrey Walton
502fdc61c9
Add -msse2 to i586 build (Issue 494)
2017-09-12 21:23:23 -04:00
Jeffrey Walton
2ebd30d43c
Remove -mvsx option from Linux Power8 builds
...
This option is not needed
2017-09-12 18:10:07 -04:00
Jeffrey Walton
fb78afba29
Add PowerPC support to cpu.h and validate.cpp
2017-09-11 03:05:04 -04:00
Jeffrey Walton
9276b95221
Add Power8 support to Makefile
2017-09-09 20:33:06 -04:00
Jeffrey Walton
ba569b55ca
Reduce IBM XL C/C++ compiler to -O2
...
Early versions of IBM XL C/C++ for AIX, V13.1 fail some self tests, like TEA and XTEA
2017-09-09 17:22:42 -04:00
Jeffrey Walton
38de6b0436
Fix RTTI and PIC under IBM XL C/C++ on AIX
2017-09-09 16:24:01 -04:00
Jeffrey Walton
b974c7f98e
Avoid -pipe for IBM XL C/C++ compiler
2017-09-09 15:10:32 -04:00
Jeffrey Walton
55a5dd8b85
Add core to clean rule
2017-08-31 12:15:39 -04:00
Jeffrey Walton
ea07825127
Add -pthread for Linux and GCC compatibles
...
Fix AIX dtection
Guard use of -m32 and -m64
2017-08-31 10:08:18 -04:00
Jeffrey Walton
c079abdbc0
Fix missing DetectArmFeatures for ARMv7 (GH #480 )
2017-08-30 11:12:39 -04:00
Jeffrey Walton
b2693c4327
Fix IS_ARMV8 in GNUmakefile
...
Fix guard for HasPMULL()
2017-08-30 10:00:46 -04:00
Jeffrey Walton
c06995a71b
Consistent use of grep and sed (GH #476 )
...
MinGW is really messing things up for us.
2017-08-29 08:57:04 -04:00
Jeffrey Walton
76c4d6e9fa
Add -xarch options to linker flags (Issue 472)
...
Also see https://docs.oracle.com/cd/E19205-01/819-5267/bkabt/index.html
2017-08-28 17:51:59 -04:00
Jeffrey Walton
f488221992
Test align 16 for i386 and x86_64
2017-08-27 19:01:00 -04:00
Jeffrey Walton
2d5ed51ca9
Add Mapfile for CMake on Solaris (Issue 380)
2017-08-27 05:47:38 -04:00
Jeffrey Walton
5c6a32ba0f
Support Base Implementation + SIMD implementation on Solaris (PR #461 )
2017-08-24 19:17:21 -04:00
Jeffrey Walton
b57f7f0ae0
Rollup CMake fixes for OpenBSD, MinGW (Issues 380, 466-468, PR #469 )
...
Rollup CMake fixes for OpenBSD (Issues 467-468)
Rollup CMake fixes for MinGW (Issues 466)
Add CRYPTOPP_ENABLE_ARCH (Issue 380)
2017-08-24 07:26:14 -04:00
Jeffrey Walton
b3cacd8287
Fix 32-bit ARM NEON detection
...
BeagleBone's, RPI-3's, etc
2017-08-23 19:35:45 -04:00
Jeffrey Walton
9c9e69119f
Remove -march=native as default in Makefile and CMake (PR #465 )
...
Remove -march=native as default in Makefile and CMake (PR #465 )
2017-08-23 16:13:20 -04:00
Jeffrey Walton
2a2f6cb7b3
Fix SSSE3 issues under GCC 4.4.5 on Debian 6
2017-08-17 19:04:00 -04:00
Jeffrey Walton
e3c8e69ba3
Rework makefile cpu feature detection code for the BSDs
2017-08-17 16:35:56 -04:00
Jeffrey Walton
e2c377effd
Split source files to support Base Implementation + SIMD implementation (GH #461 )
...
Split source files to support Base Implementation + SIMD implementation
2017-08-17 12:33:43 -04:00