https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121548
--- Comment #1 from Jeffrey A. Law <law at gcc dot gnu.org> --- It looks like we're unconditionally trying to get the merge_op_idx on an insn that doesn't support that: (insn 16 15 17 2 (set (subreg:V1DF (reg:RVVM1DF 149 [ _4 ]) 0) (mem:V1DF (reg/f:DI 151 [ q ]) [2 *q.1_5+0 S8 A64])) "j.c":9:8 3244 {*movv1df} (expr_list:REG_DEAD (reg/f:DI 151 [ q ]) (nil))) (define_insn_and_split "*mov<mode>" [(set (match_operand:VLS_AVL_IMM 0 "reg_or_mem_operand" "=vr, m, vr") (match_operand:VLS_AVL_IMM 1 "reg_or_mem_operand" " m,vr, vr"))] "TARGET_VECTOR [ ... ] [(set_attr "type" "vlde,vste,vmov") (set_attr "mode" "<MODE>") (set (attr "avl_type_idx") (const_int INVALID_ATTRIBUTE)) (set (attr "mode_idx") (const_int INVALID_ATTRIBUTE))] I suspect a suitable attribute setting would be sufficient here. But I also suspect there's other insns that will need similar handling. We should discuss this in tomorrow's patchwork meeting.