On Sun, Oct 14, 2018 at 9:29 PM Uros Bizjak <ubiz...@gmail.com> wrote: > > On Sat, Oct 13, 2018 at 11:54 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > > > 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. > > LGTM.
This caused gazillion of testsuite FAILs like FAIL: gcc.target/i386/isa-11.c (test for excess errors) Excess errors: /tmp/ccyurT91.s:8: Error: invalid instruction suffix for `push' /tmp/ccyurT91.s:14: Error: invalid instruction suffix for `pop' where we now emit pushl in 64bit mode. Richard. > Thanks, > Uros. > > > gcc/common/config/i386/i386-common.c | 8 ++++++-- > > gcc/testsuite/gcc.target/i386/pr87572.c | 10 ++++++++++ > > 2 files changed, 16 insertions(+), 2 deletions(-) > > create mode 100644 gcc/testsuite/gcc.target/i386/pr87572.c > > > > diff --git a/gcc/common/config/i386/i386-common.c > > b/gcc/common/config/i386/i386-common.c > > index 3b5312d7250..36ef999df83 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/gcc.target/i386/pr87572.c > > b/gcc/testsuite/gcc.target/i386/pr87572.c > > new file mode 100644 > > index 00000000000..ea1beb78f5c > > --- /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" } */ > > +} > > -- > > 2.17.2 > >