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.
Jeffrey Walton
2017-11-16 19:37:29 -0500
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
Jeffrey Walton
2017-11-16 15:11:51 -0500
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.
Jeffrey Walton
2017-11-16 02:38:53 -0500
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
Jeffrey Walton
2017-11-15 20:08:06 -0500
Update setenv-ios.sh to export tools This is needed for Autotools and cross-compiles. GNUmakefile-cross does not use it
Jeffrey Walton
2017-11-10 09:30:47 -0500
Add CRYPTOPP_NO_CXX11 for fake C++11 standard libraries (GH #529) This is a recurring problem, especially on MinGW and platforms that use STLport. See the bug report for some references
Jeffrey Walton
2017-11-06 09:09:45 -0500
Disable ShellCheck SC2181 warning in cryptest.sh Add tests for Support for Control-flow Enforcement Technology (CET). This is an upcoming processor feature. We want to be out in front of breaks to our inline assembly
Jeffrey Walton
2017-10-30 08:19:50 -0400
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.
Jeffrey Walton
2017-10-17 20:47:14 -0400
Add "stdcpp.h" to bench1.cpp and bench2.cpp (GH #520) This is the first of possibly two or three for Borland compilers. We have to be careful because its very easy to break something due to math overloads with other compilers like SunCC or XL/C
Jeffrey Walton
2017-10-12 21:52:23 -0400
Add governor.sh to run benchmarks from a performance state on Linux The script is based on code by Andy Polyakov, http://www.openssl.org/~appro/cryptogams.
Jeffrey Walton
2017-10-08 14:12:16 -0400
Make UncheckedSetKey in authenc.h UncheckedSetKey has traditionally been a protected member function. The public API traditionally uses SetKey (and friends) to set the key. Internally, SetKey may call UncheckedSetKey. It looks like UncheckedSetKey was made public when authenticated encryption support was added. Its probably not a good idea to have users calling UncheckedSetKey. Most (all?) of the time it does nothing for authenc modes. The other remaining cases it may not work as expected.
Jeffrey Walton
2017-10-07 10:32:43 -0400
Move AliasedWithTable into unnamed namespace Move m_aliasBlock into Rijndael::Base. m_aliasBlock is now an extra data member for Dec because the aliased table is only used for Enc when unaligned data access is in effect. However, the SecBlock is not allocated in the Dec class so there is no runtime penalty.
Jeffrey Walton
2017-10-05 09:28:56 -0400
Removed m_authenticated member variable Add m_isSpecial, m_mandatoryBlockSize and m_optimalBufferSize members. The additional members stabilize running times and avoid some unnecessary calculations. Previously we were calculating some values in each call to Put and LastPut.
Jeffrey Walton
2017-10-03 21:49:59 -0400
Add MandatoryBlockSize to last block test CC optimizes things best when isSpecial uses the two predicates. If the 'm_cipher.MandatoryBlockSize() > 0' is removed, then some block ciphers and modes lose up to 0.2 cpb. Apparently GCC can optimize away the second predicate easier than the first predicate.
Jeffrey Walton
2017-10-03 15:46:51 -0400