https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112454
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
-1/~0 has the same issue as mentioned:
```
int finv(int a, int b, int c, int d)
{
return (a == 2 ? -1 : b) + (c == 3 ? -1 : d);
}
```
