1 /* { dg-require-effective-target vect_int } */
2 /* { dg-additional-options "--param vect-max-version-for-alias-checks=0" } */
12 /* Vectorizable. Dependence distance -1. */
13 __attribute__((noinline
)) void
17 for (i
= 0; i
< N
; i
++)
24 /* Not vectorizable due to data dependence: dependence distance 1. */
25 __attribute__((noinline
)) void
29 for (i
= 0; i
< N
; i
++)
36 /* Not vectorizable due to data dependence: dependence distance 1. */
37 __attribute__((noinline
)) void
41 for (i
= N
- 1; i
>= 0; i
--)
48 /* Vectorizable. Dependence distance -1. */
49 __attribute__((noinline
)) void
53 for (i
= N
- 1; i
>= 0; i
--)
60 /* Vectorizable. Dependence distance -1. */
61 __attribute__((noinline
)) void
65 for (i
= 0; i
< N
; i
++)
72 /* Not vectorizable due to data dependence: dependence distance 1. */
73 __attribute__((noinline
)) void
77 for (i
= 0; i
< N
; i
++)
84 /* Not vectorizable due to data dependence: dependence distance 1. */
85 __attribute__((noinline
)) void
89 for (i
= N
- 1; i
>= 0; i
--)
96 /* Vectorizable. Dependence distance -1. */
97 __attribute__((noinline
)) void
101 for (i
= N
- 1; i
>= 0; i
--)
108 __attribute__ ((noinline
)) int
113 for (j
= 0; j
< 8; j
++)
115 for (i
= 0; i
<= N
; i
++)
124 case 0: f1 (); break;
125 case 1: f2 (); break;
126 case 2: f3 (); break;
127 case 3: f4 (); break;
128 case 4: f5 (); break;
129 case 5: f6 (); break;
130 case 6: f7 (); break;
131 case 7: f8 (); break;
135 for (i
= 0; i
<= N
; i
++)
144 else if (i
!= N
) eb
= 1;
148 if (i
!= N
) eb
= i
+ 4;
152 if (i
!= N
) eb
= i
+ 3;
156 if (i
< N
- 1) eb
= 1;
157 else if (i
== N
- 1) eb
= 67;
172 if (ia
[i
] != ea
|| ib
[i
] != eb
)
187 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 4 "vect" {xfail { vect_no_align && { ! vect_hw_misalign } } } } } */
188 /* { dg-final { scan-tree-dump-times "dependence distance negative" 4 "vect" } } */