1 /* { dg-require-effective-target vect_int } */
2
3 #include <stdarg.h>
4 #include "tree-vect.h"
5
6 #define N 128
7
8 int
9 main1 ()
10 {
11 int i, j;
12 unsigned short out[N*8], a[N][N];
13
14 for (i = 0; i < N; i++)
15 {
16 for (j = 0; j < N; j++)
17 {
18 a[i][j] = 8;
19 }
20 out[i*4] = 8;
21 out[i*4 + 1] = 18;
22 out[i*4 + 2] = 28;
23 out[i*4 + 3] = 38;
24 }
25
26 /* check results: */
27 for (i = 0; i < N; i++)
28 {
29 for (j = 0; j < N; j++)
30 {
31 if (a[i][j] != 8)
32 abort ();
33 }
34 if (out[i*4] != 8
35 || out[i*4 + 1] != 18
36 || out[i*4 + 2] != 28
37 || out[i*4 + 3] != 38)
38 abort();
39 }
40
41
42 return 0;
43 }
44
45 int main (void)
46 {
47 check_vect ();
48
49 main1 ();
50
51 return 0;
52 }
53
54 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
55 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */
56