111
|
1 /* { dg-require-effective-target vect_int } */
|
|
2
|
|
3 #include "tree-vect.h"
|
|
4
|
|
5 extern void abort (void);
|
|
6
|
|
7 __attribute__((noinline, noclone))
|
|
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
|
|
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" } } */
|