https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113126
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2023-12-24 Ever confirmed|0 |1 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- 13: h_6 = (G) f.0_1; _2 = h_6 <= h_6; _3 = VEC_COND_EXPR <_2, { -1, -1 }, { 0, 0 }>; _4 = VIEW_CONVERT_EXPR<G>(_3); 14: _2 = f.0_1 <= f.0_1; _3 = VEC_COND_EXPR <_2, { -1, -1 }, { 0, 0 }>; _4 = VIEW_CONVERT_EXPR<G>(_3); Funny it was introduced accident by r14-2040-g6b32400e19a702 which is there to fix a TYPE_PRECISION issue. The result of `vector(2) float` is `vector(2) <signed-boolean:32>` but match messes up here ... Which means the patterns here are only valid for scalar conversions and not vector based conversions or they need to add an conversion between the resulting `vector boolean` types ...