summaryrefslogtreecommitdiff
path: root/gcc/config/i386/avx2intrin.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386/avx2intrin.h')
-rw-r--r--gcc/config/i386/avx2intrin.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/config/i386/avx2intrin.h b/gcc/config/i386/avx2intrin.h
index 1537bf5add0..4030dfe2bc2 100644
--- a/gcc/config/i386/avx2intrin.h
+++ b/gcc/config/i386/avx2intrin.h
@@ -25,6 +25,15 @@
# error "Never use <avx2intrin.h> directly; include <immintrin.h> instead."
#endif
+#ifndef _AVX2INTRIN_H_INCLUDED
+#define _AVX2INTRIN_H_INCLUDED
+
+#ifndef __AVX2__
+#pragma GCC push_options
+#pragma GCC target("avx2")
+#define __DISABLE_AVX2__
+#endif /* __AVX2__ */
+
/* Sum absolute 8-bit integer difference of adjacent groups of 4
byte integers in the first 2 operands. Starting offsets within
operands are determined by the 3rd mask operand. */
@@ -1871,3 +1880,10 @@ _mm256_mask_i64gather_epi32 (__m128i src, int const *base,
(__v4si)(__m128i)MASK, \
(int)SCALE)
#endif /* __OPTIMIZE__ */
+
+#ifdef __DISABLE_AVX2__
+#undef __DISABLE_AVX2__
+#pragma GCC pop_options
+#endif /* __DISABLE_AVX2__ */
+
+#endif /* _AVX2INTRIN_H_INCLUDED */