[Bug tree-optimization/94786] New: Missed min/max pattern using xor+and+less
gabravier at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Apr 27 08:11:06 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94786
Bug ID: 94786
Summary: Missed min/max pattern using xor+and+less
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: gabravier at gmail dot com
Target Milestone: ---
int r1(int x, int y)
{
return y ^ ((x ^ y) & -(x < y));
}
int r2(int x, int y)
{
return x ^ ((x ^ y) & -(x < y));
}
`r1` can be optimized to `min` and `r2` to `max`. This transformation is done
by LLVM, but not by GCC.
Comparison here: https://godbolt.org/z/hNhkqM
More information about the Gcc-bugs
mailing list