[Patch ARM] fix PR target/49385
Ramana Radhakrishnan
ramana.radhakrishnan@linaro.org
Mon Jun 20 12:26:00 GMT 2011
Hi,
This fixes PR49385. We were allowing mem -> mem moves earlier. Thanks
to Revital for spotting this. Tested on qemu with arm-linux-gnueabi
cross and committed to trunk.
Cheers
Ramana
2011-06-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/49385
* config/arm/thumb2.md (*thumb2_movhi_insn): Make sure atleast
one of the operands is a register.
Index: gcc/config/arm/thumb2.md
===================================================================
--- gcc/config/arm/thumb2.md (revision 175205)
+++ gcc/config/arm/thumb2.md (working copy)
@@ -207,7 +207,9 @@
(define_insn "*thumb2_movhi_insn"
[(set (match_operand:HI 0 "nonimmediate_operand" "=r,r,m,r")
(match_operand:HI 1 "general_operand" "rI,n,r,m"))]
- "TARGET_THUMB2"
+ "TARGET_THUMB2
+ && (register_operand (operands[0], HImode)
+ || register_operand (operands[1], HImode))"
"@
mov%?\\t%0, %1\\t%@ movhi
movw%?\\t%0, %L1\\t%@ movhi
More information about the Gcc-patches
mailing list