1 /* { dg-require-effective-target vect_cond_mixed } */
2 /* { dg-require-effective-target vect_float } */
7 float a
[N
], b
[N
], c
[N
];
11 __attribute__((noinline
, noclone
)) void
15 for (i
= 0; i
< N
; ++i
)
16 k
[i
] = a
[i
] < b
[i
] ? 17 : 0;
19 __attribute__((noinline
, noclone
)) void
23 for (i
= 0; i
< N
; ++i
)
24 k
[i
] = a
[i
] < b
[i
] ? 0 : 24;
27 __attribute__((noinline
, noclone
)) void
31 for (i
= 0; i
< N
; ++i
)
32 k
[i
] = a
[i
] < b
[i
] ? 51 : 12;
35 __attribute__((noinline
, noclone
)) void
39 for (i
= 0; i
< N
; ++i
)
41 int d2
= d
[i
], e2
= e
[i
];
42 f
[i
] = a
[i
] < b
[i
] ? d2
: e2
;
46 __attribute__((noinline
, noclone
)) void
50 for (i
= 0; i
< N
; ++i
)
52 float a2
= a
[i
], b2
= b
[i
];
53 c
[i
] = d
[i
] < e
[i
] ? a2
: b2
;
64 for (i
= 0; i
< N
; i
++)
68 case 0: asm (""); a
[i
] = - i
- 1; b
[i
] = i
+ 1; break;
69 case 1: a
[i
] = 0; b
[i
] = 0; break;
70 case 2: a
[i
] = i
+ 1; b
[i
] = - i
- 1; break;
71 case 3: a
[i
] = i
; b
[i
] = i
+ 7; break;
72 case 4: a
[i
] = i
; b
[i
] = i
; break;
73 case 5: a
[i
] = i
+ 16; b
[i
] = i
+ 3; break;
74 case 6: a
[i
] = - i
- 5; b
[i
] = - i
; break;
75 case 7: a
[i
] = - i
; b
[i
] = - i
; break;
76 case 8: a
[i
] = - i
; b
[i
] = - i
- 7; break;
82 for (i
= 0; i
< N
; i
++)
83 if (k
[i
] != ((i
% 3) == 0 ? 17 : 0))
86 for (i
= 0; i
< N
; i
++)
87 if (k
[i
] != ((i
% 3) == 0 ? 0 : 24))
90 for (i
= 0; i
< N
; i
++)
91 if (k
[i
] != ((i
% 3) == 0 ? 51 : 12))
94 for (i
= 0; i
< N
; i
++)
95 if (f
[i
] != ((i
% 3) == 0 ? d
[i
] : e
[i
]))
97 for (i
= 0; i
< N
; i
++)
101 case 0: asm (""); d
[i
] = - i
- 1; e
[i
] = i
+ 1; break;
102 case 1: d
[i
] = 0; e
[i
] = 0; break;
103 case 2: d
[i
] = i
+ 1; e
[i
] = - i
- 1; break;
104 case 3: d
[i
] = i
; e
[i
] = i
+ 7; break;
105 case 4: d
[i
] = i
; e
[i
] = i
; break;
106 case 5: d
[i
] = i
+ 16; e
[i
] = i
+ 3; break;
107 case 6: d
[i
] = - i
- 5; e
[i
] = - i
; break;
108 case 7: d
[i
] = - i
; e
[i
] = - i
; break;
109 case 8: d
[i
] = - i
; e
[i
] = - i
- 7; break;
115 for (i
= 0; i
< N
; i
++)
116 if (c
[i
] != ((i
% 3) == 0 ? a
[i
] : b
[i
]))
122 /* { dg-final { scan-tree-dump-times "note: vectorized 1 loops" 5 "vect" } } */