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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Actually the differene comes from frowprop:

LP64 does:
Applying pattern match.pd:4328, gimple-match-8.cc:1208
gimple_simplified to _16 = j.0_1 + 18446744073709551615;
_3 = _16 * 4;
Matching expression match.pd:160, gimple-match-10.cc:33
Matching expression match.pd:160, gimple-match-10.cc:33
Matching expression match.pd:160, gimple-match-10.cc:33

...
Removing dead stmt:_2 = j.0_1 * 4;

So why did it match in LP64 but not ILP32.

Because the upper 2 bits are zero.

Reply via email to