1/* { dg-require-effective-target vect_int } */ 2 3#include <stdarg.h> 4#include "tree-vect.h" 5 6#define N 128 7 8/* unaligned load. */ 9 10int main1 () 11{ 12 int i; 13 int ia[N]; 14 int ib[N+1]; 15 16 for (i=0; i < N; i++) 17 { 18 ib[i] = i; 19 } 20 21 for (i = 1; i <= N; i++) 22 { 23 ia[i-1] = ib[i]; 24 } 25 26 /* check results: */ 27 for (i = 1; i <= N; i++) 28 { 29 if (ia[i-1] != ib[i]) 30 abort (); 31 } 32 33 return 0; 34} 35 36int main (void) 37{ 38 check_vect (); 39 40 return main1 (); 41} 42 43/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */ 44/* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */ 45/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */ 46/* { dg-final { cleanup-tree-dump "vect" } } */ 47