aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2017-09-26 18:45:26 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2017-09-26 18:45:26 +0000
commit2f448503d619f753f0bd6ecb1ac95e36bd080f1e (patch)
tree93729301614e7b8d48374c0740f9861c6c84d044
parent885b8230a1f49f57720582b6bc811868e7acc418 (diff)
downloadgcc-2f448503d619f753f0bd6ecb1ac95e36bd080f1e.zip
gcc-2f448503d619f753f0bd6ecb1ac95e36bd080f1e.tar.gz
gcc-2f448503d619f753f0bd6ecb1ac95e36bd080f1e.tar.bz2
vsx.md (vsx_xscvspdp_scalar2): Move insn so that it is adjacent to the other XSCVSPDP insns.
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
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/config/rs6000/vsx.md18
2 files changed, 11 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7c8ff6c..75ca6db 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index 9b24c7b..3c54d4a 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -1781,6 +1781,15 @@
"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")
@@ -1800,15 +1809,6 @@
"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")