[Bug tree-optimization/107090] [aarch64] sequence logic should be combined with mul and umulh
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 29 21:32:35 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107090
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2022-09-29
Component|middle-end |tree-optimization
Ever confirmed|0 |1
CC| |pinskia at gcc dot gnu.org
Status|UNCONFIRMED |NEW
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
A few issues.
First is:
if (_26 != 0)
goto <bb 3>; [50.00%]
else
goto <bb 4>; [50.00%]
<bb 3> [local count: 536870913]:
ht_15 = ht_13 + 4294967296;
<bb 4> [local count: 1073741824]:
# ht_2 = PHI <ht_13(2), ht_15(3)>
This should be done as:
tmp_ = _26 != 0
tmp1_ = (unsigned long) tmp_
tmp2_ = tmp1_ << 32;
ht_2 = ht_13 + tmp2_;
And then there is huge pattern matching with respect to doing widening multiple
here.
More information about the Gcc-bugs
mailing list