mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-09-03 23:41:53 -06:00
Add LASX instructions support.
-----BEGIN PGP SIGNATURE----- iLMEAAEIAB0WIQS4/x2g0v3LLaCcbCxAov/yOSY+3wUCZQqV7wAKCRBAov/yOSY+ 35GTA/9rXGbr9pIUnlGstUnWzIJb0vs6f4kt9DaKRPF1zyxaF/59sgl3gqCNAjBA eAKfm5W4B8ABJ+PYR3ZVAg9AcAP9AOEi+qV6DgRwvYPPK3WbGqIpJL7i+7gNMMUs gppv+IfJEkri8YLXXa7GWffuGOebqdqyD6Pl1B2eiKS4KYSRGw== =fNr2 -----END PGP SIGNATURE----- Merge tag 'pull-loongarch-20230920' of https://gitlab.com/gaosong/qemu into staging Add LASX instructions support. # -----BEGIN PGP SIGNATURE----- # # iLMEAAEIAB0WIQS4/x2g0v3LLaCcbCxAov/yOSY+3wUCZQqV7wAKCRBAov/yOSY+ # 35GTA/9rXGbr9pIUnlGstUnWzIJb0vs6f4kt9DaKRPF1zyxaF/59sgl3gqCNAjBA # eAKfm5W4B8ABJ+PYR3ZVAg9AcAP9AOEi+qV6DgRwvYPPK3WbGqIpJL7i+7gNMMUs # gppv+IfJEkri8YLXXa7GWffuGOebqdqyD6Pl1B2eiKS4KYSRGw== # =fNr2 # -----END PGP SIGNATURE----- # gpg: Signature made Wed 20 Sep 2023 02:49:19 EDT # gpg: using RSA key B8FF1DA0D2FDCB2DA09C6C2C40A2FFF239263EDF # gpg: Good signature from "Song Gao <m17746591750@163.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: B8FF 1DA0 D2FD CB2D A09C 6C2C 40A2 FFF2 3926 3EDF * tag 'pull-loongarch-20230920' of https://gitlab.com/gaosong/qemu: (57 commits) target/loongarch: CPUCFG support LASX target/loongarch: Move simply DO_XX marcos togther target/loongarch: Implement xvld xvst target/loongarch: Implement xvshuf xvperm{i} xvshuf4i target/loongarch: Implement xvpack xvpick xvilv{l/h} target/loongarch: Implement xvreplve xvinsve0 xvpickve target/loongarch: Implement xvinsgr2vr xvpickve2gr target/loongarch: Implement xvbitsel xvset target/loongarch: Implement xvfcmp target/loongarch: Implement xvseq xvsle xvslt target/loongarch: Implement LASX fpu fcvt instructions target/loongarch: Implement LASX fpu arith instructions target/loongarch: Implement xvfrstp target/loongarch: Implement xvbitclr xvbitset xvbitrev target/loongarch: Implement xvpcnt target/loongarch: Implement xvclo xvclz target/loongarch: Implement xvssrlrn xvssrarn target/loongarch: Implement xvssrln xvssran target/loongarch: Implement xvsrlrn xvsrarn target/loongarch: Implement xvsrln xvsran ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
commit
55394dcbec
16 changed files with 7350 additions and 4051 deletions
|
@ -12,6 +12,7 @@
|
||||||
#include "linux-user/trace.h"
|
#include "linux-user/trace.h"
|
||||||
|
|
||||||
#include "target/loongarch/internals.h"
|
#include "target/loongarch/internals.h"
|
||||||
|
#include "target/loongarch/vec.h"
|
||||||
|
|
||||||
/* FP context was used */
|
/* FP context was used */
|
||||||
#define SC_USED_FP (1 << 0)
|
#define SC_USED_FP (1 << 0)
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include "cpu-csr.h"
|
#include "cpu-csr.h"
|
||||||
#include "sysemu/reset.h"
|
#include "sysemu/reset.h"
|
||||||
#include "tcg/tcg.h"
|
#include "tcg/tcg.h"
|
||||||
|
#include "vec.h"
|
||||||
|
|
||||||
const char * const regnames[32] = {
|
const char * const regnames[32] = {
|
||||||
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
|
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
|
||||||
|
@ -54,6 +55,7 @@ static const char * const excp_names[] = {
|
||||||
[EXCCODE_DBP] = "Debug breakpoint",
|
[EXCCODE_DBP] = "Debug breakpoint",
|
||||||
[EXCCODE_BCE] = "Bound Check Exception",
|
[EXCCODE_BCE] = "Bound Check Exception",
|
||||||
[EXCCODE_SXD] = "128 bit vector instructions Disable exception",
|
[EXCCODE_SXD] = "128 bit vector instructions Disable exception",
|
||||||
|
[EXCCODE_ASXD] = "256 bit vector instructions Disable exception",
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *loongarch_exception_name(int32_t exception)
|
const char *loongarch_exception_name(int32_t exception)
|
||||||
|
@ -189,6 +191,7 @@ static void loongarch_cpu_do_interrupt(CPUState *cs)
|
||||||
case EXCCODE_FPD:
|
case EXCCODE_FPD:
|
||||||
case EXCCODE_FPE:
|
case EXCCODE_FPE:
|
||||||
case EXCCODE_SXD:
|
case EXCCODE_SXD:
|
||||||
|
case EXCCODE_ASXD:
|
||||||
env->CSR_BADV = env->pc;
|
env->CSR_BADV = env->pc;
|
||||||
QEMU_FALLTHROUGH;
|
QEMU_FALLTHROUGH;
|
||||||
case EXCCODE_BCE:
|
case EXCCODE_BCE:
|
||||||
|
@ -390,6 +393,7 @@ static void loongarch_la464_initfn(Object *obj)
|
||||||
data = FIELD_DP32(data, CPUCFG2, FP_DP, 1);
|
data = FIELD_DP32(data, CPUCFG2, FP_DP, 1);
|
||||||
data = FIELD_DP32(data, CPUCFG2, FP_VER, 1);
|
data = FIELD_DP32(data, CPUCFG2, FP_VER, 1);
|
||||||
data = FIELD_DP32(data, CPUCFG2, LSX, 1),
|
data = FIELD_DP32(data, CPUCFG2, LSX, 1),
|
||||||
|
data = FIELD_DP32(data, CPUCFG2, LASX, 1),
|
||||||
data = FIELD_DP32(data, CPUCFG2, LLFTP, 1);
|
data = FIELD_DP32(data, CPUCFG2, LLFTP, 1);
|
||||||
data = FIELD_DP32(data, CPUCFG2, LLFTP_VER, 1);
|
data = FIELD_DP32(data, CPUCFG2, LLFTP_VER, 1);
|
||||||
data = FIELD_DP32(data, CPUCFG2, LSPW, 1);
|
data = FIELD_DP32(data, CPUCFG2, LSPW, 1);
|
||||||
|
|
|
@ -252,17 +252,19 @@ FIELD(TLB_MISC, VPPN, 13, 35)
|
||||||
FIELD(TLB_MISC, PS, 48, 6)
|
FIELD(TLB_MISC, PS, 48, 6)
|
||||||
|
|
||||||
#define LSX_LEN (128)
|
#define LSX_LEN (128)
|
||||||
|
#define LASX_LEN (256)
|
||||||
|
|
||||||
typedef union VReg {
|
typedef union VReg {
|
||||||
int8_t B[LSX_LEN / 8];
|
int8_t B[LASX_LEN / 8];
|
||||||
int16_t H[LSX_LEN / 16];
|
int16_t H[LASX_LEN / 16];
|
||||||
int32_t W[LSX_LEN / 32];
|
int32_t W[LASX_LEN / 32];
|
||||||
int64_t D[LSX_LEN / 64];
|
int64_t D[LASX_LEN / 64];
|
||||||
uint8_t UB[LSX_LEN / 8];
|
uint8_t UB[LASX_LEN / 8];
|
||||||
uint16_t UH[LSX_LEN / 16];
|
uint16_t UH[LASX_LEN / 16];
|
||||||
uint32_t UW[LSX_LEN / 32];
|
uint32_t UW[LASX_LEN / 32];
|
||||||
uint64_t UD[LSX_LEN / 64];
|
uint64_t UD[LASX_LEN / 64];
|
||||||
Int128 Q[LSX_LEN / 128];
|
Int128 Q[LASX_LEN / 128];
|
||||||
}VReg;
|
} VReg;
|
||||||
|
|
||||||
typedef union fpr_t fpr_t;
|
typedef union fpr_t fpr_t;
|
||||||
union fpr_t {
|
union fpr_t {
|
||||||
|
@ -460,6 +462,7 @@ static inline void set_pc(CPULoongArchState *env, uint64_t value)
|
||||||
#define HW_FLAGS_CRMD_PG R_CSR_CRMD_PG_MASK /* 0x10 */
|
#define HW_FLAGS_CRMD_PG R_CSR_CRMD_PG_MASK /* 0x10 */
|
||||||
#define HW_FLAGS_EUEN_FPE 0x04
|
#define HW_FLAGS_EUEN_FPE 0x04
|
||||||
#define HW_FLAGS_EUEN_SXE 0x08
|
#define HW_FLAGS_EUEN_SXE 0x08
|
||||||
|
#define HW_FLAGS_EUEN_ASXE 0x10
|
||||||
#define HW_FLAGS_VA32 0x20
|
#define HW_FLAGS_VA32 0x20
|
||||||
|
|
||||||
static inline void cpu_get_tb_cpu_state(CPULoongArchState *env, vaddr *pc,
|
static inline void cpu_get_tb_cpu_state(CPULoongArchState *env, vaddr *pc,
|
||||||
|
@ -470,6 +473,7 @@ static inline void cpu_get_tb_cpu_state(CPULoongArchState *env, vaddr *pc,
|
||||||
*flags = env->CSR_CRMD & (R_CSR_CRMD_PLV_MASK | R_CSR_CRMD_PG_MASK);
|
*flags = env->CSR_CRMD & (R_CSR_CRMD_PLV_MASK | R_CSR_CRMD_PG_MASK);
|
||||||
*flags |= FIELD_EX64(env->CSR_EUEN, CSR_EUEN, FPE) * HW_FLAGS_EUEN_FPE;
|
*flags |= FIELD_EX64(env->CSR_EUEN, CSR_EUEN, FPE) * HW_FLAGS_EUEN_FPE;
|
||||||
*flags |= FIELD_EX64(env->CSR_EUEN, CSR_EUEN, SXE) * HW_FLAGS_EUEN_SXE;
|
*flags |= FIELD_EX64(env->CSR_EUEN, CSR_EUEN, SXE) * HW_FLAGS_EUEN_SXE;
|
||||||
|
*flags |= FIELD_EX64(env->CSR_EUEN, CSR_EUEN, ASXE) * HW_FLAGS_EUEN_ASXE;
|
||||||
*flags |= is_va32(env) * HW_FLAGS_VA32;
|
*flags |= is_va32(env) * HW_FLAGS_VA32;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1695,3 +1695,927 @@ INSN_LSX(vstelm_d, vr_ii)
|
||||||
INSN_LSX(vstelm_w, vr_ii)
|
INSN_LSX(vstelm_w, vr_ii)
|
||||||
INSN_LSX(vstelm_h, vr_ii)
|
INSN_LSX(vstelm_h, vr_ii)
|
||||||
INSN_LSX(vstelm_b, vr_ii)
|
INSN_LSX(vstelm_b, vr_ii)
|
||||||
|
|
||||||
|
#define INSN_LASX(insn, type) \
|
||||||
|
static bool trans_##insn(DisasContext *ctx, arg_##type * a) \
|
||||||
|
{ \
|
||||||
|
output_##type ## _x(ctx, a, #insn); \
|
||||||
|
return true; \
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_cv_x(DisasContext *ctx, arg_cv *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "fcc%d, x%d", a->cd, a->vj);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_v_i_x(DisasContext *ctx, arg_v_i *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, 0x%x", a->vd, a->imm);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vvvv_x(DisasContext *ctx, arg_vvvv *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, x%d, x%d, x%d", a->vd, a->vj, a->vk, a->va);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vvv_x(DisasContext *ctx, arg_vvv * a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, x%d, x%d", a->vd, a->vj, a->vk);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vr_x(DisasContext *ctx, arg_vr *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, r%d", a->vd, a->rj);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vv_i_x(DisasContext *ctx, arg_vv_i *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, x%d, 0x%x", a->vd, a->vj, a->imm);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vv_x(DisasContext *ctx, arg_vv *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, x%d", a->vd, a->vj);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vr_i_x(DisasContext *ctx, arg_vr_i *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, r%d, 0x%x", a->vd, a->rj, a->imm);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_rv_i_x(DisasContext *ctx, arg_rv_i *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "r%d, x%d, 0x%x", a->rd, a->vj, a->imm);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vvr_x(DisasContext *ctx, arg_vvr *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, x%d, r%d", a->vd, a->vj, a->rk);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vrr_x(DisasContext *ctx, arg_vrr *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, r%d, r%d", a->vd, a->rj, a->rk);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void output_vr_ii_x(DisasContext *ctx, arg_vr_ii *a, const char *mnemonic)
|
||||||
|
{
|
||||||
|
output(ctx, mnemonic, "x%d, r%d, 0x%x, 0x%x", a->vd, a->rj, a->imm, a->imm2);
|
||||||
|
}
|
||||||
|
|
||||||
|
INSN_LASX(xvadd_b, vvv)
|
||||||
|
INSN_LASX(xvadd_h, vvv)
|
||||||
|
INSN_LASX(xvadd_w, vvv)
|
||||||
|
INSN_LASX(xvadd_d, vvv)
|
||||||
|
INSN_LASX(xvadd_q, vvv)
|
||||||
|
INSN_LASX(xvsub_b, vvv)
|
||||||
|
INSN_LASX(xvsub_h, vvv)
|
||||||
|
INSN_LASX(xvsub_w, vvv)
|
||||||
|
INSN_LASX(xvsub_d, vvv)
|
||||||
|
INSN_LASX(xvsub_q, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvaddi_bu, vv_i)
|
||||||
|
INSN_LASX(xvaddi_hu, vv_i)
|
||||||
|
INSN_LASX(xvaddi_wu, vv_i)
|
||||||
|
INSN_LASX(xvaddi_du, vv_i)
|
||||||
|
INSN_LASX(xvsubi_bu, vv_i)
|
||||||
|
INSN_LASX(xvsubi_hu, vv_i)
|
||||||
|
INSN_LASX(xvsubi_wu, vv_i)
|
||||||
|
INSN_LASX(xvsubi_du, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvneg_b, vv)
|
||||||
|
INSN_LASX(xvneg_h, vv)
|
||||||
|
INSN_LASX(xvneg_w, vv)
|
||||||
|
INSN_LASX(xvneg_d, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvsadd_b, vvv)
|
||||||
|
INSN_LASX(xvsadd_h, vvv)
|
||||||
|
INSN_LASX(xvsadd_w, vvv)
|
||||||
|
INSN_LASX(xvsadd_d, vvv)
|
||||||
|
INSN_LASX(xvsadd_bu, vvv)
|
||||||
|
INSN_LASX(xvsadd_hu, vvv)
|
||||||
|
INSN_LASX(xvsadd_wu, vvv)
|
||||||
|
INSN_LASX(xvsadd_du, vvv)
|
||||||
|
INSN_LASX(xvssub_b, vvv)
|
||||||
|
INSN_LASX(xvssub_h, vvv)
|
||||||
|
INSN_LASX(xvssub_w, vvv)
|
||||||
|
INSN_LASX(xvssub_d, vvv)
|
||||||
|
INSN_LASX(xvssub_bu, vvv)
|
||||||
|
INSN_LASX(xvssub_hu, vvv)
|
||||||
|
INSN_LASX(xvssub_wu, vvv)
|
||||||
|
INSN_LASX(xvssub_du, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvhaddw_h_b, vvv)
|
||||||
|
INSN_LASX(xvhaddw_w_h, vvv)
|
||||||
|
INSN_LASX(xvhaddw_d_w, vvv)
|
||||||
|
INSN_LASX(xvhaddw_q_d, vvv)
|
||||||
|
INSN_LASX(xvhaddw_hu_bu, vvv)
|
||||||
|
INSN_LASX(xvhaddw_wu_hu, vvv)
|
||||||
|
INSN_LASX(xvhaddw_du_wu, vvv)
|
||||||
|
INSN_LASX(xvhaddw_qu_du, vvv)
|
||||||
|
INSN_LASX(xvhsubw_h_b, vvv)
|
||||||
|
INSN_LASX(xvhsubw_w_h, vvv)
|
||||||
|
INSN_LASX(xvhsubw_d_w, vvv)
|
||||||
|
INSN_LASX(xvhsubw_q_d, vvv)
|
||||||
|
INSN_LASX(xvhsubw_hu_bu, vvv)
|
||||||
|
INSN_LASX(xvhsubw_wu_hu, vvv)
|
||||||
|
INSN_LASX(xvhsubw_du_wu, vvv)
|
||||||
|
INSN_LASX(xvhsubw_qu_du, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvaddwev_h_b, vvv)
|
||||||
|
INSN_LASX(xvaddwev_w_h, vvv)
|
||||||
|
INSN_LASX(xvaddwev_d_w, vvv)
|
||||||
|
INSN_LASX(xvaddwev_q_d, vvv)
|
||||||
|
INSN_LASX(xvaddwod_h_b, vvv)
|
||||||
|
INSN_LASX(xvaddwod_w_h, vvv)
|
||||||
|
INSN_LASX(xvaddwod_d_w, vvv)
|
||||||
|
INSN_LASX(xvaddwod_q_d, vvv)
|
||||||
|
INSN_LASX(xvsubwev_h_b, vvv)
|
||||||
|
INSN_LASX(xvsubwev_w_h, vvv)
|
||||||
|
INSN_LASX(xvsubwev_d_w, vvv)
|
||||||
|
INSN_LASX(xvsubwev_q_d, vvv)
|
||||||
|
INSN_LASX(xvsubwod_h_b, vvv)
|
||||||
|
INSN_LASX(xvsubwod_w_h, vvv)
|
||||||
|
INSN_LASX(xvsubwod_d_w, vvv)
|
||||||
|
INSN_LASX(xvsubwod_q_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvaddwev_h_bu, vvv)
|
||||||
|
INSN_LASX(xvaddwev_w_hu, vvv)
|
||||||
|
INSN_LASX(xvaddwev_d_wu, vvv)
|
||||||
|
INSN_LASX(xvaddwev_q_du, vvv)
|
||||||
|
INSN_LASX(xvaddwod_h_bu, vvv)
|
||||||
|
INSN_LASX(xvaddwod_w_hu, vvv)
|
||||||
|
INSN_LASX(xvaddwod_d_wu, vvv)
|
||||||
|
INSN_LASX(xvaddwod_q_du, vvv)
|
||||||
|
INSN_LASX(xvsubwev_h_bu, vvv)
|
||||||
|
INSN_LASX(xvsubwev_w_hu, vvv)
|
||||||
|
INSN_LASX(xvsubwev_d_wu, vvv)
|
||||||
|
INSN_LASX(xvsubwev_q_du, vvv)
|
||||||
|
INSN_LASX(xvsubwod_h_bu, vvv)
|
||||||
|
INSN_LASX(xvsubwod_w_hu, vvv)
|
||||||
|
INSN_LASX(xvsubwod_d_wu, vvv)
|
||||||
|
INSN_LASX(xvsubwod_q_du, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvaddwev_h_bu_b, vvv)
|
||||||
|
INSN_LASX(xvaddwev_w_hu_h, vvv)
|
||||||
|
INSN_LASX(xvaddwev_d_wu_w, vvv)
|
||||||
|
INSN_LASX(xvaddwev_q_du_d, vvv)
|
||||||
|
INSN_LASX(xvaddwod_h_bu_b, vvv)
|
||||||
|
INSN_LASX(xvaddwod_w_hu_h, vvv)
|
||||||
|
INSN_LASX(xvaddwod_d_wu_w, vvv)
|
||||||
|
INSN_LASX(xvaddwod_q_du_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvavg_b, vvv)
|
||||||
|
INSN_LASX(xvavg_h, vvv)
|
||||||
|
INSN_LASX(xvavg_w, vvv)
|
||||||
|
INSN_LASX(xvavg_d, vvv)
|
||||||
|
INSN_LASX(xvavg_bu, vvv)
|
||||||
|
INSN_LASX(xvavg_hu, vvv)
|
||||||
|
INSN_LASX(xvavg_wu, vvv)
|
||||||
|
INSN_LASX(xvavg_du, vvv)
|
||||||
|
INSN_LASX(xvavgr_b, vvv)
|
||||||
|
INSN_LASX(xvavgr_h, vvv)
|
||||||
|
INSN_LASX(xvavgr_w, vvv)
|
||||||
|
INSN_LASX(xvavgr_d, vvv)
|
||||||
|
INSN_LASX(xvavgr_bu, vvv)
|
||||||
|
INSN_LASX(xvavgr_hu, vvv)
|
||||||
|
INSN_LASX(xvavgr_wu, vvv)
|
||||||
|
INSN_LASX(xvavgr_du, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvabsd_b, vvv)
|
||||||
|
INSN_LASX(xvabsd_h, vvv)
|
||||||
|
INSN_LASX(xvabsd_w, vvv)
|
||||||
|
INSN_LASX(xvabsd_d, vvv)
|
||||||
|
INSN_LASX(xvabsd_bu, vvv)
|
||||||
|
INSN_LASX(xvabsd_hu, vvv)
|
||||||
|
INSN_LASX(xvabsd_wu, vvv)
|
||||||
|
INSN_LASX(xvabsd_du, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvadda_b, vvv)
|
||||||
|
INSN_LASX(xvadda_h, vvv)
|
||||||
|
INSN_LASX(xvadda_w, vvv)
|
||||||
|
INSN_LASX(xvadda_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvmax_b, vvv)
|
||||||
|
INSN_LASX(xvmax_h, vvv)
|
||||||
|
INSN_LASX(xvmax_w, vvv)
|
||||||
|
INSN_LASX(xvmax_d, vvv)
|
||||||
|
INSN_LASX(xvmin_b, vvv)
|
||||||
|
INSN_LASX(xvmin_h, vvv)
|
||||||
|
INSN_LASX(xvmin_w, vvv)
|
||||||
|
INSN_LASX(xvmin_d, vvv)
|
||||||
|
INSN_LASX(xvmax_bu, vvv)
|
||||||
|
INSN_LASX(xvmax_hu, vvv)
|
||||||
|
INSN_LASX(xvmax_wu, vvv)
|
||||||
|
INSN_LASX(xvmax_du, vvv)
|
||||||
|
INSN_LASX(xvmin_bu, vvv)
|
||||||
|
INSN_LASX(xvmin_hu, vvv)
|
||||||
|
INSN_LASX(xvmin_wu, vvv)
|
||||||
|
INSN_LASX(xvmin_du, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvmaxi_b, vv_i)
|
||||||
|
INSN_LASX(xvmaxi_h, vv_i)
|
||||||
|
INSN_LASX(xvmaxi_w, vv_i)
|
||||||
|
INSN_LASX(xvmaxi_d, vv_i)
|
||||||
|
INSN_LASX(xvmini_b, vv_i)
|
||||||
|
INSN_LASX(xvmini_h, vv_i)
|
||||||
|
INSN_LASX(xvmini_w, vv_i)
|
||||||
|
INSN_LASX(xvmini_d, vv_i)
|
||||||
|
INSN_LASX(xvmaxi_bu, vv_i)
|
||||||
|
INSN_LASX(xvmaxi_hu, vv_i)
|
||||||
|
INSN_LASX(xvmaxi_wu, vv_i)
|
||||||
|
INSN_LASX(xvmaxi_du, vv_i)
|
||||||
|
INSN_LASX(xvmini_bu, vv_i)
|
||||||
|
INSN_LASX(xvmini_hu, vv_i)
|
||||||
|
INSN_LASX(xvmini_wu, vv_i)
|
||||||
|
INSN_LASX(xvmini_du, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvmul_b, vvv)
|
||||||
|
INSN_LASX(xvmul_h, vvv)
|
||||||
|
INSN_LASX(xvmul_w, vvv)
|
||||||
|
INSN_LASX(xvmul_d, vvv)
|
||||||
|
INSN_LASX(xvmuh_b, vvv)
|
||||||
|
INSN_LASX(xvmuh_h, vvv)
|
||||||
|
INSN_LASX(xvmuh_w, vvv)
|
||||||
|
INSN_LASX(xvmuh_d, vvv)
|
||||||
|
INSN_LASX(xvmuh_bu, vvv)
|
||||||
|
INSN_LASX(xvmuh_hu, vvv)
|
||||||
|
INSN_LASX(xvmuh_wu, vvv)
|
||||||
|
INSN_LASX(xvmuh_du, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvmulwev_h_b, vvv)
|
||||||
|
INSN_LASX(xvmulwev_w_h, vvv)
|
||||||
|
INSN_LASX(xvmulwev_d_w, vvv)
|
||||||
|
INSN_LASX(xvmulwev_q_d, vvv)
|
||||||
|
INSN_LASX(xvmulwod_h_b, vvv)
|
||||||
|
INSN_LASX(xvmulwod_w_h, vvv)
|
||||||
|
INSN_LASX(xvmulwod_d_w, vvv)
|
||||||
|
INSN_LASX(xvmulwod_q_d, vvv)
|
||||||
|
INSN_LASX(xvmulwev_h_bu, vvv)
|
||||||
|
INSN_LASX(xvmulwev_w_hu, vvv)
|
||||||
|
INSN_LASX(xvmulwev_d_wu, vvv)
|
||||||
|
INSN_LASX(xvmulwev_q_du, vvv)
|
||||||
|
INSN_LASX(xvmulwod_h_bu, vvv)
|
||||||
|
INSN_LASX(xvmulwod_w_hu, vvv)
|
||||||
|
INSN_LASX(xvmulwod_d_wu, vvv)
|
||||||
|
INSN_LASX(xvmulwod_q_du, vvv)
|
||||||
|
INSN_LASX(xvmulwev_h_bu_b, vvv)
|
||||||
|
INSN_LASX(xvmulwev_w_hu_h, vvv)
|
||||||
|
INSN_LASX(xvmulwev_d_wu_w, vvv)
|
||||||
|
INSN_LASX(xvmulwev_q_du_d, vvv)
|
||||||
|
INSN_LASX(xvmulwod_h_bu_b, vvv)
|
||||||
|
INSN_LASX(xvmulwod_w_hu_h, vvv)
|
||||||
|
INSN_LASX(xvmulwod_d_wu_w, vvv)
|
||||||
|
INSN_LASX(xvmulwod_q_du_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvmadd_b, vvv)
|
||||||
|
INSN_LASX(xvmadd_h, vvv)
|
||||||
|
INSN_LASX(xvmadd_w, vvv)
|
||||||
|
INSN_LASX(xvmadd_d, vvv)
|
||||||
|
INSN_LASX(xvmsub_b, vvv)
|
||||||
|
INSN_LASX(xvmsub_h, vvv)
|
||||||
|
INSN_LASX(xvmsub_w, vvv)
|
||||||
|
INSN_LASX(xvmsub_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvmaddwev_h_b, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_w_h, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_d_w, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_q_d, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_h_b, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_w_h, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_d_w, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_q_d, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_h_bu, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_w_hu, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_d_wu, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_q_du, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_h_bu, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_w_hu, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_d_wu, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_q_du, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_h_bu_b, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_w_hu_h, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_d_wu_w, vvv)
|
||||||
|
INSN_LASX(xvmaddwev_q_du_d, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_h_bu_b, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_w_hu_h, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_d_wu_w, vvv)
|
||||||
|
INSN_LASX(xvmaddwod_q_du_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvdiv_b, vvv)
|
||||||
|
INSN_LASX(xvdiv_h, vvv)
|
||||||
|
INSN_LASX(xvdiv_w, vvv)
|
||||||
|
INSN_LASX(xvdiv_d, vvv)
|
||||||
|
INSN_LASX(xvdiv_bu, vvv)
|
||||||
|
INSN_LASX(xvdiv_hu, vvv)
|
||||||
|
INSN_LASX(xvdiv_wu, vvv)
|
||||||
|
INSN_LASX(xvdiv_du, vvv)
|
||||||
|
INSN_LASX(xvmod_b, vvv)
|
||||||
|
INSN_LASX(xvmod_h, vvv)
|
||||||
|
INSN_LASX(xvmod_w, vvv)
|
||||||
|
INSN_LASX(xvmod_d, vvv)
|
||||||
|
INSN_LASX(xvmod_bu, vvv)
|
||||||
|
INSN_LASX(xvmod_hu, vvv)
|
||||||
|
INSN_LASX(xvmod_wu, vvv)
|
||||||
|
INSN_LASX(xvmod_du, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvsat_b, vv_i)
|
||||||
|
INSN_LASX(xvsat_h, vv_i)
|
||||||
|
INSN_LASX(xvsat_w, vv_i)
|
||||||
|
INSN_LASX(xvsat_d, vv_i)
|
||||||
|
INSN_LASX(xvsat_bu, vv_i)
|
||||||
|
INSN_LASX(xvsat_hu, vv_i)
|
||||||
|
INSN_LASX(xvsat_wu, vv_i)
|
||||||
|
INSN_LASX(xvsat_du, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvexth_h_b, vv)
|
||||||
|
INSN_LASX(xvexth_w_h, vv)
|
||||||
|
INSN_LASX(xvexth_d_w, vv)
|
||||||
|
INSN_LASX(xvexth_q_d, vv)
|
||||||
|
INSN_LASX(xvexth_hu_bu, vv)
|
||||||
|
INSN_LASX(xvexth_wu_hu, vv)
|
||||||
|
INSN_LASX(xvexth_du_wu, vv)
|
||||||
|
INSN_LASX(xvexth_qu_du, vv)
|
||||||
|
|
||||||
|
INSN_LASX(vext2xv_h_b, vv)
|
||||||
|
INSN_LASX(vext2xv_w_b, vv)
|
||||||
|
INSN_LASX(vext2xv_d_b, vv)
|
||||||
|
INSN_LASX(vext2xv_w_h, vv)
|
||||||
|
INSN_LASX(vext2xv_d_h, vv)
|
||||||
|
INSN_LASX(vext2xv_d_w, vv)
|
||||||
|
INSN_LASX(vext2xv_hu_bu, vv)
|
||||||
|
INSN_LASX(vext2xv_wu_bu, vv)
|
||||||
|
INSN_LASX(vext2xv_du_bu, vv)
|
||||||
|
INSN_LASX(vext2xv_wu_hu, vv)
|
||||||
|
INSN_LASX(vext2xv_du_hu, vv)
|
||||||
|
INSN_LASX(vext2xv_du_wu, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvsigncov_b, vvv)
|
||||||
|
INSN_LASX(xvsigncov_h, vvv)
|
||||||
|
INSN_LASX(xvsigncov_w, vvv)
|
||||||
|
INSN_LASX(xvsigncov_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvmskltz_b, vv)
|
||||||
|
INSN_LASX(xvmskltz_h, vv)
|
||||||
|
INSN_LASX(xvmskltz_w, vv)
|
||||||
|
INSN_LASX(xvmskltz_d, vv)
|
||||||
|
INSN_LASX(xvmskgez_b, vv)
|
||||||
|
INSN_LASX(xvmsknz_b, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvldi, v_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvand_v, vvv)
|
||||||
|
INSN_LASX(xvor_v, vvv)
|
||||||
|
INSN_LASX(xvxor_v, vvv)
|
||||||
|
INSN_LASX(xvnor_v, vvv)
|
||||||
|
INSN_LASX(xvandn_v, vvv)
|
||||||
|
INSN_LASX(xvorn_v, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvandi_b, vv_i)
|
||||||
|
INSN_LASX(xvori_b, vv_i)
|
||||||
|
INSN_LASX(xvxori_b, vv_i)
|
||||||
|
INSN_LASX(xvnori_b, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvsll_b, vvv)
|
||||||
|
INSN_LASX(xvsll_h, vvv)
|
||||||
|
INSN_LASX(xvsll_w, vvv)
|
||||||
|
INSN_LASX(xvsll_d, vvv)
|
||||||
|
INSN_LASX(xvslli_b, vv_i)
|
||||||
|
INSN_LASX(xvslli_h, vv_i)
|
||||||
|
INSN_LASX(xvslli_w, vv_i)
|
||||||
|
INSN_LASX(xvslli_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvsrl_b, vvv)
|
||||||
|
INSN_LASX(xvsrl_h, vvv)
|
||||||
|
INSN_LASX(xvsrl_w, vvv)
|
||||||
|
INSN_LASX(xvsrl_d, vvv)
|
||||||
|
INSN_LASX(xvsrli_b, vv_i)
|
||||||
|
INSN_LASX(xvsrli_h, vv_i)
|
||||||
|
INSN_LASX(xvsrli_w, vv_i)
|
||||||
|
INSN_LASX(xvsrli_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvsra_b, vvv)
|
||||||
|
INSN_LASX(xvsra_h, vvv)
|
||||||
|
INSN_LASX(xvsra_w, vvv)
|
||||||
|
INSN_LASX(xvsra_d, vvv)
|
||||||
|
INSN_LASX(xvsrai_b, vv_i)
|
||||||
|
INSN_LASX(xvsrai_h, vv_i)
|
||||||
|
INSN_LASX(xvsrai_w, vv_i)
|
||||||
|
INSN_LASX(xvsrai_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvrotr_b, vvv)
|
||||||
|
INSN_LASX(xvrotr_h, vvv)
|
||||||
|
INSN_LASX(xvrotr_w, vvv)
|
||||||
|
INSN_LASX(xvrotr_d, vvv)
|
||||||
|
INSN_LASX(xvrotri_b, vv_i)
|
||||||
|
INSN_LASX(xvrotri_h, vv_i)
|
||||||
|
INSN_LASX(xvrotri_w, vv_i)
|
||||||
|
INSN_LASX(xvrotri_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvsllwil_h_b, vv_i)
|
||||||
|
INSN_LASX(xvsllwil_w_h, vv_i)
|
||||||
|
INSN_LASX(xvsllwil_d_w, vv_i)
|
||||||
|
INSN_LASX(xvextl_q_d, vv)
|
||||||
|
INSN_LASX(xvsllwil_hu_bu, vv_i)
|
||||||
|
INSN_LASX(xvsllwil_wu_hu, vv_i)
|
||||||
|
INSN_LASX(xvsllwil_du_wu, vv_i)
|
||||||
|
INSN_LASX(xvextl_qu_du, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvsrlr_b, vvv)
|
||||||
|
INSN_LASX(xvsrlr_h, vvv)
|
||||||
|
INSN_LASX(xvsrlr_w, vvv)
|
||||||
|
INSN_LASX(xvsrlr_d, vvv)
|
||||||
|
INSN_LASX(xvsrlri_b, vv_i)
|
||||||
|
INSN_LASX(xvsrlri_h, vv_i)
|
||||||
|
INSN_LASX(xvsrlri_w, vv_i)
|
||||||
|
INSN_LASX(xvsrlri_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvsrar_b, vvv)
|
||||||
|
INSN_LASX(xvsrar_h, vvv)
|
||||||
|
INSN_LASX(xvsrar_w, vvv)
|
||||||
|
INSN_LASX(xvsrar_d, vvv)
|
||||||
|
INSN_LASX(xvsrari_b, vv_i)
|
||||||
|
INSN_LASX(xvsrari_h, vv_i)
|
||||||
|
INSN_LASX(xvsrari_w, vv_i)
|
||||||
|
INSN_LASX(xvsrari_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvsrln_b_h, vvv)
|
||||||
|
INSN_LASX(xvsrln_h_w, vvv)
|
||||||
|
INSN_LASX(xvsrln_w_d, vvv)
|
||||||
|
INSN_LASX(xvsran_b_h, vvv)
|
||||||
|
INSN_LASX(xvsran_h_w, vvv)
|
||||||
|
INSN_LASX(xvsran_w_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvsrlni_b_h, vv_i)
|
||||||
|
INSN_LASX(xvsrlni_h_w, vv_i)
|
||||||
|
INSN_LASX(xvsrlni_w_d, vv_i)
|
||||||
|
INSN_LASX(xvsrlni_d_q, vv_i)
|
||||||
|
INSN_LASX(xvsrani_b_h, vv_i)
|
||||||
|
INSN_LASX(xvsrani_h_w, vv_i)
|
||||||
|
INSN_LASX(xvsrani_w_d, vv_i)
|
||||||
|
INSN_LASX(xvsrani_d_q, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvsrlrn_b_h, vvv)
|
||||||
|
INSN_LASX(xvsrlrn_h_w, vvv)
|
||||||
|
INSN_LASX(xvsrlrn_w_d, vvv)
|
||||||
|
INSN_LASX(xvsrarn_b_h, vvv)
|
||||||
|
INSN_LASX(xvsrarn_h_w, vvv)
|
||||||
|
INSN_LASX(xvsrarn_w_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvsrlrni_b_h, vv_i)
|
||||||
|
INSN_LASX(xvsrlrni_h_w, vv_i)
|
||||||
|
INSN_LASX(xvsrlrni_w_d, vv_i)
|
||||||
|
INSN_LASX(xvsrlrni_d_q, vv_i)
|
||||||
|
INSN_LASX(xvsrarni_b_h, vv_i)
|
||||||
|
INSN_LASX(xvsrarni_h_w, vv_i)
|
||||||
|
INSN_LASX(xvsrarni_w_d, vv_i)
|
||||||
|
INSN_LASX(xvsrarni_d_q, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvssrln_b_h, vvv)
|
||||||
|
INSN_LASX(xvssrln_h_w, vvv)
|
||||||
|
INSN_LASX(xvssrln_w_d, vvv)
|
||||||
|
INSN_LASX(xvssran_b_h, vvv)
|
||||||
|
INSN_LASX(xvssran_h_w, vvv)
|
||||||
|
INSN_LASX(xvssran_w_d, vvv)
|
||||||
|
INSN_LASX(xvssrln_bu_h, vvv)
|
||||||
|
INSN_LASX(xvssrln_hu_w, vvv)
|
||||||
|
INSN_LASX(xvssrln_wu_d, vvv)
|
||||||
|
INSN_LASX(xvssran_bu_h, vvv)
|
||||||
|
INSN_LASX(xvssran_hu_w, vvv)
|
||||||
|
INSN_LASX(xvssran_wu_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvssrlni_b_h, vv_i)
|
||||||
|
INSN_LASX(xvssrlni_h_w, vv_i)
|
||||||
|
INSN_LASX(xvssrlni_w_d, vv_i)
|
||||||
|
INSN_LASX(xvssrlni_d_q, vv_i)
|
||||||
|
INSN_LASX(xvssrani_b_h, vv_i)
|
||||||
|
INSN_LASX(xvssrani_h_w, vv_i)
|
||||||
|
INSN_LASX(xvssrani_w_d, vv_i)
|
||||||
|
INSN_LASX(xvssrani_d_q, vv_i)
|
||||||
|
INSN_LASX(xvssrlni_bu_h, vv_i)
|
||||||
|
INSN_LASX(xvssrlni_hu_w, vv_i)
|
||||||
|
INSN_LASX(xvssrlni_wu_d, vv_i)
|
||||||
|
INSN_LASX(xvssrlni_du_q, vv_i)
|
||||||
|
INSN_LASX(xvssrani_bu_h, vv_i)
|
||||||
|
INSN_LASX(xvssrani_hu_w, vv_i)
|
||||||
|
INSN_LASX(xvssrani_wu_d, vv_i)
|
||||||
|
INSN_LASX(xvssrani_du_q, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvssrlrn_b_h, vvv)
|
||||||
|
INSN_LASX(xvssrlrn_h_w, vvv)
|
||||||
|
INSN_LASX(xvssrlrn_w_d, vvv)
|
||||||
|
INSN_LASX(xvssrarn_b_h, vvv)
|
||||||
|
INSN_LASX(xvssrarn_h_w, vvv)
|
||||||
|
INSN_LASX(xvssrarn_w_d, vvv)
|
||||||
|
INSN_LASX(xvssrlrn_bu_h, vvv)
|
||||||
|
INSN_LASX(xvssrlrn_hu_w, vvv)
|
||||||
|
INSN_LASX(xvssrlrn_wu_d, vvv)
|
||||||
|
INSN_LASX(xvssrarn_bu_h, vvv)
|
||||||
|
INSN_LASX(xvssrarn_hu_w, vvv)
|
||||||
|
INSN_LASX(xvssrarn_wu_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvssrlrni_b_h, vv_i)
|
||||||
|
INSN_LASX(xvssrlrni_h_w, vv_i)
|
||||||
|
INSN_LASX(xvssrlrni_w_d, vv_i)
|
||||||
|
INSN_LASX(xvssrlrni_d_q, vv_i)
|
||||||
|
INSN_LASX(xvssrlrni_bu_h, vv_i)
|
||||||
|
INSN_LASX(xvssrlrni_hu_w, vv_i)
|
||||||
|
INSN_LASX(xvssrlrni_wu_d, vv_i)
|
||||||
|
INSN_LASX(xvssrlrni_du_q, vv_i)
|
||||||
|
INSN_LASX(xvssrarni_b_h, vv_i)
|
||||||
|
INSN_LASX(xvssrarni_h_w, vv_i)
|
||||||
|
INSN_LASX(xvssrarni_w_d, vv_i)
|
||||||
|
INSN_LASX(xvssrarni_d_q, vv_i)
|
||||||
|
INSN_LASX(xvssrarni_bu_h, vv_i)
|
||||||
|
INSN_LASX(xvssrarni_hu_w, vv_i)
|
||||||
|
INSN_LASX(xvssrarni_wu_d, vv_i)
|
||||||
|
INSN_LASX(xvssrarni_du_q, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvclo_b, vv)
|
||||||
|
INSN_LASX(xvclo_h, vv)
|
||||||
|
INSN_LASX(xvclo_w, vv)
|
||||||
|
INSN_LASX(xvclo_d, vv)
|
||||||
|
INSN_LASX(xvclz_b, vv)
|
||||||
|
INSN_LASX(xvclz_h, vv)
|
||||||
|
INSN_LASX(xvclz_w, vv)
|
||||||
|
INSN_LASX(xvclz_d, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvpcnt_b, vv)
|
||||||
|
INSN_LASX(xvpcnt_h, vv)
|
||||||
|
INSN_LASX(xvpcnt_w, vv)
|
||||||
|
INSN_LASX(xvpcnt_d, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvbitclr_b, vvv)
|
||||||
|
INSN_LASX(xvbitclr_h, vvv)
|
||||||
|
INSN_LASX(xvbitclr_w, vvv)
|
||||||
|
INSN_LASX(xvbitclr_d, vvv)
|
||||||
|
INSN_LASX(xvbitclri_b, vv_i)
|
||||||
|
INSN_LASX(xvbitclri_h, vv_i)
|
||||||
|
INSN_LASX(xvbitclri_w, vv_i)
|
||||||
|
INSN_LASX(xvbitclri_d, vv_i)
|
||||||
|
INSN_LASX(xvbitset_b, vvv)
|
||||||
|
INSN_LASX(xvbitset_h, vvv)
|
||||||
|
INSN_LASX(xvbitset_w, vvv)
|
||||||
|
INSN_LASX(xvbitset_d, vvv)
|
||||||
|
INSN_LASX(xvbitseti_b, vv_i)
|
||||||
|
INSN_LASX(xvbitseti_h, vv_i)
|
||||||
|
INSN_LASX(xvbitseti_w, vv_i)
|
||||||
|
INSN_LASX(xvbitseti_d, vv_i)
|
||||||
|
INSN_LASX(xvbitrev_b, vvv)
|
||||||
|
INSN_LASX(xvbitrev_h, vvv)
|
||||||
|
INSN_LASX(xvbitrev_w, vvv)
|
||||||
|
INSN_LASX(xvbitrev_d, vvv)
|
||||||
|
INSN_LASX(xvbitrevi_b, vv_i)
|
||||||
|
INSN_LASX(xvbitrevi_h, vv_i)
|
||||||
|
INSN_LASX(xvbitrevi_w, vv_i)
|
||||||
|
INSN_LASX(xvbitrevi_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvfrstp_b, vvv)
|
||||||
|
INSN_LASX(xvfrstp_h, vvv)
|
||||||
|
INSN_LASX(xvfrstpi_b, vv_i)
|
||||||
|
INSN_LASX(xvfrstpi_h, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvfadd_s, vvv)
|
||||||
|
INSN_LASX(xvfadd_d, vvv)
|
||||||
|
INSN_LASX(xvfsub_s, vvv)
|
||||||
|
INSN_LASX(xvfsub_d, vvv)
|
||||||
|
INSN_LASX(xvfmul_s, vvv)
|
||||||
|
INSN_LASX(xvfmul_d, vvv)
|
||||||
|
INSN_LASX(xvfdiv_s, vvv)
|
||||||
|
INSN_LASX(xvfdiv_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvfmadd_s, vvvv)
|
||||||
|
INSN_LASX(xvfmadd_d, vvvv)
|
||||||
|
INSN_LASX(xvfmsub_s, vvvv)
|
||||||
|
INSN_LASX(xvfmsub_d, vvvv)
|
||||||
|
INSN_LASX(xvfnmadd_s, vvvv)
|
||||||
|
INSN_LASX(xvfnmadd_d, vvvv)
|
||||||
|
INSN_LASX(xvfnmsub_s, vvvv)
|
||||||
|
INSN_LASX(xvfnmsub_d, vvvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvfmax_s, vvv)
|
||||||
|
INSN_LASX(xvfmax_d, vvv)
|
||||||
|
INSN_LASX(xvfmin_s, vvv)
|
||||||
|
INSN_LASX(xvfmin_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvfmaxa_s, vvv)
|
||||||
|
INSN_LASX(xvfmaxa_d, vvv)
|
||||||
|
INSN_LASX(xvfmina_s, vvv)
|
||||||
|
INSN_LASX(xvfmina_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvflogb_s, vv)
|
||||||
|
INSN_LASX(xvflogb_d, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvfclass_s, vv)
|
||||||
|
INSN_LASX(xvfclass_d, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvfsqrt_s, vv)
|
||||||
|
INSN_LASX(xvfsqrt_d, vv)
|
||||||
|
INSN_LASX(xvfrecip_s, vv)
|
||||||
|
INSN_LASX(xvfrecip_d, vv)
|
||||||
|
INSN_LASX(xvfrsqrt_s, vv)
|
||||||
|
INSN_LASX(xvfrsqrt_d, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvfcvtl_s_h, vv)
|
||||||
|
INSN_LASX(xvfcvth_s_h, vv)
|
||||||
|
INSN_LASX(xvfcvtl_d_s, vv)
|
||||||
|
INSN_LASX(xvfcvth_d_s, vv)
|
||||||
|
INSN_LASX(xvfcvt_h_s, vvv)
|
||||||
|
INSN_LASX(xvfcvt_s_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvfrint_s, vv)
|
||||||
|
INSN_LASX(xvfrint_d, vv)
|
||||||
|
INSN_LASX(xvfrintrm_s, vv)
|
||||||
|
INSN_LASX(xvfrintrm_d, vv)
|
||||||
|
INSN_LASX(xvfrintrp_s, vv)
|
||||||
|
INSN_LASX(xvfrintrp_d, vv)
|
||||||
|
INSN_LASX(xvfrintrz_s, vv)
|
||||||
|
INSN_LASX(xvfrintrz_d, vv)
|
||||||
|
INSN_LASX(xvfrintrne_s, vv)
|
||||||
|
INSN_LASX(xvfrintrne_d, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvftint_w_s, vv)
|
||||||
|
INSN_LASX(xvftint_l_d, vv)
|
||||||
|
INSN_LASX(xvftintrm_w_s, vv)
|
||||||
|
INSN_LASX(xvftintrm_l_d, vv)
|
||||||
|
INSN_LASX(xvftintrp_w_s, vv)
|
||||||
|
INSN_LASX(xvftintrp_l_d, vv)
|
||||||
|
INSN_LASX(xvftintrz_w_s, vv)
|
||||||
|
INSN_LASX(xvftintrz_l_d, vv)
|
||||||
|
INSN_LASX(xvftintrne_w_s, vv)
|
||||||
|
INSN_LASX(xvftintrne_l_d, vv)
|
||||||
|
INSN_LASX(xvftint_wu_s, vv)
|
||||||
|
INSN_LASX(xvftint_lu_d, vv)
|
||||||
|
INSN_LASX(xvftintrz_wu_s, vv)
|
||||||
|
INSN_LASX(xvftintrz_lu_d, vv)
|
||||||
|
INSN_LASX(xvftint_w_d, vvv)
|
||||||
|
INSN_LASX(xvftintrm_w_d, vvv)
|
||||||
|
INSN_LASX(xvftintrp_w_d, vvv)
|
||||||
|
INSN_LASX(xvftintrz_w_d, vvv)
|
||||||
|
INSN_LASX(xvftintrne_w_d, vvv)
|
||||||
|
INSN_LASX(xvftintl_l_s, vv)
|
||||||
|
INSN_LASX(xvftinth_l_s, vv)
|
||||||
|
INSN_LASX(xvftintrml_l_s, vv)
|
||||||
|
INSN_LASX(xvftintrmh_l_s, vv)
|
||||||
|
INSN_LASX(xvftintrpl_l_s, vv)
|
||||||
|
INSN_LASX(xvftintrph_l_s, vv)
|
||||||
|
INSN_LASX(xvftintrzl_l_s, vv)
|
||||||
|
INSN_LASX(xvftintrzh_l_s, vv)
|
||||||
|
INSN_LASX(xvftintrnel_l_s, vv)
|
||||||
|
INSN_LASX(xvftintrneh_l_s, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvffint_s_w, vv)
|
||||||
|
INSN_LASX(xvffint_s_wu, vv)
|
||||||
|
INSN_LASX(xvffint_d_l, vv)
|
||||||
|
INSN_LASX(xvffint_d_lu, vv)
|
||||||
|
INSN_LASX(xvffintl_d_w, vv)
|
||||||
|
INSN_LASX(xvffinth_d_w, vv)
|
||||||
|
INSN_LASX(xvffint_s_l, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvseq_b, vvv)
|
||||||
|
INSN_LASX(xvseq_h, vvv)
|
||||||
|
INSN_LASX(xvseq_w, vvv)
|
||||||
|
INSN_LASX(xvseq_d, vvv)
|
||||||
|
INSN_LASX(xvseqi_b, vv_i)
|
||||||
|
INSN_LASX(xvseqi_h, vv_i)
|
||||||
|
INSN_LASX(xvseqi_w, vv_i)
|
||||||
|
INSN_LASX(xvseqi_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvsle_b, vvv)
|
||||||
|
INSN_LASX(xvsle_h, vvv)
|
||||||
|
INSN_LASX(xvsle_w, vvv)
|
||||||
|
INSN_LASX(xvsle_d, vvv)
|
||||||
|
INSN_LASX(xvslei_b, vv_i)
|
||||||
|
INSN_LASX(xvslei_h, vv_i)
|
||||||
|
INSN_LASX(xvslei_w, vv_i)
|
||||||
|
INSN_LASX(xvslei_d, vv_i)
|
||||||
|
INSN_LASX(xvsle_bu, vvv)
|
||||||
|
INSN_LASX(xvsle_hu, vvv)
|
||||||
|
INSN_LASX(xvsle_wu, vvv)
|
||||||
|
INSN_LASX(xvsle_du, vvv)
|
||||||
|
INSN_LASX(xvslei_bu, vv_i)
|
||||||
|
INSN_LASX(xvslei_hu, vv_i)
|
||||||
|
INSN_LASX(xvslei_wu, vv_i)
|
||||||
|
INSN_LASX(xvslei_du, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvslt_b, vvv)
|
||||||
|
INSN_LASX(xvslt_h, vvv)
|
||||||
|
INSN_LASX(xvslt_w, vvv)
|
||||||
|
INSN_LASX(xvslt_d, vvv)
|
||||||
|
INSN_LASX(xvslti_b, vv_i)
|
||||||
|
INSN_LASX(xvslti_h, vv_i)
|
||||||
|
INSN_LASX(xvslti_w, vv_i)
|
||||||
|
INSN_LASX(xvslti_d, vv_i)
|
||||||
|
INSN_LASX(xvslt_bu, vvv)
|
||||||
|
INSN_LASX(xvslt_hu, vvv)
|
||||||
|
INSN_LASX(xvslt_wu, vvv)
|
||||||
|
INSN_LASX(xvslt_du, vvv)
|
||||||
|
INSN_LASX(xvslti_bu, vv_i)
|
||||||
|
INSN_LASX(xvslti_hu, vv_i)
|
||||||
|
INSN_LASX(xvslti_wu, vv_i)
|
||||||
|
INSN_LASX(xvslti_du, vv_i)
|
||||||
|
|
||||||
|
#define output_xvfcmp(C, PREFIX, SUFFIX) \
|
||||||
|
{ \
|
||||||
|
(C)->info->fprintf_func((C)->info->stream, "%08x %s%s\tx%d, x%d, x%d", \
|
||||||
|
(C)->insn, PREFIX, SUFFIX, a->vd, \
|
||||||
|
a->vj, a->vk); \
|
||||||
|
}
|
||||||
|
static bool output_xxx_fcond(DisasContext *ctx, arg_vvv_fcond * a,
|
||||||
|
const char *suffix)
|
||||||
|
{
|
||||||
|
bool ret = true;
|
||||||
|
switch (a->fcond) {
|
||||||
|
case 0x0:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_caf_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x1:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_saf_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x2:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_clt_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x3:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_slt_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x4:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_ceq_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x5:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_seq_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x6:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_cle_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x7:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_sle_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x8:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_cun_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x9:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_sun_", suffix);
|
||||||
|
break;
|
||||||
|
case 0xA:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_cult_", suffix);
|
||||||
|
break;
|
||||||
|
case 0xB:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_sult_", suffix);
|
||||||
|
break;
|
||||||
|
case 0xC:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_cueq_", suffix);
|
||||||
|
break;
|
||||||
|
case 0xD:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_sueq_", suffix);
|
||||||
|
break;
|
||||||
|
case 0xE:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_cule_", suffix);
|
||||||
|
break;
|
||||||
|
case 0xF:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_sule_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x10:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_cne_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x11:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_sne_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x14:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_cor_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x15:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_sor_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x18:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_cune_", suffix);
|
||||||
|
break;
|
||||||
|
case 0x19:
|
||||||
|
output_xvfcmp(ctx, "xvfcmp_sune_", suffix);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ret = false;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LASX_FCMP_INSN(suffix) \
|
||||||
|
static bool trans_xvfcmp_cond_##suffix(DisasContext *ctx, \
|
||||||
|
arg_vvv_fcond * a) \
|
||||||
|
{ \
|
||||||
|
return output_xxx_fcond(ctx, a, #suffix); \
|
||||||
|
}
|
||||||
|
|
||||||
|
LASX_FCMP_INSN(s)
|
||||||
|
LASX_FCMP_INSN(d)
|
||||||
|
|
||||||
|
INSN_LASX(xvbitsel_v, vvvv)
|
||||||
|
INSN_LASX(xvbitseli_b, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvseteqz_v, cv)
|
||||||
|
INSN_LASX(xvsetnez_v, cv)
|
||||||
|
INSN_LASX(xvsetanyeqz_b, cv)
|
||||||
|
INSN_LASX(xvsetanyeqz_h, cv)
|
||||||
|
INSN_LASX(xvsetanyeqz_w, cv)
|
||||||
|
INSN_LASX(xvsetanyeqz_d, cv)
|
||||||
|
INSN_LASX(xvsetallnez_b, cv)
|
||||||
|
INSN_LASX(xvsetallnez_h, cv)
|
||||||
|
INSN_LASX(xvsetallnez_w, cv)
|
||||||
|
INSN_LASX(xvsetallnez_d, cv)
|
||||||
|
|
||||||
|
INSN_LASX(xvinsgr2vr_w, vr_i)
|
||||||
|
INSN_LASX(xvinsgr2vr_d, vr_i)
|
||||||
|
INSN_LASX(xvpickve2gr_w, rv_i)
|
||||||
|
INSN_LASX(xvpickve2gr_d, rv_i)
|
||||||
|
INSN_LASX(xvpickve2gr_wu, rv_i)
|
||||||
|
INSN_LASX(xvpickve2gr_du, rv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvreplgr2vr_b, vr)
|
||||||
|
INSN_LASX(xvreplgr2vr_h, vr)
|
||||||
|
INSN_LASX(xvreplgr2vr_w, vr)
|
||||||
|
INSN_LASX(xvreplgr2vr_d, vr)
|
||||||
|
|
||||||
|
INSN_LASX(xvreplve_b, vvr)
|
||||||
|
INSN_LASX(xvreplve_h, vvr)
|
||||||
|
INSN_LASX(xvreplve_w, vvr)
|
||||||
|
INSN_LASX(xvreplve_d, vvr)
|
||||||
|
INSN_LASX(xvrepl128vei_b, vv_i)
|
||||||
|
INSN_LASX(xvrepl128vei_h, vv_i)
|
||||||
|
INSN_LASX(xvrepl128vei_w, vv_i)
|
||||||
|
INSN_LASX(xvrepl128vei_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvreplve0_b, vv)
|
||||||
|
INSN_LASX(xvreplve0_h, vv)
|
||||||
|
INSN_LASX(xvreplve0_w, vv)
|
||||||
|
INSN_LASX(xvreplve0_d, vv)
|
||||||
|
INSN_LASX(xvreplve0_q, vv)
|
||||||
|
|
||||||
|
INSN_LASX(xvinsve0_w, vv_i)
|
||||||
|
INSN_LASX(xvinsve0_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvpickve_w, vv_i)
|
||||||
|
INSN_LASX(xvpickve_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvbsll_v, vv_i)
|
||||||
|
INSN_LASX(xvbsrl_v, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvpackev_b, vvv)
|
||||||
|
INSN_LASX(xvpackev_h, vvv)
|
||||||
|
INSN_LASX(xvpackev_w, vvv)
|
||||||
|
INSN_LASX(xvpackev_d, vvv)
|
||||||
|
INSN_LASX(xvpackod_b, vvv)
|
||||||
|
INSN_LASX(xvpackod_h, vvv)
|
||||||
|
INSN_LASX(xvpackod_w, vvv)
|
||||||
|
INSN_LASX(xvpackod_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvpickev_b, vvv)
|
||||||
|
INSN_LASX(xvpickev_h, vvv)
|
||||||
|
INSN_LASX(xvpickev_w, vvv)
|
||||||
|
INSN_LASX(xvpickev_d, vvv)
|
||||||
|
INSN_LASX(xvpickod_b, vvv)
|
||||||
|
INSN_LASX(xvpickod_h, vvv)
|
||||||
|
INSN_LASX(xvpickod_w, vvv)
|
||||||
|
INSN_LASX(xvpickod_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvilvl_b, vvv)
|
||||||
|
INSN_LASX(xvilvl_h, vvv)
|
||||||
|
INSN_LASX(xvilvl_w, vvv)
|
||||||
|
INSN_LASX(xvilvl_d, vvv)
|
||||||
|
INSN_LASX(xvilvh_b, vvv)
|
||||||
|
INSN_LASX(xvilvh_h, vvv)
|
||||||
|
INSN_LASX(xvilvh_w, vvv)
|
||||||
|
INSN_LASX(xvilvh_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvshuf_b, vvvv)
|
||||||
|
INSN_LASX(xvshuf_h, vvv)
|
||||||
|
INSN_LASX(xvshuf_w, vvv)
|
||||||
|
INSN_LASX(xvshuf_d, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvperm_w, vvv)
|
||||||
|
|
||||||
|
INSN_LASX(xvshuf4i_b, vv_i)
|
||||||
|
INSN_LASX(xvshuf4i_h, vv_i)
|
||||||
|
INSN_LASX(xvshuf4i_w, vv_i)
|
||||||
|
INSN_LASX(xvshuf4i_d, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvpermi_w, vv_i)
|
||||||
|
INSN_LASX(xvpermi_d, vv_i)
|
||||||
|
INSN_LASX(xvpermi_q, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvextrins_d, vv_i)
|
||||||
|
INSN_LASX(xvextrins_w, vv_i)
|
||||||
|
INSN_LASX(xvextrins_h, vv_i)
|
||||||
|
INSN_LASX(xvextrins_b, vv_i)
|
||||||
|
|
||||||
|
INSN_LASX(xvld, vr_i)
|
||||||
|
INSN_LASX(xvst, vr_i)
|
||||||
|
INSN_LASX(xvldx, vrr)
|
||||||
|
INSN_LASX(xvstx, vrr)
|
||||||
|
|
||||||
|
INSN_LASX(xvldrepl_d, vr_i)
|
||||||
|
INSN_LASX(xvldrepl_w, vr_i)
|
||||||
|
INSN_LASX(xvldrepl_h, vr_i)
|
||||||
|
INSN_LASX(xvldrepl_b, vr_i)
|
||||||
|
INSN_LASX(xvstelm_d, vr_ii)
|
||||||
|
INSN_LASX(xvstelm_w, vr_ii)
|
||||||
|
INSN_LASX(xvstelm_h, vr_ii)
|
||||||
|
INSN_LASX(xvstelm_b, vr_ii)
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include "internals.h"
|
#include "internals.h"
|
||||||
#include "exec/gdbstub.h"
|
#include "exec/gdbstub.h"
|
||||||
#include "gdbstub/helpers.h"
|
#include "gdbstub/helpers.h"
|
||||||
|
#include "vec.h"
|
||||||
|
|
||||||
uint64_t read_fcc(CPULoongArchState *env)
|
uint64_t read_fcc(CPULoongArchState *env)
|
||||||
{
|
{
|
||||||
|
|
|
@ -133,22 +133,22 @@ DEF_HELPER_1(idle, void, env)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* LoongArch LSX */
|
/* LoongArch LSX */
|
||||||
DEF_HELPER_4(vhaddw_h_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhaddw_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhaddw_w_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhaddw_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhaddw_d_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhaddw_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhaddw_q_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhaddw_q_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhaddw_hu_bu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhaddw_hu_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhaddw_wu_hu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhaddw_wu_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhaddw_du_wu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhaddw_du_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhaddw_qu_du, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhaddw_qu_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhsubw_h_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhsubw_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhsubw_w_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhsubw_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhsubw_d_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhsubw_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhsubw_q_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhsubw_q_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhsubw_hu_bu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhsubw_hu_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhsubw_wu_hu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhsubw_wu_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhsubw_du_wu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhsubw_du_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vhsubw_qu_du, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vhsubw_qu_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_FLAGS_4(vaddwev_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vaddwev_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(vaddwev_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vaddwev_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
@ -305,22 +305,22 @@ DEF_HELPER_FLAGS_4(vmaddwod_h_bu_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(vmaddwod_w_hu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vmaddwod_w_hu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(vmaddwod_d_wu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vmaddwod_d_wu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vdiv_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vdiv_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vdiv_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vdiv_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vdiv_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vdiv_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vdiv_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vdiv_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vdiv_bu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vdiv_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vdiv_hu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vdiv_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vdiv_wu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vdiv_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vdiv_du, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vdiv_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vmod_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vmod_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vmod_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vmod_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vmod_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vmod_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vmod_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vmod_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vmod_bu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vmod_bu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vmod_hu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vmod_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vmod_wu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vmod_wu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vmod_du, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vmod_du, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_FLAGS_4(vsat_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vsat_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_FLAGS_4(vsat_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vsat_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
@ -331,161 +331,174 @@ DEF_HELPER_FLAGS_4(vsat_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_FLAGS_4(vsat_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vsat_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_FLAGS_4(vsat_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vsat_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vexth_h_b, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vexth_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vexth_w_h, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vexth_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vexth_d_w, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vexth_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vexth_q_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vexth_q_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vexth_hu_bu, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vexth_hu_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vexth_wu_hu, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vexth_wu_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vexth_du_wu, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vexth_du_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vexth_qu_du, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vexth_qu_du, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_w_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_d_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_d_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_hu_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_wu_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_du_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_wu_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_du_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_3(vext2xv_du_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_FLAGS_4(vsigncov_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vsigncov_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(vsigncov_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vsigncov_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(vsigncov_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vsigncov_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(vsigncov_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vsigncov_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vmskltz_b, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vmskltz_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vmskltz_h, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vmskltz_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vmskltz_w, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vmskltz_w, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vmskltz_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vmskltz_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vmskgez_b, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vmskgez_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vmsknz_b, void, env, i32,i32)
|
DEF_HELPER_FLAGS_3(vmsknz_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_FLAGS_4(vnori_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vnori_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vsllwil_h_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsllwil_h_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsllwil_w_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsllwil_w_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsllwil_d_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsllwil_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_3(vextl_q_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vextl_q_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsllwil_hu_bu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsllwil_hu_bu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsllwil_wu_hu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsllwil_wu_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsllwil_du_wu, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsllwil_du_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_3(vextl_qu_du, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vextl_qu_du, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vsrlr_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlr_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrlr_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlr_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrlr_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlr_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrlr_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlr_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrlri_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlri_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlri_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlri_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlri_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlri_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlri_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlri_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vsrar_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrar_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrar_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrar_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrar_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrar_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrar_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrar_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrari_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrari_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrari_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrari_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrari_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrari_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrari_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrari_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vsrln_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrln_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrln_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrln_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrln_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrln_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsran_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsran_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsran_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsran_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsran_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsran_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vsrlni_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlni_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlni_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlni_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlni_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlni_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlni_d_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlni_d_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrani_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrani_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrani_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrani_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrani_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrani_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrani_d_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrani_d_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vsrlrn_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlrn_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrlrn_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlrn_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrlrn_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlrn_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrarn_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrarn_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrarn_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrarn_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vsrarn_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrarn_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vsrlrni_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlrni_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlrni_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlrni_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlrni_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlrni_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrlrni_d_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrlrni_d_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrarni_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrarni_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrarni_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrarni_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrarni_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrarni_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vsrarni_d_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vsrarni_d_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vssrln_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrln_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrln_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrln_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrln_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrln_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssran_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssran_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssran_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssran_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssran_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssran_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrln_bu_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrln_bu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrln_hu_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrln_hu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrln_wu_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrln_wu_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssran_bu_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssran_bu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssran_hu_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssran_hu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssran_wu_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssran_wu_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vssrlni_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlni_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlni_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlni_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlni_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlni_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlni_d_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlni_d_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrani_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrani_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrani_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrani_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrani_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrani_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrani_d_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrani_d_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlni_bu_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlni_bu_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlni_hu_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlni_hu_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlni_wu_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlni_wu_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlni_du_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlni_du_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrani_bu_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrani_bu_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrani_hu_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrani_hu_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrani_wu_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrani_wu_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrani_du_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrani_du_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vssrlrn_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrn_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrlrn_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrn_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrlrn_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrn_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrarn_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarn_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrarn_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarn_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrarn_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarn_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrlrn_bu_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrn_bu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrlrn_hu_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrn_hu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrlrn_wu_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrn_wu_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrarn_bu_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarn_bu_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrarn_hu_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarn_hu_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vssrarn_wu_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarn_wu_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vssrlrni_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrni_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlrni_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrni_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlrni_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrni_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlrni_d_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrni_d_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrarni_b_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarni_b_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrarni_h_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarni_h_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrarni_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarni_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrarni_d_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarni_d_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlrni_bu_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrni_bu_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlrni_hu_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrni_hu_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlrni_wu_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrni_wu_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrlrni_du_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrlrni_du_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrarni_bu_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarni_bu_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrarni_hu_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarni_hu_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrarni_wu_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarni_wu_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vssrarni_du_q, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vssrarni_du_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vclo_b, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vclo_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vclo_h, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vclo_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vclo_w, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vclo_w, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vclo_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vclo_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vclz_b, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vclz_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vclz_h, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vclz_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vclz_w, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vclz_w, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vclz_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vclz_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vpcnt_b, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vpcnt_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vpcnt_h, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vpcnt_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vpcnt_w, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vpcnt_w, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
DEF_HELPER_3(vpcnt_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_3(vpcnt_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_FLAGS_4(vbitclr_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vbitclr_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_FLAGS_4(vbitclr_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
DEF_HELPER_FLAGS_4(vbitclr_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
@ -514,107 +527,107 @@ DEF_HELPER_FLAGS_4(vbitrevi_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_FLAGS_4(vbitrevi_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vbitrevi_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_FLAGS_4(vbitrevi_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vbitrevi_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vfrstp_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrstp_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vfrstp_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrstp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vfrstpi_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrstpi_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vfrstpi_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrstpi_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vfadd_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfadd_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfsub_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfsub_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfmul_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmul_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfmul_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmul_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfdiv_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfdiv_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfdiv_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfdiv_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_5(vfmadd_s, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_6(vfmadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_5(vfmadd_d, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_6(vfmadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_5(vfmsub_s, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_6(vfmsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_5(vfmsub_d, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_6(vfmsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_5(vfnmadd_s, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_6(vfnmadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_5(vfnmadd_d, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_6(vfnmadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_5(vfnmsub_s, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_6(vfnmsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_5(vfnmsub_d, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_6(vfnmsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vfmax_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmax_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfmax_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmax_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfmin_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmin_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfmin_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmin_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vfmaxa_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmaxa_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfmaxa_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmaxa_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfmina_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmina_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfmina_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfmina_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vflogb_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vflogb_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vflogb_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vflogb_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vfclass_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfclass_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfclass_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfclass_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vfsqrt_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfsqrt_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfsqrt_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfsqrt_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrecip_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrecip_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrecip_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrecip_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrsqrt_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrsqrt_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrsqrt_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrsqrt_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vfcvtl_s_h, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfcvtl_s_h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfcvth_s_h, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfcvth_s_h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfcvtl_d_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfcvtl_d_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfcvth_d_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfcvth_d_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfcvt_h_s, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfcvt_h_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vfcvt_s_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vfcvt_s_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vfrintrne_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrintrne_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrintrne_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrintrne_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrintrz_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrintrz_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrintrz_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrintrz_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrintrp_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrintrp_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrintrp_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrintrp_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrintrm_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrintrm_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrintrm_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrintrm_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrint_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrint_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vfrint_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vfrint_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vftintrne_w_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrne_w_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrne_l_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrne_l_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrz_w_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrz_w_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrz_l_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrz_l_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrp_w_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrp_w_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrp_l_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrp_l_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrm_w_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrm_w_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrm_l_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrm_l_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftint_w_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftint_w_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftint_l_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftint_l_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrz_wu_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrz_wu_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrz_lu_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrz_lu_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftint_wu_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftint_wu_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftint_lu_d, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftint_lu_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vftintrne_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vftintrne_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vftintrz_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vftintrz_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vftintrp_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vftintrp_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vftintrm_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vftintrm_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vftint_w_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vftint_w_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrnel_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrnel_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrneh_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrneh_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrzl_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrzl_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrzh_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrzh_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrpl_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrpl_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrph_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrph_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrml_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrml_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintrmh_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintrmh_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftintl_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftintl_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vftinth_l_s, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vftinth_l_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vffint_s_w, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vffint_s_w, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vffint_d_l, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vffint_d_l, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vffint_s_wu, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vffint_s_wu, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vffint_d_lu, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vffint_d_lu, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vffintl_d_w, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vffintl_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_3(vffinth_d_w, void, env, i32, i32)
|
DEF_HELPER_FLAGS_4(vffinth_d_w, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
|
||||||
DEF_HELPER_4(vffint_s_l, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vffint_s_l, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
|
||||||
|
|
||||||
DEF_HELPER_FLAGS_4(vseqi_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vseqi_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_FLAGS_4(vseqi_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vseqi_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
@ -639,61 +652,69 @@ DEF_HELPER_FLAGS_4(vslti_hu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_FLAGS_4(vslti_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vslti_wu, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_FLAGS_4(vslti_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vslti_du, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_5(vfcmp_c_s, void, env, i32, i32, i32, i32)
|
DEF_HELPER_6(vfcmp_c_s, void, env, i32, i32, i32, i32, i32)
|
||||||
DEF_HELPER_5(vfcmp_s_s, void, env, i32, i32, i32, i32)
|
DEF_HELPER_6(vfcmp_s_s, void, env, i32, i32, i32, i32, i32)
|
||||||
DEF_HELPER_5(vfcmp_c_d, void, env, i32, i32, i32, i32)
|
DEF_HELPER_6(vfcmp_c_d, void, env, i32, i32, i32, i32, i32)
|
||||||
DEF_HELPER_5(vfcmp_s_d, void, env, i32, i32, i32, i32)
|
DEF_HELPER_6(vfcmp_s_d, void, env, i32, i32, i32, i32, i32)
|
||||||
|
|
||||||
DEF_HELPER_FLAGS_4(vbitseli_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
DEF_HELPER_FLAGS_4(vbitseli_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_3(vsetanyeqz_b, void, env, i32, i32)
|
DEF_HELPER_4(vsetanyeqz_b, void, env, i32, i32, i32)
|
||||||
DEF_HELPER_3(vsetanyeqz_h, void, env, i32, i32)
|
DEF_HELPER_4(vsetanyeqz_h, void, env, i32, i32, i32)
|
||||||
DEF_HELPER_3(vsetanyeqz_w, void, env, i32, i32)
|
DEF_HELPER_4(vsetanyeqz_w, void, env, i32, i32, i32)
|
||||||
DEF_HELPER_3(vsetanyeqz_d, void, env, i32, i32)
|
DEF_HELPER_4(vsetanyeqz_d, void, env, i32, i32, i32)
|
||||||
DEF_HELPER_3(vsetallnez_b, void, env, i32, i32)
|
DEF_HELPER_4(vsetallnez_b, void, env, i32, i32, i32)
|
||||||
DEF_HELPER_3(vsetallnez_h, void, env, i32, i32)
|
DEF_HELPER_4(vsetallnez_h, void, env, i32, i32, i32)
|
||||||
DEF_HELPER_3(vsetallnez_w, void, env, i32, i32)
|
DEF_HELPER_4(vsetallnez_w, void, env, i32, i32, i32)
|
||||||
DEF_HELPER_3(vsetallnez_d, void, env, i32, i32)
|
DEF_HELPER_4(vsetallnez_d, void, env, i32, i32, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vpackev_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(xvinsve0_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vpackev_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(xvinsve0_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vpackev_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(xvpickve_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vpackev_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(xvpickve_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vpackod_b, void, env, i32, i32, i32)
|
|
||||||
DEF_HELPER_4(vpackod_h, void, env, i32, i32, i32)
|
|
||||||
DEF_HELPER_4(vpackod_w, void, env, i32, i32, i32)
|
|
||||||
DEF_HELPER_4(vpackod_d, void, env, i32, i32, i32)
|
|
||||||
|
|
||||||
DEF_HELPER_4(vpickev_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpackev_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vpickev_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpackev_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vpickev_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpackev_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vpickev_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpackev_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vpickod_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpackod_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vpickod_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpackod_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vpickod_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpackod_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vpickod_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpackod_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vilvl_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpickev_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vilvl_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpickev_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vilvl_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpickev_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vilvl_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpickev_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vilvh_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpickod_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vilvh_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpickod_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vilvh_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpickod_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vilvh_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpickod_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_5(vshuf_b, void, env, i32, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vilvl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vshuf_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vilvl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vshuf_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vilvl_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vshuf_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vilvl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vshuf4i_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vilvh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vshuf4i_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vilvh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vshuf4i_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vilvh_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vshuf4i_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vilvh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vpermi_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_5(vshuf_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vshuf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vshuf_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vshuf_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vshuf4i_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vshuf4i_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vshuf4i_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vshuf4i_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
DEF_HELPER_4(vextrins_b, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vperm_w, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
|
||||||
DEF_HELPER_4(vextrins_h, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpermi_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vextrins_w, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpermi_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
DEF_HELPER_4(vextrins_d, void, env, i32, i32, i32)
|
DEF_HELPER_FLAGS_4(vpermi_q, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
||||||
|
DEF_HELPER_FLAGS_4(vextrins_b, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vextrins_h, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vextrins_w, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
DEF_HELPER_FLAGS_4(vextrins_d, TCG_CALL_NO_RWG, void, ptr, ptr, i64, i32)
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -550,6 +550,10 @@ dbcl 0000 00000010 10101 ............... @i15
|
||||||
@vr_i8i2 .... ........ imm2:2 ........ rj:5 vd:5 &vr_ii imm=%i8s2
|
@vr_i8i2 .... ........ imm2:2 ........ rj:5 vd:5 &vr_ii imm=%i8s2
|
||||||
@vr_i8i3 .... ....... imm2:3 ........ rj:5 vd:5 &vr_ii imm=%i8s1
|
@vr_i8i3 .... ....... imm2:3 ........ rj:5 vd:5 &vr_ii imm=%i8s1
|
||||||
@vr_i8i4 .... ...... imm2:4 imm:s8 rj:5 vd:5 &vr_ii
|
@vr_i8i4 .... ...... imm2:4 imm:s8 rj:5 vd:5 &vr_ii
|
||||||
|
@vr_i8i2x .... ........ imm2:2 ........ rj:5 vd:5 &vr_ii imm=%i8s3
|
||||||
|
@vr_i8i3x .... ....... imm2:3 ........ rj:5 vd:5 &vr_ii imm=%i8s2
|
||||||
|
@vr_i8i4x .... ...... imm2:4 ........ rj:5 vd:5 &vr_ii imm=%i8s1
|
||||||
|
@vr_i8i5x .... ..... imm2:5 imm:s8 rj:5 vd:5 &vr_ii
|
||||||
@vrr .... ........ ..... rk:5 rj:5 vd:5 &vrr
|
@vrr .... ........ ..... rk:5 rj:5 vd:5 &vrr
|
||||||
@v_i13 .... ........ .. imm:13 vd:5 &v_i
|
@v_i13 .... ........ .. imm:13 vd:5 &v_i
|
||||||
|
|
||||||
|
@ -1296,3 +1300,781 @@ vstelm_d 0011 00010001 0 . ........ ..... ..... @vr_i8i1
|
||||||
vstelm_w 0011 00010010 .. ........ ..... ..... @vr_i8i2
|
vstelm_w 0011 00010010 .. ........ ..... ..... @vr_i8i2
|
||||||
vstelm_h 0011 0001010 ... ........ ..... ..... @vr_i8i3
|
vstelm_h 0011 0001010 ... ........ ..... ..... @vr_i8i3
|
||||||
vstelm_b 0011 000110 .... ........ ..... ..... @vr_i8i4
|
vstelm_b 0011 000110 .... ........ ..... ..... @vr_i8i4
|
||||||
|
|
||||||
|
#
|
||||||
|
# LoongArch LASX instructions
|
||||||
|
#
|
||||||
|
xvadd_b 0111 01000000 10100 ..... ..... ..... @vvv
|
||||||
|
xvadd_h 0111 01000000 10101 ..... ..... ..... @vvv
|
||||||
|
xvadd_w 0111 01000000 10110 ..... ..... ..... @vvv
|
||||||
|
xvadd_d 0111 01000000 10111 ..... ..... ..... @vvv
|
||||||
|
xvadd_q 0111 01010010 11010 ..... ..... ..... @vvv
|
||||||
|
xvsub_b 0111 01000000 11000 ..... ..... ..... @vvv
|
||||||
|
xvsub_h 0111 01000000 11001 ..... ..... ..... @vvv
|
||||||
|
xvsub_w 0111 01000000 11010 ..... ..... ..... @vvv
|
||||||
|
xvsub_d 0111 01000000 11011 ..... ..... ..... @vvv
|
||||||
|
xvsub_q 0111 01010010 11011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvaddi_bu 0111 01101000 10100 ..... ..... ..... @vv_ui5
|
||||||
|
xvaddi_hu 0111 01101000 10101 ..... ..... ..... @vv_ui5
|
||||||
|
xvaddi_wu 0111 01101000 10110 ..... ..... ..... @vv_ui5
|
||||||
|
xvaddi_du 0111 01101000 10111 ..... ..... ..... @vv_ui5
|
||||||
|
xvsubi_bu 0111 01101000 11000 ..... ..... ..... @vv_ui5
|
||||||
|
xvsubi_hu 0111 01101000 11001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsubi_wu 0111 01101000 11010 ..... ..... ..... @vv_ui5
|
||||||
|
xvsubi_du 0111 01101000 11011 ..... ..... ..... @vv_ui5
|
||||||
|
|
||||||
|
xvneg_b 0111 01101001 11000 01100 ..... ..... @vv
|
||||||
|
xvneg_h 0111 01101001 11000 01101 ..... ..... @vv
|
||||||
|
xvneg_w 0111 01101001 11000 01110 ..... ..... @vv
|
||||||
|
xvneg_d 0111 01101001 11000 01111 ..... ..... @vv
|
||||||
|
|
||||||
|
xvsadd_b 0111 01000100 01100 ..... ..... ..... @vvv
|
||||||
|
xvsadd_h 0111 01000100 01101 ..... ..... ..... @vvv
|
||||||
|
xvsadd_w 0111 01000100 01110 ..... ..... ..... @vvv
|
||||||
|
xvsadd_d 0111 01000100 01111 ..... ..... ..... @vvv
|
||||||
|
xvsadd_bu 0111 01000100 10100 ..... ..... ..... @vvv
|
||||||
|
xvsadd_hu 0111 01000100 10101 ..... ..... ..... @vvv
|
||||||
|
xvsadd_wu 0111 01000100 10110 ..... ..... ..... @vvv
|
||||||
|
xvsadd_du 0111 01000100 10111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvssub_b 0111 01000100 10000 ..... ..... ..... @vvv
|
||||||
|
xvssub_h 0111 01000100 10001 ..... ..... ..... @vvv
|
||||||
|
xvssub_w 0111 01000100 10010 ..... ..... ..... @vvv
|
||||||
|
xvssub_d 0111 01000100 10011 ..... ..... ..... @vvv
|
||||||
|
xvssub_bu 0111 01000100 11000 ..... ..... ..... @vvv
|
||||||
|
xvssub_hu 0111 01000100 11001 ..... ..... ..... @vvv
|
||||||
|
xvssub_wu 0111 01000100 11010 ..... ..... ..... @vvv
|
||||||
|
xvssub_du 0111 01000100 11011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvhaddw_h_b 0111 01000101 01000 ..... ..... ..... @vvv
|
||||||
|
xvhaddw_w_h 0111 01000101 01001 ..... ..... ..... @vvv
|
||||||
|
xvhaddw_d_w 0111 01000101 01010 ..... ..... ..... @vvv
|
||||||
|
xvhaddw_q_d 0111 01000101 01011 ..... ..... ..... @vvv
|
||||||
|
xvhaddw_hu_bu 0111 01000101 10000 ..... ..... ..... @vvv
|
||||||
|
xvhaddw_wu_hu 0111 01000101 10001 ..... ..... ..... @vvv
|
||||||
|
xvhaddw_du_wu 0111 01000101 10010 ..... ..... ..... @vvv
|
||||||
|
xvhaddw_qu_du 0111 01000101 10011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvhsubw_h_b 0111 01000101 01100 ..... ..... ..... @vvv
|
||||||
|
xvhsubw_w_h 0111 01000101 01101 ..... ..... ..... @vvv
|
||||||
|
xvhsubw_d_w 0111 01000101 01110 ..... ..... ..... @vvv
|
||||||
|
xvhsubw_q_d 0111 01000101 01111 ..... ..... ..... @vvv
|
||||||
|
xvhsubw_hu_bu 0111 01000101 10100 ..... ..... ..... @vvv
|
||||||
|
xvhsubw_wu_hu 0111 01000101 10101 ..... ..... ..... @vvv
|
||||||
|
xvhsubw_du_wu 0111 01000101 10110 ..... ..... ..... @vvv
|
||||||
|
xvhsubw_qu_du 0111 01000101 10111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvaddwev_h_b 0111 01000001 11100 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_w_h 0111 01000001 11101 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_d_w 0111 01000001 11110 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_q_d 0111 01000001 11111 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_h_b 0111 01000010 00100 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_w_h 0111 01000010 00101 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_d_w 0111 01000010 00110 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_q_d 0111 01000010 00111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvsubwev_h_b 0111 01000010 00000 ..... ..... ..... @vvv
|
||||||
|
xvsubwev_w_h 0111 01000010 00001 ..... ..... ..... @vvv
|
||||||
|
xvsubwev_d_w 0111 01000010 00010 ..... ..... ..... @vvv
|
||||||
|
xvsubwev_q_d 0111 01000010 00011 ..... ..... ..... @vvv
|
||||||
|
xvsubwod_h_b 0111 01000010 01000 ..... ..... ..... @vvv
|
||||||
|
xvsubwod_w_h 0111 01000010 01001 ..... ..... ..... @vvv
|
||||||
|
xvsubwod_d_w 0111 01000010 01010 ..... ..... ..... @vvv
|
||||||
|
xvsubwod_q_d 0111 01000010 01011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvaddwev_h_bu 0111 01000010 11100 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_w_hu 0111 01000010 11101 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_d_wu 0111 01000010 11110 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_q_du 0111 01000010 11111 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_h_bu 0111 01000011 00100 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_w_hu 0111 01000011 00101 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_d_wu 0111 01000011 00110 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_q_du 0111 01000011 00111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvsubwev_h_bu 0111 01000011 00000 ..... ..... ..... @vvv
|
||||||
|
xvsubwev_w_hu 0111 01000011 00001 ..... ..... ..... @vvv
|
||||||
|
xvsubwev_d_wu 0111 01000011 00010 ..... ..... ..... @vvv
|
||||||
|
xvsubwev_q_du 0111 01000011 00011 ..... ..... ..... @vvv
|
||||||
|
xvsubwod_h_bu 0111 01000011 01000 ..... ..... ..... @vvv
|
||||||
|
xvsubwod_w_hu 0111 01000011 01001 ..... ..... ..... @vvv
|
||||||
|
xvsubwod_d_wu 0111 01000011 01010 ..... ..... ..... @vvv
|
||||||
|
xvsubwod_q_du 0111 01000011 01011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvaddwev_h_bu_b 0111 01000011 11100 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_w_hu_h 0111 01000011 11101 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_d_wu_w 0111 01000011 11110 ..... ..... ..... @vvv
|
||||||
|
xvaddwev_q_du_d 0111 01000011 11111 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_h_bu_b 0111 01000100 00000 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_w_hu_h 0111 01000100 00001 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_d_wu_w 0111 01000100 00010 ..... ..... ..... @vvv
|
||||||
|
xvaddwod_q_du_d 0111 01000100 00011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvavg_b 0111 01000110 01000 ..... ..... ..... @vvv
|
||||||
|
xvavg_h 0111 01000110 01001 ..... ..... ..... @vvv
|
||||||
|
xvavg_w 0111 01000110 01010 ..... ..... ..... @vvv
|
||||||
|
xvavg_d 0111 01000110 01011 ..... ..... ..... @vvv
|
||||||
|
xvavg_bu 0111 01000110 01100 ..... ..... ..... @vvv
|
||||||
|
xvavg_hu 0111 01000110 01101 ..... ..... ..... @vvv
|
||||||
|
xvavg_wu 0111 01000110 01110 ..... ..... ..... @vvv
|
||||||
|
xvavg_du 0111 01000110 01111 ..... ..... ..... @vvv
|
||||||
|
xvavgr_b 0111 01000110 10000 ..... ..... ..... @vvv
|
||||||
|
xvavgr_h 0111 01000110 10001 ..... ..... ..... @vvv
|
||||||
|
xvavgr_w 0111 01000110 10010 ..... ..... ..... @vvv
|
||||||
|
xvavgr_d 0111 01000110 10011 ..... ..... ..... @vvv
|
||||||
|
xvavgr_bu 0111 01000110 10100 ..... ..... ..... @vvv
|
||||||
|
xvavgr_hu 0111 01000110 10101 ..... ..... ..... @vvv
|
||||||
|
xvavgr_wu 0111 01000110 10110 ..... ..... ..... @vvv
|
||||||
|
xvavgr_du 0111 01000110 10111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvabsd_b 0111 01000110 00000 ..... ..... ..... @vvv
|
||||||
|
xvabsd_h 0111 01000110 00001 ..... ..... ..... @vvv
|
||||||
|
xvabsd_w 0111 01000110 00010 ..... ..... ..... @vvv
|
||||||
|
xvabsd_d 0111 01000110 00011 ..... ..... ..... @vvv
|
||||||
|
xvabsd_bu 0111 01000110 00100 ..... ..... ..... @vvv
|
||||||
|
xvabsd_hu 0111 01000110 00101 ..... ..... ..... @vvv
|
||||||
|
xvabsd_wu 0111 01000110 00110 ..... ..... ..... @vvv
|
||||||
|
xvabsd_du 0111 01000110 00111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvadda_b 0111 01000101 11000 ..... ..... ..... @vvv
|
||||||
|
xvadda_h 0111 01000101 11001 ..... ..... ..... @vvv
|
||||||
|
xvadda_w 0111 01000101 11010 ..... ..... ..... @vvv
|
||||||
|
xvadda_d 0111 01000101 11011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvmax_b 0111 01000111 00000 ..... ..... ..... @vvv
|
||||||
|
xvmax_h 0111 01000111 00001 ..... ..... ..... @vvv
|
||||||
|
xvmax_w 0111 01000111 00010 ..... ..... ..... @vvv
|
||||||
|
xvmax_d 0111 01000111 00011 ..... ..... ..... @vvv
|
||||||
|
xvmax_bu 0111 01000111 01000 ..... ..... ..... @vvv
|
||||||
|
xvmax_hu 0111 01000111 01001 ..... ..... ..... @vvv
|
||||||
|
xvmax_wu 0111 01000111 01010 ..... ..... ..... @vvv
|
||||||
|
xvmax_du 0111 01000111 01011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvmaxi_b 0111 01101001 00000 ..... ..... ..... @vv_i5
|
||||||
|
xvmaxi_h 0111 01101001 00001 ..... ..... ..... @vv_i5
|
||||||
|
xvmaxi_w 0111 01101001 00010 ..... ..... ..... @vv_i5
|
||||||
|
xvmaxi_d 0111 01101001 00011 ..... ..... ..... @vv_i5
|
||||||
|
xvmaxi_bu 0111 01101001 01000 ..... ..... ..... @vv_ui5
|
||||||
|
xvmaxi_hu 0111 01101001 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvmaxi_wu 0111 01101001 01010 ..... ..... ..... @vv_ui5
|
||||||
|
xvmaxi_du 0111 01101001 01011 ..... ..... ..... @vv_ui5
|
||||||
|
|
||||||
|
xvmin_b 0111 01000111 00100 ..... ..... ..... @vvv
|
||||||
|
xvmin_h 0111 01000111 00101 ..... ..... ..... @vvv
|
||||||
|
xvmin_w 0111 01000111 00110 ..... ..... ..... @vvv
|
||||||
|
xvmin_d 0111 01000111 00111 ..... ..... ..... @vvv
|
||||||
|
xvmin_bu 0111 01000111 01100 ..... ..... ..... @vvv
|
||||||
|
xvmin_hu 0111 01000111 01101 ..... ..... ..... @vvv
|
||||||
|
xvmin_wu 0111 01000111 01110 ..... ..... ..... @vvv
|
||||||
|
xvmin_du 0111 01000111 01111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvmini_b 0111 01101001 00100 ..... ..... ..... @vv_i5
|
||||||
|
xvmini_h 0111 01101001 00101 ..... ..... ..... @vv_i5
|
||||||
|
xvmini_w 0111 01101001 00110 ..... ..... ..... @vv_i5
|
||||||
|
xvmini_d 0111 01101001 00111 ..... ..... ..... @vv_i5
|
||||||
|
xvmini_bu 0111 01101001 01100 ..... ..... ..... @vv_ui5
|
||||||
|
xvmini_hu 0111 01101001 01101 ..... ..... ..... @vv_ui5
|
||||||
|
xvmini_wu 0111 01101001 01110 ..... ..... ..... @vv_ui5
|
||||||
|
xvmini_du 0111 01101001 01111 ..... ..... ..... @vv_ui5
|
||||||
|
|
||||||
|
xvmul_b 0111 01001000 01000 ..... ..... ..... @vvv
|
||||||
|
xvmul_h 0111 01001000 01001 ..... ..... ..... @vvv
|
||||||
|
xvmul_w 0111 01001000 01010 ..... ..... ..... @vvv
|
||||||
|
xvmul_d 0111 01001000 01011 ..... ..... ..... @vvv
|
||||||
|
xvmuh_b 0111 01001000 01100 ..... ..... ..... @vvv
|
||||||
|
xvmuh_h 0111 01001000 01101 ..... ..... ..... @vvv
|
||||||
|
xvmuh_w 0111 01001000 01110 ..... ..... ..... @vvv
|
||||||
|
xvmuh_d 0111 01001000 01111 ..... ..... ..... @vvv
|
||||||
|
xvmuh_bu 0111 01001000 10000 ..... ..... ..... @vvv
|
||||||
|
xvmuh_hu 0111 01001000 10001 ..... ..... ..... @vvv
|
||||||
|
xvmuh_wu 0111 01001000 10010 ..... ..... ..... @vvv
|
||||||
|
xvmuh_du 0111 01001000 10011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvmulwev_h_b 0111 01001001 00000 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_w_h 0111 01001001 00001 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_d_w 0111 01001001 00010 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_q_d 0111 01001001 00011 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_h_b 0111 01001001 00100 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_w_h 0111 01001001 00101 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_d_w 0111 01001001 00110 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_q_d 0111 01001001 00111 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_h_bu 0111 01001001 10000 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_w_hu 0111 01001001 10001 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_d_wu 0111 01001001 10010 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_q_du 0111 01001001 10011 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_h_bu 0111 01001001 10100 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_w_hu 0111 01001001 10101 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_d_wu 0111 01001001 10110 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_q_du 0111 01001001 10111 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_h_bu_b 0111 01001010 00000 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_w_hu_h 0111 01001010 00001 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_d_wu_w 0111 01001010 00010 ..... ..... ..... @vvv
|
||||||
|
xvmulwev_q_du_d 0111 01001010 00011 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_h_bu_b 0111 01001010 00100 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_w_hu_h 0111 01001010 00101 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_d_wu_w 0111 01001010 00110 ..... ..... ..... @vvv
|
||||||
|
xvmulwod_q_du_d 0111 01001010 00111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvmadd_b 0111 01001010 10000 ..... ..... ..... @vvv
|
||||||
|
xvmadd_h 0111 01001010 10001 ..... ..... ..... @vvv
|
||||||
|
xvmadd_w 0111 01001010 10010 ..... ..... ..... @vvv
|
||||||
|
xvmadd_d 0111 01001010 10011 ..... ..... ..... @vvv
|
||||||
|
xvmsub_b 0111 01001010 10100 ..... ..... ..... @vvv
|
||||||
|
xvmsub_h 0111 01001010 10101 ..... ..... ..... @vvv
|
||||||
|
xvmsub_w 0111 01001010 10110 ..... ..... ..... @vvv
|
||||||
|
xvmsub_d 0111 01001010 10111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvmaddwev_h_b 0111 01001010 11000 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_w_h 0111 01001010 11001 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_d_w 0111 01001010 11010 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_q_d 0111 01001010 11011 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_h_b 0111 01001010 11100 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_w_h 0111 01001010 11101 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_d_w 0111 01001010 11110 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_q_d 0111 01001010 11111 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_h_bu 0111 01001011 01000 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_w_hu 0111 01001011 01001 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_d_wu 0111 01001011 01010 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_q_du 0111 01001011 01011 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_h_bu 0111 01001011 01100 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_w_hu 0111 01001011 01101 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_d_wu 0111 01001011 01110 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_q_du 0111 01001011 01111 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_h_bu_b 0111 01001011 11000 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_w_hu_h 0111 01001011 11001 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_d_wu_w 0111 01001011 11010 ..... ..... ..... @vvv
|
||||||
|
xvmaddwev_q_du_d 0111 01001011 11011 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_h_bu_b 0111 01001011 11100 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_w_hu_h 0111 01001011 11101 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_d_wu_w 0111 01001011 11110 ..... ..... ..... @vvv
|
||||||
|
xvmaddwod_q_du_d 0111 01001011 11111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvdiv_b 0111 01001110 00000 ..... ..... ..... @vvv
|
||||||
|
xvdiv_h 0111 01001110 00001 ..... ..... ..... @vvv
|
||||||
|
xvdiv_w 0111 01001110 00010 ..... ..... ..... @vvv
|
||||||
|
xvdiv_d 0111 01001110 00011 ..... ..... ..... @vvv
|
||||||
|
xvmod_b 0111 01001110 00100 ..... ..... ..... @vvv
|
||||||
|
xvmod_h 0111 01001110 00101 ..... ..... ..... @vvv
|
||||||
|
xvmod_w 0111 01001110 00110 ..... ..... ..... @vvv
|
||||||
|
xvmod_d 0111 01001110 00111 ..... ..... ..... @vvv
|
||||||
|
xvdiv_bu 0111 01001110 01000 ..... ..... ..... @vvv
|
||||||
|
xvdiv_hu 0111 01001110 01001 ..... ..... ..... @vvv
|
||||||
|
xvdiv_wu 0111 01001110 01010 ..... ..... ..... @vvv
|
||||||
|
xvdiv_du 0111 01001110 01011 ..... ..... ..... @vvv
|
||||||
|
xvmod_bu 0111 01001110 01100 ..... ..... ..... @vvv
|
||||||
|
xvmod_hu 0111 01001110 01101 ..... ..... ..... @vvv
|
||||||
|
xvmod_wu 0111 01001110 01110 ..... ..... ..... @vvv
|
||||||
|
xvmod_du 0111 01001110 01111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvsat_b 0111 01110010 01000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvsat_h 0111 01110010 01000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsat_w 0111 01110010 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsat_d 0111 01110010 0101 ...... ..... ..... @vv_ui6
|
||||||
|
xvsat_bu 0111 01110010 10000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvsat_hu 0111 01110010 10000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsat_wu 0111 01110010 10001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsat_du 0111 01110010 1001 ...... ..... ..... @vv_ui6
|
||||||
|
|
||||||
|
xvexth_h_b 0111 01101001 11101 11000 ..... ..... @vv
|
||||||
|
xvexth_w_h 0111 01101001 11101 11001 ..... ..... @vv
|
||||||
|
xvexth_d_w 0111 01101001 11101 11010 ..... ..... @vv
|
||||||
|
xvexth_q_d 0111 01101001 11101 11011 ..... ..... @vv
|
||||||
|
xvexth_hu_bu 0111 01101001 11101 11100 ..... ..... @vv
|
||||||
|
xvexth_wu_hu 0111 01101001 11101 11101 ..... ..... @vv
|
||||||
|
xvexth_du_wu 0111 01101001 11101 11110 ..... ..... @vv
|
||||||
|
xvexth_qu_du 0111 01101001 11101 11111 ..... ..... @vv
|
||||||
|
|
||||||
|
vext2xv_h_b 0111 01101001 11110 00100 ..... ..... @vv
|
||||||
|
vext2xv_w_b 0111 01101001 11110 00101 ..... ..... @vv
|
||||||
|
vext2xv_d_b 0111 01101001 11110 00110 ..... ..... @vv
|
||||||
|
vext2xv_w_h 0111 01101001 11110 00111 ..... ..... @vv
|
||||||
|
vext2xv_d_h 0111 01101001 11110 01000 ..... ..... @vv
|
||||||
|
vext2xv_d_w 0111 01101001 11110 01001 ..... ..... @vv
|
||||||
|
vext2xv_hu_bu 0111 01101001 11110 01010 ..... ..... @vv
|
||||||
|
vext2xv_wu_bu 0111 01101001 11110 01011 ..... ..... @vv
|
||||||
|
vext2xv_du_bu 0111 01101001 11110 01100 ..... ..... @vv
|
||||||
|
vext2xv_wu_hu 0111 01101001 11110 01101 ..... ..... @vv
|
||||||
|
vext2xv_du_hu 0111 01101001 11110 01110 ..... ..... @vv
|
||||||
|
vext2xv_du_wu 0111 01101001 11110 01111 ..... ..... @vv
|
||||||
|
|
||||||
|
xvsigncov_b 0111 01010010 11100 ..... ..... ..... @vvv
|
||||||
|
xvsigncov_h 0111 01010010 11101 ..... ..... ..... @vvv
|
||||||
|
xvsigncov_w 0111 01010010 11110 ..... ..... ..... @vvv
|
||||||
|
xvsigncov_d 0111 01010010 11111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvmskltz_b 0111 01101001 11000 10000 ..... ..... @vv
|
||||||
|
xvmskltz_h 0111 01101001 11000 10001 ..... ..... @vv
|
||||||
|
xvmskltz_w 0111 01101001 11000 10010 ..... ..... @vv
|
||||||
|
xvmskltz_d 0111 01101001 11000 10011 ..... ..... @vv
|
||||||
|
xvmskgez_b 0111 01101001 11000 10100 ..... ..... @vv
|
||||||
|
xvmsknz_b 0111 01101001 11000 11000 ..... ..... @vv
|
||||||
|
|
||||||
|
xvldi 0111 01111110 00 ............. ..... @v_i13
|
||||||
|
|
||||||
|
xvand_v 0111 01010010 01100 ..... ..... ..... @vvv
|
||||||
|
xvor_v 0111 01010010 01101 ..... ..... ..... @vvv
|
||||||
|
xvxor_v 0111 01010010 01110 ..... ..... ..... @vvv
|
||||||
|
xvnor_v 0111 01010010 01111 ..... ..... ..... @vvv
|
||||||
|
xvandn_v 0111 01010010 10000 ..... ..... ..... @vvv
|
||||||
|
xvorn_v 0111 01010010 10001 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvandi_b 0111 01111101 00 ........ ..... ..... @vv_ui8
|
||||||
|
xvori_b 0111 01111101 01 ........ ..... ..... @vv_ui8
|
||||||
|
xvxori_b 0111 01111101 10 ........ ..... ..... @vv_ui8
|
||||||
|
xvnori_b 0111 01111101 11 ........ ..... ..... @vv_ui8
|
||||||
|
|
||||||
|
xvsll_b 0111 01001110 10000 ..... ..... ..... @vvv
|
||||||
|
xvsll_h 0111 01001110 10001 ..... ..... ..... @vvv
|
||||||
|
xvsll_w 0111 01001110 10010 ..... ..... ..... @vvv
|
||||||
|
xvsll_d 0111 01001110 10011 ..... ..... ..... @vvv
|
||||||
|
xvslli_b 0111 01110010 11000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvslli_h 0111 01110010 11000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvslli_w 0111 01110010 11001 ..... ..... ..... @vv_ui5
|
||||||
|
xvslli_d 0111 01110010 1101 ...... ..... ..... @vv_ui6
|
||||||
|
xvsrl_b 0111 01001110 10100 ..... ..... ..... @vvv
|
||||||
|
xvsrl_h 0111 01001110 10101 ..... ..... ..... @vvv
|
||||||
|
xvsrl_w 0111 01001110 10110 ..... ..... ..... @vvv
|
||||||
|
xvsrl_d 0111 01001110 10111 ..... ..... ..... @vvv
|
||||||
|
xvsrli_b 0111 01110011 00000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvsrli_h 0111 01110011 00000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsrli_w 0111 01110011 00001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsrli_d 0111 01110011 0001 ...... ..... ..... @vv_ui6
|
||||||
|
xvsra_b 0111 01001110 11000 ..... ..... ..... @vvv
|
||||||
|
xvsra_h 0111 01001110 11001 ..... ..... ..... @vvv
|
||||||
|
xvsra_w 0111 01001110 11010 ..... ..... ..... @vvv
|
||||||
|
xvsra_d 0111 01001110 11011 ..... ..... ..... @vvv
|
||||||
|
xvsrai_b 0111 01110011 01000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvsrai_h 0111 01110011 01000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsrai_w 0111 01110011 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsrai_d 0111 01110011 0101 ...... ..... ..... @vv_ui6
|
||||||
|
xvrotr_b 0111 01001110 11100 ..... ..... ..... @vvv
|
||||||
|
xvrotr_h 0111 01001110 11101 ..... ..... ..... @vvv
|
||||||
|
xvrotr_w 0111 01001110 11110 ..... ..... ..... @vvv
|
||||||
|
xvrotr_d 0111 01001110 11111 ..... ..... ..... @vvv
|
||||||
|
xvrotri_b 0111 01101010 00000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvrotri_h 0111 01101010 00000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvrotri_w 0111 01101010 00001 ..... ..... ..... @vv_ui5
|
||||||
|
xvrotri_d 0111 01101010 0001 ...... ..... ..... @vv_ui6
|
||||||
|
|
||||||
|
xvsllwil_h_b 0111 01110000 10000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvsllwil_w_h 0111 01110000 10000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsllwil_d_w 0111 01110000 10001 ..... ..... ..... @vv_ui5
|
||||||
|
xvextl_q_d 0111 01110000 10010 00000 ..... ..... @vv
|
||||||
|
xvsllwil_hu_bu 0111 01110000 11000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvsllwil_wu_hu 0111 01110000 11000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsllwil_du_wu 0111 01110000 11001 ..... ..... ..... @vv_ui5
|
||||||
|
xvextl_qu_du 0111 01110000 11010 00000 ..... ..... @vv
|
||||||
|
|
||||||
|
xvsrlr_b 0111 01001111 00000 ..... ..... ..... @vvv
|
||||||
|
xvsrlr_h 0111 01001111 00001 ..... ..... ..... @vvv
|
||||||
|
xvsrlr_w 0111 01001111 00010 ..... ..... ..... @vvv
|
||||||
|
xvsrlr_d 0111 01001111 00011 ..... ..... ..... @vvv
|
||||||
|
xvsrlri_b 0111 01101010 01000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvsrlri_h 0111 01101010 01000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsrlri_w 0111 01101010 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsrlri_d 0111 01101010 0101 ...... ..... ..... @vv_ui6
|
||||||
|
xvsrar_b 0111 01001111 00100 ..... ..... ..... @vvv
|
||||||
|
xvsrar_h 0111 01001111 00101 ..... ..... ..... @vvv
|
||||||
|
xvsrar_w 0111 01001111 00110 ..... ..... ..... @vvv
|
||||||
|
xvsrar_d 0111 01001111 00111 ..... ..... ..... @vvv
|
||||||
|
xvsrari_b 0111 01101010 10000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvsrari_h 0111 01101010 10000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsrari_w 0111 01101010 10001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsrari_d 0111 01101010 1001 ...... ..... ..... @vv_ui6
|
||||||
|
|
||||||
|
xvsrln_b_h 0111 01001111 01001 ..... ..... ..... @vvv
|
||||||
|
xvsrln_h_w 0111 01001111 01010 ..... ..... ..... @vvv
|
||||||
|
xvsrln_w_d 0111 01001111 01011 ..... ..... ..... @vvv
|
||||||
|
xvsran_b_h 0111 01001111 01101 ..... ..... ..... @vvv
|
||||||
|
xvsran_h_w 0111 01001111 01110 ..... ..... ..... @vvv
|
||||||
|
xvsran_w_d 0111 01001111 01111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvsrlni_b_h 0111 01110100 00000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsrlni_h_w 0111 01110100 00001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsrlni_w_d 0111 01110100 0001 ...... ..... ..... @vv_ui6
|
||||||
|
xvsrlni_d_q 0111 01110100 001 ....... ..... ..... @vv_ui7
|
||||||
|
xvsrani_b_h 0111 01110101 10000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsrani_h_w 0111 01110101 10001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsrani_w_d 0111 01110101 1001 ...... ..... ..... @vv_ui6
|
||||||
|
xvsrani_d_q 0111 01110101 101 ....... ..... ..... @vv_ui7
|
||||||
|
|
||||||
|
xvsrlrn_b_h 0111 01001111 10001 ..... ..... ..... @vvv
|
||||||
|
xvsrlrn_h_w 0111 01001111 10010 ..... ..... ..... @vvv
|
||||||
|
xvsrlrn_w_d 0111 01001111 10011 ..... ..... ..... @vvv
|
||||||
|
xvsrarn_b_h 0111 01001111 10101 ..... ..... ..... @vvv
|
||||||
|
xvsrarn_h_w 0111 01001111 10110 ..... ..... ..... @vvv
|
||||||
|
xvsrarn_w_d 0111 01001111 10111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvsrlrni_b_h 0111 01110100 01000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsrlrni_h_w 0111 01110100 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsrlrni_w_d 0111 01110100 0101 ...... ..... ..... @vv_ui6
|
||||||
|
xvsrlrni_d_q 0111 01110100 011 ....... ..... ..... @vv_ui7
|
||||||
|
xvsrarni_b_h 0111 01110101 11000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvsrarni_h_w 0111 01110101 11001 ..... ..... ..... @vv_ui5
|
||||||
|
xvsrarni_w_d 0111 01110101 1101 ...... ..... ..... @vv_ui6
|
||||||
|
xvsrarni_d_q 0111 01110101 111 ....... ..... ..... @vv_ui7
|
||||||
|
|
||||||
|
xvssrln_b_h 0111 01001111 11001 ..... ..... ..... @vvv
|
||||||
|
xvssrln_h_w 0111 01001111 11010 ..... ..... ..... @vvv
|
||||||
|
xvssrln_w_d 0111 01001111 11011 ..... ..... ..... @vvv
|
||||||
|
xvssran_b_h 0111 01001111 11101 ..... ..... ..... @vvv
|
||||||
|
xvssran_h_w 0111 01001111 11110 ..... ..... ..... @vvv
|
||||||
|
xvssran_w_d 0111 01001111 11111 ..... ..... ..... @vvv
|
||||||
|
xvssrln_bu_h 0111 01010000 01001 ..... ..... ..... @vvv
|
||||||
|
xvssrln_hu_w 0111 01010000 01010 ..... ..... ..... @vvv
|
||||||
|
xvssrln_wu_d 0111 01010000 01011 ..... ..... ..... @vvv
|
||||||
|
xvssran_bu_h 0111 01010000 01101 ..... ..... ..... @vvv
|
||||||
|
xvssran_hu_w 0111 01010000 01110 ..... ..... ..... @vvv
|
||||||
|
xvssran_wu_d 0111 01010000 01111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvssrlni_b_h 0111 01110100 10000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvssrlni_h_w 0111 01110100 10001 ..... ..... ..... @vv_ui5
|
||||||
|
xvssrlni_w_d 0111 01110100 1001 ...... ..... ..... @vv_ui6
|
||||||
|
xvssrlni_d_q 0111 01110100 101 ....... ..... ..... @vv_ui7
|
||||||
|
xvssrani_b_h 0111 01110110 00000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvssrani_h_w 0111 01110110 00001 ..... ..... ..... @vv_ui5
|
||||||
|
xvssrani_w_d 0111 01110110 0001 ...... ..... ..... @vv_ui6
|
||||||
|
xvssrani_d_q 0111 01110110 001 ....... ..... ..... @vv_ui7
|
||||||
|
xvssrlni_bu_h 0111 01110100 11000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvssrlni_hu_w 0111 01110100 11001 ..... ..... ..... @vv_ui5
|
||||||
|
xvssrlni_wu_d 0111 01110100 1101 ...... ..... ..... @vv_ui6
|
||||||
|
xvssrlni_du_q 0111 01110100 111 ....... ..... ..... @vv_ui7
|
||||||
|
xvssrani_bu_h 0111 01110110 01000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvssrani_hu_w 0111 01110110 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvssrani_wu_d 0111 01110110 0101 ...... ..... ..... @vv_ui6
|
||||||
|
xvssrani_du_q 0111 01110110 011 ....... ..... ..... @vv_ui7
|
||||||
|
|
||||||
|
xvssrlrn_b_h 0111 01010000 00001 ..... ..... ..... @vvv
|
||||||
|
xvssrlrn_h_w 0111 01010000 00010 ..... ..... ..... @vvv
|
||||||
|
xvssrlrn_w_d 0111 01010000 00011 ..... ..... ..... @vvv
|
||||||
|
xvssrarn_b_h 0111 01010000 00101 ..... ..... ..... @vvv
|
||||||
|
xvssrarn_h_w 0111 01010000 00110 ..... ..... ..... @vvv
|
||||||
|
xvssrarn_w_d 0111 01010000 00111 ..... ..... ..... @vvv
|
||||||
|
xvssrlrn_bu_h 0111 01010000 10001 ..... ..... ..... @vvv
|
||||||
|
xvssrlrn_hu_w 0111 01010000 10010 ..... ..... ..... @vvv
|
||||||
|
xvssrlrn_wu_d 0111 01010000 10011 ..... ..... ..... @vvv
|
||||||
|
xvssrarn_bu_h 0111 01010000 10101 ..... ..... ..... @vvv
|
||||||
|
xvssrarn_hu_w 0111 01010000 10110 ..... ..... ..... @vvv
|
||||||
|
xvssrarn_wu_d 0111 01010000 10111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvssrlrni_b_h 0111 01110101 00000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvssrlrni_h_w 0111 01110101 00001 ..... ..... ..... @vv_ui5
|
||||||
|
xvssrlrni_w_d 0111 01110101 0001 ...... ..... ..... @vv_ui6
|
||||||
|
xvssrlrni_d_q 0111 01110101 001 ....... ..... ..... @vv_ui7
|
||||||
|
xvssrarni_b_h 0111 01110110 10000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvssrarni_h_w 0111 01110110 10001 ..... ..... ..... @vv_ui5
|
||||||
|
xvssrarni_w_d 0111 01110110 1001 ...... ..... ..... @vv_ui6
|
||||||
|
xvssrarni_d_q 0111 01110110 101 ....... ..... ..... @vv_ui7
|
||||||
|
xvssrlrni_bu_h 0111 01110101 01000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvssrlrni_hu_w 0111 01110101 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvssrlrni_wu_d 0111 01110101 0101 ...... ..... ..... @vv_ui6
|
||||||
|
xvssrlrni_du_q 0111 01110101 011 ....... ..... ..... @vv_ui7
|
||||||
|
xvssrarni_bu_h 0111 01110110 11000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvssrarni_hu_w 0111 01110110 11001 ..... ..... ..... @vv_ui5
|
||||||
|
xvssrarni_wu_d 0111 01110110 1101 ...... ..... ..... @vv_ui6
|
||||||
|
xvssrarni_du_q 0111 01110110 111 ....... ..... ..... @vv_ui7
|
||||||
|
|
||||||
|
xvclo_b 0111 01101001 11000 00000 ..... ..... @vv
|
||||||
|
xvclo_h 0111 01101001 11000 00001 ..... ..... @vv
|
||||||
|
xvclo_w 0111 01101001 11000 00010 ..... ..... @vv
|
||||||
|
xvclo_d 0111 01101001 11000 00011 ..... ..... @vv
|
||||||
|
xvclz_b 0111 01101001 11000 00100 ..... ..... @vv
|
||||||
|
xvclz_h 0111 01101001 11000 00101 ..... ..... @vv
|
||||||
|
xvclz_w 0111 01101001 11000 00110 ..... ..... @vv
|
||||||
|
xvclz_d 0111 01101001 11000 00111 ..... ..... @vv
|
||||||
|
|
||||||
|
xvpcnt_b 0111 01101001 11000 01000 ..... ..... @vv
|
||||||
|
xvpcnt_h 0111 01101001 11000 01001 ..... ..... @vv
|
||||||
|
xvpcnt_w 0111 01101001 11000 01010 ..... ..... @vv
|
||||||
|
xvpcnt_d 0111 01101001 11000 01011 ..... ..... @vv
|
||||||
|
|
||||||
|
xvbitclr_b 0111 01010000 11000 ..... ..... ..... @vvv
|
||||||
|
xvbitclr_h 0111 01010000 11001 ..... ..... ..... @vvv
|
||||||
|
xvbitclr_w 0111 01010000 11010 ..... ..... ..... @vvv
|
||||||
|
xvbitclr_d 0111 01010000 11011 ..... ..... ..... @vvv
|
||||||
|
xvbitclri_b 0111 01110001 00000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvbitclri_h 0111 01110001 00000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvbitclri_w 0111 01110001 00001 ..... ..... ..... @vv_ui5
|
||||||
|
xvbitclri_d 0111 01110001 0001 ...... ..... ..... @vv_ui6
|
||||||
|
|
||||||
|
xvbitset_b 0111 01010000 11100 ..... ..... ..... @vvv
|
||||||
|
xvbitset_h 0111 01010000 11101 ..... ..... ..... @vvv
|
||||||
|
xvbitset_w 0111 01010000 11110 ..... ..... ..... @vvv
|
||||||
|
xvbitset_d 0111 01010000 11111 ..... ..... ..... @vvv
|
||||||
|
xvbitseti_b 0111 01110001 01000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvbitseti_h 0111 01110001 01000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvbitseti_w 0111 01110001 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvbitseti_d 0111 01110001 0101 ...... ..... ..... @vv_ui6
|
||||||
|
|
||||||
|
xvbitrev_b 0111 01010001 00000 ..... ..... ..... @vvv
|
||||||
|
xvbitrev_h 0111 01010001 00001 ..... ..... ..... @vvv
|
||||||
|
xvbitrev_w 0111 01010001 00010 ..... ..... ..... @vvv
|
||||||
|
xvbitrev_d 0111 01010001 00011 ..... ..... ..... @vvv
|
||||||
|
xvbitrevi_b 0111 01110001 10000 01 ... ..... ..... @vv_ui3
|
||||||
|
xvbitrevi_h 0111 01110001 10000 1 .... ..... ..... @vv_ui4
|
||||||
|
xvbitrevi_w 0111 01110001 10001 ..... ..... ..... @vv_ui5
|
||||||
|
xvbitrevi_d 0111 01110001 1001 ...... ..... ..... @vv_ui6
|
||||||
|
|
||||||
|
xvfrstp_b 0111 01010010 10110 ..... ..... ..... @vvv
|
||||||
|
xvfrstp_h 0111 01010010 10111 ..... ..... ..... @vvv
|
||||||
|
xvfrstpi_b 0111 01101001 10100 ..... ..... ..... @vv_ui5
|
||||||
|
xvfrstpi_h 0111 01101001 10101 ..... ..... ..... @vv_ui5
|
||||||
|
|
||||||
|
xvfadd_s 0111 01010011 00001 ..... ..... ..... @vvv
|
||||||
|
xvfadd_d 0111 01010011 00010 ..... ..... ..... @vvv
|
||||||
|
xvfsub_s 0111 01010011 00101 ..... ..... ..... @vvv
|
||||||
|
xvfsub_d 0111 01010011 00110 ..... ..... ..... @vvv
|
||||||
|
xvfmul_s 0111 01010011 10001 ..... ..... ..... @vvv
|
||||||
|
xvfmul_d 0111 01010011 10010 ..... ..... ..... @vvv
|
||||||
|
xvfdiv_s 0111 01010011 10101 ..... ..... ..... @vvv
|
||||||
|
xvfdiv_d 0111 01010011 10110 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvfmadd_s 0000 10100001 ..... ..... ..... ..... @vvvv
|
||||||
|
xvfmadd_d 0000 10100010 ..... ..... ..... ..... @vvvv
|
||||||
|
xvfmsub_s 0000 10100101 ..... ..... ..... ..... @vvvv
|
||||||
|
xvfmsub_d 0000 10100110 ..... ..... ..... ..... @vvvv
|
||||||
|
xvfnmadd_s 0000 10101001 ..... ..... ..... ..... @vvvv
|
||||||
|
xvfnmadd_d 0000 10101010 ..... ..... ..... ..... @vvvv
|
||||||
|
xvfnmsub_s 0000 10101101 ..... ..... ..... ..... @vvvv
|
||||||
|
xvfnmsub_d 0000 10101110 ..... ..... ..... ..... @vvvv
|
||||||
|
|
||||||
|
xvfmax_s 0111 01010011 11001 ..... ..... ..... @vvv
|
||||||
|
xvfmax_d 0111 01010011 11010 ..... ..... ..... @vvv
|
||||||
|
xvfmin_s 0111 01010011 11101 ..... ..... ..... @vvv
|
||||||
|
xvfmin_d 0111 01010011 11110 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvfmaxa_s 0111 01010100 00001 ..... ..... ..... @vvv
|
||||||
|
xvfmaxa_d 0111 01010100 00010 ..... ..... ..... @vvv
|
||||||
|
xvfmina_s 0111 01010100 00101 ..... ..... ..... @vvv
|
||||||
|
xvfmina_d 0111 01010100 00110 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvflogb_s 0111 01101001 11001 10001 ..... ..... @vv
|
||||||
|
xvflogb_d 0111 01101001 11001 10010 ..... ..... @vv
|
||||||
|
|
||||||
|
xvfclass_s 0111 01101001 11001 10101 ..... ..... @vv
|
||||||
|
xvfclass_d 0111 01101001 11001 10110 ..... ..... @vv
|
||||||
|
|
||||||
|
xvfsqrt_s 0111 01101001 11001 11001 ..... ..... @vv
|
||||||
|
xvfsqrt_d 0111 01101001 11001 11010 ..... ..... @vv
|
||||||
|
xvfrecip_s 0111 01101001 11001 11101 ..... ..... @vv
|
||||||
|
xvfrecip_d 0111 01101001 11001 11110 ..... ..... @vv
|
||||||
|
xvfrsqrt_s 0111 01101001 11010 00001 ..... ..... @vv
|
||||||
|
xvfrsqrt_d 0111 01101001 11010 00010 ..... ..... @vv
|
||||||
|
|
||||||
|
xvfcvtl_s_h 0111 01101001 11011 11010 ..... ..... @vv
|
||||||
|
xvfcvth_s_h 0111 01101001 11011 11011 ..... ..... @vv
|
||||||
|
xvfcvtl_d_s 0111 01101001 11011 11100 ..... ..... @vv
|
||||||
|
xvfcvth_d_s 0111 01101001 11011 11101 ..... ..... @vv
|
||||||
|
xvfcvt_h_s 0111 01010100 01100 ..... ..... ..... @vvv
|
||||||
|
xvfcvt_s_d 0111 01010100 01101 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvfrintrne_s 0111 01101001 11010 11101 ..... ..... @vv
|
||||||
|
xvfrintrne_d 0111 01101001 11010 11110 ..... ..... @vv
|
||||||
|
xvfrintrz_s 0111 01101001 11010 11001 ..... ..... @vv
|
||||||
|
xvfrintrz_d 0111 01101001 11010 11010 ..... ..... @vv
|
||||||
|
xvfrintrp_s 0111 01101001 11010 10101 ..... ..... @vv
|
||||||
|
xvfrintrp_d 0111 01101001 11010 10110 ..... ..... @vv
|
||||||
|
xvfrintrm_s 0111 01101001 11010 10001 ..... ..... @vv
|
||||||
|
xvfrintrm_d 0111 01101001 11010 10010 ..... ..... @vv
|
||||||
|
xvfrint_s 0111 01101001 11010 01101 ..... ..... @vv
|
||||||
|
xvfrint_d 0111 01101001 11010 01110 ..... ..... @vv
|
||||||
|
|
||||||
|
xvftintrne_w_s 0111 01101001 11100 10100 ..... ..... @vv
|
||||||
|
xvftintrne_l_d 0111 01101001 11100 10101 ..... ..... @vv
|
||||||
|
xvftintrz_w_s 0111 01101001 11100 10010 ..... ..... @vv
|
||||||
|
xvftintrz_l_d 0111 01101001 11100 10011 ..... ..... @vv
|
||||||
|
xvftintrp_w_s 0111 01101001 11100 10000 ..... ..... @vv
|
||||||
|
xvftintrp_l_d 0111 01101001 11100 10001 ..... ..... @vv
|
||||||
|
xvftintrm_w_s 0111 01101001 11100 01110 ..... ..... @vv
|
||||||
|
xvftintrm_l_d 0111 01101001 11100 01111 ..... ..... @vv
|
||||||
|
xvftint_w_s 0111 01101001 11100 01100 ..... ..... @vv
|
||||||
|
xvftint_l_d 0111 01101001 11100 01101 ..... ..... @vv
|
||||||
|
xvftintrz_wu_s 0111 01101001 11100 11100 ..... ..... @vv
|
||||||
|
xvftintrz_lu_d 0111 01101001 11100 11101 ..... ..... @vv
|
||||||
|
xvftint_wu_s 0111 01101001 11100 10110 ..... ..... @vv
|
||||||
|
xvftint_lu_d 0111 01101001 11100 10111 ..... ..... @vv
|
||||||
|
|
||||||
|
xvftintrne_w_d 0111 01010100 10111 ..... ..... ..... @vvv
|
||||||
|
xvftintrz_w_d 0111 01010100 10110 ..... ..... ..... @vvv
|
||||||
|
xvftintrp_w_d 0111 01010100 10101 ..... ..... ..... @vvv
|
||||||
|
xvftintrm_w_d 0111 01010100 10100 ..... ..... ..... @vvv
|
||||||
|
xvftint_w_d 0111 01010100 10011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvftintrnel_l_s 0111 01101001 11101 01000 ..... ..... @vv
|
||||||
|
xvftintrneh_l_s 0111 01101001 11101 01001 ..... ..... @vv
|
||||||
|
xvftintrzl_l_s 0111 01101001 11101 00110 ..... ..... @vv
|
||||||
|
xvftintrzh_l_s 0111 01101001 11101 00111 ..... ..... @vv
|
||||||
|
xvftintrpl_l_s 0111 01101001 11101 00100 ..... ..... @vv
|
||||||
|
xvftintrph_l_s 0111 01101001 11101 00101 ..... ..... @vv
|
||||||
|
xvftintrml_l_s 0111 01101001 11101 00010 ..... ..... @vv
|
||||||
|
xvftintrmh_l_s 0111 01101001 11101 00011 ..... ..... @vv
|
||||||
|
xvftintl_l_s 0111 01101001 11101 00000 ..... ..... @vv
|
||||||
|
xvftinth_l_s 0111 01101001 11101 00001 ..... ..... @vv
|
||||||
|
|
||||||
|
xvffint_s_w 0111 01101001 11100 00000 ..... ..... @vv
|
||||||
|
xvffint_d_l 0111 01101001 11100 00010 ..... ..... @vv
|
||||||
|
xvffint_s_wu 0111 01101001 11100 00001 ..... ..... @vv
|
||||||
|
xvffint_d_lu 0111 01101001 11100 00011 ..... ..... @vv
|
||||||
|
xvffintl_d_w 0111 01101001 11100 00100 ..... ..... @vv
|
||||||
|
xvffinth_d_w 0111 01101001 11100 00101 ..... ..... @vv
|
||||||
|
xvffint_s_l 0111 01010100 10000 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvseq_b 0111 01000000 00000 ..... ..... ..... @vvv
|
||||||
|
xvseq_h 0111 01000000 00001 ..... ..... ..... @vvv
|
||||||
|
xvseq_w 0111 01000000 00010 ..... ..... ..... @vvv
|
||||||
|
xvseq_d 0111 01000000 00011 ..... ..... ..... @vvv
|
||||||
|
xvseqi_b 0111 01101000 00000 ..... ..... ..... @vv_i5
|
||||||
|
xvseqi_h 0111 01101000 00001 ..... ..... ..... @vv_i5
|
||||||
|
xvseqi_w 0111 01101000 00010 ..... ..... ..... @vv_i5
|
||||||
|
xvseqi_d 0111 01101000 00011 ..... ..... ..... @vv_i5
|
||||||
|
|
||||||
|
xvsle_b 0111 01000000 00100 ..... ..... ..... @vvv
|
||||||
|
xvsle_h 0111 01000000 00101 ..... ..... ..... @vvv
|
||||||
|
xvsle_w 0111 01000000 00110 ..... ..... ..... @vvv
|
||||||
|
xvsle_d 0111 01000000 00111 ..... ..... ..... @vvv
|
||||||
|
xvslei_b 0111 01101000 00100 ..... ..... ..... @vv_i5
|
||||||
|
xvslei_h 0111 01101000 00101 ..... ..... ..... @vv_i5
|
||||||
|
xvslei_w 0111 01101000 00110 ..... ..... ..... @vv_i5
|
||||||
|
xvslei_d 0111 01101000 00111 ..... ..... ..... @vv_i5
|
||||||
|
xvsle_bu 0111 01000000 01000 ..... ..... ..... @vvv
|
||||||
|
xvsle_hu 0111 01000000 01001 ..... ..... ..... @vvv
|
||||||
|
xvsle_wu 0111 01000000 01010 ..... ..... ..... @vvv
|
||||||
|
xvsle_du 0111 01000000 01011 ..... ..... ..... @vvv
|
||||||
|
xvslei_bu 0111 01101000 01000 ..... ..... ..... @vv_ui5
|
||||||
|
xvslei_hu 0111 01101000 01001 ..... ..... ..... @vv_ui5
|
||||||
|
xvslei_wu 0111 01101000 01010 ..... ..... ..... @vv_ui5
|
||||||
|
xvslei_du 0111 01101000 01011 ..... ..... ..... @vv_ui5
|
||||||
|
|
||||||
|
xvslt_b 0111 01000000 01100 ..... ..... ..... @vvv
|
||||||
|
xvslt_h 0111 01000000 01101 ..... ..... ..... @vvv
|
||||||
|
xvslt_w 0111 01000000 01110 ..... ..... ..... @vvv
|
||||||
|
xvslt_d 0111 01000000 01111 ..... ..... ..... @vvv
|
||||||
|
xvslti_b 0111 01101000 01100 ..... ..... ..... @vv_i5
|
||||||
|
xvslti_h 0111 01101000 01101 ..... ..... ..... @vv_i5
|
||||||
|
xvslti_w 0111 01101000 01110 ..... ..... ..... @vv_i5
|
||||||
|
xvslti_d 0111 01101000 01111 ..... ..... ..... @vv_i5
|
||||||
|
xvslt_bu 0111 01000000 10000 ..... ..... ..... @vvv
|
||||||
|
xvslt_hu 0111 01000000 10001 ..... ..... ..... @vvv
|
||||||
|
xvslt_wu 0111 01000000 10010 ..... ..... ..... @vvv
|
||||||
|
xvslt_du 0111 01000000 10011 ..... ..... ..... @vvv
|
||||||
|
xvslti_bu 0111 01101000 10000 ..... ..... ..... @vv_ui5
|
||||||
|
xvslti_hu 0111 01101000 10001 ..... ..... ..... @vv_ui5
|
||||||
|
xvslti_wu 0111 01101000 10010 ..... ..... ..... @vv_ui5
|
||||||
|
xvslti_du 0111 01101000 10011 ..... ..... ..... @vv_ui5
|
||||||
|
|
||||||
|
xvfcmp_cond_s 0000 11001001 ..... ..... ..... ..... @vvv_fcond
|
||||||
|
xvfcmp_cond_d 0000 11001010 ..... ..... ..... ..... @vvv_fcond
|
||||||
|
|
||||||
|
xvbitsel_v 0000 11010010 ..... ..... ..... ..... @vvvv
|
||||||
|
|
||||||
|
xvbitseli_b 0111 01111100 01 ........ ..... ..... @vv_ui8
|
||||||
|
|
||||||
|
xvseteqz_v 0111 01101001 11001 00110 ..... 00 ... @cv
|
||||||
|
xvsetnez_v 0111 01101001 11001 00111 ..... 00 ... @cv
|
||||||
|
xvsetanyeqz_b 0111 01101001 11001 01000 ..... 00 ... @cv
|
||||||
|
xvsetanyeqz_h 0111 01101001 11001 01001 ..... 00 ... @cv
|
||||||
|
xvsetanyeqz_w 0111 01101001 11001 01010 ..... 00 ... @cv
|
||||||
|
xvsetanyeqz_d 0111 01101001 11001 01011 ..... 00 ... @cv
|
||||||
|
xvsetallnez_b 0111 01101001 11001 01100 ..... 00 ... @cv
|
||||||
|
xvsetallnez_h 0111 01101001 11001 01101 ..... 00 ... @cv
|
||||||
|
xvsetallnez_w 0111 01101001 11001 01110 ..... 00 ... @cv
|
||||||
|
xvsetallnez_d 0111 01101001 11001 01111 ..... 00 ... @cv
|
||||||
|
|
||||||
|
xvinsgr2vr_w 0111 01101110 10111 10 ... ..... ..... @vr_ui3
|
||||||
|
xvinsgr2vr_d 0111 01101110 10111 110 .. ..... ..... @vr_ui2
|
||||||
|
xvpickve2gr_w 0111 01101110 11111 10 ... ..... ..... @rv_ui3
|
||||||
|
xvpickve2gr_d 0111 01101110 11111 110 .. ..... ..... @rv_ui2
|
||||||
|
xvpickve2gr_wu 0111 01101111 00111 10 ... ..... ..... @rv_ui3
|
||||||
|
xvpickve2gr_du 0111 01101111 00111 110 .. ..... ..... @rv_ui2
|
||||||
|
|
||||||
|
xvreplgr2vr_b 0111 01101001 11110 00000 ..... ..... @vr
|
||||||
|
xvreplgr2vr_h 0111 01101001 11110 00001 ..... ..... @vr
|
||||||
|
xvreplgr2vr_w 0111 01101001 11110 00010 ..... ..... @vr
|
||||||
|
xvreplgr2vr_d 0111 01101001 11110 00011 ..... ..... @vr
|
||||||
|
|
||||||
|
xvreplve_b 0111 01010010 00100 ..... ..... ..... @vvr
|
||||||
|
xvreplve_h 0111 01010010 00101 ..... ..... ..... @vvr
|
||||||
|
xvreplve_w 0111 01010010 00110 ..... ..... ..... @vvr
|
||||||
|
xvreplve_d 0111 01010010 00111 ..... ..... ..... @vvr
|
||||||
|
|
||||||
|
xvrepl128vei_b 0111 01101111 01111 0 .... ..... ..... @vv_ui4
|
||||||
|
xvrepl128vei_h 0111 01101111 01111 10 ... ..... ..... @vv_ui3
|
||||||
|
xvrepl128vei_w 0111 01101111 01111 110 .. ..... ..... @vv_ui2
|
||||||
|
xvrepl128vei_d 0111 01101111 01111 1110 . ..... ..... @vv_ui1
|
||||||
|
|
||||||
|
xvreplve0_b 0111 01110000 01110 00000 ..... ..... @vv
|
||||||
|
xvreplve0_h 0111 01110000 01111 00000 ..... ..... @vv
|
||||||
|
xvreplve0_w 0111 01110000 01111 10000 ..... ..... @vv
|
||||||
|
xvreplve0_d 0111 01110000 01111 11000 ..... ..... @vv
|
||||||
|
xvreplve0_q 0111 01110000 01111 11100 ..... ..... @vv
|
||||||
|
|
||||||
|
xvinsve0_w 0111 01101111 11111 10 ... ..... ..... @vv_ui3
|
||||||
|
xvinsve0_d 0111 01101111 11111 110 .. ..... ..... @vv_ui2
|
||||||
|
|
||||||
|
xvpickve_w 0111 01110000 00111 10 ... ..... ..... @vv_ui3
|
||||||
|
xvpickve_d 0111 01110000 00111 110 .. ..... ..... @vv_ui2
|
||||||
|
|
||||||
|
xvbsll_v 0111 01101000 11100 ..... ..... ..... @vv_ui5
|
||||||
|
xvbsrl_v 0111 01101000 11101 ..... ..... ..... @vv_ui5
|
||||||
|
|
||||||
|
xvpackev_b 0111 01010001 01100 ..... ..... ..... @vvv
|
||||||
|
xvpackev_h 0111 01010001 01101 ..... ..... ..... @vvv
|
||||||
|
xvpackev_w 0111 01010001 01110 ..... ..... ..... @vvv
|
||||||
|
xvpackev_d 0111 01010001 01111 ..... ..... ..... @vvv
|
||||||
|
xvpackod_b 0111 01010001 10000 ..... ..... ..... @vvv
|
||||||
|
xvpackod_h 0111 01010001 10001 ..... ..... ..... @vvv
|
||||||
|
xvpackod_w 0111 01010001 10010 ..... ..... ..... @vvv
|
||||||
|
xvpackod_d 0111 01010001 10011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvpickev_b 0111 01010001 11100 ..... ..... ..... @vvv
|
||||||
|
xvpickev_h 0111 01010001 11101 ..... ..... ..... @vvv
|
||||||
|
xvpickev_w 0111 01010001 11110 ..... ..... ..... @vvv
|
||||||
|
xvpickev_d 0111 01010001 11111 ..... ..... ..... @vvv
|
||||||
|
xvpickod_b 0111 01010010 00000 ..... ..... ..... @vvv
|
||||||
|
xvpickod_h 0111 01010010 00001 ..... ..... ..... @vvv
|
||||||
|
xvpickod_w 0111 01010010 00010 ..... ..... ..... @vvv
|
||||||
|
xvpickod_d 0111 01010010 00011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvilvl_b 0111 01010001 10100 ..... ..... ..... @vvv
|
||||||
|
xvilvl_h 0111 01010001 10101 ..... ..... ..... @vvv
|
||||||
|
xvilvl_w 0111 01010001 10110 ..... ..... ..... @vvv
|
||||||
|
xvilvl_d 0111 01010001 10111 ..... ..... ..... @vvv
|
||||||
|
xvilvh_b 0111 01010001 11000 ..... ..... ..... @vvv
|
||||||
|
xvilvh_h 0111 01010001 11001 ..... ..... ..... @vvv
|
||||||
|
xvilvh_w 0111 01010001 11010 ..... ..... ..... @vvv
|
||||||
|
xvilvh_d 0111 01010001 11011 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvshuf_b 0000 11010110 ..... ..... ..... ..... @vvvv
|
||||||
|
xvshuf_h 0111 01010111 10101 ..... ..... ..... @vvv
|
||||||
|
xvshuf_w 0111 01010111 10110 ..... ..... ..... @vvv
|
||||||
|
xvshuf_d 0111 01010111 10111 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvperm_w 0111 01010111 11010 ..... ..... ..... @vvv
|
||||||
|
|
||||||
|
xvshuf4i_b 0111 01111001 00 ........ ..... ..... @vv_ui8
|
||||||
|
xvshuf4i_h 0111 01111001 01 ........ ..... ..... @vv_ui8
|
||||||
|
xvshuf4i_w 0111 01111001 10 ........ ..... ..... @vv_ui8
|
||||||
|
xvshuf4i_d 0111 01111001 11 ........ ..... ..... @vv_ui8
|
||||||
|
|
||||||
|
xvpermi_w 0111 01111110 01 ........ ..... ..... @vv_ui8
|
||||||
|
xvpermi_d 0111 01111110 10 ........ ..... ..... @vv_ui8
|
||||||
|
xvpermi_q 0111 01111110 11 ........ ..... ..... @vv_ui8
|
||||||
|
|
||||||
|
xvextrins_d 0111 01111000 00 ........ ..... ..... @vv_ui8
|
||||||
|
xvextrins_w 0111 01111000 01 ........ ..... ..... @vv_ui8
|
||||||
|
xvextrins_h 0111 01111000 10 ........ ..... ..... @vv_ui8
|
||||||
|
xvextrins_b 0111 01111000 11 ........ ..... ..... @vv_ui8
|
||||||
|
|
||||||
|
xvld 0010 110010 ............ ..... ..... @vr_i12
|
||||||
|
xvst 0010 110011 ............ ..... ..... @vr_i12
|
||||||
|
xvldx 0011 10000100 10000 ..... ..... ..... @vrr
|
||||||
|
xvstx 0011 10000100 11000 ..... ..... ..... @vrr
|
||||||
|
|
||||||
|
xvldrepl_d 0011 00100001 0 ......... ..... ..... @vr_i9
|
||||||
|
xvldrepl_w 0011 00100010 .......... ..... ..... @vr_i10
|
||||||
|
xvldrepl_h 0011 0010010 ........... ..... ..... @vr_i11
|
||||||
|
xvldrepl_b 0011 001010 ............ ..... ..... @vr_i12
|
||||||
|
xvstelm_d 0011 00110001 .. ........ ..... ..... @vr_i8i2x
|
||||||
|
xvstelm_w 0011 0011001 ... ........ ..... ..... @vr_i8i3x
|
||||||
|
xvstelm_h 0011 001101 .... ........ ..... ..... @vr_i8i4x
|
||||||
|
xvstelm_b 0011 00111 ..... ........ ..... ..... @vr_i8i5x
|
||||||
|
|
|
@ -21,28 +21,6 @@
|
||||||
/* Global bit for huge page */
|
/* Global bit for huge page */
|
||||||
#define LOONGARCH_HGLOBAL_SHIFT 12
|
#define LOONGARCH_HGLOBAL_SHIFT 12
|
||||||
|
|
||||||
#if HOST_BIG_ENDIAN
|
|
||||||
#define B(x) B[15 - (x)]
|
|
||||||
#define H(x) H[7 - (x)]
|
|
||||||
#define W(x) W[3 - (x)]
|
|
||||||
#define D(x) D[1 - (x)]
|
|
||||||
#define UB(x) UB[15 - (x)]
|
|
||||||
#define UH(x) UH[7 - (x)]
|
|
||||||
#define UW(x) UW[3 - (x)]
|
|
||||||
#define UD(x) UD[1 -(x)]
|
|
||||||
#define Q(x) Q[x]
|
|
||||||
#else
|
|
||||||
#define B(x) B[x]
|
|
||||||
#define H(x) H[x]
|
|
||||||
#define W(x) W[x]
|
|
||||||
#define D(x) D[x]
|
|
||||||
#define UB(x) UB[x]
|
|
||||||
#define UH(x) UH[x]
|
|
||||||
#define UW(x) UW[x]
|
|
||||||
#define UD(x) UD[x]
|
|
||||||
#define Q(x) Q[x]
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void loongarch_translate_init(void);
|
void loongarch_translate_init(void);
|
||||||
|
|
||||||
void loongarch_cpu_dump_state(CPUState *cpu, FILE *f, int flags);
|
void loongarch_cpu_dump_state(CPUState *cpu, FILE *f, int flags);
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -8,7 +8,7 @@
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "migration/cpu.h"
|
#include "migration/cpu.h"
|
||||||
#include "internals.h"
|
#include "vec.h"
|
||||||
|
|
||||||
static const VMStateDescription vmstate_fpu_reg = {
|
static const VMStateDescription vmstate_fpu_reg = {
|
||||||
.name = "fpu_reg",
|
.name = "fpu_reg",
|
||||||
|
@ -76,6 +76,39 @@ static const VMStateDescription vmstate_lsx = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const VMStateDescription vmstate_lasxh_reg = {
|
||||||
|
.name = "lasxh_reg",
|
||||||
|
.version_id = 1,
|
||||||
|
.minimum_version_id = 1,
|
||||||
|
.fields = (VMStateField[]) {
|
||||||
|
VMSTATE_UINT64(UD(2), VReg),
|
||||||
|
VMSTATE_UINT64(UD(3), VReg),
|
||||||
|
VMSTATE_END_OF_LIST()
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#define VMSTATE_LASXH_REGS(_field, _state, _start) \
|
||||||
|
VMSTATE_STRUCT_SUB_ARRAY(_field, _state, _start, 32, 0, \
|
||||||
|
vmstate_lasxh_reg, fpr_t)
|
||||||
|
|
||||||
|
static bool lasx_needed(void *opaque)
|
||||||
|
{
|
||||||
|
LoongArchCPU *cpu = opaque;
|
||||||
|
|
||||||
|
return FIELD_EX64(cpu->env.cpucfg[2], CPUCFG2, LASX);
|
||||||
|
}
|
||||||
|
|
||||||
|
static const VMStateDescription vmstate_lasx = {
|
||||||
|
.name = "cpu/lasx",
|
||||||
|
.version_id = 1,
|
||||||
|
.minimum_version_id = 1,
|
||||||
|
.needed = lasx_needed,
|
||||||
|
.fields = (VMStateField[]) {
|
||||||
|
VMSTATE_LASXH_REGS(env.fpr, LoongArchCPU, 0),
|
||||||
|
VMSTATE_END_OF_LIST()
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
/* TLB state */
|
/* TLB state */
|
||||||
const VMStateDescription vmstate_tlb = {
|
const VMStateDescription vmstate_tlb = {
|
||||||
.name = "cpu/tlb",
|
.name = "cpu/tlb",
|
||||||
|
@ -163,6 +196,7 @@ const VMStateDescription vmstate_loongarch_cpu = {
|
||||||
.subsections = (const VMStateDescription*[]) {
|
.subsections = (const VMStateDescription*[]) {
|
||||||
&vmstate_fpu,
|
&vmstate_fpu,
|
||||||
&vmstate_lsx,
|
&vmstate_lsx,
|
||||||
|
&vmstate_lasx,
|
||||||
NULL
|
NULL
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,7 +11,7 @@ loongarch_tcg_ss.add(files(
|
||||||
'op_helper.c',
|
'op_helper.c',
|
||||||
'translate.c',
|
'translate.c',
|
||||||
'gdbstub.c',
|
'gdbstub.c',
|
||||||
'lsx_helper.c',
|
'vec_helper.c',
|
||||||
))
|
))
|
||||||
loongarch_tcg_ss.add(zlib)
|
loongarch_tcg_ss.add(zlib)
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include "fpu/softfloat.h"
|
#include "fpu/softfloat.h"
|
||||||
#include "translate.h"
|
#include "translate.h"
|
||||||
#include "internals.h"
|
#include "internals.h"
|
||||||
|
#include "vec.h"
|
||||||
|
|
||||||
/* Global register indices */
|
/* Global register indices */
|
||||||
TCGv cpu_gpr[32], cpu_pc;
|
TCGv cpu_gpr[32], cpu_pc;
|
||||||
|
@ -36,6 +37,18 @@ static inline int vec_full_offset(int regno)
|
||||||
return offsetof(CPULoongArchState, fpr[regno]);
|
return offsetof(CPULoongArchState, fpr[regno]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline int vec_reg_offset(int regno, int index, MemOp mop)
|
||||||
|
{
|
||||||
|
const uint8_t size = 1 << mop;
|
||||||
|
int offs = index * size;
|
||||||
|
|
||||||
|
if (HOST_BIG_ENDIAN && size < 8 ) {
|
||||||
|
offs ^= (8 - size);
|
||||||
|
}
|
||||||
|
|
||||||
|
return offs + vec_full_offset(regno);
|
||||||
|
}
|
||||||
|
|
||||||
static inline void get_vreg64(TCGv_i64 dest, int regno, int index)
|
static inline void get_vreg64(TCGv_i64 dest, int regno, int index)
|
||||||
{
|
{
|
||||||
tcg_gen_ld_i64(dest, cpu_env,
|
tcg_gen_ld_i64(dest, cpu_env,
|
||||||
|
@ -123,6 +136,10 @@ static void loongarch_tr_init_disas_context(DisasContextBase *dcbase,
|
||||||
ctx->vl = LSX_LEN;
|
ctx->vl = LSX_LEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (FIELD_EX64(env->cpucfg[2], CPUCFG2, LASX)) {
|
||||||
|
ctx->vl = LASX_LEN;
|
||||||
|
}
|
||||||
|
|
||||||
ctx->la64 = is_la64(env);
|
ctx->la64 = is_la64(env);
|
||||||
ctx->va32 = (ctx->base.tb->flags & HW_FLAGS_VA32) != 0;
|
ctx->va32 = (ctx->base.tb->flags & HW_FLAGS_VA32) != 0;
|
||||||
|
|
||||||
|
@ -261,7 +278,7 @@ static uint64_t make_address_pc(DisasContext *ctx, uint64_t addr)
|
||||||
#include "insn_trans/trans_fmemory.c.inc"
|
#include "insn_trans/trans_fmemory.c.inc"
|
||||||
#include "insn_trans/trans_branch.c.inc"
|
#include "insn_trans/trans_branch.c.inc"
|
||||||
#include "insn_trans/trans_privileged.c.inc"
|
#include "insn_trans/trans_privileged.c.inc"
|
||||||
#include "insn_trans/trans_lsx.c.inc"
|
#include "insn_trans/trans_vec.c.inc"
|
||||||
|
|
||||||
static void loongarch_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
|
static void loongarch_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
|
||||||
{
|
{
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#define avail_LSPW(C) (FIELD_EX32((C)->cpucfg2, CPUCFG2, LSPW))
|
#define avail_LSPW(C) (FIELD_EX32((C)->cpucfg2, CPUCFG2, LSPW))
|
||||||
#define avail_LAM(C) (FIELD_EX32((C)->cpucfg2, CPUCFG2, LAM))
|
#define avail_LAM(C) (FIELD_EX32((C)->cpucfg2, CPUCFG2, LAM))
|
||||||
#define avail_LSX(C) (FIELD_EX32((C)->cpucfg2, CPUCFG2, LSX))
|
#define avail_LSX(C) (FIELD_EX32((C)->cpucfg2, CPUCFG2, LSX))
|
||||||
|
#define avail_LASX(C) (FIELD_EX32((C)->cpucfg2, CPUCFG2, LASX))
|
||||||
#define avail_IOCSR(C) (FIELD_EX32((C)->cpucfg1, CPUCFG1, IOCSR))
|
#define avail_IOCSR(C) (FIELD_EX32((C)->cpucfg1, CPUCFG1, IOCSR))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
75
target/loongarch/vec.h
Normal file
75
target/loongarch/vec.h
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||||
|
/*
|
||||||
|
* QEMU LoongArch vector utilitites
|
||||||
|
*
|
||||||
|
* Copyright (c) 2023 Loongson Technology Corporation Limited
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LOONGARCH_VEC_H
|
||||||
|
#define LOONGARCH_VEC_H
|
||||||
|
|
||||||
|
#if HOST_BIG_ENDIAN
|
||||||
|
#define B(x) B[(x) ^ 15]
|
||||||
|
#define H(x) H[(x) ^ 7]
|
||||||
|
#define W(x) W[(x) ^ 3]
|
||||||
|
#define D(x) D[(x) ^ 1]
|
||||||
|
#define UB(x) UB[(x) ^ 15]
|
||||||
|
#define UH(x) UH[(x) ^ 7]
|
||||||
|
#define UW(x) UW[(x) ^ 3]
|
||||||
|
#define UD(x) UD[(x) ^ 1]
|
||||||
|
#define Q(x) Q[x]
|
||||||
|
#else
|
||||||
|
#define B(x) B[x]
|
||||||
|
#define H(x) H[x]
|
||||||
|
#define W(x) W[x]
|
||||||
|
#define D(x) D[x]
|
||||||
|
#define UB(x) UB[x]
|
||||||
|
#define UH(x) UH[x]
|
||||||
|
#define UW(x) UW[x]
|
||||||
|
#define UD(x) UD[x]
|
||||||
|
#define Q(x) Q[x]
|
||||||
|
#endif /* HOST_BIG_ENDIAN */
|
||||||
|
|
||||||
|
#define DO_ADD(a, b) (a + b)
|
||||||
|
#define DO_SUB(a, b) (a - b)
|
||||||
|
#define DO_VAVG(a, b) ((a >> 1) + (b >> 1) + (a & b & 1))
|
||||||
|
#define DO_VAVGR(a, b) ((a >> 1) + (b >> 1) + ((a | b) & 1))
|
||||||
|
#define DO_VABSD(a, b) ((a > b) ? (a -b) : (b-a))
|
||||||
|
#define DO_VABS(a) ((a < 0) ? (-a) : (a))
|
||||||
|
#define DO_MIN(a, b) (a < b ? a : b)
|
||||||
|
#define DO_MAX(a, b) (a > b ? a : b)
|
||||||
|
#define DO_MUL(a, b) (a * b)
|
||||||
|
#define DO_MADD(a, b, c) (a + b * c)
|
||||||
|
#define DO_MSUB(a, b, c) (a - b * c)
|
||||||
|
|
||||||
|
#define DO_DIVU(N, M) (unlikely(M == 0) ? 0 : N / M)
|
||||||
|
#define DO_REMU(N, M) (unlikely(M == 0) ? 0 : N % M)
|
||||||
|
#define DO_DIV(N, M) (unlikely(M == 0) ? 0 :\
|
||||||
|
unlikely((N == -N) && (M == (__typeof(N))(-1))) ? N : N / M)
|
||||||
|
#define DO_REM(N, M) (unlikely(M == 0) ? 0 :\
|
||||||
|
unlikely((N == -N) && (M == (__typeof(N))(-1))) ? 0 : N % M)
|
||||||
|
|
||||||
|
#define DO_SIGNCOV(a, b) (a == 0 ? 0 : a < 0 ? -b : b)
|
||||||
|
|
||||||
|
#define R_SHIFT(a, b) (a >> b)
|
||||||
|
|
||||||
|
#define DO_CLO_B(N) (clz32(~N & 0xff) - 24)
|
||||||
|
#define DO_CLO_H(N) (clz32(~N & 0xffff) - 16)
|
||||||
|
#define DO_CLO_W(N) (clz32(~N))
|
||||||
|
#define DO_CLO_D(N) (clz64(~N))
|
||||||
|
#define DO_CLZ_B(N) (clz32(N) - 24)
|
||||||
|
#define DO_CLZ_H(N) (clz32(N) - 16)
|
||||||
|
#define DO_CLZ_W(N) (clz32(N))
|
||||||
|
#define DO_CLZ_D(N) (clz64(N))
|
||||||
|
|
||||||
|
#define DO_BITCLR(a, bit) (a & ~(1ull << bit))
|
||||||
|
#define DO_BITSET(a, bit) (a | 1ull << bit)
|
||||||
|
#define DO_BITREV(a, bit) (a ^ (1ull << bit))
|
||||||
|
|
||||||
|
#define VSEQ(a, b) (a == b ? -1 : 0)
|
||||||
|
#define VSLE(a, b) (a <= b ? -1 : 0)
|
||||||
|
#define VSLT(a, b) (a < b ? -1 : 0)
|
||||||
|
|
||||||
|
#define SHF_POS(i, imm) (((i) & 0xfc) + (((imm) >> (2 * ((i) & 0x03))) & 0x03))
|
||||||
|
|
||||||
|
#endif /* LOONGARCH_VEC_H */
|
3494
target/loongarch/vec_helper.c
Normal file
3494
target/loongarch/vec_helper.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue