https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114894
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- And divides should happen if we know if the divisor is non-zero: eg: ``` int fdiv(int a, int b) { if (b == 0) __builtin_unreachable(); int c = a / b; int d = a != 0; return c & -d; } ``` Phi-OPT value-replacement does handle it for ifs right now: ``` int fmul3(int a, int b) { if (b == 0) __builtin_unreachable(); int c = a / b; if (a == 0) return 0; return c; int d = a != 0; return c & -d; } ```