(fixup_stack_1): Handle current_function_internal_arg_pointer.
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 28 Jun 1993 01:15:50 +0000 (21:15 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 28 Jun 1993 01:15:50 +0000 (21:15 -0400)
From-SVN: r4777

gcc/function.c

index f9d851713f428864f5f7edff87e206e95d266c49..04f54b8a460282e0e71814ebaccd6d61aed84398 100644 (file)
@@ -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;