re PR target/11591 ([3.4 only] ICE in gcc.dg/altivec-5.c)
authorHartmut Penner <hpenner@de.ibm.com>
Tue, 30 Mar 2004 06:43:51 +0000 (06:43 +0000)
committerHartmut Penner <hpenner@gcc.gnu.org>
Tue, 30 Mar 2004 06:43:51 +0000 (06:43 +0000)
      PR 11591
      * config/rs6000/rs6000.c (rs6000_legitimate_address):
        Allow any offset to argument pointer in no-strict case.

From-SVN: r80075

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 8b60350ad17a107a8c048f9f82af21115e2ffc3c..e0b5a3526c861295c43c42a8813e926b37709986 100644 (file)
@@ -1,3 +1,9 @@
+2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
+
+       PR 11591        
+       * config/rs6000/rs6000.c (rs6000_legitimate_address): 
+       Allow any offset to argument pointer in no-strict case.
+
 2004-03-30  Jan Hubicka  <jh@suse.cz>
 
        * toplev.c (backend_init): Add missing call to inint_optimization_passes.
index dc45a5092fba42d172e5f22e18188e1b25c896eb..c8854b093281c40c24454a67aaa5aa8e244951f9 100644 (file)
@@ -3267,7 +3267,8 @@ rs6000_legitimate_address (enum machine_mode mode, rtx x, int reg_ok_strict)
   if (! reg_ok_strict
       && GET_CODE (x) == PLUS
       && GET_CODE (XEXP (x, 0)) == REG
-      && XEXP (x, 0) == virtual_stack_vars_rtx
+      && (XEXP (x, 0) == virtual_stack_vars_rtx
+         || XEXP (x, 0) == arg_pointer_rtx)
       && GET_CODE (XEXP (x, 1)) == CONST_INT)
     return 1;
   if (legitimate_offset_address_p (mode, x, reg_ok_strict))