aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2006-11-18 00:27:03 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2006-11-18 00:27:03 +0000
commitb9bb3235feb8f959c9793200bab497260005d4d2 (patch)
tree5e386f88c32492f65574cb523d15ac96d2faa69e /gcc
parent8609875306931541730c93b2b99d835f110673fd (diff)
downloadgcc-b9bb3235feb8f959c9793200bab497260005d4d2.zip
gcc-b9bb3235feb8f959c9793200bab497260005d4d2.tar.gz
gcc-b9bb3235feb8f959c9793200bab497260005d4d2.tar.bz2
spe.md (movv4hi_internal): Add alternative for easy vector constant loads.
* config/rs6000/spe.md (movv4hi_internal): Add alternative for easy vector constant loads. From-SVN: r118964
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/spe.md7
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 01ed1bf..127328d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2006-11-18 Joseph Myers <joseph@codesourcery.com>
+ * config/rs6000/spe.md (movv4hi_internal): Add alternative for
+ easy vector constant loads.
+
+2006-11-18 Joseph Myers <joseph@codesourcery.com>
+
* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
__NO_LWSYNC__ if TARGET_NO_LWSYNC.
diff --git a/gcc/config/rs6000/spe.md b/gcc/config/rs6000/spe.md
index f2410dd..02e13c6 100644
--- a/gcc/config/rs6000/spe.md
+++ b/gcc/config/rs6000/spe.md
@@ -2392,15 +2392,16 @@
"{ rs6000_emit_move (operands[0], operands[1], V4HImode); DONE; }")
(define_insn "*movv4hi_internal"
- [(set (match_operand:V4HI 0 "nonimmediate_operand" "=m,r,r")
- (match_operand:V4HI 1 "input_operand" "r,m,r"))]
+ [(set (match_operand:V4HI 0 "nonimmediate_operand" "=m,r,r,r")
+ (match_operand:V4HI 1 "input_operand" "r,m,r,W"))]
"TARGET_SPE
&& (gpc_reg_operand (operands[0], V4HImode)
|| gpc_reg_operand (operands[1], V4HImode))"
"@
evstdd%X0 %1,%y0
evldd%X1 %0,%y1
- evor %0,%1,%1"
+ evor %0,%1,%1
+ evxor %0,%0,%0"
[(set_attr "type" "vecload")])
(define_expand "movv2sf"