mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
target/loongarch: Implement vbitsel vset
This patch includes: - VBITSEL.V; - VBITSELI.B; - VSET{EQZ/NEZ}.V; - VSETANYEQZ.{B/H/W/D}; - VSETALLNEZ.{B/H/W/D}. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Song Gao <gaosong@loongson.cn> Message-Id: <20230504122810.4094787-38-gaosong@loongson.cn>
This commit is contained in:
parent
386c4e86d0
commit
d0dfa19a7b
5 changed files with 174 additions and 0 deletions
|
@ -792,6 +792,12 @@ static bool trans_##insn(DisasContext *ctx, arg_##type * a) \
|
|||
return true; \
|
||||
}
|
||||
|
||||
static void output_cv(DisasContext *ctx, arg_cv *a,
|
||||
const char *mnemonic)
|
||||
{
|
||||
output(ctx, mnemonic, "fcc%d, v%d", a->cd, a->vj);
|
||||
}
|
||||
|
||||
static void output_vvv(DisasContext *ctx, arg_vvv *a, const char *mnemonic)
|
||||
{
|
||||
output(ctx, mnemonic, "v%d, v%d, v%d", a->vd, a->vj, a->vk);
|
||||
|
@ -1541,3 +1547,17 @@ static bool trans_vfcmp_cond_##suffix(DisasContext *ctx, \
|
|||
|
||||
LSX_FCMP_INSN(s)
|
||||
LSX_FCMP_INSN(d)
|
||||
|
||||
INSN_LSX(vbitsel_v, vvvv)
|
||||
INSN_LSX(vbitseli_b, vv_i)
|
||||
|
||||
INSN_LSX(vseteqz_v, cv)
|
||||
INSN_LSX(vsetnez_v, cv)
|
||||
INSN_LSX(vsetanyeqz_b, cv)
|
||||
INSN_LSX(vsetanyeqz_h, cv)
|
||||
INSN_LSX(vsetanyeqz_w, cv)
|
||||
INSN_LSX(vsetanyeqz_d, cv)
|
||||
INSN_LSX(vsetallnez_b, cv)
|
||||
INSN_LSX(vsetallnez_h, cv)
|
||||
INSN_LSX(vsetallnez_w, cv)
|
||||
INSN_LSX(vsetallnez_d, cv)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue