1 /* { dg-do compile } */
2 /* { dg-require-effective-target vect_double } */
3 /* { dg-require-effective-target vect_condition } */
5 void foo (double *x
, double *y
, int m
, int n
, int o
, int p
)
7 for (int i
= 0; i
< m
; ++i
)
8 for (int j
= 0; j
< n
; ++j
)
9 for (int k
= 0; k
< o
; ++k
)
10 for (int l
= 0; l
< k
; ++l
)
12 double tem
= x
[l
] + y
[l
];
20 /* Vectorization using partial vectors has zero versioning_threshold with
21 either usage 1 or usage 2, the cond_expr replies on the computation in
22 outer loop, so it doesn't need to reuse the loop version created by if
24 /* { dg-final { scan-tree-dump "reusing loop version created by if conversion" "vect" {target {! vect_partial_vectors } } } } */