This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch, testsuite] Fix vectorizer cost model testcases for SPU.
- From: Ira Rosen <IRAR at il dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 19 Jun 2008 08:55:40 +0300
- Subject: [patch, testsuite] Fix vectorizer cost model testcases for SPU.
Hi,
The attached patch fixes vectorizer cost model testcases for SPU.
Tested on Cell SPU. O.K. for 4.3.2 and mainline?
Thanks,
Ira
ChangeLog:
* gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c: Add noinline.
attribute to main1().
* gcc.dg/vect/costmodel/spu/costmodel-vect-33.c: Increase the loop
bound in order to make it worth to vectorize the loop.
* gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c: Likewise.
Index: testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c
===================================================================?
--- testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c (revision
136861)
+++ testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c (working
copy)
@@ -6,7 +6,7 @@
#define N 26
int a[N];
-int main1 (int X)
+__attribute__ ((noinline)) int main1 (int X)
{
int s = X;
int i;
Index: testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-33.c
===================================================================
--- testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-33.c (revision
136861)
+++ testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-33.c (working
copy)
@@ -4,7 +4,7 @@
#include <stdarg.h>
#include "../../tree-vect.h"
-#define N 16
+#define N 17
struct test {..
char ca[N];..
};
Index: testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c
===================================================================
--- testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c (revision
136861)
+++ testsuite/gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c (working
copy)
@@ -3,20 +3,20 @@.
#include <stdarg.h>
#include "../../tree-vect.h"
-#define N 8.
+#define N 16
#define OFF 4..
/* Check handling of accesses for which the "initial condition" -
the expression that represents the first location accessed - is
more involved than just an ssa_name. */
-int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13,
17, 0, 2, 6, 10};
+int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13,
17, 0, 2, 6, 10, 0, 1, 3, 5, 7, 11, 13, 17};
int main1 (int *pib)
{
int i;
int ia[N+OFF];
- int ic[N+OFF] = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
+ int ic[N+OFF] = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 0, 1, 3, 5, 7,
11, 13, 17};
for (i = OFF; i < N; i++)
{