diff options
author | Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> | 2011-06-20 12:15:58 +0000 |
---|---|---|
committer | Ramana Radhakrishnan <ramana@gcc.gnu.org> | 2011-06-20 12:15:58 +0000 |
commit | c2954af9266e69bc422c3ca6c77fdecd92199070 (patch) | |
tree | 846965a60d38c007cb9d8964c70ffa70026683b9 | |
parent | a95015b6cd1d68d540e1805686d534e88ec6bfbd (diff) | |
download | gcc-c2954af9266e69bc422c3ca6c77fdecd92199070.zip gcc-c2954af9266e69bc422c3ca6c77fdecd92199070.tar.gz gcc-c2954af9266e69bc422c3ca6c77fdecd92199070.tar.bz2 |
re PR target/49385 (Invalid RTL intstruction for ARM)
Fix PR target/49385
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.
From-SVN: r175208
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/arm/thumb2.md | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 673dd46..aa9449b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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. + 2011-06-20 Kai Tietz <ktietz@redhat.com> * fold-const.c (fold_binary_loc): Add missing diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md index 26dcbdd..9a11012 100644 --- a/gcc/config/arm/thumb2.md +++ b/gcc/config/arm/thumb2.md @@ -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 |