diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 12 |
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 42a9f70..5e50ceb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-11-29 Richard Earnshaw <rearnsha@arm.com> + + * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn): + Add use of link register. + 2000-11-29 Joseph S. Myers <jsm28@cam.ac.uk> * extend.texi: Update documentation for default format attributes. diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 22991b3..3cb7dfa 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -6465,7 +6465,8 @@ (define_expand "sibcall" [(parallel [(call (match_operand 0 "memory_operand" "") (match_operand 1 "general_operand" "")) - (use (match_operand 2 "" ""))])] + (use (match_operand 2 "" "")) + (use (reg:SI LR_REGNUM))])] "TARGET_ARM" " { @@ -6478,7 +6479,8 @@ [(parallel [(set (match_operand 0 "register_operand" "") (call (match_operand 1 "memory_operand" "") (match_operand 2 "general_operand" ""))) - (use (match_operand 3 "" ""))])] + (use (match_operand 3 "" "")) + (use (reg:SI LR_REGNUM))])] "TARGET_ARM" " { @@ -6490,7 +6492,8 @@ (define_insn "*sibcall_insn" [(call (mem:SI (match_operand:SI 0 "" "X")) (match_operand 1 "" "")) - (use (match_operand 2 "" ""))] + (use (match_operand 2 "" "")) + (use (reg:SI LR_REGNUM))] "TARGET_ARM && GET_CODE (operands[0]) == SYMBOL_REF" "* return NEED_PLT_RELOC ? \"b%?\\t%a0(PLT)\" : \"b%?\\t%a0\"; @@ -6502,7 +6505,8 @@ [(set (match_operand 0 "s_register_operand" "=r,f") (call (mem:SI (match_operand:SI 1 "" "X,X")) (match_operand 2 "" ""))) - (use (match_operand 3 "" ""))] + (use (match_operand 3 "" "")) + (use (reg:SI LR_REGNUM))] "TARGET_ARM && GET_CODE (operands[1]) == SYMBOL_REF" "* return NEED_PLT_RELOC ? \"b%?\\t%a1(PLT)\" : \"b%?\\t%a1\"; |