/* This file is distributed under the University of Illinois Open Source License. See license.txt for details. */ /* { dg-additional-options "--param vect-epilogues-nomask=0" } */ /* { dg-require-effective-target vect_float } */ #include "tsvc.h" real_t vif(struct args_t * func_args) { // control loops // vector if initialise_arrays(__func__); for (int nl = 0; nl < iterations; nl++) { for (int i = 0; i < LEN_1D; i++) { if (b[i] > (real_t)0.) { a[i] = b[i]; } } dummy(a, b, c, d, e, aa, bb, cc, 0.); } return calc_checksum(__func__); } int main (int argc, char **argv) { int n1 = 1; int n3 = 1; int* ip; real_t s1,s2; init(&ip, &s1, &s2); run(&vif, "vif", NULL); return 0; } /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { xfail { { ! aarch64_sve } && { ! riscv_v } } } } } */