diff options
| -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\"; | 
