Commit Graph

34 Commits

Author SHA1 Message Date
Jeffrey Walton
f25500dce6
Update config_asm.h for Apple M1 2021-03-06 03:03:00 -05:00
Jeffrey Walton
8e9cb9d9d8
Whitespace check-in 2021-03-04 22:49:25 -05:00
Tobias Nießen
0a40a0c3ca
Fix typos in documentation and comments (PR #1012) 2021-03-04 13:17:42 -05:00
Mouse
ef9b62f00a
Update config_asm.h
Fix compilation on MacOS with Xcode-12.3 clang, and GCC (tested with Macports-installed GCC-10 and `AS_INTEGRATED_ASSEMBLER=1` setting).
2020-12-28 09:39:45 -05:00
Jeffrey Walton
ebf9e2e4ac
Update comments 2020-12-28 03:39:42 -05:00
Tanzinul Islam
e539aab454
Build with Oracle Developer Studio 12.6 in 64-bit (PR #990)
- The _mm256_loadu_si256() intrinsic is declared with a pointer to
  non-const input. Apply const_cast accordingly.

- The XGETBV instruction isn't recognized, so apply the same
  workaround as for old GCC versions.
  <https://docs.oracle.com/cd/E53394_01/html/E54851/gnyen.html>

- Only AT&T syntax is supported; there is no directive to switch
  Intel syntax. Therefore, disable mixed-ASM code paths.
2020-12-27 16:18:12 -05:00
Jeffrey Walton
ad17e0290a
Update documentation 2020-12-25 20:32:21 -05:00
Jeffrey Walton
8f1746790e
Update documentation 2020-12-25 13:45:42 -05:00
Jeffrey Walton
5bae476e5d
Fix spelling 2020-12-18 20:04:43 -05:00
Jeffrey Walton
7272770309
Update comments (GH #950) 2020-08-06 15:34:26 -04:00
Jeffrey Walton
95e0d5de19
Update test programs 2020-07-27 12:46:11 -04:00
Jeffrey Walton
18b535fb5a
Add CPUID64 for MSVC missing __cpuidex 2020-02-07 14:19:46 -05:00
Jeffrey Walton
06cee3cdf4
Fix AIX and Linux compiles for PowerPC (PR #902) 2019-10-23 18:15:47 -04:00
Jeffrey Walton
66321bda10
Cleanup config_asm for PowerPC 2019-10-22 19:52:54 -04:00
Jeffrey Walton
d58a00ba21
Cleanup config_*.h files, update travis.yml file (PR #898)
This started as an update to travis.yml to support ARM64 testing. Autotools had a failure under Clang, and it required a modification to config_asm.h. We eventually guarded the availability defines in CRYPTOPP_DISABLE_ASM.
2019-10-20 21:46:05 -04:00
Jeffrey Walton
fbc1437089
Disable AVX and AVX2 for Android builds 2019-10-17 10:56:54 -04:00
Jeffrey Walton
b64a920bc9
Enable CRYPTOPP_DISABLE_MIXED_ASM in config_asm.h 2019-10-17 08:46:27 -04:00
Thomas Braun
85f16efc32 Allow clang-tooling (PR #897)
When using cryptopp in your own projects and using clang tooling (e.g.
clang-tidy) for inspecting your project, this currently errors out due to the #error
directive when done on Windows with MS Visual Studio.

The #error directive here is meant for code execution and not for code
inspection.

So we now don't error out  when __clang_analyzer__ is defined. That
macro was introduced into clang tooling in
https://reviews.llvm.org/D46325.
2019-10-17 08:41:30 -04:00
Jeffrey Walton
60eedb97ba
Fix ARM headers and Android compile (PR #896)
* Test fix ARM headers
This problem has been festering for some time. The header file includes are slightly different than the ISA options. Some platforms need an include, others don't.

* Fix cryptest-android.sh and cryptest-ios.sh

* Fix MSVC ARM32 and ARM64 compile

* Split ARM32 and ARM64 recipes in GNUmakefile
2019-10-16 21:00:45 -04:00
Jeffrey Walton
ba517a6c31
Fix setenv-android.sh and cryptest-android.sh for NDK r19 (PR #893)
setenv-android.sh and cryptest-android.sh are up to date for NDK r19 again.
2019-10-15 18:05:54 -04:00
Jeffrey Walton
bf8a765c32
Fix Rijndael recursion overflow when -DCRYPTOPP_DISABLE_SSSE3 (GH #880, PR #886) 2019-09-28 21:37:58 -04:00
Jeffrey Walton
f0d7917719
Move CRYPTOPP_NO_CXX11 and CRYPTOPP_NO_CXX17 to config_cxx.h
It looks like these two were overlooked during refactoring
2019-07-11 12:10:19 -04:00
Alon Bar-Lev
2eb400c52f config: guard CRYPTOPP_SSE2_INTRIN_AVAILABLE with CRYPTOPP_DISABLE_SSE2 (#858)
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2019-07-02 16:45:03 -04:00
Jeffrey Walton
1650cac3f3
Update comments 2019-05-23 19:35:05 -04:00
Jeffrey Walton
6f3be56c9d
Update comments 2019-05-21 19:40:11 -04:00
Jeffrey Walton
268ea61f1c
Cutover to CRYPTOPP_LLVM_CLANG_VERSION (GH #845)
We were using CRYPTOPP_CLANG_VERSION in some places.
2019-05-21 07:54:47 -04:00
Jeffrey Walton
751515901b
Limit Cryptogams AES and SHA to Linux distros
The Apple assembler cannot translate the source files for iOS.
2019-05-21 05:59:58 -04:00
Jeffrey Walton
02baab2307
Enable Cryptogams AES on ARM using Clang
It looks like AES needed -mthumb for Clang. SHA must not use -mthumb under Clang due to a crash.
2019-05-21 04:23:40 -04:00
Jeffrey Walton
5c7c092336
Cleanup Cryptogams defines 2019-05-20 16:39:26 -04:00
Jeffrey Walton
00155d42cc
Enable Cryptogams SHA asm for Clang
AES is still disabled
2019-05-20 15:29:30 -04:00
Jeffrey Walton
d38e5a954d
Add ARM SHA512 asm implementation from Cryptogams (GH #841, PR #843)
Cryptogams is Andy Polyakov's project used to create high speed crypto algorithms and share them with other developers. Cryptogams  has a dual license. First is the OpenSSL license because Andy contributes to OpenSSL. Second is a BSD license for those who want a more permissive license.

Andy's implementation runs about 45% faster than C/C++ code. Testing on a 1.8 GHz Cortex-A17 shows Cryptograms at 45 cpb, and C++ at 79 cpb.

The integration instructions are documented at [Cryptogams SHA](https://wiki.openssl.org/index.php/Cryptogams_SHA) on the OpenSSL wiki.
2019-05-19 16:29:45 -04:00
Jeffrey Walton
4c9ca6b723
Add ARM SHA256 asm implementation from Cryptogams (GH #840, PR #840)
Cryptogams is Andy Polyakov's project used to create high speed crypto algorithms and share them with other developers. Cryptogams  has a dual license. First is the OpenSSL license because Andy contributes to OpenSSL. Second is a BSD license for those who want a more permissive license.

Andy's implementation runs about 45% faster than C/C++ code. Testing on a 1 GHz Cortex-A7 shows Cryptograms at 17 cpb, and C++ at 30 cpb.

The integration instructions are documented at [Cryptogams SHA](https://wiki.openssl.org/index.php/Cryptogams_SHA) on the OpenSSL wiki.
2019-05-19 06:59:12 -04:00
Jeffrey Walton
1a63112faf
Add ARM SHA1 asm implementation from Cryptogams (GH #837, PR #838)
Add ARM SHA1 asm implementation from Cryptogams.

Cryptogams is Andy Polyakov's project used to create high speed crypto algorithms and share them with other developers. Cryptogams  has a dual license. First is the OpenSSL license because Andy contributes to OpenSSL. Second is a BSD license for those who want a more permissive license.

Andy's implementation runs about 30% faster than C/C++ code. Testing on a 1 GHz Cortex-A7 shows Cryptograms at 16 cpb, and C++ at 23 cpb.

The integration instructions are documented at [Cryptogams SHA](https://wiki.openssl.org/index.php/Cryptogams_SHA) on the OpenSSL wiki.
2019-05-18 23:07:17 -04:00
Jeffrey Walton
c51f0ecbfd
Make config.h more Autoconf friendly (GH #835, PR #836) 2019-05-17 15:18:17 -04:00