S/390: Set the preferred mode for float vectors
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>
Tue, 26 Sep 2017 10:35:00 +0000 (10:35 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 26 Sep 2017 10:35:00 +0000 (10:35 +0000)
gcc/ChangeLog:

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

* config/s390/s390.c (s390_preferred_simd_mode): Return V4SFmode
for SFmode.

From-SVN: r253196

gcc/ChangeLog
gcc/config/s390/s390.c

index 5ae094f5f27fe3532a201cde8db8476921538d47..92ed88db38f627d88b93e8c2dc83b5670546bf5a 100644 (file)
@@ -1,3 +1,8 @@
+2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * config/s390/s390.c (s390_preferred_simd_mode): Return V4SFmode
+       for SFmode.
+
 2017-09-26  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
        * config/s390/vector.md ("vec_unpacks_low_v16qi"): Rename to
index e3fafa2a642a1c59ab3a4a19b5d20fdec66c0090..0ceeef47ec3947f119d60e3627ce470a9dca8858 100644 (file)
@@ -15859,6 +15859,14 @@ s390_atomic_assign_expand_fenv (tree *hold, tree *clear, tree *update)
 static machine_mode
 s390_preferred_simd_mode (scalar_mode mode)
 {
+  if (TARGET_VXE)
+    switch (mode)
+      {
+      case E_SFmode:
+       return V4SFmode;
+      default:;
+      }
+
   if (TARGET_VX)
     switch (mode)
       {