Add clang target pragma for mixed C/assembly x86-64 implementations
[libgcrypt.git] / cipher / crc-intel-pclmul.c
index 8ff08ec..482b260 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 ALIGNED_16 __attribute__ ((aligned (16)))
@@ -922,4 +925,8 @@ _gcry_crc24rfc2440_intel_pclmul (u32 *pcrc, const byte *inbuf, size_t inlen)
 #endif
 }
 
+#if __clang__
+#  pragma clang attribute pop
+#endif
+
 #endif /* USE_INTEL_PCLMUL */