[Bug middle-end/85237] missed optimisation opportunity for large/negative shifts
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Apr 6 07:52:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85237
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2018-04-06
Component|rtl-optimization |middle-end
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Yeah, we don't really take advantage of UB in shifts. Instead we really treat
them implementation-defined aka 100 >> 1000 is zero, likewise we do (did?)
treat 100 >> -2 as 100 << 2.
Note historically RTL doesn't have any UB, it matches target implementation
behavior for shifts (see that stupid SHIFT_COUNT_TRUNCATED thing...).
More information about the Gcc-bugs
mailing list