https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107167
--- Comment #6 from cqwrteur <unlvsur at live dot com> --- (In reply to Andrew Pinski from comment #5) > You already filed this one. > > *** This bug has been marked as a duplicate of bug 103550 *** (In reply to Andrew Pinski from comment #1) > This is a reassociation, scheduling issue and register allocation issue. > > Plus your example might be slower due to dependencies. > > Without a full example of where gcc ra goes wrong, gcc actually produces > much better code for this example due to register renaming in hw. > Note many x86_64 also does register renaming for the stack too On x86_64, I just checked uops.info, only two ports are available for rotr,rotl. They cannot really get paralleled executed.
