gcc/ChangeLog:

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

        * config/s390/s390.c (s390_preferred_simd_mode): Return V4SFmode
        for SFmode.
---
 gcc/ChangeLog          | 5 +++++
 gcc/config/s390/s390.c | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7863af1..a33de8f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
 2017-09-26  Andreas Krebbel  <kreb...@linux.vnet.ibm.com>
 
+       * config/s390/s390.c (s390_preferred_simd_mode): Return V4SFmode
+       for SFmode.
+
+2017-09-26  Andreas Krebbel  <kreb...@linux.vnet.ibm.com>
+
        * config/s390/vector.md ("vec_unpacks_low_v16qi"): Rename to
        vec_unpacks_lo_v16qi.
        ("vec_unpacku_low_v16qi"): Rename to vec_unpacku_lo_v16qi.
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index e3fafa2a6..0ceeef4 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -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)
       {
-- 
2.9.1

Reply via email to