mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 01:03:55 -06:00
target/riscv: vector slide instructions
Signed-off-by: LIU Zhiwei <zhiwei_liu@c-sky.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20200701152549.1218-59-zhiwei_liu@c-sky.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
2843420a56
commit
ec17e03688
4 changed files with 155 additions and 0 deletions
|
@ -2758,3 +2758,21 @@ static bool trans_vfmv_s_f(DisasContext *s, arg_vfmv_s_f *a)
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Vector Slide Instructions */
|
||||
static bool slideup_check(DisasContext *s, arg_rmrr *a)
|
||||
{
|
||||
return (vext_check_isa_ill(s) &&
|
||||
vext_check_overlap_mask(s, a->rd, a->vm, true) &&
|
||||
vext_check_reg(s, a->rd, false) &&
|
||||
vext_check_reg(s, a->rs2, false) &&
|
||||
(a->rd != a->rs2));
|
||||
}
|
||||
|
||||
GEN_OPIVX_TRANS(vslideup_vx, slideup_check)
|
||||
GEN_OPIVX_TRANS(vslide1up_vx, slideup_check)
|
||||
GEN_OPIVI_TRANS(vslideup_vi, 1, vslideup_vx, slideup_check)
|
||||
|
||||
GEN_OPIVX_TRANS(vslidedown_vx, opivx_check)
|
||||
GEN_OPIVX_TRANS(vslide1down_vx, opivx_check)
|
||||
GEN_OPIVI_TRANS(vslidedown_vi, 1, vslidedown_vx, opivx_check)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue