1 /* { dg-do compile } */
2 /* { dg-require-effective-target vect_condition } */
3
4 #define N 256
5 typedef char T;
6 extern T a[N];
7 extern T b[N];
8 extern T c[N];
9 extern _Bool pb[N];
10 extern char pc[N];
11
12 void predicate_by_bool()
13 {
14 for (int i = 0; i < N; i++)
15 c[i] = pb[i] ? a[i] : b[i];
16 }
17
18 void predicate_by_char()
19 {
20 for (int i = 0; i < N; i++)
21 c[i] = pc[i] ? a[i] : b[i];
22 }
23
24 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */