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;
}
```

Reply via email to