]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
spe.md (movv4hi_internal): Add alternative for easy vector constant loads.
authorJoseph Myers <joseph@codesourcery.com>
Sat, 18 Nov 2006 00:27:03 +0000 (00:27 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Sat, 18 Nov 2006 00:27:03 +0000 (00:27 +0000)
* config/rs6000/spe.md (movv4hi_internal): Add alternative for
easy vector constant loads.

From-SVN: r118964

gcc/ChangeLog
gcc/config/rs6000/spe.md

index 01ed1bfe1f49c27d49a29594096c9b2d41786ba3..127328d99bf420309596f84e2742594acc20d1a8 100644 (file)
@@ -1,3 +1,8 @@
+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.
index f2410dd291639c2f47989e679c7c2efa68b3b9ce..02e13c64be797eb354a85bdd923926d3affcd177 100644 (file)
   "{ 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"