diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2002-03-15 16:32:26 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2002-03-15 16:32:26 +0000 |
commit | 32defa36b0ee9809b2e01c3faf5ccec4591760f6 (patch) | |
tree | 6e523d3d3c31794879b7e8786f9b5f348f389ad7 | |
parent | 53723190aa2271686e9ec8b3dd030a4bdeeb8a15 (diff) | |
download | gcc-32defa36b0ee9809b2e01c3faf5ccec4591760f6.zip gcc-32defa36b0ee9809b2e01c3faf5ccec4591760f6.tar.gz gcc-32defa36b0ee9809b2e01c3faf5ccec4591760f6.tar.bz2 |
re PR target/5712 ([ARM] bad ADR generated)
PR target/5712
* arm.md (movaddr, movaddr_insn): Delete.
From-SVN: r50809
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 21 |
2 files changed, 5 insertions, 21 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dfe2c0a..fea2d33 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-03-15 Richard Earnshaw <rearnsha@arm.com> + + PR target/5712 + * arm.md (movaddr, movaddr_insn): Delete. + 2002-03-15 Jason Merrill <jason@redhat.com> * toplev.c (wrapup_global_declarations): Clarify variable handling. diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 52be557..cb59ece 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -4132,27 +4132,6 @@ }" ) -(define_expand "movaddr" - [(set (match_operand:SI 0 "s_register_operand" "") - (match_operand:DI 1 "address_operand" ""))] - "TARGET_ARM" - "" -) - -(define_insn "*movaddr_insn" - [(set (match_operand:SI 0 "s_register_operand" "=r") - (match_operand:DI 1 "address_operand" "p"))] - "TARGET_ARM - && reload_completed - && (GET_CODE (operands[1]) == LABEL_REF - || (GET_CODE (operands[1]) == CONST - && GET_CODE (XEXP (operands[1], 0)) == PLUS - && GET_CODE (XEXP (XEXP (operands[1], 0), 0)) == LABEL_REF - && GET_CODE (XEXP (XEXP (operands[1], 0), 1)) == CONST_INT))" - "adr%?\\t%0, %a1" - [(set_attr "predicable" "yes")] -) - ;; When generating pic, we need to load the symbol offset into a register. ;; So that the optimizer does not confuse this with a normal symbol load ;; we use an unspec. The offset will be loaded from a constant pool entry, |