mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2026-10-28 11:54:41 +08:00
disas/riscv: Support vabs.v pseudo-instruction
Reviewed-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> Signed-off-by: Mingliang Liu <liumingliang.dev@bytedance.com> Tested-by: Chao Liu <chao.liu@processmission.com> Message-ID: <20261015134337.3354723-3-liumingliang.dev@bytedance.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
1 parent
cbd96310ad
commit
937b7e33e0
2 files changed
+8
-1
No files matched your search
@@ -491,9 +491,10 @@ OP(vaadd_vx, "vaadd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
|
||||
OP(vaaddu_vv, "vaaddu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
|
||||
OP(vaaddu_vx, "vaaddu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
|
||||
OP(vabd_vv, "vabd.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
|
||||
OP(vabd_vx, "vabd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
|
||||
OP(vabd_vx, "vabd.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm, rvcp_vabd_vx)
|
||||
OP(vabdu_vv, "vabdu.vv", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vm)
|
||||
OP(vabdu_vx, "vabdu.vx", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vm)
|
||||
OP(vabs_v, "vabs.v", rv_codec_illegal, rv_fmt_vd_vs2_vm)
|
||||
OP(vadc_vim, "vadc.vim", rv_codec_v_i, rv_fmt_vd_vs2_imm_vl)
|
||||
OP(vadc_vvm, "vadc.vvm", rv_codec_v_r, rv_fmt_vd_vs2_vs1_vl)
|
||||
OP(vadc_vxm, "vadc.vxm", rv_codec_v_r, rv_fmt_vd_vs2_rs1_vl)
|
||||
|
||||
@@ -104,6 +104,7 @@ static const rvc_constraint rvcc_j[] = { rvc_rd_eq_x0, rvc_end };
|
||||
static const rvc_constraint rvcc_ret[] = { rvc_rs1_eq_ra, rvc_end };
|
||||
static const rvc_constraint rvcc_jr[] = { rvc_rd_eq_x0, rvc_imm_eq_zero,
|
||||
rvc_end };
|
||||
static const rvc_constraint rvcc_vabs_v[] = { rvc_rs1_eq_x0, rvc_end };
|
||||
static const rvc_constraint rvcc_true[] = { rvc_end };
|
||||
|
||||
/* pseudo-instruction metadata */
|
||||
@@ -243,6 +244,11 @@ static const rv_comp_data rvcp_fsgnjx_q[] = {
|
||||
{ },
|
||||
};
|
||||
|
||||
static const rv_comp_data rvcp_vabd_vx[] = {
|
||||
{ &op_vabs_v, rvcc_vabs_v },
|
||||
{ },
|
||||
};
|
||||
|
||||
/* Convert compressed insns into normal insns via pseudo expansion. */
|
||||
#define DECOMP(X) &(const rv_comp_data){ &X, rvcc_true }
|
||||
|
||||
|
||||
Reference in new issue
Block a user