https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107627
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #5) > On the other side, split_double_concat needs to take into account when the > destination > and/or source are MEMs and some registers are used in their addresses. For the r <- m, m alternative I guess using &r <- m, m would be fine, but for the case where one input is a register and one memory &r <- m, r or &r <- r, m might be too penalizing. If both halves of the destination register are used in m address, I guess there is always an option to load from the memory into one of the registers first and in the case where the other input is the other half, do the swap afterwards?