PR middle-end/77357 - strlen of constant strings not folded
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / bb-slp-subgroups-1.c
blob39c23c397e7ed18652488907e9473efe8bcd43dc
1 /* { dg-require-effective-target vect_int } */
2 /* PR tree-optimization/67682. */
4 #include "tree-vect.h"
6 int __attribute__((__aligned__(8))) a[8];
7 int __attribute__((__aligned__(8))) b[4];
9 __attribute__ ((noinline)) void
10 test ()
12 a[0] = b[0];
13 a[1] = b[1];
14 a[2] = b[2];
15 a[3] = b[3];
16 a[4] = 0;
17 a[5] = 0;
18 a[6] = 0;
19 a[7] = 0;
22 int
23 main (int argc, char **argv)
25 check_vect ();
27 for (int i = 0; i < 8; i++)
28 a[i] = 1;
29 for (int i = 0; i < 4; i++)
30 b[i] = i + 4;
31 __asm__ volatile ("" : : : "memory");
32 test (a, b);
33 __asm__ volatile ("" : : : "memory");
34 for (int i = 0; i < 4; i++)
35 if (a[i] != i+4)
36 abort ();
37 for (int i = 4; i < 8; i++)
38 if (a[i] != 0)
39 abort ();
40 return 0;
43 /* { dg-final { scan-tree-dump-times "Basic block will be vectorized using SLP" 1 "slp2" } } */
44 /* { dg-final { scan-tree-dump-times "basic block vectorized" 1 "slp2" } } */