On Fri, Sep 11, 2020 at 9:22 AM Sunil K Pandey <skpg...@gmail.com> wrote: > > These tests are written for 256 bit vector. For -march=cascadelake, > vector size changed to 512 bit. It doubles the number of fma > instruction and test fail. Fix is to explicitly disable 512 bit > vector by passing additional option -mno-avx512f. > > Tested on x86-64. > > gcc/testsuite/ChangeLog: > > PR target/97018 > * gcc.target/i386/l_fma_double_1.c: Add option -mno-avx512f. > * gcc.target/i386/l_fma_double_2.c: Likewise. > * gcc.target/i386/l_fma_double_3.c: Likewise. > * gcc.target/i386/l_fma_double_4.c: Likewise. > * gcc.target/i386/l_fma_double_5.c: Likewise. > * gcc.target/i386/l_fma_double_6.c: Likewise. > * gcc.target/i386/l_fma_float_1.c: Likewise. > * gcc.target/i386/l_fma_float_2.c: Likewise. > * gcc.target/i386/l_fma_float_3.c: Likewise. > * gcc.target/i386/l_fma_float_4.c: Likewise. > * gcc.target/i386/l_fma_float_5.c: Likewise. > * gcc.target/i386/l_fma_float_6.c: Likewise. > --- > gcc/testsuite/gcc.target/i386/l_fma_double_1.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_double_2.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_double_3.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_double_4.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_double_5.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_double_6.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_float_1.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_float_2.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_float_3.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_float_4.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_float_5.c | 2 +- > gcc/testsuite/gcc.target/i386/l_fma_float_6.c | 2 +- > 12 files changed, 12 insertions(+), 12 deletions(-) > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_1.c > b/gcc/testsuite/gcc.target/i386/l_fma_double_1.c > index 5089874faa5..3413beba960 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_double_1.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_1.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_2.c > b/gcc/testsuite/gcc.target/i386/l_fma_double_2.c > index e4696204299..1b9b7988850 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_double_2.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_2.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_3.c > b/gcc/testsuite/gcc.target/i386/l_fma_double_3.c > index df986d0a633..0fbe9ab9569 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_double_3.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_3.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_4.c > b/gcc/testsuite/gcc.target/i386/l_fma_double_4.c > index ae065590f62..c9eba09fea3 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_double_4.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_4.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_5.c > b/gcc/testsuite/gcc.target/i386/l_fma_double_5.c > index 5d31abaa5a7..3217d2683f6 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_double_5.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_5.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_double_6.c > b/gcc/testsuite/gcc.target/i386/l_fma_double_6.c > index ff857fb02f1..a22b4e2e37a 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_double_6.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_double_6.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_1.c > b/gcc/testsuite/gcc.target/i386/l_fma_float_1.c > index daef8767a5d..0f740569da9 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_float_1.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_1.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_2.c > b/gcc/testsuite/gcc.target/i386/l_fma_float_2.c > index ffa5c6f1b39..ff3010957fe 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_float_2.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_2.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_3.c > b/gcc/testsuite/gcc.target/i386/l_fma_float_3.c > index a05ef5912f4..1dc0271ddcf 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_float_3.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_3.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_4.c > b/gcc/testsuite/gcc.target/i386/l_fma_float_4.c > index b0a37baafeb..3431ff59626 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_float_4.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_4.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_5.c > b/gcc/testsuite/gcc.target/i386/l_fma_float_5.c > index 598275c54af..1e3335562c6 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_float_5.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_5.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ > > diff --git a/gcc/testsuite/gcc.target/i386/l_fma_float_6.c > b/gcc/testsuite/gcc.target/i386/l_fma_float_6.c > index 1e7a2162c07..c4f36c8e454 100644 > --- a/gcc/testsuite/gcc.target/i386/l_fma_float_6.c > +++ b/gcc/testsuite/gcc.target/i386/l_fma_float_6.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4" } */ > +/* { dg-options "-O3 -Wno-attributes -mfpmath=sse -mfma -mtune=generic > -mno-fma4 -mno-avx512f" } */ > /* Disabling epilogues until we find a better way to deal with scans. */ > /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ >
Tested with --target_board='unix{-m32\ -march=cascadelake,-march=cascadelake}'. I will check it in for Sunil. Thanks. -- H.J.