https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103302
--- Comment #10 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- Created attachment 51947 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51947&action=edit candidate patch under testing Could the fix be as simple as this? The resulting code is awful, with such stuff as loading and storing back each word of multi-word pseudos that end up assigned to memory, but at least we don't clobber the asm outputs with these clobbers, which is what makes them look dead. Anyhow, comments at the top of emit_move_multi_word state: Note that you will get better code if you define such patterns, even if they must turn into multiple assembler instructions.