[Bug tree-optimization/96234] Sub-optimal register allocation with a signed integer literal.
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 20 07:11:39 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96234
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Component|target |tree-optimization
Keywords| |missed-optimization
Last reconfirmed| |2020-07-20
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
The RA issue is just bad luck I guess. On the GIMPLE level we can see
the main difference is signed vs. unsigned arithmetic and lack of
association. It would probably all be solved when the last reassoc
would operate under -fwrapv assumptions. For the unsigned case we have
(((_17 - _11) + c_7(D)) + (_14 * 1000000000)) - -(_4 * 1000000000)
(all unsigned long operands) after reassoc2 where it is odd that we
didn't figure to associate the multiplies together and factor it out.
More information about the Gcc-bugs
mailing list