1 /* Disabling epilogues until we find a better way to deal with scans. */
2 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
3 /* { dg-require-effective-target vect_long } */
4 /* { dg-require-effective-target vect_shift } */
5 /* { dg-additional-options "-fno-tree-scev-cprop" } */
9 /* Statement used outside the loop.
10 NOTE: SCEV disabled to ensure the live operation is not removed before
12 __attribute__ ((noinline
)) int
13 liveloop (int start
, int n
, int *x
, int *y
)
19 for (j
= 0; j
< n
; ++j
)
42 __asm__
volatile ("");
46 int ret
= liveloop (START
, MAX
, a
, b
);
54 __asm__
volatile ("");
55 if (a
[i
] != i
+START
+1)
60 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
61 /* { dg-final { scan-tree-dump-times "vec_stmt_relevant_p: stmt live but not relevant(?:(?!Analysis failed).)*Analysis succeeded" 1 "vect" } } */