aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-10-09 12:07:54 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2017-10-09 12:07:54 +0000
commitad2c91b25108791bd3acae34beff5510f031fcbf (patch)
treea8f61e1abcecfc810252d8eb7bfb1ea56c823821
parent3141e768ee22a6dda9a5aaf6201191bdbc46a6e0 (diff)
downloadgcc-ad2c91b25108791bd3acae34beff5510f031fcbf.zip
gcc-ad2c91b25108791bd3acae34beff5510f031fcbf.tar.gz
gcc-ad2c91b25108791bd3acae34beff5510f031fcbf.tar.bz2
S/390: PR82463: Fix vec_madd header file definition
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/s390/vecintrin.h4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/s390/zvector/pr82463.c14
4 files changed, 27 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index db94724..aaff01a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
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
* config/s390/s390-builtins.def (vec_sqrt): Fix builtin flags.
diff --git a/gcc/config/s390/vecintrin.h b/gcc/config/s390/vecintrin.h
index 38cc069..80eb2b3 100644
--- a/gcc/config/s390/vecintrin.h
+++ b/gcc/config/s390/vecintrin.h
@@ -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
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0c1ba68..ae952c9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
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
* gcc.target/s390/zvector/pr82465.c: New test.
diff --git a/gcc/testsuite/gcc.target/s390/zvector/pr82463.c b/gcc/testsuite/gcc.target/s390/zvector/pr82463.c
new file mode 100644
index 0000000..5014ed6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/s390/zvector/pr82463.c
@@ -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);
+}