This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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 ();


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]