On Thu, 28 Apr 2022, Tamar Christina wrote:

> Hi All,
> 
> This backports the testsuite changes from mainline to GCC 11.
> This enables some tests that were not running and fix some
> unresolved cases. The test output are adjusted to what GCC 11 could detect.
> 
> Regtested on aarch64-none-linux-gnu and no issues.
> 
> Ok for GCC 11?

OK if you verified the testcases pass on the branch.

Richard.

> Thanks,
> Tamar
> 
> gcc/testsuite/ChangeLog:
> 
>       PR testsuite/105095
>       * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Update for
>       codegen.
>       * gcc.dg/vect/complex/fast-math-complex-add-double.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c:
>       Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise.
>       * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise.
>       * gcc.dg/vect/vect.exp: Add extra letter to filter.
> 
> --- inline copy of patch -- 
> diff --git 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c
> index 
> 827687b92fa7a8e68bf3eaa101ab67a5d07901f3..8eb8baceb31f86d4a3c35276870769d673f1fd36
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c
> @@ -1,10 +1,11 @@
>  /* { dg-do compile } */
>  /* { dg-require-effective-target vect_complex_add_float } */
> +/* { dg-additional-options "-fno-tree-loop-vectorize" } */
>  /* { dg-add-options arm_v8_3a_complex_neon } */
>  
>  #define TYPE float
>  #define N 16
>  #include "complex-mul-template.c"
>  
> -/* { dg-final { scan-tree-dump "Found COMPLEX_MUL_CONJ" "vect" } } */
> -/* { dg-final { scan-tree-dump "Found COMPLEX_MUL" "vect" } } */
> +/* { dg-final { scan-tree-dump "Found COMPLEX_MUL_CONJ" "slp1" { xfail *-*-* 
> } } } */
> +/* { dg-final { scan-tree-dump "Found COMPLEX_MUL" "slp1" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c
> index 
> f935405e3d942cc68e49b2b21ca543e23076e0c9..5cff373b80d2eb8d3945ac38a656d081faea3737
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c
> @@ -6,7 +6,7 @@
>  #define N 200
>  #include "complex-add-template.c"
>  
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 2 "vect" { 
> target { vect_complex_add_double } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 2 "vect"  { 
> target { vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "vect" { 
> target { vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect"  { 
> target { vect_complex_add_double } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c
> index 
> 71f391db7bba8ac7c4ce090f650c32d9180ee4f9..312df88ee689438487263bbd9e42415ba77ec456
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c
> @@ -6,7 +6,7 @@
>  #define N 200
>  #include "complex-add-template.c"
>  
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 2 "vect" { 
> target { vect_complex_add_float } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 2 "vect" { 
> target { vect_complex_add_float } } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "vect" { 
> target { vect_complex_add_float } } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect" { 
> target { vect_complex_add_float } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c
> index 
> e5b826f1ca77d262c7d0a39b6b8446255a9dea36..046f014240bf5c88e34a9140f598ef280303c43c
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c
> @@ -1,4 +1,5 @@
>  /* { dg-do compile } */
> +/* { dg-require-effective-target vect_complex_add_half } */
>  /* { dg-require-effective-target float16 } */
>  /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
>  
> @@ -6,5 +7,7 @@
>  #define N 200
>  #include "complex-add-template.c"
>  
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 2 "vect" { 
> target { vect_complex_add_half } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 2 "vect" { 
> target { vect_complex_add_half } } } } */
> +/* Vectorization is failing for these cases.  They should work but for now 
> ignore.  */
> +
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "vect" { 
> xfail *-*-* } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect" { 
> xfail *-*-* } } } */
> diff --git 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c
> index 
> 5b70d834c2435c316bdbf119a1e2ace15f68b8e7..9c8b99bc003bbe8c3d4e46f446e66caef3e23060
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c
> @@ -6,8 +6,7 @@
>  #define N 200
>  #include "complex-add-pattern-template.c"
>  
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 4 "vect" { 
> target { vect_complex_add_double } } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect" { 
> target { vect_complex_add_double } } } } */
>  /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "vect" { 
> target { vect_complex_add_double } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c
> index 
> 3ef05645a2c95ab2269276bd23f2db2afd016c1a..ca5f5b257d361849995699ab01afd52129cf787a
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c
> @@ -6,8 +6,7 @@
>  #define N 200
>  #include "complex-add-pattern-template.c"
>  
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 4 "vect" { 
> target { vect_complex_add_float } } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect" { 
> target { vect_complex_add_float } } } } */
>  /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "vect" { 
> target { vect_complex_add_float } } } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c
>  
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c
> index 
> 06a9216add747ab2880f92828483333dabb30496..c6617f5dad090009acfe98506917c4f1640f1fcb
>  100644
> --- 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c
> +++ 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c
> @@ -1,5 +1,5 @@
>  /* { dg-do compile } */
> -/* { dg-require-effective-target vect_float } */
> +/* { dg-require-effective-target vect_complex_add_half } */
>  /* { dg-require-effective-target float16 } */
>  /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
>  
> @@ -7,10 +7,8 @@
>  #define N 200
>  #include "complex-add-pattern-template.c"
>  
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 4 "vect" { 
> target { vect_complex_add_half } } } } */
> -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "vect" { 
> target { vect_complex_add_half } } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "vect" { 
> target { vect_complex_add_half } } } } */
> +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "vect" { 
> target { vect_complex_add_half } && ! target { arm*-*-* } } } } */
>  
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "vect" } } */
> diff --git 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c
> index 
> 34146f3d1e7f123231c7f39ccfa1aba832ee87ca..7beb6b8b5d822341999ab9e2712e4a861550a3aa
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c
> @@ -1,5 +1,7 @@
>  /* { dg-do compile } */
>  /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
> +/* { dg-require-effective-target vect_complex_add_half } */
> +/* { dg-require-effective-target float16 } */
>  
>  #define TYPE _Float16
>  #define N 200
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
> index 
> 0982a2b8ead9bec96f6dcbceaeac9c2ebcbda300..fc4cd6151c733659a796d37657c00e5f0c32751b
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c
> @@ -1,4 +1,5 @@
>  /* { dg-do compile } */
> +/* { dg-require-effective-target vect_complex_add_double } */
>  /* { dg-add-options arm_v8_3a_complex_neon } */
>  
>  #define TYPE double
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> index 
> a069533b22a64f62bd8dd6b6bdd3b771c7b7ea4d..43a77ff8591cf4534def090fba9bb08c2971c3e0
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c
> @@ -1,10 +1,10 @@
>  /* { dg-do compile } */
> +/* { dg-require-effective-target vect_complex_add_float } */
>  /* { dg-add-options arm_v8_3a_complex_neon } */
>  
>  #define TYPE float
>  #define N 200
>  #include "complex-mls-template.c"
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMA" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
> diff --git 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
> index 
> 89ac54c2a42a114a1afb6dead0504b04c37c3f98..3d1c5755bef071fc1c7e4e595d3a16d04a70d35e
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c
> @@ -1,9 +1,10 @@
>  /* { dg-do compile } */
> +/* { dg-require-effective-target vect_complex_add_half } */
> +/* { dg-require-effective-target float16 } */
>  /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
>  
>  #define TYPE _Float16
>  #define N 200
>  #include "complex-mls-template.c"
> -/* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS_CONJ" "vect" } } */
>  /* { dg-final { scan-tree-dump "Found COMPLEX_FMS" "vect" } } */
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c
> index 
> 56a8ea4ae0232cb3051a780157902fdb03a9e942..b6b21529a10df7e19b796d4a8cf0f04ce9f67019
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c
> @@ -1,4 +1,5 @@
>  /* { dg-do compile } */
> +/* { dg-require-effective-target vect_complex_add_double } */
>  /* { dg-add-options arm_v8_3a_complex_neon } */
>  
>  #define TYPE double
> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c
> index 
> 969416d7dc7779ee6feaa8e069a1a3687dd53559..aa8efb4c2db5adfc01f04edf464b3be33e7c6162
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c
> @@ -1,4 +1,5 @@
>  /* { dg-do compile } */
> +/* { dg-require-effective-target vect_complex_add_float } */
>  /* { dg-add-options arm_v8_3a_complex_neon } */
>  
>  #define TYPE float
> diff --git 
> a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c 
> b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c
> index 
> da1b9213a6b3e1df4fdc4ecf6ffbf3645975a5ba..51331625745f9f70d903ae203b11f5ccee4111e1
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c
> +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c
> @@ -1,4 +1,6 @@
>  /* { dg-do compile } */
> +/* { dg-require-effective-target vect_complex_add_half } */
> +/* { dg-require-effective-target float16 } */
>  /* { dg-add-options arm_v8_3a_fp16_complex_neon } */
>  
>  #define TYPE _Float16
> diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp 
> b/gcc/testsuite/gcc.dg/vect/vect.exp
> index 
> dca9a4db6f611589a029523b7de0c0ff21575fc4..3c60eff70722d6d28058ddfc2796a2975c976583
>  100644
> --- a/gcc/testsuite/gcc.dg/vect/vect.exp
> +++ b/gcc/testsuite/gcc.dg/vect/vect.exp
> @@ -118,7 +118,7 @@ et-dg-runtest dg-runtest [lsort \
>  set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
>  lappend DEFAULT_VECTCFLAGS "-ffast-math"
>  et-dg-runtest dg-runtest [lsort \
> -     [glob -nocomplain $srcdir/$subdir/fast-math-\[ipsv\]*.\[cS\]]] \
> +     [glob -nocomplain $srcdir/$subdir/fast-math-\[ipsvc\]*.\[cS\]]] \
>       "" $DEFAULT_VECTCFLAGS
>  
>  # -ffast-math SLP tests
> 
> 
> 

-- 
Richard Biener <rguent...@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Ivo Totev; HRB 36809 (AG Nuernberg)

Reply via email to