diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2000-11-29 15:53:46 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2000-11-29 15:53:46 +0000 |
commit | 76b7dad31c40a9f34a499bfc899bd9483e7cd57e (patch) | |
tree | 2f7c7d001829ace2663df17e101b9512e6c84fb1 | |
parent | db45aaa6918235ba9f7ad694a0dbbcde4c303d4b (diff) | |
download | gcc-76b7dad31c40a9f34a499bfc899bd9483e7cd57e.zip gcc-76b7dad31c40a9f34a499bfc899bd9483e7cd57e.tar.gz gcc-76b7dad31c40a9f34a499bfc899bd9483e7cd57e.tar.bz2 |
arm.md (sibcall, [...]): Add use of link register.
* arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
Add use of link register.
From-SVN: r37848
-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\"; |