https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84737
--- Comment #14 from Pat Haugen <pthaugen at gcc dot gnu.org> --- Created attachment 43928 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43928&action=edit r256888 pcom dump So the difference appears to be occurring in predictive commoning. In the ipa-cp clone, resid.constprop, pcom is failing to hoist some loads/expressions from the vectorized loop. This results in an additional 9 vector loads and 5 vector adds being executed each iteration of the loop. I've attached a pcom dump of the original resid() and the clone resid.constprop(). You can see that in the original resid(), pcom is moving some loads/adds, but not in resid.constprop(). BB 6 is the vectorized loop in resid(), BB 5 is the same loop in resid.constprop(). Not sure if this is a similar issue to pr55334 wrt losing restrict.