projects
/
BearSSL
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Documentation fixes.
[BearSSL]
/
src
/
symcipher
/
aes_x86ni.c
diff --git
a/src/symcipher/aes_x86ni.c
b/src/symcipher/aes_x86ni.c
index
dcc3952
..
d2d6369
100644
(file)
--- a/
src/symcipher/aes_x86ni.c
+++ b/
src/symcipher/aes_x86ni.c
@@
-32,8
+32,15
@@
#if BR_AES_X86NI
#if BR_AES_X86NI_GCC
#if BR_AES_X86NI
#if BR_AES_X86NI_GCC
+#if BR_AES_X86NI_GCC_OLD
+#pragma GCC push_options
+#pragma GCC target("sse2,sse4.1,aes,pclmul")
+#endif
#include <wmmintrin.h>
#include <cpuid.h>
#include <wmmintrin.h>
#include <cpuid.h>
+#if BR_AES_X86NI_GCC_OLD
+#pragma GCC pop_options
+#endif
#endif
#if BR_AES_X86NI_MSC
#endif
#if BR_AES_X86NI_MSC
@@
-71,6
+78,14
@@
br_aes_x86ni_supported(void)
#undef MASK
}
#undef MASK
}
+/*
+ * Per-function attributes appear unreliable on old GCC, so we use the
+ * pragma for all remaining functions in this file.
+ */
+#if BR_AES_X86NI_GCC_OLD
+#pragma GCC target("sse2,sse4.1,aes,pclmul")
+#endif
+
BR_TARGET("sse2,aes")
static inline __m128i
expand_step128(__m128i k, __m128i k2)
BR_TARGET("sse2,aes")
static inline __m128i
expand_step128(__m128i k, __m128i k2)