vsx.md (vsx_xscvspdp_scalar2): Move insn so that it is adjacent to the other XSCVSPDP...
authorMichael Meissner <meissner@linux.vnet.ibm.com>
Tue, 26 Sep 2017 18:45:26 +0000 (18:45 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Tue, 26 Sep 2017 18:45:26 +0000 (18:45 +0000)
2017-09-26  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Move insn so that
it is adjacent to the other XSCVSPDP insns.

From-SVN: r253212

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

index 7c8ff6c20fd0e0fd55cdd366fcead20f40b15b7f..75ca6dbdf277fe46bd51b8fb3920c0ab2bbed772 100644 (file)
@@ -14,6 +14,8 @@
        (movsi_from_df): Optimize converting a DFmode to a SFmode, and
        then needing to move the SFmode to a GPR to use the XSCVDPSP
        instruction instead of FRSP and XSCVDPSPN.
+       * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Move insn so that
+       it is adjacent to the other XSCVSPDP insns.
 
 2017-09-26  Martin Jambor  <mjambor@suse.cz>
 
index 9b24c7b72a2b167e820addc3797e8ed65c6aec4d..3c54d4a01cae316183721bd3fe9e22f2dda3247c 100644 (file)
   "xscvspdp %x0,%x1"
   [(set_attr "type" "fp")])
 
+;; Same as vsx_xscvspdp, but use SF as the type
+(define_insn "vsx_xscvspdp_scalar2"
+  [(set (match_operand:SF 0 "vsx_register_operand" "=ww")
+       (unspec:SF [(match_operand:V4SF 1 "vsx_register_operand" "wa")]
+                  UNSPEC_VSX_CVSPDP))]
+  "VECTOR_UNIT_VSX_P (V4SFmode)"
+  "xscvspdp %x0,%x1"
+  [(set_attr "type" "fp")])
+
 ;; Generate xvcvhpsp instruction
 (define_insn "vsx_xvcvhpsp"
   [(set (match_operand:V4SF 0 "vsx_register_operand" "=wa")
   "xscvdpsp %x0,%x1"
   [(set_attr "type" "fp")])
 
-;; Same as vsx_xscvspdp, but use SF as the type
-(define_insn "vsx_xscvspdp_scalar2"
-  [(set (match_operand:SF 0 "vsx_register_operand" "=ww")
-       (unspec:SF [(match_operand:V4SF 1 "vsx_register_operand" "wa")]
-                  UNSPEC_VSX_CVSPDP))]
-  "VECTOR_UNIT_VSX_P (V4SFmode)"
-  "xscvspdp %x0,%x1"
-  [(set_attr "type" "fp")])
-
 ;; ISA 2.07 xscvdpspn/xscvspdpn that does not raise an error on signalling NaNs
 (define_insn "vsx_xscvdpspn"
   [(set (match_operand:V4SF 0 "vsx_register_operand" "=ww,?ww")