PING: [patch, testsuite] Fix vectorizer cost model testcases for SPU.

Ira Rosen IRAR@il.ibm.com
Tue Jun 24 05:54:00 GMT 2008



gcc-patches-owner@gcc.gnu.org wrote on 19/06/2008 08:55:40:

>
> 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++)
>      {
>



More information about the Gcc-patches mailing list