From 32defa36b0ee9809b2e01c3faf5ccec4591760f6 Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Fri, 15 Mar 2002 16:32:26 +0000 Subject: [PATCH] re PR target/5712 ([ARM] bad ADR generated) PR target/5712 * arm.md (movaddr, movaddr_insn): Delete. From-SVN: r50809 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm.md | 21 --------------------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dfe2c0a2b7e..fea2d33d41f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-03-15 Richard Earnshaw + + PR target/5712 + * arm.md (movaddr, movaddr_insn): Delete. + 2002-03-15 Jason Merrill * toplev.c (wrapup_global_declarations): Clarify variable handling. diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 52be5579bbc..cb59ece2cd4 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,