Blame SOURCES/gcc32-ppc-altivec-ap.patch

6f1b0c
2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
6f1b0c
6f1b0c
	PR 11591
6f1b0c
	* config/rs6000/rs6000.c (rs6000_legitimate_address):
6f1b0c
	Allow any offset to argument pointer in no-strict case.
6f1b0c
6f1b0c
2002-04-16  Jakub Jelinek  <jakub@redhat.com>
6f1b0c
6f1b0c
	* gcc.dg/altivec-5.c: New test.
6f1b0c
6f1b0c
--- gcc/config/rs6000/rs6000.c	25 Mar 2004 17:43:19 -0000	1.616
6f1b0c
+++ gcc/config/rs6000/rs6000.c	30 Mar 2004 08:25:30 -0000	1.617
6f1b0c
@@ -3267,7 +3267,8 @@ rs6000_legitimate_address (enum machine_
6f1b0c
   if (! reg_ok_strict
6f1b0c
       && GET_CODE (x) == PLUS
6f1b0c
       && GET_CODE (XEXP (x, 0)) == REG
6f1b0c
-      && XEXP (x, 0) == virtual_stack_vars_rtx
6f1b0c
+      && (XEXP (x, 0) == virtual_stack_vars_rtx
6f1b0c
+         || XEXP (x, 0) == arg_pointer_rtx)
6f1b0c
       && GET_CODE (XEXP (x, 1)) == CONST_INT)
6f1b0c
     return 1;
6f1b0c
   if (legitimate_offset_address_p (mode, x, reg_ok_strict))
6f1b0c
--- gcc/testsuite/gcc.dg/altivec-5.c.jj	2004-10-25 23:16:31.270583520 +0200
6f1b0c
+++ gcc/testsuite/gcc.dg/altivec-5.c	2004-10-25 23:16:40.327975169 +0200
6f1b0c
@@ -0,0 +1,12 @@
6f1b0c
+/* { dg-do compile { target powerpc*-*-* } } */
6f1b0c
+/* { dg-options "-maltivec -O2 -m32" } */
6f1b0c
+
6f1b0c
+#define vector __attribute__((vector_size(16)))
6f1b0c
+
6f1b0c
+void foo (const unsigned long x,
6f1b0c
+	  vector signed int a, vector signed int b)
6f1b0c
+{
6f1b0c
+  unsigned char d[64];
6f1b0c
+
6f1b0c
+  __builtin_altivec_stvewx (b, 0, d);
6f1b0c
+}