summaryrefslogtreecommitdiff
path: root/libs/libsodium/src/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c
diff options
context:
space:
mode:
Diffstat (limited to 'libs/libsodium/src/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c')
-rw-r--r--libs/libsodium/src/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/libsodium/src/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c b/libs/libsodium/src/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c
index 41dc8193fc..c3694cd70f 100644
--- a/libs/libsodium/src/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c
+++ b/libs/libsodium/src/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.c
@@ -5,15 +5,17 @@
#include "crypto_stream_salsa20.h"
#include "private/common.h"
-#include "private/sse2_64_32.h"
#include "utils.h"
#ifdef HAVE_EMMINTRIN_H
-# ifdef __GNUC__
+# ifdef __clang__
+# pragma clang attribute push(__attribute__((target("sse2"))), apply_to = function)
+# elif defined(__GNUC__)
# pragma GCC target("sse2")
# endif
# include <emmintrin.h>
+# include "private/sse2_64_32.h"
# include "../stream_salsa20.h"
# include "salsa20_xmm6int-sse2.h"
@@ -119,4 +121,8 @@ struct crypto_stream_salsa20_implementation
SODIUM_C99(.stream_xor_ic =) stream_sse2_xor_ic
};
+#ifdef __clang__
+# pragma clang attribute pop
+#endif
+
#endif