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.

Reply via email to