https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116274
--- Comment #5 from Hongtao Liu <liuhongt at gcc dot gnu.org> --- For non-avx case, looks like it hits here 748 /* Special case TImode to 128-bit vector conversions via V2DI. */ 749 if (VECTOR_MODE_P (mode) 750 && GET_MODE_SIZE (mode) == 16 751 && SUBREG_P (op1) 752 && GET_MODE (SUBREG_REG (op1)) == TImode 753 && TARGET_64BIT && TARGET_SSE 754 && can_create_pseudo_p ()) 755 { 756 rtx tmp = gen_reg_rtx (V2DImode); 757 rtx lo = gen_reg_rtx (DImode); 758 rtx hi = gen_reg_rtx (DImode); 759 emit_move_insn (lo, gen_lowpart (DImode, SUBREG_REG (op1))); 760 emit_move_insn (hi, gen_highpart (DImode, SUBREG_REG (op1))); 761 emit_insn (gen_vec_concatv2di (tmp, lo, hi)); 762 emit_move_insn (op0, gen_lowpart (mode, tmp)); 763 return; 764 }