https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80819
--- Comment #8 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Jakub Jelinek from comment #7) > Note it is already postreload that propagates the %rsi register directly > into vec_concatv2di. And the reason why DSE does nothing is that since LRA > introduction the DSE spill removal has been disabled and last year even > removed altogether. > Removing the * from the first alternative fixes this. > Uros, what is the purpose of those two *s and can't they be replaced by say > ^ or $ ? The (*x,0,rm) alternative was introduced together with Yr to avoid REX prefixes, but the reason for *rm escaped my mind... probably is there from the reload times, and could hopefully be removed.