https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103660

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Two more cases, this time with XOR (^):
```
int min7(int a, int b) {
    const int c = a < b;
    return (c * a) ^ ((1 - c) * b);
}

int min8(int a, int b) {
    const bool c = a < b;
    return (c * a) ^ (!c * b);
}
```

Because `0 ^ a` is `a`. Should be easy to change the pattern to accept all 3
(XOR, IOR and PLUS) instead of just IOR.

Reply via email to