1 /* { dg-do run } */ 2 /* { dg-additional-options "-ftree-vectorize" } */ 3 4 unsigned a[1024]; 5 unsigned b[1024]; 6 7 void __attribute__((noipa)) foo(unsigned * q,unsigned * r)8foo (unsigned *q, unsigned *r) 9 { 10 unsigned sum1 = 0, sum2 = 0; 11 for (int i = 0; i < 512; ++i) 12 { 13 sum1 += a[2*i]; 14 sum2 += a[2*i+1]; 15 b[2*i] = a[2*i+1]; 16 b[2*i+1] = a[2*i]; 17 } 18 *q = sum1; 19 *r = sum2; 20 } 21 main()22int main() 23 { 24 unsigned sum1, sum2; 25 a[0] = 0; 26 a[1] = 1; 27 foo (&sum1, &sum2); 28 if (b[0] != 1 || b[1] != 0) 29 __builtin_abort (); 30 return 0; 31 } 32