This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix out-of-bounds array accesses in vectorizer testsuite
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 26 Aug 2010 13:10:51 +0200 (CEST)
- Subject: [PATCH] Fix out-of-bounds array accesses in vectorizer testsuite
Committed.
Richard.
2010-08-26 Richard Guenther <rguenther@suse.de>
* gcc.dg/vect/vect-64.c: Fix out-of-bound array accesses.
* gcc.dg/vect/fast-math-slp-27.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-64.c: Likewise.
* gcc.dg/vect/vect-91.c: Likewise.
* gcc.dg/vect/vect-peel-1.c: Likewise.
* gcc.dg/vect/vect-peel-2.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.
Index: gcc/testsuite/gcc.dg/vect/vect-64.c
===================================================================
*** gcc/testsuite/gcc.dg/vect/vect-64.c.orig 2010-08-26 12:43:57.000000000 +0200
--- gcc/testsuite/gcc.dg/vect/vect-64.c 2010-08-26 12:44:06.000000000 +0200
*************** int main1 ()
*** 12,19 ****
{
int i, j;
int ia[N][4][N+1];
! int ic[N][N][3][13];
! int id[N][N][N];
/* Multidimensional array. Not aligned: vectorizable. */
for (i = 0; i < N; i++)
--- 12,19 ----
{
int i, j;
int ia[N][4][N+1];
! int ic[N][N][3][N+1];
! int id[N][N][N+1];
/* Multidimensional array. Not aligned: vectorizable. */
for (i = 0; i < N; i++)
Index: gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c
===================================================================
*** gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c.orig 2010-02-25 16:11:23.000000000 +0100
--- gcc/testsuite/gcc.dg/vect/fast-math-slp-27.c 2010-08-26 13:03:22.000000000 +0200
***************
*** 1,7 ****
/* { dg-do compile } */
/* { dg-require-effective-target vect_float } */
! float x[256];
void foo(void)
{
--- 1,7 ----
/* { dg-do compile } */
/* { dg-require-effective-target vect_float } */
! float x[2*256+1];
void foo(void)
{
Index: gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-64.c
===================================================================
*** gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-64.c.orig 2009-10-27 14:29:31.000000000 +0100
--- gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-64.c 2010-08-26 13:04:17.000000000 +0200
***************
*** 7,14 ****
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
int ia[N][4][N+1];
! int ic[N][N][3][13];
! int id[N][N][N];
__attribute__ ((noinline))
int main1 ()
--- 7,14 ----
int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
int ia[N][4][N+1];
! int ic[N][N][3][N+1];
! int id[N][N][N+1];
__attribute__ ((noinline))
int main1 ()
Index: gcc/testsuite/gcc.dg/vect/vect-91.c
===================================================================
*** gcc/testsuite/gcc.dg/vect/vect-91.c.orig 2010-08-26 12:45:57.000000000 +0200
--- gcc/testsuite/gcc.dg/vect/vect-91.c 2010-08-26 12:46:05.000000000 +0200
***************
*** 6,12 ****
#define N 256
! extern int a[N];
/* The alignment of 'pa' is unknown.
Yet we do know that both the read access and write access have
--- 6,12 ----
#define N 256
! extern int a[N+20];
/* The alignment of 'pa' is unknown.
Yet we do know that both the read access and write access have
Index: gcc/testsuite/gcc.dg/vect/vect-peel-1.c
===================================================================
*** gcc/testsuite/gcc.dg/vect/vect-peel-1.c.orig 2010-07-04 19:54:38.000000000 +0200
--- gcc/testsuite/gcc.dg/vect/vect-peel-1.c 2010-08-26 12:51:31.000000000 +0200
***************
*** 5,11 ****
#define N 128
! int ib[N+5];
__attribute__ ((noinline))
int main1 ()
--- 5,11 ----
#define N 128
! int ib[N+7];
__attribute__ ((noinline))
int main1 ()
*************** int main (void)
*** 38,44 ****
check_vect ();
! for (i = 0; i < N+5; i++)
ib[i] = i;
return main1 ();
--- 38,44 ----
check_vect ();
! for (i = 0; i <= N+6; i++)
ib[i] = i;
return main1 ();
Index: gcc/testsuite/gcc.dg/vect/vect-peel-2.c
===================================================================
*** gcc/testsuite/gcc.dg/vect/vect-peel-2.c.orig 2010-07-04 19:54:38.000000000 +0200
--- gcc/testsuite/gcc.dg/vect/vect-peel-2.c 2010-08-26 12:58:49.000000000 +0200
***************
*** 7,13 ****
/* unaligned store. */
! int ib[N+5];
__attribute__ ((noinline))
int main1 ()
--- 7,13 ----
/* unaligned store. */
! int ib[N+7];
__attribute__ ((noinline))
int main1 ()
*************** int main (void)
*** 39,45 ****
check_vect ();
! for (i = 0; i < N+5; i++)
ib[i] = i;
return main1 ();
--- 39,45 ----
check_vect ();
! for (i = 0; i <= N+6; i++)
ib[i] = i;
return main1 ();
Index: gcc/testsuite/gcc.dg/vect/vect-peel-4.c
===================================================================
*** gcc/testsuite/gcc.dg/vect/vect-peel-4.c.orig 2010-07-04 19:54:38.000000000 +0200
--- gcc/testsuite/gcc.dg/vect/vect-peel-4.c 2010-08-26 13:02:43.000000000 +0200
***************
*** 5,11 ****
#define N 128
! int ib[N+5];
__attribute__ ((noinline))
int main1 ()
--- 5,11 ----
#define N 128
! int ib[N+7];
__attribute__ ((noinline))
int main1 ()
*************** int main (void)
*** 35,41 ****
check_vect ();
! for (i = 0; i < N+5; i++)
ib[i] = i;
return main1 ();
--- 35,41 ----
check_vect ();
! for (i = 0; i <= N+6; i++)
ib[i] = i;
return main1 ();