re PR target/5712 ([ARM] bad ADR generated)

PR target/5712
* arm.md (movaddr, movaddr_insn): Delete.

From-SVN: r50809
This commit is contained in:
Richard Earnshaw 2002-03-15 16:32:26 +00:00 committed by Richard Earnshaw
parent 53723190aa
commit 32defa36b0
2 changed files with 5 additions and 21 deletions

View file

@ -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.

View file

@ -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,