https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94715
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|wrong-code |missed-optimization Summary|Squared multiplies are |Squared multiplies are |incorrectly signextended |unnecessarily signextended --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Sure, but then this becomes something for RTL expansion to figure out since this could depend on the target? On the GIMPLE side the removed intermediate conversion is considered cheaper.