aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2018-10-14 20:30:02 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2018-10-14 13:30:02 -0700
commit190667ae2509700bc2ddda4be0934249bdd30e9c (patch)
tree9e4b64c8a0a7b423d9d2b8e0c0b005881e78b5b5
parentfc7367ea773c31e18d7f1ec2bc17d3f5a7145640 (diff)
downloadgcc-190667ae2509700bc2ddda4be0934249bdd30e9c.zip
gcc-190667ae2509700bc2ddda4be0934249bdd30e9c.tar.gz
gcc-190667ae2509700bc2ddda4be0934249bdd30e9c.tar.bz2
i386: Also disable AVX512IFMA/AVX5124FMAPS/AVX5124VNNIW
Also disable AVX512IFMA, AVX5124FMAPS and AVX5124VNNIW when disabling AVX512F. gcc/ PR target/87572 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512F_UNSET): Add OPTION_MASK_ISA_AVX512IFMA_UNSET, OPTION_MASK_ISA_AVX5124FMAPS_UNSET and OPTION_MASK_ISA_AVX5124VNNIW_UNSET. gcc/testsuite/ PR target/87572 * gcc.target/i386/pr87572.c: New test. From-SVN: r265150
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/common/config/i386/i386-common.c8
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr87572.c10
4 files changed, 29 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 49770e7..e6c6dbc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2018-10-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/87572
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512F_UNSET):
+ Add OPTION_MASK_ISA_AVX512IFMA_UNSET,
+ OPTION_MASK_ISA_AVX5124FMAPS_UNSET and
+ OPTION_MASK_ISA_AVX5124VNNIW_UNSET.
+
2018-10-13 Eric Botcazou <ebotcazou@adacore.com>
* dwarf2cfi.c (struct dw_trace_info): Add args_size_defined_for_eh.
diff --git a/gcc/common/config/i386/i386-common.c b/gcc/common/config/i386/i386-common.c
index 3b5312d..36ef999 100644
--- a/gcc/common/config/i386/i386-common.c
+++ b/gcc/common/config/i386/i386-common.c
@@ -194,8 +194,12 @@ along with GCC; see the file COPYING3. If not see
(OPTION_MASK_ISA_AVX512F | OPTION_MASK_ISA_AVX512CD_UNSET \
| OPTION_MASK_ISA_AVX512PF_UNSET | OPTION_MASK_ISA_AVX512ER_UNSET \
| OPTION_MASK_ISA_AVX512DQ_UNSET | OPTION_MASK_ISA_AVX512BW_UNSET \
- | OPTION_MASK_ISA_AVX512VL_UNSET | OPTION_MASK_ISA_AVX512VBMI2_UNSET \
- | OPTION_MASK_ISA_AVX512VNNI_UNSET | OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET \
+ | OPTION_MASK_ISA_AVX512VL_UNSET | OPTION_MASK_ISA_AVX512IFMA_UNSET \
+ | OPTION_MASK_ISA_AVX5124FMAPS_UNSET \
+ | OPTION_MASK_ISA_AVX5124VNNIW_UNSET \
+ | OPTION_MASK_ISA_AVX512VBMI2_UNSET \
+ | OPTION_MASK_ISA_AVX512VNNI_UNSET \
+ | OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET \
| OPTION_MASK_ISA_AVX512BITALG_UNSET)
#define OPTION_MASK_ISA_AVX512CD_UNSET OPTION_MASK_ISA_AVX512CD
#define OPTION_MASK_ISA_AVX512PF_UNSET OPTION_MASK_ISA_AVX512PF
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ad5c0e1..d8fbbcc 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-10-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/87572
+ * gcc.target/i386/pr87572.c: New test.
+
2018-10-14 Paul Thomas <pault@gcc.gnu.org>
PR fortran/83146
diff --git a/gcc/testsuite/gcc.target/i386/pr87572.c b/gcc/testsuite/gcc.target/i386/pr87572.c
new file mode 100644
index 0000000..ea1beb7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr87572.c
@@ -0,0 +1,10 @@
+/* PR target/82483 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -mavx512ifma -mno-sse2 -w -Wno-psabi" } */
+
+typedef long long __m512i __attribute__((__vector_size__(64)));
+__m512i
+foo (__m512i c, __m512i d, __m512i e, int b)
+{
+ return __builtin_ia32_vpmadd52huq512_maskz (c, d, e, b); /* { dg-error "incompatible types" } */
+}