// these overlap c.ld[sp]/c.sd[sp]
DECLARE_OVERLAP_INSN(c_flw, EXT_ZCF)
DECLARE_OVERLAP_INSN(c_flwsp, EXT_ZCF)
DECLARE_OVERLAP_INSN(c_fsw, EXT_ZCF)
DECLARE_OVERLAP_INSN(c_fswsp, EXT_ZCF)

// these overlap c.fsdsp
DECLARE_OVERLAP_INSN(cm_push, EXT_ZCMP)
DECLARE_OVERLAP_INSN(cm_pop, EXT_ZCMP)
DECLARE_OVERLAP_INSN(cm_popret, EXT_ZCMP)
DECLARE_OVERLAP_INSN(cm_popretz, EXT_ZCMP)
DECLARE_OVERLAP_INSN(cm_mva01s, EXT_ZCMP)
DECLARE_OVERLAP_INSN(cm_mvsa01, EXT_ZCMP)
DECLARE_OVERLAP_INSN(cm_jalt, EXT_ZCMT)

// c.ebreak and c.jalr overlap c.add
DECLARE_OVERLAP_INSN(c_ebreak, EXT_ZCA)
DECLARE_OVERLAP_INSN(c_jalr, EXT_ZCA)

// c.jr overlaps c.mv
DECLARE_OVERLAP_INSN(c_jr, EXT_ZCA)

// lpad overlaps auipc
DECLARE_OVERLAP_INSN(lpad, EXT_ZICFILP)

// these overlap Zimop/Zcmop
DECLARE_OVERLAP_INSN(ssrdp, EXT_ZICFISS)
DECLARE_OVERLAP_INSN(sspush_x1, EXT_ZICFISS)
DECLARE_OVERLAP_INSN(sspush_x5, EXT_ZICFISS)
DECLARE_OVERLAP_INSN(sspopchk_x1, EXT_ZICFISS)
DECLARE_OVERLAP_INSN(sspopchk_x5, EXT_ZICFISS)
DECLARE_OVERLAP_INSN(c_sspush_x1, EXT_ZICFISS)
DECLARE_OVERLAP_INSN(c_sspopchk_x5, EXT_ZICFISS)
DECLARE_OVERLAP_INSN(c_mop_N, EXT_ZCMOP)

// rv64p overlap rv32p
DECLARE_OVERLAP_INSN(paadd_w, 'P')
DECLARE_OVERLAP_INSN(paaddu_w, 'P')
DECLARE_OVERLAP_INSN(pasub_w, 'P')
DECLARE_OVERLAP_INSN(pasubu_w, 'P')
DECLARE_OVERLAP_INSN(psadd_w, 'P')
DECLARE_OVERLAP_INSN(psaddu_w, 'P')
DECLARE_OVERLAP_INSN(pssh1sadd_w, 'P')
DECLARE_OVERLAP_INSN(pssub_w, 'P')
DECLARE_OVERLAP_INSN(pssubu_w, 'P')
DECLARE_OVERLAP_INSN(psati_w, 'P')
DECLARE_OVERLAP_INSN(pusati_w, 'P')
DECLARE_OVERLAP_INSN(psrari_w, 'P')
DECLARE_OVERLAP_INSN(pssha_ws, 'P')
DECLARE_OVERLAP_INSN(psshar_ws, 'P')
DECLARE_OVERLAP_INSN(psslai_w, 'P')
DECLARE_OVERLAP_INSN(pmseq_w, 'P')
DECLARE_OVERLAP_INSN(pmslt_w, 'P')
DECLARE_OVERLAP_INSN(pmsltu_w, 'P')
DECLARE_OVERLAP_INSN(pmul_w_h00, 'P')
DECLARE_OVERLAP_INSN(pmul_w_h01, 'P')
DECLARE_OVERLAP_INSN(pmul_w_h11, 'P')
DECLARE_OVERLAP_INSN(pmulh_w_h0, 'P')
DECLARE_OVERLAP_INSN(pmulh_w_h1, 'P')
DECLARE_OVERLAP_INSN(pmulhr_w, 'P')
DECLARE_OVERLAP_INSN(pmulhrsu_w, 'P')
DECLARE_OVERLAP_INSN(pmulhru_w, 'P')
DECLARE_OVERLAP_INSN(pmulhsu_w_h0, 'P')
DECLARE_OVERLAP_INSN(pmulhsu_w_h1, 'P')
DECLARE_OVERLAP_INSN(pmulq_w, 'P')
DECLARE_OVERLAP_INSN(pmulqr_w, 'P')
DECLARE_OVERLAP_INSN(pmulsu_w_h00, 'P')
DECLARE_OVERLAP_INSN(pmulsu_w_h11, 'P')
DECLARE_OVERLAP_INSN(pmulu_w_h00, 'P')
DECLARE_OVERLAP_INSN(pmulu_w_h01, 'P')
DECLARE_OVERLAP_INSN(pmulu_w_h11, 'P')
DECLARE_OVERLAP_INSN(pmacc_w_h00, 'P')
DECLARE_OVERLAP_INSN(pmacc_w_h01, 'P')
DECLARE_OVERLAP_INSN(pmacc_w_h11, 'P')
DECLARE_OVERLAP_INSN(pmaccsu_w_h00, 'P')
DECLARE_OVERLAP_INSN(pmaccsu_w_h11, 'P')
DECLARE_OVERLAP_INSN(pmaccu_w_h00, 'P')
DECLARE_OVERLAP_INSN(pmaccu_w_h01, 'P')
DECLARE_OVERLAP_INSN(pmaccu_w_h11, 'P')
DECLARE_OVERLAP_INSN(pmhacc_w, 'P')
DECLARE_OVERLAP_INSN(pmhacc_w_h0, 'P')
DECLARE_OVERLAP_INSN(pmhacc_w_h1, 'P')
DECLARE_OVERLAP_INSN(pmhaccsu_w, 'P')
DECLARE_OVERLAP_INSN(pmhaccsu_w_h0, 'P')
DECLARE_OVERLAP_INSN(pmhaccsu_w_h1, 'P')
DECLARE_OVERLAP_INSN(pmhaccu_w, 'P')
DECLARE_OVERLAP_INSN(pmhracc_w, 'P')
DECLARE_OVERLAP_INSN(pmhraccsu_w, 'P')
DECLARE_OVERLAP_INSN(pmhraccu_w, 'P')
DECLARE_OVERLAP_INSN(pmqacc_w_h00, 'P')
DECLARE_OVERLAP_INSN(pmqacc_w_h01, 'P')
DECLARE_OVERLAP_INSN(pmqacc_w_h11, 'P')
DECLARE_OVERLAP_INSN(pmqracc_w_h00, 'P')
DECLARE_OVERLAP_INSN(pmqracc_w_h01, 'P')
DECLARE_OVERLAP_INSN(pmqracc_w_h11, 'P')
DECLARE_OVERLAP_INSN(psshl_ws, 'P')
DECLARE_OVERLAP_INSN(psshlr_ws, 'P')
