S/390: PR82463: Fix vec_madd header file definition
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Mon, 9 Oct 2017 12:07:54 +0000 (12:07 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Mon, 9 Oct 2017 12:07:54 +0000 (12:07 +0000)
The builtin was not correctly defined in the vecintrin.h header file.

gcc/testsuite/ChangeLog:

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

PR target/82463
* gcc.target/s390/zvector/pr82463.c: New test.

gcc/ChangeLog:

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

PR target/82463
* config/s390/vecintrin.h (vec_madd, vec_msub): Fix macro
definitions.

From-SVN: r253543

gcc/ChangeLog
gcc/config/s390/vecintrin.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/zvector/pr82463.c [new file with mode: 0644]

index db94724f27c1e634cf8ade9d04df5a07a511a031..aaff01a7f723334e8e4c49975ecd27d04852c87a 100644 (file)
@@ -1,3 +1,9 @@
+2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       PR target/82463
+       * config/s390/vecintrin.h (vec_madd, vec_msub): Fix macro
+       definitions.
+
 2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
        PR target/82465
index 38cc0692df8b1fea12ede87eacfce42af5f01e09..80eb2b30867c543fbf8fc4485e9e0d26ecf694e4 100644 (file)
@@ -113,8 +113,6 @@ __lcbb(const void *ptr, int bndry)
 #define vec_unsigned(X) __builtin_s390_vclgdb((X), 0, 0)
 #define vec_doublee(X) __builtin_s390_vfll((X))
 #define vec_floate(X) __builtin_s390_vflr((X), 0, 0)
-#define vec_madd __builtin_s390_vfmadb
-#define vec_msub __builtin_s390_vfmsdb
 #define vec_load_len_r(X,Y) __builtin_s390_vlrl((Y),(X))
 #define vec_store_len_r(X,Y) __builtin_s390_vstrl((Y),(X))
 
@@ -306,6 +304,8 @@ __lcbb(const void *ptr, int bndry)
 #define vec_ld2f __builtin_s390_vec_ld2f
 #define vec_st2f __builtin_s390_vec_st2f
 #define vec_double __builtin_s390_vec_double
+#define vec_madd __builtin_s390_vec_madd
+#define vec_msub __builtin_s390_vec_msub
 #define vec_nmadd __builtin_s390_vec_nmadd
 #define vec_nmsub __builtin_s390_vec_nmsub
 #define vec_nabs __builtin_s390_vec_nabs
index 0c1ba68d6c0f04a5298974cafdf18369ff0abe0e..ae952c9cfb02f33db41a9f554a429e39120fe3ba 100644 (file)
@@ -1,3 +1,8 @@
+2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       PR target/82463
+       * gcc.target/s390/zvector/pr82463.c: New test.
+
 2017-10-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
        PR target/82465
diff --git a/gcc/testsuite/gcc.target/s390/zvector/pr82463.c b/gcc/testsuite/gcc.target/s390/zvector/pr82463.c
new file mode 100644 (file)
index 0000000..5014ed6
--- /dev/null
@@ -0,0 +1,14 @@
+/* { dg-do compile { target { s390*-*-* } } } */
+/* { dg-options "-march=z14 -mzarch -mzvector" } */
+
+/* The builtin was not correctly defined in the vecintrin.h header
+   file.  */
+
+#include <vecintrin.h>
+
+typedef __vector float v4sf;
+
+v4sf
+foo (v4sf a, v4sf b, v4sf c) {
+  return vec_madd(a, b, c);
+}