https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119681
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|extraneous move |move instructions inside |instructions when unrolling |the unrolled loop of |core_list_reverse () with |core_list_reverse () with |-O3 -funroll-all-loops; not |-O3 -funroll-all-loops; not |copying the return block |copying the return block --- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note these moves are needed and not extraneous. But rather the moves should be outside of the loop instead.