From 2641277312bc2d48062484c04bde8f867cf3977e Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Wed, 4 Oct 2017 11:56:28 +0000 Subject: [PATCH] Enable vect_float with S/390 VXE and adjust testcases The target supports routines provide vect_double and vect_float but these do not appear to be used consequently in the vect testcases. With z13 we only have support for vector double but with z14 also for vector float. This patch adds vect_float to the testcases using the float data type and make the vect_float target check to return 1 only on z14. gcc/testsuite/ChangeLog: 2017-10-04 Andreas Krebbel * lib/target-supports.exp (check_effective_target_vect_float): Return 1 being on a S/390 with VXE. * gcc.dg/vect/pr31699.c: Require vec_float. * gcc.dg/vect/pr61194.c: Likewise. * gcc.dg/vect/pr65947-10.c: Likewise. * gcc.dg/vect/pr66142.c: Likewise. * gcc.dg/vect/slp-10.c: Likewise. * gcc.dg/vect/slp-11c.c: Likewise. * gcc.dg/vect/slp-12b.c: Likewise. * gcc.dg/vect/slp-18.c: Likewise. * gcc.dg/vect/slp-33.c: Likewise. * gcc.dg/vect/slp-cond-2-big-array.c: Likewise. * gcc.dg/vect/slp-cond-2.c: Likewise. * gcc.dg/vect/vect-cond-10.c: Likewise. * gcc.dg/vect/vect-cond-8.c: Likewise. * gcc.dg/vect/vect-cond-9.c: Likewise. * gcc.dg/vect/vect-float-extend-1.c: Likewise. * gcc.dg/vect/vect-float-truncate-1.c: Likewise. From-SVN: r253403 --- gcc/testsuite/ChangeLog | 21 +++++++++++++++++++ gcc/testsuite/gcc.dg/vect/pr31699.c | 2 +- gcc/testsuite/gcc.dg/vect/pr61194.c | 1 + gcc/testsuite/gcc.dg/vect/pr65947-10.c | 1 + gcc/testsuite/gcc.dg/vect/pr66142.c | 2 +- gcc/testsuite/gcc.dg/vect/slp-10.c | 1 + gcc/testsuite/gcc.dg/vect/slp-11c.c | 1 + gcc/testsuite/gcc.dg/vect/slp-12b.c | 1 + gcc/testsuite/gcc.dg/vect/slp-18.c | 1 + gcc/testsuite/gcc.dg/vect/slp-33.c | 1 + .../gcc.dg/vect/slp-cond-2-big-array.c | 2 ++ gcc/testsuite/gcc.dg/vect/slp-cond-2.c | 2 ++ gcc/testsuite/gcc.dg/vect/vect-cond-10.c | 1 + gcc/testsuite/gcc.dg/vect/vect-cond-8.c | 1 + gcc/testsuite/gcc.dg/vect/vect-cond-9.c | 1 + .../gcc.dg/vect/vect-float-extend-1.c | 1 + .../gcc.dg/vect/vect-float-truncate-1.c | 1 + gcc/testsuite/lib/target-supports.exp | 4 +++- 18 files changed, 42 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4ac50d03083..50f82c5e9a8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,24 @@ +2017-10-04 Andreas Krebbel + + * lib/target-supports.exp (check_effective_target_vect_float): + Return 1 being on a S/390 with VXE. + * gcc.dg/vect/pr31699.c: Require vec_float. + * gcc.dg/vect/pr61194.c: Likewise. + * gcc.dg/vect/pr65947-10.c: Likewise. + * gcc.dg/vect/pr66142.c: Likewise. + * gcc.dg/vect/slp-10.c: Likewise. + * gcc.dg/vect/slp-11c.c: Likewise. + * gcc.dg/vect/slp-12b.c: Likewise. + * gcc.dg/vect/slp-18.c: Likewise. + * gcc.dg/vect/slp-33.c: Likewise. + * gcc.dg/vect/slp-cond-2-big-array.c: Likewise. + * gcc.dg/vect/slp-cond-2.c: Likewise. + * gcc.dg/vect/vect-cond-10.c: Likewise. + * gcc.dg/vect/vect-cond-8.c: Likewise. + * gcc.dg/vect/vect-cond-9.c: Likewise. + * gcc.dg/vect/vect-float-extend-1.c: Likewise. + * gcc.dg/vect/vect-float-truncate-1.c: Likewise. + 2017-10-04 Thomas Schwinge PR tree-optimization/82374 diff --git a/gcc/testsuite/gcc.dg/vect/pr31699.c b/gcc/testsuite/gcc.dg/vect/pr31699.c index 59b8daa1b84..7ec4dfe770a 100644 --- a/gcc/testsuite/gcc.dg/vect/pr31699.c +++ b/gcc/testsuite/gcc.dg/vect/pr31699.c @@ -1,4 +1,4 @@ -/* { dg-require-effective-target vect_double } */ +/* { dg-require-effective-target vect_float } */ #include #include diff --git a/gcc/testsuite/gcc.dg/vect/pr61194.c b/gcc/testsuite/gcc.dg/vect/pr61194.c index f7c71b91b48..84213675772 100644 --- a/gcc/testsuite/gcc.dg/vect/pr61194.c +++ b/gcc/testsuite/gcc.dg/vect/pr61194.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_cond_mixed } */ +/* { dg-require-effective-target vect_float } */ #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/pr65947-10.c b/gcc/testsuite/gcc.dg/vect/pr65947-10.c index a8a674f40f0..321cb8c9211 100644 --- a/gcc/testsuite/gcc.dg/vect/pr65947-10.c +++ b/gcc/testsuite/gcc.dg/vect/pr65947-10.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_condition } */ +/* { dg-require-effective-target vect_float } */ #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/pr66142.c b/gcc/testsuite/gcc.dg/vect/pr66142.c index 94854eac2db..8c79f290767 100644 --- a/gcc/testsuite/gcc.dg/vect/pr66142.c +++ b/gcc/testsuite/gcc.dg/vect/pr66142.c @@ -41,4 +41,4 @@ foo (float *a, float *b, float *c) *a = z; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 1 "vect" { target vect_condition } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops in function" 1 "vect" { target { vect_condition && vect_float } } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/slp-10.c b/gcc/testsuite/gcc.dg/vect/slp-10.c index 3395d228b4b..61c5d3c5119 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-10.c +++ b/gcc/testsuite/gcc.dg/vect/slp-10.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/slp-11c.c b/gcc/testsuite/gcc.dg/vect/slp-11c.c index 8edd663106c..bdcf434ce31 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-11c.c +++ b/gcc/testsuite/gcc.dg/vect/slp-11c.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/slp-12b.c b/gcc/testsuite/gcc.dg/vect/slp-12b.c index d6fe4e4300e..48e78651a6d 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-12b.c +++ b/gcc/testsuite/gcc.dg/vect/slp-12b.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_uintfloat_cvt } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/slp-18.c b/gcc/testsuite/gcc.dg/vect/slp-18.c index 07523632409..ed426a34498 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-18.c +++ b/gcc/testsuite/gcc.dg/vect/slp-18.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ /* { dg-require-effective-target vect_intfloat_cvt } */ #include diff --git a/gcc/testsuite/gcc.dg/vect/slp-33.c b/gcc/testsuite/gcc.dg/vect/slp-33.c index 30220d48c6c..ad74daf5dce 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-33.c +++ b/gcc/testsuite/gcc.dg/vect/slp-33.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/slp-cond-2-big-array.c b/gcc/testsuite/gcc.dg/vect/slp-cond-2-big-array.c index f1712088e21..57cc67ee121 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-cond-2-big-array.c +++ b/gcc/testsuite/gcc.dg/vect/slp-cond-2-big-array.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target vect_cond_mixed } */ +/* { dg-require-effective-target vect_float } */ + #include "tree-vect.h" #define N 128 diff --git a/gcc/testsuite/gcc.dg/vect/slp-cond-2.c b/gcc/testsuite/gcc.dg/vect/slp-cond-2.c index 68085d416f2..7350695ece0 100644 --- a/gcc/testsuite/gcc.dg/vect/slp-cond-2.c +++ b/gcc/testsuite/gcc.dg/vect/slp-cond-2.c @@ -1,4 +1,6 @@ /* { dg-require-effective-target vect_cond_mixed } */ +/* { dg-require-effective-target vect_float } */ + #include "tree-vect.h" #define N 32 diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-10.c b/gcc/testsuite/gcc.dg/vect/vect-cond-10.c index a75ac263fbf..1a18800850a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-cond-10.c +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-10.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_cond_mixed } */ +/* { dg-require-effective-target vect_float } */ /* { dg-additional-options "-fno-ipa-icf" } */ #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-8.c b/gcc/testsuite/gcc.dg/vect/vect-cond-8.c index 1b31d7dd9ed..224251d0cf5 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-cond-8.c +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-8.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_cond_mixed } */ +/* { dg-require-effective-target vect_float } */ #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-cond-9.c b/gcc/testsuite/gcc.dg/vect/vect-cond-9.c index 6259ab6dc0e..c03ed96d62f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-cond-9.c +++ b/gcc/testsuite/gcc.dg/vect/vect-cond-9.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_cond_mixed } */ +/* { dg-require-effective-target vect_float } */ /* { dg-additional-options "-fno-ipa-icf" } */ #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-float-extend-1.c b/gcc/testsuite/gcc.dg/vect/vect-float-extend-1.c index 85a7ad1a6a9..867fe203a6d 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-float-extend-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-float-extend-1.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_double } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-float-truncate-1.c b/gcc/testsuite/gcc.dg/vect/vect-float-truncate-1.c index 81c23cfac7a..30d3a83721b 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-float-truncate-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-float-truncate-1.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_double } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 57f646ce2df..5949da43203 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -5211,7 +5211,9 @@ proc check_effective_target_vect_float { } { || [istarget aarch64*-*-*] || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) - || [is-effective-target arm_neon] } { + || [is-effective-target arm_neon] + || ([istarget s390*-*-*] + && [check_effective_target_s390_vxe]) } { set et_vect_float_saved($et_index) 1 } } -- 2.30.2