/* { dg-do compile } */ /* { dg-require-effective-target vect_condition } */ #define N 256 typedef char T; extern T a[N]; extern T b[N]; extern T c[N]; extern _Bool pb[N]; extern char pc[N]; void predicate_by_bool() { for (int i = 0; i < N; i++) c[i] = pb[i] ? a[i] : b[i]; } void predicate_by_char() { for (int i = 0; i < N; i++) c[i] = pc[i] ? a[i] : b[i]; } /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */