libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / bb-slp-45.c
blobd24ef2a038d4baee462a246d8bff5b9043ec963c
1 /* { dg-require-effective-target vect_double } */
3 #include "tree-vect.h"
5 extern void abort (void);
7 double a[8], b[8];
8 int x;
10 void __attribute__((noinline,noclone))
11 bar (void)
13 x = 1;
16 void __attribute__((noinline,noclone))
17 foo(int i)
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;
26 int main()
28 int i;
29 check_vect ();
30 for (i = 0; i < 8; ++i)
31 b[i] = i;
32 foo (2);
33 return 0;
36 /* { dg-final { scan-tree-dump "optimized: basic block" "slp2" } } */