https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116958
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|c++ |libstdc++ --- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #9) > Note I think the fornt-end is producing some odd code here: > return *<retval> = ... > > And that is also confusing some of the optimizers. Ok, I misread the IR dump because it was not obvious the default definition of _2 comes from the retval. Without -all turned on the dump we don't get: struct vectorD.98296 & _2(D) = <retval>; and that had confused me.