[Bug tree-optimization/108215] Does not optimize trivial case with bit operations
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 9 13:41:18 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108215
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
It's something for if-conversion / if-combine. We have
<bb 2> [local count: 1073741824]:
src_6 = MEM[(const uint32_t *)data_5(D)];
_1 = src_6 & 4294967040;
if (_1 == 287453952)
goto <bb 5>; [20.97%]
else
goto <bb 3>; [79.03%]
<bb 3> [local count: 848578161]:
_2 = src_6 & 4294901760;
if (_2 == 287440896)
goto <bb 4>; [20.97%]
else
goto <bb 5>; [79.03%]
<bb 4> [local count: 177946843]:
<bb 5> [local count: 1073741824]:
# _3 = PHI <1(4), 0(3), 1(2)>
so an effective if-or-if where we fail to handle combining the conditions
(we're going the if-and-if way to the zero return).
More information about the Gcc-bugs
mailing list