i386: Adjust rtx cost for imulq and imulw [PR115749]
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / bb-slp-59.c
blob815b44e1f7cf3f18b544b4e5eeccd636345009a0
1 /* { dg-do compile } */
2 /* { dg-require-effective-target vect_double } */
3 /* { dg-additional-options "-fdump-tree-loopdone" } */
5 double x[1024];
6 void bar (void);
8 void foo (void)
10 double tem1 = x[0];
11 double tem2 = x[1];
12 for (int i = 0; i < 511; ++i)
14 x[2*i] = tem2;
15 x[2*i+1] = tem1;
16 bar ();
17 tem1 = x[2*(i+1)];
18 tem2 = x[2*(i+1)+1];
22 /* We should be able to vectorize the cycle in one SLP attempt including
23 both load groups and do only one permutation. */
24 /* { dg-final { scan-tree-dump-times "transform load" 2 "slp1" } } */
25 /* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 1 "loopdone" } } */
26 /* { dg-final { scan-tree-dump-times "optimized: basic block" 1 "slp1" } } */