https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96373
--- Comment #6 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- FWIW, I think the reason I mentioned for skimping on this originally was that we don't e.g. prevent if-conversion of: void foo (int *c, float *f) { for (int i = 0; i < 16; ++i) f[i] = c[i] ? __builtin_sqrtf (f[i]) : f[i]; } for -O2 -ftree-vectorize -fno-math-errno. So it seemed like things weren't very consistent.