Enable vect_float with S/390 VXE and adjust testcases
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Wed, 4 Oct 2017 11:56:28 +0000 (11:56 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Wed, 4 Oct 2017 11:56:28 +0000 (11:56 +0000)
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  <krebbel@linux.vnet.ibm.com>

* 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

18 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr31699.c
gcc/testsuite/gcc.dg/vect/pr61194.c
gcc/testsuite/gcc.dg/vect/pr65947-10.c
gcc/testsuite/gcc.dg/vect/pr66142.c
gcc/testsuite/gcc.dg/vect/slp-10.c
gcc/testsuite/gcc.dg/vect/slp-11c.c
gcc/testsuite/gcc.dg/vect/slp-12b.c
gcc/testsuite/gcc.dg/vect/slp-18.c
gcc/testsuite/gcc.dg/vect/slp-33.c
gcc/testsuite/gcc.dg/vect/slp-cond-2-big-array.c
gcc/testsuite/gcc.dg/vect/slp-cond-2.c
gcc/testsuite/gcc.dg/vect/vect-cond-10.c
gcc/testsuite/gcc.dg/vect/vect-cond-8.c
gcc/testsuite/gcc.dg/vect/vect-cond-9.c
gcc/testsuite/gcc.dg/vect/vect-float-extend-1.c
gcc/testsuite/gcc.dg/vect/vect-float-truncate-1.c
gcc/testsuite/lib/target-supports.exp

index 4ac50d030836b17714870f5935ec846b4c883478..50f82c5e9a803f267cc4a66a03a44ee1f834536e 100644 (file)
@@ -1,3 +1,24 @@
+2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * 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  <thomas@codesourcery.com>
 
        PR tree-optimization/82374
index 59b8daa1b84ebeeb89bdf5ed359030b4804074a1..7ec4dfe770a8ce0f98c6ff46e6f301e88b63fc0e 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-require-effective-target vect_double } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdlib.h>
 #include <stdarg.h>
index f7c71b91b4889597c571618e26cda5bada742f57..8421367577278cdf5762327d83cdc4a0e65c9411 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_cond_mixed } */
+/* { dg-require-effective-target vect_float } */
 
 #include "tree-vect.h"
 
index a8a674f40f0d404b9f8718656b34d4b50bdb1e4e..321cb8c9211cf2ae98c22e1cdf72069b452ea409 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_condition } */
+/* { dg-require-effective-target vect_float } */
 
 #include "tree-vect.h"
 
index 94854eac2db94263d7efd929147854d1b37e0201..8c79f290767ae7d3a46a9e25d88c8ee8eaab2b24 100644 (file)
@@ -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 } } } } */
index 3395d228b4b520eedf54c0af4897d605800369a5..61c5d3c5119628977104c5c58d4a9d8b423944a9 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
index 8edd663106cc0b7200743bab1621e52499fbc400..bdcf434ce31ebc1df5f7cfecb5051ebc71af3aed 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
index d6fe4e4300e76b4f74a9a5e26aef53293c59dce1..48e78651a6dca24de91a1f36d0cd757e18f7c1b8 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_uintfloat_cvt } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
index 0752363240930b23546715c328c9090be6acba9e..ed426a344985d1e205f7a94f72f86954a77b3d92 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_float } */
 /* { dg-require-effective-target vect_intfloat_cvt } */
 
 #include <stdarg.h>
index 30220d48c6cd70b7a632503a487edbcd0d907855..ad74daf5dce7dd75d7c6b51f4e4f89ac59fd6606 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_int } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
index f1712088e2179bbaf231a81d929d4e56802d065a..57cc67ee121108bcc5ccaaee0dca5085264c8818 100644 (file)
@@ -1,4 +1,6 @@
 /* { dg-require-effective-target vect_cond_mixed } */
+/* { dg-require-effective-target vect_float } */
+
 #include "tree-vect.h"
 
 #define N 128
index 68085d416f2dcd2c5dd5c250fa1ce9af6fa68d54..7350695ece0f53e36de861c4e7724ebf36ff6b76 100644 (file)
@@ -1,4 +1,6 @@
 /* { dg-require-effective-target vect_cond_mixed } */
+/* { dg-require-effective-target vect_float } */
+
 #include "tree-vect.h"
 
 #define N 32
index a75ac263fbf1ec3adbdcbe35c8e671fa032cfbbc..1a18800850a1f2337e359c7852c2702862bd6037 100644 (file)
@@ -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"
index 1b31d7dd9edd38f79b283bf56e8793347ddf28d9..224251d0cf50a6b57b934bc4b9bcd2396c545c82 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_cond_mixed } */
+/* { dg-require-effective-target vect_float } */
 
 #include "tree-vect.h"
 
index 6259ab6dc0efa243c5a192e81154257a0fb8ff84..c03ed96d62fe21290cc4fc02e25ac7cb43832634 100644 (file)
@@ -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"
index 85a7ad1a6a9de13a300b71108dd05812270799d3..867fe203a6df3edf18282c1703f2ee9f2cba17df 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_double } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
index 81c23cfac7a03d42e962399dacdd8fc039b5c742..30d3a83721b4a69144af4190cd957dd3ed10796a 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target vect_double } */
+/* { dg-require-effective-target vect_float } */
 
 #include <stdarg.h>
 #include "tree-vect.h"
index 57f646ce2df5bcd5619870403242e73f6e91ff77..5949da432032d0e58ba1f38a0003b9d74885143b 100644 (file)
@@ -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
        }
     }