1 /* { dg-require-effective-target vect_int } */
2 
3 #include "tree-vect.h"
4 
5 extern void abort (void);
6 
7 __attribute__((noinline, noclone))
test1(short x[128],short D)8 void test1(short x[128], short D)
9 {
10     int i;
11     for (i=127; i>=0; i--) {
12 	x[i] = D;
13     }
14 }
15 
main(void)16 int main (void)
17 {
18   short x[128 + 32];
19   int i;
20 
21   check_vect ();
22 
23   for (i = 0; i < 16; i ++)
24     {
25       asm ("");
26       x[i] = x[i + 144] = 5678;
27     }
28 
29   test1 (x + 16, 1234);
30 
31   for (i = 0; i < 128; i++)
32    if (x[i + 16] != 1234)
33      abort ();
34 
35   for (i = 0; i < 16; i++)
36     if (x[i] != 5678
37        || x[i + 144] != 5678)
38       abort ();
39 
40   return 0;
41 }
42 
43 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
44