1 /* { dg-require-effective-target vect_double } */ 2 3 #include "tree-vect.h" 4 5 extern void abort (void); 6 7 double a[8], b[8]; 8 int x; 9 10 void __attribute__((noinline,noclone)) bar(void)11bar (void) 12 { 13 x = 1; 14 } 15 16 void __attribute__((noinline,noclone)) foo(int i)17foo(int i) 18 { 19 double tem1 = a[2*i]; 20 double tem2 = 2*a[2*i+1]; 21 bar (); 22 b[2*i] = 2*tem1; 23 b[2*i+1] = tem2; 24 } 25 main()26int main() 27 { 28 int i; 29 check_vect (); 30 for (i = 0; i < 8; ++i) 31 b[i] = i; 32 foo (2); 33 return 0; 34 } 35 36 /* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */ 37