summaryrefslogtreecommitdiff
path: root/cipher/blowfish.c
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2013-06-20 14:20:36 +0300
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2013-06-20 14:20:36 +0300
commit3544fa8aa63bef9a35abf236e9376191b5ec206b (patch)
tree3e48b8009b02dfd544efc5199abc780dcca5a9d1 /cipher/blowfish.c
parentec2f8de409a93c80efa658134df22074a9bca5a4 (diff)
downloadlibgcrypt-3544fa8aa63bef9a35abf236e9376191b5ec206b.tar.gz
Check if assembler is compatible with AMD64 assembly implementations
* cipher/blowfish-amd64.S: Enable only if HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS is defined. * cipher/camellia-aesni-avx-amd64.S: Ditto. * cipher/camellia-aesni-avx2-amd64.S: Ditto. * cipher/cast5-amd64.S: Ditto. * cipher/rinjdael-amd64.S: Ditto. * cipher/serpent-avx2-amd64.S: Ditto. * cipher/serpent-sse2-amd64.S: Ditto. * cipher/twofish-amd64.S: Ditto. * cipher/blowfish.c: Use AMD64 assembly implementation only if HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS is defined * cipher/camellia-glue.c: Ditto. * cipher/cast5.c: Ditto. * cipher/rijndael.c: Ditto. * cipher/serpent.c: Ditto. * cipher/twofish.c: Ditto. * configure.ac: Check gcc/as compatibility with AMD64 assembly implementations. -- Later these checks can be split and assembly implementations adapted to handle different platforms, but for now disable AMD64 assembly implementations if assembler does not look to be able to handle them. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/blowfish.c')
-rw-r--r--cipher/blowfish.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cipher/blowfish.c b/cipher/blowfish.c
index 39d4051c..69baebe0 100644
--- a/cipher/blowfish.c
+++ b/cipher/blowfish.c
@@ -45,7 +45,8 @@
/* USE_AMD64_ASM indicates whether to use AMD64 assembly code. */
#undef USE_AMD64_ASM
-#if defined(__x86_64__) && (BLOWFISH_ROUNDS == 16)
+#if defined(__x86_64__) && defined(HAVE_COMPATIBLE_GCC_AMD64_PLATFORM_AS) && \
+ (BLOWFISH_ROUNDS == 16)
# define USE_AMD64_ASM 1
#endif