https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85903
--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> --- Well, movdi2sse post-reload splitter won't have any chance with: else if (memory_operand (operands[1], DImode)) { rtx tmp = gen_reg_rtx (V2DImode); emit_insn (gen_vec_concatv2di (tmp, operands[1], const0_rtx)); emit_move_insn (operands[0], gen_lowpart (V4SImode, tmp)); } So, it is invalid to generate pseudo after reload.