nrv3.c (S): Increase size of padding for SPU.
authorUlrich Weigand <uweigand@de.ibm.com>
Wed, 2 Jul 2008 15:41:38 +0000 (15:41 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Wed, 2 Jul 2008 15:41:38 +0000 (15:41 +0000)
* gcc.dg/nrv3.c (S): Increase size of padding for SPU.
* g++.dg/opt/temp1.C (struct T): Likewise.

From-SVN: r137363

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/temp1.C
gcc/testsuite/gcc.dg/nrv3.c

index 8a51dc0900d1010073f0f6678e26bbfed1c5cb8b..aa4b11521616dc19dc1488c08caa945eca5ba91d 100644 (file)
@@ -1,3 +1,8 @@
+2008-07-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * gcc.dg/nrv3.c (S): Increase size of padding for SPU.
+       * g++.dg/opt/temp1.C (struct T): Likewise.
+
 2008-07-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
 
        * gcc.c-torture/execute/20030222-1.x: New file.
index b822dc464fe19ebdbbd5148b4fe6ce421919b694..dc13f5162463c8afb3758ed4d3f9fc79591b18ba 100644 (file)
@@ -24,7 +24,12 @@ void *memcpy (void *dest, const void *src, __SIZE_TYPE__ n)
 }
  
 struct T {
+#ifdef __SPU__
+  /* SPU returns aggregates up to 1172 bytes in registers.  */
+  int a[300];
+#else
   int a[128];
+#endif
   T &operator+=(T const &v) __attribute__((noinline));
   T operator+(T const &v) const { T t = *this; t += v; return t; }
 };
index 2b582c3ebe8b06ee646380bb7ee79944740b6632..c28b8ec570dc72a20d8b9860afa697187fe7101d 100644 (file)
@@ -3,7 +3,12 @@
 /* { dg-do compile } */
 /* { dg-options "-O -fdump-tree-optimized" } */
 
+#ifdef __SPU__
+/* SPU returns aggregates up to 1172 bytes in registers.  */
+typedef struct { int x[300]; void *y; } S;
+#else
 typedef struct { int x[20]; void *y; } S;
+#endif
 typedef struct { int a; S b; } T;
 S nrv_candidate (void);
 void use_result (S, int);