summaryrefslogtreecommitdiff
path: root/cipher/rijndael-aesni.c
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2018-11-20 21:16:08 +0200
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2018-11-20 21:16:08 +0200
commit9d9c4fd18b445ff414d11678285d54af3afdb222 (patch)
treea2077fbc680917f68f0c310d75953c8b6c9bf3e9 /cipher/rijndael-aesni.c
parentb42de67f34871a2520cfe370af513f2aab6e4f75 (diff)
downloadlibgcrypt-9d9c4fd18b445ff414d11678285d54af3afdb222.tar.gz
Add clang target pragma for mixed C/assembly x86-64 implementations
* cipher/cipher-gcm-intel-pclmul.c: Add target 'no-sse' attribute pragma for clang. * cipher/crc-intel-pclmul.c: Ditto. * cipher/rijndael-aesni.c: Ditto. * cipher/rijndael-ssse3-amd64.c: Ditto. * cipher/sha1-intel-shaext.c: Ditto. * cipher/sha256-intel-shaext.c: Ditto. -- Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/rijndael-aesni.c')
-rw-r--r--cipher/rijndael-aesni.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/cipher/rijndael-aesni.c b/cipher/rijndael-aesni.c
index c1ebab06..483387cd 100644
--- a/cipher/rijndael-aesni.c
+++ b/cipher/rijndael-aesni.c
@@ -39,6 +39,9 @@
/* Prevent compiler from issuing SSE instructions between asm blocks. */
# pragma GCC target("no-sse")
#endif
+#if __clang__
+# pragma clang attribute push (__attribute__((target("no-sse"))), apply_to = function)
+#endif
#define ALWAYS_INLINE inline __attribute__((always_inline))
@@ -3514,4 +3517,8 @@ _gcry_aes_aesni_xts_crypt (RIJNDAEL_context *ctx, unsigned char *tweak,
_gcry_aes_aesni_xts_dec(ctx, tweak, outbuf, inbuf, nblocks);
}
+#if __clang__
+# pragma clang attribute pop
+#endif
+
#endif /* USE_AESNI */