https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111149
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #6) > So g++.dg/vect/simd-bool-comparison-1.cc fails with the canonicalization ... > Looking into how to fix that too. The difference is: _3 = _1 ^ c.0_2; cstore_10 = _3 ? 0.0 : 1.0e+0; vs: _3 = _1 != c.0_2; cstore_10 = _3 ? 0.0 : 1.0e+0; Original: /app/example.cpp:12:17: note: === vect_determine_precisions === /app/example.cpp:12:17: note: using boolean precision 8 for _3 = _1 != c.0_2; New: t.cc:14:17: note: === vect_determine_precisions === t.cc:14:17: note: using normal nonmask vectors for _3 = _1 ^ c.0_2;