aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-10-09 12:07:54 +0000
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-10-09 12:07:54 +0000
commitea826f9c87afd2e5a73b4c36ae5a2877a4cf6ebb (patch)
treea8f61e1abcecfc810252d8eb7bfb1ea56c823821 /gcc
parentd2c36cccd6929dd6566438f09e61663d9f5ac23b (diff)
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@253543 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-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 db94724f27c..aaff01a7f72 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 38cc0692df8..80eb2b30867 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 0c1ba68d6c0..ae952c9cfb0 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 00000000000..5014ed61ad9
--- /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);
+}