S/390: PR82465: Fix vec_sqrt builtin flags
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Mon, 9 Oct 2017 12:06:11 +0000 (12:06 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Mon, 9 Oct 2017 12:06:11 +0000 (12:06 +0000)
The vector double variant is available with z13.  A wrong flag in the
s390-builtins.def file triggered an error when compiling for z13.

gcc/testsuite/ChangeLog:

2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/82465
* gcc.target/s390/zvector/pr82465.c: New test.

gcc/ChangeLog:

2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

PR target/82465
* config/s390/s390-builtins.def (vec_sqrt): Fix builtin flags.

From-SVN: r253542

gcc/ChangeLog
gcc/config/s390/s390-builtins.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/zvector/pr82465.c [new file with mode: 0644]

index f8b63ca1b1ad50e9271ff76a2c1091385272964d..db94724f27c1e634cf8ade9d04df5a07a511a031 100644 (file)
@@ -1,3 +1,8 @@
+2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       PR target/82465
+       * config/s390/s390-builtins.def (vec_sqrt): Fix builtin flags.
+
 2017-10-09  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/82464
index cc87a81555c208db81f8dc81de9c9b6ffb233a39..f0524661aa5e26ab80dd3c99ffa4daedebaf9f91 100644 (file)
@@ -2843,9 +2843,9 @@ OB_DEF     (s390_vec_nabs,              s390_vec_nabs_flt,  s390_vec_nabs_dbl,
 OB_DEF_VAR (s390_vec_nabs_flt,          s390_vflnsb,        0,                  0,                  BT_OV_V4SF_V4SF)
 OB_DEF_VAR (s390_vec_nabs_dbl,          s390_vflndb,        B_VX,               0,                  BT_OV_V2DF_V2DF)
 
-OB_DEF     (s390_vec_sqrt,              s390_vec_sqrt_flt,  s390_vec_sqrt_dbl,  B_VXE,              BT_FN_OV4SI_OV4SI)
-OB_DEF_VAR (s390_vec_sqrt_flt,          s390_vfsqsb,        0,                  0,                  BT_OV_V4SF_V4SF)
-OB_DEF_VAR (s390_vec_sqrt_dbl,          s390_vfsqdb,        B_VX,               0,                  BT_OV_V2DF_V2DF)
+OB_DEF     (s390_vec_sqrt,              s390_vec_sqrt_flt,  s390_vec_sqrt_dbl,  B_VX              BT_FN_OV4SI_OV4SI)
+OB_DEF_VAR (s390_vec_sqrt_flt,          s390_vfsqsb,        B_VXE,              0,                  BT_OV_V4SF_V4SF)
+OB_DEF_VAR (s390_vec_sqrt_dbl,          s390_vfsqdb,        0,                  0,                  BT_OV_V2DF_V2DF)
 
 /* Test data class with boolean result *AND* cc mode.  */
 
index 2876285d2ddc79c354fb8393547ba27e4e037a8e..0c1ba68d6c0f04a5298974cafdf18369ff0abe0e 100644 (file)
@@ -1,3 +1,8 @@
+2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       PR target/82465
+       * gcc.target/s390/zvector/pr82465.c: New test.
+
 2017-10-09  Wilco Dijkstra  <wdijkstr@arm.com>
 
        * gcc.dg/tree-ssa/ssa-dse-26.c (dg-options): Add -fno-short-enums.
diff --git a/gcc/testsuite/gcc.target/s390/zvector/pr82465.c b/gcc/testsuite/gcc.target/s390/zvector/pr82465.c
new file mode 100644 (file)
index 0000000..ae8f8ad
--- /dev/null
@@ -0,0 +1,16 @@
+/* { dg-do compile { target { s390*-*-* } } } */
+/* { dg-options "-march=z13 -mzarch -mzvector" } */
+
+/* The vector double variant is available with z13.  A wrong flag in
+   the s390-builtins.def file triggered an error when compiling for
+   z13.  */
+
+typedef __vector double v2df;
+
+#include <vecintrin.h>
+
+v2df
+foo (v2df a)
+{
+  return vec_sqrt(a);
+}