/* { dg-require-effective-target vect_int } */ #include "tree-vect.h" int arr[2048]; int res[100] = { 13198, 13224, 12735, 12760, 12270, 12294, 11803, 11826, 11334, 11356, 10863, 10884, 10390, 10410, 9915, 9934, 9438, 9456, 8959, 8976, 8478, 8494, 7995, 8010, 7510, 7524, 7023, 7036, 6534, 6546, 6043, 6054, 5550, 5560, 5055, 5064, 4558, 4566, 4059, 4066, 3558, 3564, 3055, 3060, 2550, 2554, 2043, 0}; __attribute__ ((noinline)) int foo (int *a, int *b) { int i; int *a1 = a; int *a0 = a1 - 512; for (i = 0; i < 50; i++) { *b = *a0 + *a1; b--; a0--; a1--; } return 0; } int main (void) { int *a = &arr[1024]; int *b = &arr[1022]; int i; for (i = 0; i < 2048; i++) arr[i] = i; foo (a, b); for (i = 973; i < 1020; i++) if (arr[i] != res[i - 973]) abort (); return 0; }