aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-06-27 21:15:50 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-06-27 21:15:50 -0400
commit40d055518b63b3ff0a883f9a32533ad72f491baa (patch)
tree4787d3e182048ec72554eb47803edc482826333d /gcc
parent5e9bec999ea3f54fc6abfabc9d43bacfdd550892 (diff)
downloadgcc-40d055518b63b3ff0a883f9a32533ad72f491baa.zip
gcc-40d055518b63b3ff0a883f9a32533ad72f491baa.tar.gz
gcc-40d055518b63b3ff0a883f9a32533ad72f491baa.tar.bz2
(fixup_stack_1): Handle current_function_internal_arg_pointer.
From-SVN: r4777
Diffstat (limited to 'gcc')
-rw-r--r--gcc/function.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c
index f9d8517..04f54b8 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -1772,8 +1772,9 @@ fixup_stack_1 (x, insn)
(displacement is too large), compute the sum in a register. */
if (GET_CODE (ad) == PLUS
&& GET_CODE (XEXP (ad, 0)) == REG
- && REGNO (XEXP (ad, 0)) >= FIRST_VIRTUAL_REGISTER
- && REGNO (XEXP (ad, 0)) <= LAST_VIRTUAL_REGISTER
+ && ((REGNO (XEXP (ad, 0)) >= FIRST_VIRTUAL_REGISTER
+ && REGNO (XEXP (ad, 0)) <= LAST_VIRTUAL_REGISTER)
+ || XEXP (ad, 0) == current_function_internal_arg_pointer)
&& GET_CODE (XEXP (ad, 1)) == CONST_INT)
{
rtx temp, seq;