From b9bb3235feb8f959c9793200bab497260005d4d2 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 18 Nov 2006 00:27:03 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/spe.md | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 01ed1bfe1f4..127328d99bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-11-18 Joseph Myers + + * config/rs6000/spe.md (movv4hi_internal): Add alternative for + easy vector constant loads. + 2006-11-18 Joseph Myers * config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define. diff --git a/gcc/config/rs6000/spe.md b/gcc/config/rs6000/spe.md index f2410dd2916..02e13c64be7 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"