vsx.md (VSX_L): Do not include IBM extended double 128-bit types...
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Mon, 16 Nov 2015 22:13:21 +0000 (22:13 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Mon, 16 Nov 2015 22:13:21 +0000 (22:13 +0000)
2015-11-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (VSX_L): Do not include IBM extended double
128-bit types, just types that fit in a single vector.
* config/rs6000/rs6000.md (FMOVE128_GPR): Likewise.

From-SVN: r230440

gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/vsx.md

index b403718c8330ed65a003e3870039b6eeebc0a8a7..f4a130be8b9835e7cc1d4e222e49f68883261423 100644 (file)
@@ -1,3 +1,9 @@
+2015-11-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/vsx.md (VSX_L): Do not include IBM extended double
+       128-bit types, just types that fit in a single vector.
+       * config/rs6000/rs6000.md (FMOVE128_GPR): Likewise.
+
 2015-11-16  David Wohlferd  <dw@LimeGreenSocks.com>
 
        * doc/md.texi ('#' and '*' constraint modifiers): Do not include these
index 1fdc7bbda42cd7c299d4a04d4c6fcd01e94cd9cf..8c1ddb02a9c9deb895e31b99945acf36ee1daa90 100644 (file)
                                    (V2DI  "")
                                    (V2DF  "")
                                    (V1TI  "")
-                                   (KF    "")
-                                   (TF    "")
-                                   (IF    "")])
+                                   (KF    "FLOAT128_VECTOR_P (KFmode)")
+                                   (TF    "FLOAT128_VECTOR_P (TFmode)")])
 
 ; Iterator for 128-bit VSX types for pack/unpack
 (define_mode_iterator FMOVE128_VSX [V1TI KF])
index 596b11d01ab683b9b47e3e68824993a9b3177ee2..2b92d451a548476d2f6a3c7119b8ef3de47748a3 100644 (file)
@@ -46,8 +46,6 @@
 (define_mode_iterator VSX_F [V4SF V2DF])
 
 ;; Iterator for logical types supported by VSX
-;; Note, IFmode won't actually be used since it isn't a VSX type, but it simplifies
-;; the code by using 128-bit iterators for floating point.
 (define_mode_iterator VSX_L [V16QI
                             V8HI
                             V4SI
@@ -57,8 +55,7 @@
                             V1TI
                             TI
                             (KF        "FLOAT128_VECTOR_P (KFmode)")
-                            (TF        "FLOAT128_VECTOR_P (TFmode)")
-                            (IF        "FLOAT128_VECTOR_P (IFmode)")])
+                            (TF        "FLOAT128_VECTOR_P (TFmode)")])
 
 ;; Iterator for memory move.  Handle TImode specially to allow
 ;; it to use gprs as well as vsx registers.