Add clang target pragma for mixed C/assembly x86-64 implementations
[libgcrypt.git] / cipher / rijndael-aesni.c
index c1ebab0..483387c 100644 (file)
@@ -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 */