PR tree-optimization/84740
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / bb-slp-33.c
blobbbb13ef798e77fc08cf058f1c6dd54686485541b
1 /* { dg-require-effective-target vect_int } */
3 #include "tree-vect.h"
5 extern void abort (void);
7 void __attribute__((noinline,noclone))
8 test(int *__restrict__ a, int *__restrict__ b)
10 a[0] = b[0];
11 a[1] = b[1];
12 a[2] = b[2];
13 a[3] = b[3];
14 a[5] = 0;
15 a[6] = 0;
16 a[7] = 0;
17 a[8] = 0;
20 int main()
22 int a[9];
23 int b[4];
24 b[0] = 1;
25 __asm__ volatile ("");
26 b[1] = 2;
27 __asm__ volatile ("");
28 b[2] = 3;
29 __asm__ volatile ("");
30 b[3] = 4;
31 __asm__ volatile ("");
32 a[4] = 7;
33 check_vect ();
34 test(a, b);
35 if (a[0] != 1
36 || a[1] != 2
37 || a[2] != 3
38 || a[3] != 4
39 || a[4] != 7
40 || a[5] != 0
41 || a[6] != 0
42 || a[7] != 0
43 || a[8] != 0)
44 abort ();
45 return 0;
48 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 2 "slp2" { target { vect_element_align || vect_hw_misalign } } } } */