php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
sljitNativeLOONGARCH_64.c File Reference
#include <sys/auxv.h>

Go to the source code of this file.

Macros

#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)
 
#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)
 
#define TMP_REG3   (SLJIT_NUMBER_OF_REGISTERS + 4)
 
#define TMP_ZERO   0
 
#define EQUAL_FLAG   (SLJIT_NUMBER_OF_REGISTERS + 5)
 
#define RETURN_ADDR_REG   TMP_REG2
 
#define OTHER_FLAG   (SLJIT_NUMBER_OF_REGISTERS + 6)
 
#define TMP_FREG1   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)
 
#define TMP_FREG2   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2)
 
#define RD(rd)
 
#define RJ(rj)
 
#define RK(rk)
 
#define RA(ra)
 
#define FD(fd)
 
#define FRD(fd)
 
#define FRJ(fj)
 
#define FRK(fk)
 
#define FRA(fa)
 
#define IMM_V(imm)
 
#define IMM_I8(imm)
 
#define IMM_I12(imm)
 
#define IMM_I14(imm)
 
#define IMM_I16(imm)
 
#define IMM_I20(imm)
 
#define IMM_I21(imm)
 
#define IMM_I26(imm)
 
#define OPC_I26(opc)
 
#define OPC_1RI21(opc)
 
#define OPC_2RI16(opc)
 
#define OPC_2RI14(opc)
 
#define OPC_2RI12(opc)
 
#define OPC_2RI8(opc)
 
#define OPC_4R(opc)
 
#define OPC_3R(opc)
 
#define OPC_2R(opc)
 
#define OPC_1RI20(opc)
 
#define ADD_W   OPC_3R(0x20)
 
#define ADD_D   OPC_3R(0x21)
 
#define SUB_W   OPC_3R(0x22)
 
#define SUB_D   OPC_3R(0x23)
 
#define ADDI_W   OPC_2RI12(0xa)
 
#define ADDI_D   OPC_2RI12(0xb)
 
#define ANDI   OPC_2RI12(0xd)
 
#define ORI   OPC_2RI12(0xe)
 
#define XORI   OPC_2RI12(0xf)
 
#define ADDU16I_D   OPC_2RI16(0x4)
 
#define LU12I_W   OPC_1RI20(0xa)
 
#define LU32I_D   OPC_1RI20(0xb)
 
#define LU52I_D   OPC_2RI12(0xc)
 
#define SLT   OPC_3R(0x24)
 
#define SLTU   OPC_3R(0x25)
 
#define SLTI   OPC_2RI12(0x8)
 
#define SLTUI   OPC_2RI12(0x9)
 
#define PCADDI   OPC_1RI20(0xc)
 
#define PCALAU12I   OPC_1RI20(0xd)
 
#define PCADDU12I   OPC_1RI20(0xe)
 
#define PCADDU18I   OPC_1RI20(0xf)
 
#define NOR   OPC_3R(0x28)
 
#define AND   OPC_3R(0x29)
 
#define OR   OPC_3R(0x2a)
 
#define XOR   OPC_3R(0x2b)
 
#define ORN   OPC_3R(0x2c)
 
#define ANDN   OPC_3R(0x2d)
 
#define MUL_W   OPC_3R(0x38)
 
#define MULH_W   OPC_3R(0x39)
 
#define MULH_WU   OPC_3R(0x3a)
 
#define MUL_D   OPC_3R(0x3b)
 
#define MULH_D   OPC_3R(0x3c)
 
#define MULH_DU   OPC_3R(0x3d)
 
#define MULW_D_W   OPC_3R(0x3e)
 
#define MULW_D_WU   OPC_3R(0x3f)
 
#define DIV_W   OPC_3R(0x40)
 
#define MOD_W   OPC_3R(0x41)
 
#define DIV_WU   OPC_3R(0x42)
 
#define MOD_WU   OPC_3R(0x43)
 
#define DIV_D   OPC_3R(0x44)
 
#define MOD_D   OPC_3R(0x45)
 
#define DIV_DU   OPC_3R(0x46)
 
#define MOD_DU   OPC_3R(0x47)
 
#define SLL_W   OPC_3R(0x2e)
 
#define SRL_W   OPC_3R(0x2f)
 
#define SRA_W   OPC_3R(0x30)
 
#define SLL_D   OPC_3R(0x31)
 
#define SRL_D   OPC_3R(0x32)
 
#define SRA_D   OPC_3R(0x33)
 
#define ROTR_W   OPC_3R(0x36)
 
#define ROTR_D   OPC_3R(0x37)
 
#define SLLI_W   OPC_3R(0x81)
 
#define SLLI_D   ((sljit_ins)(0x41) << 16)
 
#define SRLI_W   OPC_3R(0x89)
 
#define SRLI_D   ((sljit_ins)(0x45) << 16)
 
#define SRAI_W   OPC_3R(0x91)
 
#define SRAI_D   ((sljit_ins)(0x49) << 16)
 
#define ROTRI_W   OPC_3R(0x99)
 
#define ROTRI_D   ((sljit_ins)(0x4d) << 16)
 
#define CLO_W   OPC_2R(0x4)
 
#define CLZ_W   OPC_2R(0x5)
 
#define CTO_W   OPC_2R(0x6)
 
#define CTZ_W   OPC_2R(0x7)
 
#define CLO_D   OPC_2R(0x8)
 
#define CLZ_D   OPC_2R(0x9)
 
#define CTO_D   OPC_2R(0xa)
 
#define CTZ_D   OPC_2R(0xb)
 
#define REVB_2H   OPC_2R(0xc)
 
#define REVB_4H   OPC_2R(0xd)
 
#define REVB_2W   OPC_2R(0xe)
 
#define REVB_D   OPC_2R(0xf)
 
#define REVH_2W   OPC_2R(0x10)
 
#define REVH_D   OPC_2R(0x11)
 
#define BITREV_4B   OPC_2R(0x12)
 
#define BITREV_8B   OPC_2R(0x13)
 
#define BITREV_W   OPC_2R(0x14)
 
#define BITREV_D   OPC_2R(0x15)
 
#define EXT_W_H   OPC_2R(0x16)
 
#define EXT_W_B   OPC_2R(0x17)
 
#define BSTRINS_W   (0x1 << 22 | 1 << 21)
 
#define BSTRPICK_W   (0x1 << 22 | 1 << 21 | 1 << 15)
 
#define BSTRINS_D   (0x2 << 22)
 
#define BSTRPICK_D   (0x3 << 22)
 
#define BEQZ   OPC_1RI21(0x10)
 
#define BNEZ   OPC_1RI21(0x11)
 
#define JIRL   OPC_2RI16(0x13)
 
#define B   OPC_I26(0x14)
 
#define BL   OPC_I26(0x15)
 
#define BEQ   OPC_2RI16(0x16)
 
#define BNE   OPC_2RI16(0x17)
 
#define BLT   OPC_2RI16(0x18)
 
#define BGE   OPC_2RI16(0x19)
 
#define BLTU   OPC_2RI16(0x1a)
 
#define BGEU   OPC_2RI16(0x1b)
 
#define LD_B   OPC_2RI12(0xa0)
 
#define LD_H   OPC_2RI12(0xa1)
 
#define LD_W   OPC_2RI12(0xa2)
 
#define LD_D   OPC_2RI12(0xa3)
 
#define ST_B   OPC_2RI12(0xa4)
 
#define ST_H   OPC_2RI12(0xa5)
 
#define ST_W   OPC_2RI12(0xa6)
 
#define ST_D   OPC_2RI12(0xa7)
 
#define LD_BU   OPC_2RI12(0xa8)
 
#define LD_HU   OPC_2RI12(0xa9)
 
#define LD_WU   OPC_2RI12(0xaa)
 
#define LDX_B   OPC_3R(0x7000)
 
#define LDX_H   OPC_3R(0x7008)
 
#define LDX_W   OPC_3R(0x7010)
 
#define LDX_D   OPC_3R(0x7018)
 
#define STX_B   OPC_3R(0x7020)
 
#define STX_H   OPC_3R(0x7028)
 
#define STX_W   OPC_3R(0x7030)
 
#define STX_D   OPC_3R(0x7038)
 
#define LDX_BU   OPC_3R(0x7040)
 
#define LDX_HU   OPC_3R(0x7048)
 
#define LDX_WU   OPC_3R(0x7050)
 
#define PRELD   OPC_2RI12(0xab)
 
#define LL_W   OPC_2RI14(0x20)
 
#define SC_W   OPC_2RI14(0x21)
 
#define LL_D   OPC_2RI14(0x22)
 
#define SC_D   OPC_2RI14(0x23)
 
#define AMCAS_B   OPC_3R(0x70B0)
 
#define AMCAS_H   OPC_3R(0x70B1)
 
#define AMCAS_W   OPC_3R(0x70B2)
 
#define AMCAS_D   OPC_3R(0x70B3)
 
#define BREAK   OPC_3R(0x54)
 
#define DBGCALL   OPC_3R(0x55)
 
#define SYSCALL   OPC_3R(0x56)
 
#define FADD_S   OPC_3R(0x201)
 
#define FADD_D   OPC_3R(0x202)
 
#define FSUB_S   OPC_3R(0x205)
 
#define FSUB_D   OPC_3R(0x206)
 
#define FMUL_S   OPC_3R(0x209)
 
#define FMUL_D   OPC_3R(0x20a)
 
#define FDIV_S   OPC_3R(0x20d)
 
#define FDIV_D   OPC_3R(0x20e)
 
#define FCMP_COND_S   OPC_4R(0xc1)
 
#define FCMP_COND_D   OPC_4R(0xc2)
 
#define FCOPYSIGN_S   OPC_3R(0x225)
 
#define FCOPYSIGN_D   OPC_3R(0x226)
 
#define FSEL   OPC_4R(0xd0)
 
#define FABS_S   OPC_2R(0x4501)
 
#define FABS_D   OPC_2R(0x4502)
 
#define FNEG_S   OPC_2R(0x4505)
 
#define FNEG_D   OPC_2R(0x4506)
 
#define FMOV_S   OPC_2R(0x4525)
 
#define FMOV_D   OPC_2R(0x4526)
 
#define FCVT_S_D   OPC_2R(0x4646)
 
#define FCVT_D_S   OPC_2R(0x4649)
 
#define FTINTRZ_W_S   OPC_2R(0x46a1)
 
#define FTINTRZ_W_D   OPC_2R(0x46a2)
 
#define FTINTRZ_L_S   OPC_2R(0x46a9)
 
#define FTINTRZ_L_D   OPC_2R(0x46aa)
 
#define FFINT_S_W   OPC_2R(0x4744)
 
#define FFINT_S_L   OPC_2R(0x4746)
 
#define FFINT_D_W   OPC_2R(0x4748)
 
#define FFINT_D_L   OPC_2R(0x474a)
 
#define FMOV_S   OPC_2R(0x4525)
 
#define FMOV_D   OPC_2R(0x4526)
 
#define MOVGR2FR_W   OPC_2R(0x4529)
 
#define MOVGR2FR_D   OPC_2R(0x452a)
 
#define MOVGR2FRH_W   OPC_2R(0x452b)
 
#define MOVFR2GR_S   OPC_2R(0x452d)
 
#define MOVFR2GR_D   OPC_2R(0x452e)
 
#define MOVFRH2GR_S   OPC_2R(0x452f)
 
#define MOVGR2FCSR   OPC_2R(0x4530)
 
#define MOVFCSR2GR   OPC_2R(0x4532)
 
#define MOVFR2CF   OPC_2R(0x4534)
 
#define MOVCF2FR   OPC_2R(0x4535)
 
#define MOVGR2CF   OPC_2R(0x4536)
 
#define MOVCF2GR   OPC_2R(0x4537)
 
#define BCEQZ   OPC_I26(0x12)
 
#define BCNEZ   OPC_I26(0x12)
 
#define FLD_S   OPC_2RI12(0xac)
 
#define FLD_D   OPC_2RI12(0xae)
 
#define FST_S   OPC_2RI12(0xad)
 
#define FST_D   OPC_2RI12(0xaf)
 
#define FLDX_S   OPC_3R(0x7060)
 
#define FLDX_D   OPC_3R(0x7068)
 
#define FSTX_S   OPC_3R(0x7070)
 
#define FSTX_D   OPC_3R(0x7078)
 
#define VOR_V   OPC_3R(0xe24d)
 
#define VXOR_V   OPC_3R(0xe24e)
 
#define VAND_V   OPC_3R(0xe24c)
 
#define VMSKLTZ   OPC_2R(0x1ca710)
 
#define VLD   OPC_2RI12(0xb0)
 
#define VST   OPC_2RI12(0xb1)
 
#define XVLD   OPC_2RI12(0xb2)
 
#define XVST   OPC_2RI12(0xb3)
 
#define VSTELM   OPC_2RI8(0xc40)
 
#define VFCVTL_D_S   OPC_2R(0x1ca77c)
 
#define VSLLWIL   OPC_2R(0x1cc200)
 
#define VLDREPL   OPC_2R(0xc0000)
 
#define VINSGR2VR   OPC_2R(0x1cbac0)
 
#define VPICKVE2GR_U   OPC_2R(0x1cbce0)
 
#define VREPLGR2VR   OPC_2R(0x1ca7c0)
 
#define VREPLVE   OPC_3R(0xe244)
 
#define VREPLVEI   OPC_2R(0x1cbde0)
 
#define XVPERMI   OPC_2RI8(0x1dfa)
 
#define I12_MAX   (0x7ff)
 
#define I12_MIN   (-0x800)
 
#define BRANCH16_MAX   (0x7fff << 2)
 
#define BRANCH16_MIN   (-(0x8000 << 2))
 
#define BRANCH21_MAX   (0xfffff << 2)
 
#define BRANCH21_MIN   (-(0x100000 << 2))
 
#define JUMP_MAX   (0x1ffffff << 2)
 
#define JUMP_MIN   (-(0x2000000 << 2))
 
#define JIRL_MAX   (0x7fff << 2)
 
#define JIRL_MIN   (-(0x8000 << 2))
 
#define S32_MAX   (0x7fffffffl)
 
#define S32_MIN   (-0x80000000l)
 
#define S52_MAX   (0x7ffffffffffffl)
 
#define INST(inst, type)
 
#define LOONGARCH_CFG2   0x02
 
#define LOONGARCH_CFG2_LAMCAS   (1 << 28)
 
#define LOONGARCH_HWCAP_LSX   (1 << 4)
 
#define LOONGARCH_HWCAP_LASX   (1 << 5)
 
#define GET_CFG2   0
 
#define GET_HWCAP   1
 
#define LOAD_DATA   0x01
 
#define WORD_DATA   0x00
 
#define BYTE_DATA   0x02
 
#define HALF_DATA   0x04
 
#define INT_DATA   0x06
 
#define SIGNED_DATA   0x08
 
#define GPR_REG   0x0f
 
#define DOUBLE_DATA   0x10
 
#define SINGLE_DATA   0x12
 
#define MEM_MASK   0x1f
 
#define ARG_TEST   0x00020
 
#define ALT_KEEP_CACHE   0x00040
 
#define CUMULATIVE_OP   0x00080
 
#define IMM_OP   0x00100
 
#define MOVE_OP   0x00200
 
#define SRC2_IMM   0x00400
 
#define UNUSED_DEST   0x00800
 
#define REG_DEST   0x01000
 
#define REG1_SOURCE   0x02000
 
#define REG2_SOURCE   0x04000
 
#define SLOW_SRC1   0x08000
 
#define SLOW_SRC2   0x10000
 
#define SLOW_DEST   0x20000
 
#define MEM_USE_TMP2   0x40000
 
#define STACK_STORE   ST_D
 
#define STACK_LOAD   LD_D
 
#define STACK_MAX_DISTANCE   (-I12_MIN)
 
#define STACK_MAX_DISTANCE   (-I12_MIN - 16)
 
#define TO_ARGW_HI(argw)
 
#define IMM_EXTEND(v)
 
#define EMIT_LOGICAL(op_imm, op_reg)
 
#define EMIT_SHIFT(imm, reg)
 
#define SET_COND(cond)
 
#define COND_CUN   SET_COND(0x8) /* UN */
 
#define COND_CEQ   SET_COND(0x4) /* EQ */
 
#define COND_CUEQ   SET_COND(0xc) /* UN EQ */
 
#define COND_CLT   SET_COND(0x2) /* LT */
 
#define COND_CULT   SET_COND(0xa) /* UN LT */
 
#define COND_CLE   SET_COND(0x6) /* LT EQ */
 
#define COND_CULE   SET_COND(0xe) /* UN LT EQ */
 
#define COND_CNE   SET_COND(0x10) /* GT LT */
 
#define COND_CUNE   SET_COND(0x18) /* UN GT LT */
 
#define COND_COR   SET_COND(0x14) /* GT LT EQ */
 
#define FINST(inst, type)
 
#define FCD(cd)
 
#define FCJ(cj)
 
#define FCA(ca)
 
#define F_OTHER_FLAG   1
 
#define FLOAT_DATA(op)
 

Functions

SLJIT_API_FUNC_ATTRIBUTE const char * sljit_get_platform_name (void)
 
SLJIT_API_FUNC_ATTRIBUTE voidsljit_generate_code (struct sljit_compiler *compiler, sljit_s32 options, void *exec_allocator_data)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature (sljit_s32 feature_type)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_cmp_info (sljit_s32 type)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter (struct sljit_compiler *compiler, sljit_s32 options, sljit_s32 arg_types, sljit_s32 scratches, sljit_s32 saveds, sljit_s32 fscratches, sljit_s32 fsaveds, sljit_s32 local_size)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context (struct sljit_compiler *compiler, sljit_s32 options, sljit_s32 arg_types, sljit_s32 scratches, sljit_s32 saveds, sljit_s32 fscratches, sljit_s32 fsaveds, sljit_s32 local_size)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_void (struct sljit_compiler *compiler)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_to (struct sljit_compiler *compiler, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0 (struct sljit_compiler *compiler, sljit_s32 op)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1 (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2 (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2u (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2r (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst_reg, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_shift_into (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst_reg, sljit_s32 src1_reg, sljit_s32 src2_reg, sljit_s32 src3, sljit_sw src3w)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_dst (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index (sljit_s32 type, sljit_s32 reg)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom (struct sljit_compiler *compiler, void *instruction, sljit_u32 size)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1 (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2 (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2r (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst_freg, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fset32 (struct sljit_compiler *compiler, sljit_s32 freg, sljit_f32 value)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fset64 (struct sljit_compiler *compiler, sljit_s32 freg, sljit_f64 value)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fcopy (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 freg, sljit_s32 reg)
 
SLJIT_API_FUNC_ATTRIBUTE struct sljit_labelsljit_emit_label (struct sljit_compiler *compiler)
 
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_jump (struct sljit_compiler *compiler, sljit_s32 type)
 
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_call (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 arg_types)
 
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_cmp (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 arg_types, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 type)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_select (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 dst_reg, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2_reg)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fselect (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 dst_freg, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2_freg)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 reg, sljit_s32 mem, sljit_sw memw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_mov (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 srcdst, sljit_sw srcdstw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_replicate (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_lane_mov (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 lane_index, sljit_s32 srcdst, sljit_sw srcdstw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_lane_replicate (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 src, sljit_s32 src_lane_index)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_extend (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_sign (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, sljit_s32 dst, sljit_sw dstw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_op2 (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 dst_freg, sljit_s32 src1_freg, sljit_s32 src2_freg)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_atomic_load (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst_reg, sljit_s32 mem_reg)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_atomic_store (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src_reg, sljit_s32 mem_reg, sljit_s32 temp_reg)
 
SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr (sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset)
 
SLJIT_API_FUNC_ATTRIBUTE struct sljit_constsljit_emit_const (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value)
 
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_mov_addr (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw)
 
SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const (sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset)
 

Macro Definition Documentation

◆ ADD_D

#define ADD_D   OPC_3R(0x21)

Definition at line 110 of file sljitNativeLOONGARCH_64.c.

◆ ADD_W

#define ADD_W   OPC_3R(0x20)

Definition at line 109 of file sljitNativeLOONGARCH_64.c.

◆ ADDI_D

#define ADDI_D   OPC_2RI12(0xb)

Definition at line 114 of file sljitNativeLOONGARCH_64.c.

◆ ADDI_W

#define ADDI_W   OPC_2RI12(0xa)

Definition at line 113 of file sljitNativeLOONGARCH_64.c.

◆ ADDU16I_D

#define ADDU16I_D   OPC_2RI16(0x4)

Definition at line 118 of file sljitNativeLOONGARCH_64.c.

◆ ALT_KEEP_CACHE

#define ALT_KEEP_CACHE   0x00040

Definition at line 850 of file sljitNativeLOONGARCH_64.c.

◆ AMCAS_B

#define AMCAS_B   OPC_3R(0x70B0)

Definition at line 248 of file sljitNativeLOONGARCH_64.c.

◆ AMCAS_D

#define AMCAS_D   OPC_3R(0x70B3)

Definition at line 251 of file sljitNativeLOONGARCH_64.c.

◆ AMCAS_H

#define AMCAS_H   OPC_3R(0x70B1)

Definition at line 249 of file sljitNativeLOONGARCH_64.c.

◆ AMCAS_W

#define AMCAS_W   OPC_3R(0x70B2)

Definition at line 250 of file sljitNativeLOONGARCH_64.c.

◆ AND

#define AND   OPC_3R(0x29)

Definition at line 131 of file sljitNativeLOONGARCH_64.c.

◆ ANDI

#define ANDI   OPC_2RI12(0xd)

Definition at line 115 of file sljitNativeLOONGARCH_64.c.

◆ ANDN

#define ANDN   OPC_3R(0x2d)

Definition at line 135 of file sljitNativeLOONGARCH_64.c.

◆ ARG_TEST

#define ARG_TEST   0x00020

Definition at line 849 of file sljitNativeLOONGARCH_64.c.

◆ B

#define B   OPC_I26(0x14)

Definition at line 201 of file sljitNativeLOONGARCH_64.c.

◆ BCEQZ

#define BCEQZ   OPC_I26(0x12)

Definition at line 309 of file sljitNativeLOONGARCH_64.c.

◆ BCNEZ

#define BCNEZ   OPC_I26(0x12)

Definition at line 310 of file sljitNativeLOONGARCH_64.c.

◆ BEQ

#define BEQ   OPC_2RI16(0x16)

Definition at line 203 of file sljitNativeLOONGARCH_64.c.

◆ BEQZ

#define BEQZ   OPC_1RI21(0x10)

Definition at line 198 of file sljitNativeLOONGARCH_64.c.

◆ BGE

#define BGE   OPC_2RI16(0x19)

Definition at line 206 of file sljitNativeLOONGARCH_64.c.

◆ BGEU

#define BGEU   OPC_2RI16(0x1b)

Definition at line 208 of file sljitNativeLOONGARCH_64.c.

◆ BITREV_4B

#define BITREV_4B   OPC_2R(0x12)

Definition at line 186 of file sljitNativeLOONGARCH_64.c.

◆ BITREV_8B

#define BITREV_8B   OPC_2R(0x13)

Definition at line 187 of file sljitNativeLOONGARCH_64.c.

◆ BITREV_D

#define BITREV_D   OPC_2R(0x15)

Definition at line 189 of file sljitNativeLOONGARCH_64.c.

◆ BITREV_W

#define BITREV_W   OPC_2R(0x14)

Definition at line 188 of file sljitNativeLOONGARCH_64.c.

◆ BL

#define BL   OPC_I26(0x15)

Definition at line 202 of file sljitNativeLOONGARCH_64.c.

◆ BLT

#define BLT   OPC_2RI16(0x18)

Definition at line 205 of file sljitNativeLOONGARCH_64.c.

◆ BLTU

#define BLTU   OPC_2RI16(0x1a)

Definition at line 207 of file sljitNativeLOONGARCH_64.c.

◆ BNE

#define BNE   OPC_2RI16(0x17)

Definition at line 204 of file sljitNativeLOONGARCH_64.c.

◆ BNEZ

#define BNEZ   OPC_1RI21(0x11)

Definition at line 199 of file sljitNativeLOONGARCH_64.c.

◆ BRANCH16_MAX

#define BRANCH16_MAX   (0x7fff << 2)

Definition at line 355 of file sljitNativeLOONGARCH_64.c.

◆ BRANCH16_MIN

#define BRANCH16_MIN   (-(0x8000 << 2))

Definition at line 356 of file sljitNativeLOONGARCH_64.c.

◆ BRANCH21_MAX

#define BRANCH21_MAX   (0xfffff << 2)

Definition at line 357 of file sljitNativeLOONGARCH_64.c.

◆ BRANCH21_MIN

#define BRANCH21_MIN   (-(0x100000 << 2))

Definition at line 358 of file sljitNativeLOONGARCH_64.c.

◆ BREAK

#define BREAK   OPC_3R(0x54)

Definition at line 254 of file sljitNativeLOONGARCH_64.c.

◆ BSTRINS_D

#define BSTRINS_D   (0x2 << 22)

Definition at line 194 of file sljitNativeLOONGARCH_64.c.

◆ BSTRINS_W

#define BSTRINS_W   (0x1 << 22 | 1 << 21)

Definition at line 192 of file sljitNativeLOONGARCH_64.c.

◆ BSTRPICK_D

#define BSTRPICK_D   (0x3 << 22)

Definition at line 195 of file sljitNativeLOONGARCH_64.c.

◆ BSTRPICK_W

#define BSTRPICK_W   (0x1 << 22 | 1 << 21 | 1 << 15)

Definition at line 193 of file sljitNativeLOONGARCH_64.c.

◆ BYTE_DATA

#define BYTE_DATA   0x02

Definition at line 838 of file sljitNativeLOONGARCH_64.c.

◆ CLO_D

#define CLO_D   OPC_2R(0x8)

Definition at line 176 of file sljitNativeLOONGARCH_64.c.

◆ CLO_W

#define CLO_W   OPC_2R(0x4)

Definition at line 172 of file sljitNativeLOONGARCH_64.c.

◆ CLZ_D

#define CLZ_D   OPC_2R(0x9)

Definition at line 177 of file sljitNativeLOONGARCH_64.c.

◆ CLZ_W

#define CLZ_W   OPC_2R(0x5)

Definition at line 173 of file sljitNativeLOONGARCH_64.c.

◆ COND_CEQ

#define COND_CEQ   SET_COND(0x4) /* EQ */

Definition at line 2220 of file sljitNativeLOONGARCH_64.c.

◆ COND_CLE

#define COND_CLE   SET_COND(0x6) /* LT EQ */

Definition at line 2224 of file sljitNativeLOONGARCH_64.c.

◆ COND_CLT

#define COND_CLT   SET_COND(0x2) /* LT */

Definition at line 2222 of file sljitNativeLOONGARCH_64.c.

◆ COND_CNE

#define COND_CNE   SET_COND(0x10) /* GT LT */

Definition at line 2226 of file sljitNativeLOONGARCH_64.c.

◆ COND_COR

#define COND_COR   SET_COND(0x14) /* GT LT EQ */

Definition at line 2228 of file sljitNativeLOONGARCH_64.c.

◆ COND_CUEQ

#define COND_CUEQ   SET_COND(0xc) /* UN EQ */

Definition at line 2221 of file sljitNativeLOONGARCH_64.c.

◆ COND_CULE

#define COND_CULE   SET_COND(0xe) /* UN LT EQ */

Definition at line 2225 of file sljitNativeLOONGARCH_64.c.

◆ COND_CULT

#define COND_CULT   SET_COND(0xa) /* UN LT */

Definition at line 2223 of file sljitNativeLOONGARCH_64.c.

◆ COND_CUN

#define COND_CUN   SET_COND(0x8) /* UN */

Definition at line 2219 of file sljitNativeLOONGARCH_64.c.

◆ COND_CUNE

#define COND_CUNE   SET_COND(0x18) /* UN GT LT */

Definition at line 2227 of file sljitNativeLOONGARCH_64.c.

◆ CTO_D

#define CTO_D   OPC_2R(0xa)

Definition at line 178 of file sljitNativeLOONGARCH_64.c.

◆ CTO_W

#define CTO_W   OPC_2R(0x6)

Definition at line 174 of file sljitNativeLOONGARCH_64.c.

◆ CTZ_D

#define CTZ_D   OPC_2R(0xb)

Definition at line 179 of file sljitNativeLOONGARCH_64.c.

◆ CTZ_W

#define CTZ_W   OPC_2R(0x7)

Definition at line 175 of file sljitNativeLOONGARCH_64.c.

◆ CUMULATIVE_OP

#define CUMULATIVE_OP   0x00080

Definition at line 851 of file sljitNativeLOONGARCH_64.c.

◆ DBGCALL

#define DBGCALL   OPC_3R(0x55)

Definition at line 255 of file sljitNativeLOONGARCH_64.c.

◆ DIV_D

#define DIV_D   OPC_3R(0x44)

Definition at line 148 of file sljitNativeLOONGARCH_64.c.

◆ DIV_DU

#define DIV_DU   OPC_3R(0x46)

Definition at line 150 of file sljitNativeLOONGARCH_64.c.

◆ DIV_W

#define DIV_W   OPC_3R(0x40)

Definition at line 144 of file sljitNativeLOONGARCH_64.c.

◆ DIV_WU

#define DIV_WU   OPC_3R(0x42)

Definition at line 146 of file sljitNativeLOONGARCH_64.c.

◆ DOUBLE_DATA

#define DOUBLE_DATA   0x10

Definition at line 844 of file sljitNativeLOONGARCH_64.c.

◆ EMIT_LOGICAL

#define EMIT_LOGICAL ( op_imm,
op_reg )
Value:
if (flags & SRC2_IMM) { \
if (op & SLJIT_SET_Z) {\
FAIL_IF(push_inst(compiler, ADDI_D | RD(EQUAL_FLAG) | RJ(TMP_ZERO) | IMM_I12(src2))); \
FAIL_IF(push_inst(compiler, op_reg | RD(EQUAL_FLAG) | RJ(src1) | RK(EQUAL_FLAG))); \
} \
if (!(flags & UNUSED_DEST)) { \
if (dst == src1) { \
FAIL_IF(push_inst(compiler, ADDI_D | RD(TMP_REG1) | RJ(TMP_ZERO) | IMM_I12(src2))); \
FAIL_IF(push_inst(compiler, op_reg | RD(dst) | RJ(src1) | RK(TMP_REG1))); \
} else { \
FAIL_IF(push_inst(compiler, ADDI_D | RD(dst) | RJ(TMP_ZERO) | IMM_I12(src2))); \
FAIL_IF(push_inst(compiler, op_reg | RD(dst) | RJ(src1) | RK(dst))); \
} \
} \
} else { \
if (op & SLJIT_SET_Z) \
FAIL_IF(push_inst(compiler, op_reg | RD(EQUAL_FLAG) | RJ(src1) | RK(src2))); \
if (!(flags & UNUSED_DEST)) \
FAIL_IF(push_inst(compiler, op_reg | RD(dst) | RJ(src1) | RK(src2))); \
} \
while (0)
#define SLJIT_SET_Z
Definition sljitLir.h:1043
#define TMP_REG1
#define RD(rd)
#define SRC2_IMM
#define TMP_ZERO
#define RJ(rj)
#define RK(rk)
#define UNUSED_DEST
#define IMM_I12(imm)
#define ADDI_D
#define EQUAL_FLAG

Definition at line 1286 of file sljitNativeLOONGARCH_64.c.

◆ EMIT_SHIFT

#define EMIT_SHIFT ( imm,
reg )
Value:
op_imm = (imm); \
op_reg = (reg)

Definition at line 1309 of file sljitNativeLOONGARCH_64.c.

◆ EQUAL_FLAG

#define EQUAL_FLAG   (SLJIT_NUMBER_OF_REGISTERS + 5)

Definition at line 40 of file sljitNativeLOONGARCH_64.c.

◆ EXT_W_B

#define EXT_W_B   OPC_2R(0x17)

Definition at line 191 of file sljitNativeLOONGARCH_64.c.

◆ EXT_W_H

#define EXT_W_H   OPC_2R(0x16)

Definition at line 190 of file sljitNativeLOONGARCH_64.c.

◆ F_OTHER_FLAG

#define F_OTHER_FLAG   1

Definition at line 2234 of file sljitNativeLOONGARCH_64.c.

◆ FABS_D

#define FABS_D   OPC_2R(0x4502)

Definition at line 274 of file sljitNativeLOONGARCH_64.c.

◆ FABS_S

#define FABS_S   OPC_2R(0x4501)

Definition at line 273 of file sljitNativeLOONGARCH_64.c.

◆ FADD_D

#define FADD_D   OPC_3R(0x202)

Definition at line 261 of file sljitNativeLOONGARCH_64.c.

◆ FADD_S

#define FADD_S   OPC_3R(0x201)

Definition at line 260 of file sljitNativeLOONGARCH_64.c.

◆ FCA

#define FCA ( ca)
Value:
(sljit_ins)((ca & 0x7) << 15)
sljit_u32 sljit_ins

Definition at line 2233 of file sljitNativeLOONGARCH_64.c.

◆ FCD

#define FCD ( cd)
Value:
(sljit_ins)(cd & 0x7)

Definition at line 2231 of file sljitNativeLOONGARCH_64.c.

◆ FCJ

#define FCJ ( cj)
Value:
(sljit_ins)((cj & 0x7) << 5)

Definition at line 2232 of file sljitNativeLOONGARCH_64.c.

◆ FCMP_COND_D

#define FCMP_COND_D   OPC_4R(0xc2)

Definition at line 269 of file sljitNativeLOONGARCH_64.c.

◆ FCMP_COND_S

#define FCMP_COND_S   OPC_4R(0xc1)

Definition at line 268 of file sljitNativeLOONGARCH_64.c.

◆ FCOPYSIGN_D

#define FCOPYSIGN_D   OPC_3R(0x226)

Definition at line 271 of file sljitNativeLOONGARCH_64.c.

◆ FCOPYSIGN_S

#define FCOPYSIGN_S   OPC_3R(0x225)

Definition at line 270 of file sljitNativeLOONGARCH_64.c.

◆ FCVT_D_S

#define FCVT_D_S   OPC_2R(0x4649)

Definition at line 282 of file sljitNativeLOONGARCH_64.c.

◆ FCVT_S_D

#define FCVT_S_D   OPC_2R(0x4646)

Definition at line 281 of file sljitNativeLOONGARCH_64.c.

◆ FD

#define FD ( fd)
Value:
((sljit_ins)reg_map[fd])
int fd
Definition phpdbg.h:282

Definition at line 82 of file sljitNativeLOONGARCH_64.c.

◆ FDIV_D

#define FDIV_D   OPC_3R(0x20e)

Definition at line 267 of file sljitNativeLOONGARCH_64.c.

◆ FDIV_S

#define FDIV_S   OPC_3R(0x20d)

Definition at line 266 of file sljitNativeLOONGARCH_64.c.

◆ FFINT_D_L

#define FFINT_D_L   OPC_2R(0x474a)

Definition at line 290 of file sljitNativeLOONGARCH_64.c.

◆ FFINT_D_W

#define FFINT_D_W   OPC_2R(0x4748)

Definition at line 289 of file sljitNativeLOONGARCH_64.c.

◆ FFINT_S_L

#define FFINT_S_L   OPC_2R(0x4746)

Definition at line 288 of file sljitNativeLOONGARCH_64.c.

◆ FFINT_S_W

#define FFINT_S_W   OPC_2R(0x4744)

Definition at line 287 of file sljitNativeLOONGARCH_64.c.

◆ FINST

#define FINST ( inst,
type )
Value:
(sljit_ins)((type & SLJIT_32) ? inst##_S : inst##_D)
zend_ffi_type * type
Definition ffi.c:3812
#define SLJIT_32
Definition sljitLir.h:978

Definition at line 2230 of file sljitNativeLOONGARCH_64.c.

◆ FLD_D

#define FLD_D   OPC_2RI12(0xae)

Definition at line 314 of file sljitNativeLOONGARCH_64.c.

◆ FLD_S

#define FLD_S   OPC_2RI12(0xac)

Definition at line 313 of file sljitNativeLOONGARCH_64.c.

◆ FLDX_D

#define FLDX_D   OPC_3R(0x7068)

Definition at line 319 of file sljitNativeLOONGARCH_64.c.

◆ FLDX_S

#define FLDX_S   OPC_3R(0x7060)

Definition at line 318 of file sljitNativeLOONGARCH_64.c.

◆ FLOAT_DATA

#define FLOAT_DATA ( op)
Value:
(DOUBLE_DATA | ((op & SLJIT_32) >> 7))
#define DOUBLE_DATA

Definition at line 2236 of file sljitNativeLOONGARCH_64.c.

◆ FMOV_D [1/2]

#define FMOV_D   OPC_2R(0x4526)

Definition at line 278 of file sljitNativeLOONGARCH_64.c.

◆ FMOV_D [2/2]

#define FMOV_D   OPC_2R(0x4526)

Definition at line 278 of file sljitNativeLOONGARCH_64.c.

◆ FMOV_S [1/2]

#define FMOV_S   OPC_2R(0x4525)

Definition at line 277 of file sljitNativeLOONGARCH_64.c.

◆ FMOV_S [2/2]

#define FMOV_S   OPC_2R(0x4525)

Definition at line 277 of file sljitNativeLOONGARCH_64.c.

◆ FMUL_D

#define FMUL_D   OPC_3R(0x20a)

Definition at line 265 of file sljitNativeLOONGARCH_64.c.

◆ FMUL_S

#define FMUL_S   OPC_3R(0x209)

Definition at line 264 of file sljitNativeLOONGARCH_64.c.

◆ FNEG_D

#define FNEG_D   OPC_2R(0x4506)

Definition at line 276 of file sljitNativeLOONGARCH_64.c.

◆ FNEG_S

#define FNEG_S   OPC_2R(0x4505)

Definition at line 275 of file sljitNativeLOONGARCH_64.c.

◆ FRA

#define FRA ( fa)
Value:
((sljit_ins)freg_map[fa] << 15)

Definition at line 86 of file sljitNativeLOONGARCH_64.c.

◆ FRD

#define FRD ( fd)
Value:
((sljit_ins)freg_map[fd])

Definition at line 83 of file sljitNativeLOONGARCH_64.c.

◆ FRJ

#define FRJ ( fj)
Value:
((sljit_ins)freg_map[fj] << 5)

Definition at line 84 of file sljitNativeLOONGARCH_64.c.

◆ FRK

#define FRK ( fk)
Value:
((sljit_ins)freg_map[fk] << 10)

Definition at line 85 of file sljitNativeLOONGARCH_64.c.

◆ FSEL

#define FSEL   OPC_4R(0xd0)

Definition at line 272 of file sljitNativeLOONGARCH_64.c.

◆ FST_D

#define FST_D   OPC_2RI12(0xaf)

Definition at line 316 of file sljitNativeLOONGARCH_64.c.

◆ FST_S

#define FST_S   OPC_2RI12(0xad)

Definition at line 315 of file sljitNativeLOONGARCH_64.c.

◆ FSTX_D

#define FSTX_D   OPC_3R(0x7078)

Definition at line 321 of file sljitNativeLOONGARCH_64.c.

◆ FSTX_S

#define FSTX_S   OPC_3R(0x7070)

Definition at line 320 of file sljitNativeLOONGARCH_64.c.

◆ FSUB_D

#define FSUB_D   OPC_3R(0x206)

Definition at line 263 of file sljitNativeLOONGARCH_64.c.

◆ FSUB_S

#define FSUB_S   OPC_3R(0x205)

Definition at line 262 of file sljitNativeLOONGARCH_64.c.

◆ FTINTRZ_L_D

#define FTINTRZ_L_D   OPC_2R(0x46aa)

Definition at line 286 of file sljitNativeLOONGARCH_64.c.

◆ FTINTRZ_L_S

#define FTINTRZ_L_S   OPC_2R(0x46a9)

Definition at line 285 of file sljitNativeLOONGARCH_64.c.

◆ FTINTRZ_W_D

#define FTINTRZ_W_D   OPC_2R(0x46a2)

Definition at line 284 of file sljitNativeLOONGARCH_64.c.

◆ FTINTRZ_W_S

#define FTINTRZ_W_S   OPC_2R(0x46a1)

Definition at line 283 of file sljitNativeLOONGARCH_64.c.

◆ GET_CFG2

#define GET_CFG2   0

Definition at line 386 of file sljitNativeLOONGARCH_64.c.

◆ GET_HWCAP

#define GET_HWCAP   1

Definition at line 387 of file sljitNativeLOONGARCH_64.c.

◆ GPR_REG

#define GPR_REG   0x0f

Definition at line 843 of file sljitNativeLOONGARCH_64.c.

◆ HALF_DATA

#define HALF_DATA   0x04

Definition at line 839 of file sljitNativeLOONGARCH_64.c.

◆ I12_MAX

#define I12_MAX   (0x7ff)

Definition at line 353 of file sljitNativeLOONGARCH_64.c.

◆ I12_MIN

#define I12_MIN   (-0x800)

Definition at line 354 of file sljitNativeLOONGARCH_64.c.

◆ IMM_EXTEND

#define IMM_EXTEND ( v)
Value:
(IMM_I12((op & SLJIT_32) ? (v) : (32 + (v))))
uint32_t v
Definition cdf.c:1237

Definition at line 1283 of file sljitNativeLOONGARCH_64.c.

◆ IMM_I12

#define IMM_I12 ( imm)
Value:
(((sljit_ins)(imm)&0xfff) << 10)

Definition at line 90 of file sljitNativeLOONGARCH_64.c.

◆ IMM_I14

#define IMM_I14 ( imm)
Value:
(((sljit_ins)(imm)&0xfff3) << 10)

Definition at line 91 of file sljitNativeLOONGARCH_64.c.

◆ IMM_I16

#define IMM_I16 ( imm)
Value:
(((sljit_ins)(imm)&0xffff) << 10)

Definition at line 92 of file sljitNativeLOONGARCH_64.c.

◆ IMM_I20

#define IMM_I20 ( imm)
Value:
(((sljit_ins)(imm)&0xffffffff) >> 12 << 5)

Definition at line 93 of file sljitNativeLOONGARCH_64.c.

◆ IMM_I21

#define IMM_I21 ( imm)
Value:
((((sljit_ins)(imm)&0xffff) << 10) | (((sljit_ins)(imm) >> 16) & 0x1f))

Definition at line 94 of file sljitNativeLOONGARCH_64.c.

◆ IMM_I26

#define IMM_I26 ( imm)
Value:
((((sljit_ins)(imm)&0xffff) << 10) | (((sljit_ins)(imm) >> 16) & 0x3ff))

Definition at line 95 of file sljitNativeLOONGARCH_64.c.

◆ IMM_I8

#define IMM_I8 ( imm)
Value:
(((sljit_ins)(imm)&0xff) << 10)

Definition at line 89 of file sljitNativeLOONGARCH_64.c.

◆ IMM_OP

#define IMM_OP   0x00100

Definition at line 852 of file sljitNativeLOONGARCH_64.c.

◆ IMM_V

#define IMM_V ( imm)
Value:
((sljit_ins)(imm) << 10)

Definition at line 88 of file sljitNativeLOONGARCH_64.c.

◆ INST

#define INST ( inst,
type )
Value:
((sljit_ins)((type & SLJIT_32) ? inst##_W : inst##_D))

Definition at line 368 of file sljitNativeLOONGARCH_64.c.

◆ INT_DATA

#define INT_DATA   0x06

Definition at line 840 of file sljitNativeLOONGARCH_64.c.

◆ JIRL

#define JIRL   OPC_2RI16(0x13)

Definition at line 200 of file sljitNativeLOONGARCH_64.c.

◆ JIRL_MAX

#define JIRL_MAX   (0x7fff << 2)

Definition at line 361 of file sljitNativeLOONGARCH_64.c.

◆ JIRL_MIN

#define JIRL_MIN   (-(0x8000 << 2))

Definition at line 362 of file sljitNativeLOONGARCH_64.c.

◆ JUMP_MAX

#define JUMP_MAX   (0x1ffffff << 2)

Definition at line 359 of file sljitNativeLOONGARCH_64.c.

◆ JUMP_MIN

#define JUMP_MIN   (-(0x2000000 << 2))

Definition at line 360 of file sljitNativeLOONGARCH_64.c.

◆ LD_B

#define LD_B   OPC_2RI12(0xa0)

Definition at line 211 of file sljitNativeLOONGARCH_64.c.

◆ LD_BU

#define LD_BU   OPC_2RI12(0xa8)

Definition at line 221 of file sljitNativeLOONGARCH_64.c.

◆ LD_D

#define LD_D   OPC_2RI12(0xa3)

Definition at line 214 of file sljitNativeLOONGARCH_64.c.

◆ LD_H

#define LD_H   OPC_2RI12(0xa1)

Definition at line 212 of file sljitNativeLOONGARCH_64.c.

◆ LD_HU

#define LD_HU   OPC_2RI12(0xa9)

Definition at line 222 of file sljitNativeLOONGARCH_64.c.

◆ LD_W

#define LD_W   OPC_2RI12(0xa2)

Definition at line 213 of file sljitNativeLOONGARCH_64.c.

◆ LD_WU

#define LD_WU   OPC_2RI12(0xaa)

Definition at line 223 of file sljitNativeLOONGARCH_64.c.

◆ LDX_B

#define LDX_B   OPC_3R(0x7000)

Definition at line 225 of file sljitNativeLOONGARCH_64.c.

◆ LDX_BU

#define LDX_BU   OPC_3R(0x7040)

Definition at line 235 of file sljitNativeLOONGARCH_64.c.

◆ LDX_D

#define LDX_D   OPC_3R(0x7018)

Definition at line 228 of file sljitNativeLOONGARCH_64.c.

◆ LDX_H

#define LDX_H   OPC_3R(0x7008)

Definition at line 226 of file sljitNativeLOONGARCH_64.c.

◆ LDX_HU

#define LDX_HU   OPC_3R(0x7048)

Definition at line 236 of file sljitNativeLOONGARCH_64.c.

◆ LDX_W

#define LDX_W   OPC_3R(0x7010)

Definition at line 227 of file sljitNativeLOONGARCH_64.c.

◆ LDX_WU

#define LDX_WU   OPC_3R(0x7050)

Definition at line 237 of file sljitNativeLOONGARCH_64.c.

◆ LL_D

#define LL_D   OPC_2RI14(0x22)

Definition at line 244 of file sljitNativeLOONGARCH_64.c.

◆ LL_W

#define LL_W   OPC_2RI14(0x20)

Definition at line 242 of file sljitNativeLOONGARCH_64.c.

◆ LOAD_DATA

#define LOAD_DATA   0x01

Definition at line 836 of file sljitNativeLOONGARCH_64.c.

◆ LOONGARCH_CFG2

#define LOONGARCH_CFG2   0x02

Definition at line 371 of file sljitNativeLOONGARCH_64.c.

◆ LOONGARCH_CFG2_LAMCAS

#define LOONGARCH_CFG2_LAMCAS   (1 << 28)

Definition at line 372 of file sljitNativeLOONGARCH_64.c.

◆ LOONGARCH_HWCAP_LASX

#define LOONGARCH_HWCAP_LASX   (1 << 5)

Definition at line 381 of file sljitNativeLOONGARCH_64.c.

◆ LOONGARCH_HWCAP_LSX

#define LOONGARCH_HWCAP_LSX   (1 << 4)

Definition at line 380 of file sljitNativeLOONGARCH_64.c.

◆ LU12I_W

#define LU12I_W   OPC_1RI20(0xa)

Definition at line 119 of file sljitNativeLOONGARCH_64.c.

◆ LU32I_D

#define LU32I_D   OPC_1RI20(0xb)

Definition at line 120 of file sljitNativeLOONGARCH_64.c.

◆ LU52I_D

#define LU52I_D   OPC_2RI12(0xc)

Definition at line 121 of file sljitNativeLOONGARCH_64.c.

◆ MEM_MASK

#define MEM_MASK   0x1f

Definition at line 847 of file sljitNativeLOONGARCH_64.c.

◆ MEM_USE_TMP2

#define MEM_USE_TMP2   0x40000

Definition at line 863 of file sljitNativeLOONGARCH_64.c.

◆ MOD_D

#define MOD_D   OPC_3R(0x45)

Definition at line 149 of file sljitNativeLOONGARCH_64.c.

◆ MOD_DU

#define MOD_DU   OPC_3R(0x47)

Definition at line 151 of file sljitNativeLOONGARCH_64.c.

◆ MOD_W

#define MOD_W   OPC_3R(0x41)

Definition at line 145 of file sljitNativeLOONGARCH_64.c.

◆ MOD_WU

#define MOD_WU   OPC_3R(0x43)

Definition at line 147 of file sljitNativeLOONGARCH_64.c.

◆ MOVCF2FR

#define MOVCF2FR   OPC_2R(0x4535)

Definition at line 304 of file sljitNativeLOONGARCH_64.c.

◆ MOVCF2GR

#define MOVCF2GR   OPC_2R(0x4537)

Definition at line 306 of file sljitNativeLOONGARCH_64.c.

◆ MOVE_OP

#define MOVE_OP   0x00200

Definition at line 853 of file sljitNativeLOONGARCH_64.c.

◆ MOVFCSR2GR

#define MOVFCSR2GR   OPC_2R(0x4532)

Definition at line 302 of file sljitNativeLOONGARCH_64.c.

◆ MOVFR2CF

#define MOVFR2CF   OPC_2R(0x4534)

Definition at line 303 of file sljitNativeLOONGARCH_64.c.

◆ MOVFR2GR_D

#define MOVFR2GR_D   OPC_2R(0x452e)

Definition at line 299 of file sljitNativeLOONGARCH_64.c.

◆ MOVFR2GR_S

#define MOVFR2GR_S   OPC_2R(0x452d)

Definition at line 298 of file sljitNativeLOONGARCH_64.c.

◆ MOVFRH2GR_S

#define MOVFRH2GR_S   OPC_2R(0x452f)

Definition at line 300 of file sljitNativeLOONGARCH_64.c.

◆ MOVGR2CF

#define MOVGR2CF   OPC_2R(0x4536)

Definition at line 305 of file sljitNativeLOONGARCH_64.c.

◆ MOVGR2FCSR

#define MOVGR2FCSR   OPC_2R(0x4530)

Definition at line 301 of file sljitNativeLOONGARCH_64.c.

◆ MOVGR2FR_D

#define MOVGR2FR_D   OPC_2R(0x452a)

Definition at line 296 of file sljitNativeLOONGARCH_64.c.

◆ MOVGR2FR_W

#define MOVGR2FR_W   OPC_2R(0x4529)

Definition at line 295 of file sljitNativeLOONGARCH_64.c.

◆ MOVGR2FRH_W

#define MOVGR2FRH_W   OPC_2R(0x452b)

Definition at line 297 of file sljitNativeLOONGARCH_64.c.

◆ MUL_D

#define MUL_D   OPC_3R(0x3b)

Definition at line 139 of file sljitNativeLOONGARCH_64.c.

◆ MUL_W

#define MUL_W   OPC_3R(0x38)

Definition at line 136 of file sljitNativeLOONGARCH_64.c.

◆ MULH_D

#define MULH_D   OPC_3R(0x3c)

Definition at line 140 of file sljitNativeLOONGARCH_64.c.

◆ MULH_DU

#define MULH_DU   OPC_3R(0x3d)

Definition at line 141 of file sljitNativeLOONGARCH_64.c.

◆ MULH_W

#define MULH_W   OPC_3R(0x39)

Definition at line 137 of file sljitNativeLOONGARCH_64.c.

◆ MULH_WU

#define MULH_WU   OPC_3R(0x3a)

Definition at line 138 of file sljitNativeLOONGARCH_64.c.

◆ MULW_D_W

#define MULW_D_W   OPC_3R(0x3e)

Definition at line 142 of file sljitNativeLOONGARCH_64.c.

◆ MULW_D_WU

#define MULW_D_WU   OPC_3R(0x3f)

Definition at line 143 of file sljitNativeLOONGARCH_64.c.

◆ NOR

#define NOR   OPC_3R(0x28)

Definition at line 130 of file sljitNativeLOONGARCH_64.c.

◆ OPC_1RI20

#define OPC_1RI20 ( opc)
Value:
((sljit_ins)(opc) << 25)

Definition at line 106 of file sljitNativeLOONGARCH_64.c.

◆ OPC_1RI21

#define OPC_1RI21 ( opc)
Value:
((sljit_ins)(opc) << 26)

Definition at line 98 of file sljitNativeLOONGARCH_64.c.

◆ OPC_2R

#define OPC_2R ( opc)
Value:
((sljit_ins)(opc) << 10)

Definition at line 105 of file sljitNativeLOONGARCH_64.c.

◆ OPC_2RI12

#define OPC_2RI12 ( opc)
Value:
((sljit_ins)(opc) << 22)

Definition at line 101 of file sljitNativeLOONGARCH_64.c.

◆ OPC_2RI14

#define OPC_2RI14 ( opc)
Value:
((sljit_ins)(opc) << 24)

Definition at line 100 of file sljitNativeLOONGARCH_64.c.

◆ OPC_2RI16

#define OPC_2RI16 ( opc)
Value:
((sljit_ins)(opc) << 26)

Definition at line 99 of file sljitNativeLOONGARCH_64.c.

◆ OPC_2RI8

#define OPC_2RI8 ( opc)
Value:
((sljit_ins)(opc) << 18)

Definition at line 102 of file sljitNativeLOONGARCH_64.c.

◆ OPC_3R

#define OPC_3R ( opc)
Value:
((sljit_ins)(opc) << 15)

Definition at line 104 of file sljitNativeLOONGARCH_64.c.

◆ OPC_4R

#define OPC_4R ( opc)
Value:
((sljit_ins)(opc) << 20)

Definition at line 103 of file sljitNativeLOONGARCH_64.c.

◆ OPC_I26

#define OPC_I26 ( opc)
Value:
((sljit_ins)(opc) << 26)

Definition at line 97 of file sljitNativeLOONGARCH_64.c.

◆ OR

#define OR   OPC_3R(0x2a)

Definition at line 132 of file sljitNativeLOONGARCH_64.c.

◆ ORI

#define ORI   OPC_2RI12(0xe)

Definition at line 116 of file sljitNativeLOONGARCH_64.c.

◆ ORN

#define ORN   OPC_3R(0x2c)

Definition at line 134 of file sljitNativeLOONGARCH_64.c.

◆ OTHER_FLAG

#define OTHER_FLAG   (SLJIT_NUMBER_OF_REGISTERS + 6)

Definition at line 42 of file sljitNativeLOONGARCH_64.c.

◆ PCADDI

#define PCADDI   OPC_1RI20(0xc)

Definition at line 126 of file sljitNativeLOONGARCH_64.c.

◆ PCADDU12I

#define PCADDU12I   OPC_1RI20(0xe)

Definition at line 128 of file sljitNativeLOONGARCH_64.c.

◆ PCADDU18I

#define PCADDU18I   OPC_1RI20(0xf)

Definition at line 129 of file sljitNativeLOONGARCH_64.c.

◆ PCALAU12I

#define PCALAU12I   OPC_1RI20(0xd)

Definition at line 127 of file sljitNativeLOONGARCH_64.c.

◆ PRELD

#define PRELD   OPC_2RI12(0xab)

Definition at line 239 of file sljitNativeLOONGARCH_64.c.

◆ RA

#define RA ( ra)
Value:
((sljit_ins)reg_map[ra] << 15)

Definition at line 80 of file sljitNativeLOONGARCH_64.c.

◆ RD

#define RD ( rd)
Value:
((sljit_ins)reg_map[rd])

Definition at line 77 of file sljitNativeLOONGARCH_64.c.

◆ REG1_SOURCE

#define REG1_SOURCE   0x02000

Definition at line 858 of file sljitNativeLOONGARCH_64.c.

◆ REG2_SOURCE

#define REG2_SOURCE   0x04000

Definition at line 859 of file sljitNativeLOONGARCH_64.c.

◆ REG_DEST

#define REG_DEST   0x01000

Definition at line 857 of file sljitNativeLOONGARCH_64.c.

◆ RETURN_ADDR_REG

#define RETURN_ADDR_REG   TMP_REG2

Definition at line 41 of file sljitNativeLOONGARCH_64.c.

◆ REVB_2H

#define REVB_2H   OPC_2R(0xc)

Definition at line 180 of file sljitNativeLOONGARCH_64.c.

◆ REVB_2W

#define REVB_2W   OPC_2R(0xe)

Definition at line 182 of file sljitNativeLOONGARCH_64.c.

◆ REVB_4H

#define REVB_4H   OPC_2R(0xd)

Definition at line 181 of file sljitNativeLOONGARCH_64.c.

◆ REVB_D

#define REVB_D   OPC_2R(0xf)

Definition at line 183 of file sljitNativeLOONGARCH_64.c.

◆ REVH_2W

#define REVH_2W   OPC_2R(0x10)

Definition at line 184 of file sljitNativeLOONGARCH_64.c.

◆ REVH_D

#define REVH_D   OPC_2R(0x11)

Definition at line 185 of file sljitNativeLOONGARCH_64.c.

◆ RJ

#define RJ ( rj)
Value:
((sljit_ins)reg_map[rj] << 5)

Definition at line 78 of file sljitNativeLOONGARCH_64.c.

◆ RK

#define RK ( rk)
Value:
((sljit_ins)reg_map[rk] << 10)

Definition at line 79 of file sljitNativeLOONGARCH_64.c.

◆ ROTR_D

#define ROTR_D   OPC_3R(0x37)

Definition at line 161 of file sljitNativeLOONGARCH_64.c.

◆ ROTR_W

#define ROTR_W   OPC_3R(0x36)

Definition at line 160 of file sljitNativeLOONGARCH_64.c.

◆ ROTRI_D

#define ROTRI_D   ((sljit_ins)(0x4d) << 16)

Definition at line 169 of file sljitNativeLOONGARCH_64.c.

◆ ROTRI_W

#define ROTRI_W   OPC_3R(0x99)

Definition at line 168 of file sljitNativeLOONGARCH_64.c.

◆ S32_MAX

#define S32_MAX   (0x7fffffffl)

Definition at line 364 of file sljitNativeLOONGARCH_64.c.

◆ S32_MIN

#define S32_MIN   (-0x80000000l)

Definition at line 365 of file sljitNativeLOONGARCH_64.c.

◆ S52_MAX

#define S52_MAX   (0x7ffffffffffffl)

Definition at line 366 of file sljitNativeLOONGARCH_64.c.

◆ SC_D

#define SC_D   OPC_2RI14(0x23)

Definition at line 245 of file sljitNativeLOONGARCH_64.c.

◆ SC_W

#define SC_W   OPC_2RI14(0x21)

Definition at line 243 of file sljitNativeLOONGARCH_64.c.

◆ SET_COND

#define SET_COND ( cond)
Value:
(sljit_ins)(cond << 15)

Definition at line 2217 of file sljitNativeLOONGARCH_64.c.

◆ SIGNED_DATA

#define SIGNED_DATA   0x08

Definition at line 841 of file sljitNativeLOONGARCH_64.c.

◆ SINGLE_DATA

#define SINGLE_DATA   0x12

Definition at line 845 of file sljitNativeLOONGARCH_64.c.

◆ SLL_D

#define SLL_D   OPC_3R(0x31)

Definition at line 157 of file sljitNativeLOONGARCH_64.c.

◆ SLL_W

#define SLL_W   OPC_3R(0x2e)

Definition at line 154 of file sljitNativeLOONGARCH_64.c.

◆ SLLI_D

#define SLLI_D   ((sljit_ins)(0x41) << 16)

Definition at line 163 of file sljitNativeLOONGARCH_64.c.

◆ SLLI_W

#define SLLI_W   OPC_3R(0x81)

Definition at line 162 of file sljitNativeLOONGARCH_64.c.

◆ SLOW_DEST

#define SLOW_DEST   0x20000

Definition at line 862 of file sljitNativeLOONGARCH_64.c.

◆ SLOW_SRC1

#define SLOW_SRC1   0x08000

Definition at line 860 of file sljitNativeLOONGARCH_64.c.

◆ SLOW_SRC2

#define SLOW_SRC2   0x10000

Definition at line 861 of file sljitNativeLOONGARCH_64.c.

◆ SLT

#define SLT   OPC_3R(0x24)

Definition at line 122 of file sljitNativeLOONGARCH_64.c.

◆ SLTI

#define SLTI   OPC_2RI12(0x8)

Definition at line 124 of file sljitNativeLOONGARCH_64.c.

◆ SLTU

#define SLTU   OPC_3R(0x25)

Definition at line 123 of file sljitNativeLOONGARCH_64.c.

◆ SLTUI

#define SLTUI   OPC_2RI12(0x9)

Definition at line 125 of file sljitNativeLOONGARCH_64.c.

◆ SRA_D

#define SRA_D   OPC_3R(0x33)

Definition at line 159 of file sljitNativeLOONGARCH_64.c.

◆ SRA_W

#define SRA_W   OPC_3R(0x30)

Definition at line 156 of file sljitNativeLOONGARCH_64.c.

◆ SRAI_D

#define SRAI_D   ((sljit_ins)(0x49) << 16)

Definition at line 167 of file sljitNativeLOONGARCH_64.c.

◆ SRAI_W

#define SRAI_W   OPC_3R(0x91)

Definition at line 166 of file sljitNativeLOONGARCH_64.c.

◆ SRC2_IMM

#define SRC2_IMM   0x00400

Definition at line 854 of file sljitNativeLOONGARCH_64.c.

◆ SRL_D

#define SRL_D   OPC_3R(0x32)

Definition at line 158 of file sljitNativeLOONGARCH_64.c.

◆ SRL_W

#define SRL_W   OPC_3R(0x2f)

Definition at line 155 of file sljitNativeLOONGARCH_64.c.

◆ SRLI_D

#define SRLI_D   ((sljit_ins)(0x45) << 16)

Definition at line 165 of file sljitNativeLOONGARCH_64.c.

◆ SRLI_W

#define SRLI_W   OPC_3R(0x89)

Definition at line 164 of file sljitNativeLOONGARCH_64.c.

◆ ST_B

#define ST_B   OPC_2RI12(0xa4)

Definition at line 216 of file sljitNativeLOONGARCH_64.c.

◆ ST_D

#define ST_D   OPC_2RI12(0xa7)

Definition at line 219 of file sljitNativeLOONGARCH_64.c.

◆ ST_H

#define ST_H   OPC_2RI12(0xa5)

Definition at line 217 of file sljitNativeLOONGARCH_64.c.

◆ ST_W

#define ST_W   OPC_2RI12(0xa6)

Definition at line 218 of file sljitNativeLOONGARCH_64.c.

◆ STACK_LOAD

#define STACK_LOAD   LD_D

Definition at line 866 of file sljitNativeLOONGARCH_64.c.

◆ STACK_MAX_DISTANCE [1/2]

#define STACK_MAX_DISTANCE   (-I12_MIN)

Definition at line 887 of file sljitNativeLOONGARCH_64.c.

◆ STACK_MAX_DISTANCE [2/2]

#define STACK_MAX_DISTANCE   (-I12_MIN - 16)

Definition at line 887 of file sljitNativeLOONGARCH_64.c.

◆ STACK_STORE

#define STACK_STORE   ST_D

Definition at line 865 of file sljitNativeLOONGARCH_64.c.

◆ STX_B

#define STX_B   OPC_3R(0x7020)

Definition at line 230 of file sljitNativeLOONGARCH_64.c.

◆ STX_D

#define STX_D   OPC_3R(0x7038)

Definition at line 233 of file sljitNativeLOONGARCH_64.c.

◆ STX_H

#define STX_H   OPC_3R(0x7028)

Definition at line 231 of file sljitNativeLOONGARCH_64.c.

◆ STX_W

#define STX_W   OPC_3R(0x7030)

Definition at line 232 of file sljitNativeLOONGARCH_64.c.

◆ SUB_D

#define SUB_D   OPC_3R(0x23)

Definition at line 112 of file sljitNativeLOONGARCH_64.c.

◆ SUB_W

#define SUB_W   OPC_3R(0x22)

Definition at line 111 of file sljitNativeLOONGARCH_64.c.

◆ SYSCALL

#define SYSCALL   OPC_3R(0x56)

Definition at line 256 of file sljitNativeLOONGARCH_64.c.

◆ TMP_FREG1

#define TMP_FREG1   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)

Definition at line 44 of file sljitNativeLOONGARCH_64.c.

◆ TMP_FREG2

#define TMP_FREG2   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2)

Definition at line 45 of file sljitNativeLOONGARCH_64.c.

◆ TMP_REG1

#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)

Definition at line 34 of file sljitNativeLOONGARCH_64.c.

◆ TMP_REG2

#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)

Definition at line 35 of file sljitNativeLOONGARCH_64.c.

◆ TMP_REG3

#define TMP_REG3   (SLJIT_NUMBER_OF_REGISTERS + 4)

Definition at line 36 of file sljitNativeLOONGARCH_64.c.

◆ TMP_ZERO

#define TMP_ZERO   0

Definition at line 37 of file sljitNativeLOONGARCH_64.c.

◆ TO_ARGW_HI

#define TO_ARGW_HI ( argw)
Value:
(((argw) & ~0xfff) + (((argw) & 0x800) ? 0x1000 : 0))

Definition at line 1171 of file sljitNativeLOONGARCH_64.c.

◆ UNUSED_DEST

#define UNUSED_DEST   0x00800

Definition at line 856 of file sljitNativeLOONGARCH_64.c.

◆ VAND_V

#define VAND_V   OPC_3R(0xe24c)

Definition at line 328 of file sljitNativeLOONGARCH_64.c.

◆ VFCVTL_D_S

#define VFCVTL_D_S   OPC_2R(0x1ca77c)

Definition at line 339 of file sljitNativeLOONGARCH_64.c.

◆ VINSGR2VR

#define VINSGR2VR   OPC_2R(0x1cbac0)

Definition at line 346 of file sljitNativeLOONGARCH_64.c.

◆ VLD

#define VLD   OPC_2RI12(0xb0)

Definition at line 332 of file sljitNativeLOONGARCH_64.c.

◆ VLDREPL

#define VLDREPL   OPC_2R(0xc0000)

Definition at line 345 of file sljitNativeLOONGARCH_64.c.

◆ VMSKLTZ

#define VMSKLTZ   OPC_2R(0x1ca710)

Definition at line 329 of file sljitNativeLOONGARCH_64.c.

◆ VOR_V

#define VOR_V   OPC_3R(0xe24d)

Definition at line 326 of file sljitNativeLOONGARCH_64.c.

◆ VPICKVE2GR_U

#define VPICKVE2GR_U   OPC_2R(0x1cbce0)

Definition at line 347 of file sljitNativeLOONGARCH_64.c.

◆ VREPLGR2VR

#define VREPLGR2VR   OPC_2R(0x1ca7c0)

Definition at line 348 of file sljitNativeLOONGARCH_64.c.

◆ VREPLVE

#define VREPLVE   OPC_3R(0xe244)

Definition at line 349 of file sljitNativeLOONGARCH_64.c.

◆ VREPLVEI

#define VREPLVEI   OPC_2R(0x1cbde0)

Definition at line 350 of file sljitNativeLOONGARCH_64.c.

◆ VSLLWIL

#define VSLLWIL   OPC_2R(0x1cc200)

Definition at line 342 of file sljitNativeLOONGARCH_64.c.

◆ VST

#define VST   OPC_2RI12(0xb1)

Definition at line 333 of file sljitNativeLOONGARCH_64.c.

◆ VSTELM

#define VSTELM   OPC_2RI8(0xc40)

Definition at line 336 of file sljitNativeLOONGARCH_64.c.

◆ VXOR_V

#define VXOR_V   OPC_3R(0xe24e)

Definition at line 327 of file sljitNativeLOONGARCH_64.c.

◆ WORD_DATA

#define WORD_DATA   0x00

Definition at line 837 of file sljitNativeLOONGARCH_64.c.

◆ XOR

#define XOR   OPC_3R(0x2b)

Definition at line 133 of file sljitNativeLOONGARCH_64.c.

◆ XORI

#define XORI   OPC_2RI12(0xf)

Definition at line 117 of file sljitNativeLOONGARCH_64.c.

◆ XVLD

#define XVLD   OPC_2RI12(0xb2)

Definition at line 334 of file sljitNativeLOONGARCH_64.c.

◆ XVPERMI

#define XVPERMI   OPC_2RI8(0x1dfa)

Definition at line 351 of file sljitNativeLOONGARCH_64.c.

◆ XVST

#define XVST   OPC_2RI12(0xb3)

Definition at line 335 of file sljitNativeLOONGARCH_64.c.

Function Documentation

◆ sljit_cmp_info()

Definition at line 824 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_atomic_load()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_atomic_load ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst_reg,
sljit_s32 mem_reg )

Definition at line 3598 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_atomic_store()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_atomic_store ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 src_reg,
sljit_s32 mem_reg,
sljit_s32 temp_reg )

Definition at line 3629 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_call()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump * sljit_emit_call ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 arg_types )

Definition at line 2729 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_cmp()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump * sljit_emit_cmp ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 src1,
sljit_sw src1w,
sljit_s32 src2,
sljit_sw src2w )

Definition at line 2745 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_const()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_const * sljit_emit_const ( struct sljit_compiler * compiler,
sljit_s32 dst,
sljit_sw dstw,
sljit_sw init_value )

Definition at line 3716 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_enter()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter ( struct sljit_compiler * compiler,
sljit_s32 options,
sljit_s32 arg_types,
sljit_s32 scratches,
sljit_s32 saveds,
sljit_s32 fscratches,
sljit_s32 fsaveds,
sljit_s32 local_size )

Definition at line 891 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_fcopy()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fcopy ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 freg,
sljit_s32 reg )

Definition at line 2608 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_fop1()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1 ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst,
sljit_sw dstw,
sljit_s32 src,
sljit_sw srcw )

Definition at line 2419 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_fop2()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2 ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst,
sljit_sw dstw,
sljit_s32 src1,
sljit_sw src1w,
sljit_s32 src2,
sljit_sw src2w )

Definition at line 2469 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_fop2r()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2r ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst_freg,
sljit_s32 src1,
sljit_sw src1w,
sljit_s32 src2,
sljit_sw src2w )

Definition at line 2542 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_fselect()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fselect ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 dst_freg,
sljit_s32 src1,
sljit_sw src1w,
sljit_s32 src2_freg )

Definition at line 3044 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_fset32()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fset32 ( struct sljit_compiler * compiler,
sljit_s32 freg,
sljit_f32 value )

Definition at line 2568 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_fset64()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fset64 ( struct sljit_compiler * compiler,
sljit_s32 freg,
sljit_f64 value )

Definition at line 2588 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_icall()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 arg_types,
sljit_s32 src,
sljit_sw srcw )

Definition at line 2875 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_ijump()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 src,
sljit_sw srcw )

Definition at line 2844 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_jump()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump * sljit_emit_jump ( struct sljit_compiler * compiler,
sljit_s32 type )

Definition at line 2694 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_label()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label ( struct sljit_compiler * compiler)

Definition at line 2627 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_mem()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_mem ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 reg,
sljit_s32 mem,
sljit_sw memw )

Definition at line 3080 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_mov_addr()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump * sljit_emit_mov_addr ( struct sljit_compiler * compiler,
sljit_s32 dst,
sljit_sw dstw )

Definition at line 3738 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op0()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0 ( struct sljit_compiler * compiler,
sljit_s32 op )

Definition at line 1857 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op1()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1 ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst,
sljit_sw dstw,
sljit_s32 src,
sljit_sw srcw )

Definition at line 1896 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op2()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2 ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst,
sljit_sw dstw,
sljit_s32 src1,
sljit_sw src1w,
sljit_s32 src2,
sljit_sw src2w )

Definition at line 1953 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op2r()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2r ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst_reg,
sljit_s32 src1,
sljit_sw src1w,
sljit_s32 src2,
sljit_sw src2w )

Definition at line 2028 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op2u()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2u ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 src1,
sljit_sw src1w,
sljit_s32 src2,
sljit_sw src2w )

Definition at line 2017 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op_custom()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom ( struct sljit_compiler * compiler,
void * instruction,
sljit_u32 size )

Definition at line 2204 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op_dst()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_dst ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst,
sljit_sw dstw )

Definition at line 2163 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op_flags()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst,
sljit_sw dstw,
sljit_s32 type )

Definition at line 2903 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_op_src()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 src,
sljit_sw srcw )

Definition at line 2122 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_return_to()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_to ( struct sljit_compiler * compiler,
sljit_s32 src,
sljit_sw srcw )

Definition at line 1052 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_return_void()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_void ( struct sljit_compiler * compiler)

Definition at line 1043 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_select()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_select ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 dst_reg,
sljit_s32 src1,
sljit_sw src1w,
sljit_s32 src2_reg )

Definition at line 2992 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_shift_into()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_shift_into ( struct sljit_compiler * compiler,
sljit_s32 op,
sljit_s32 dst_reg,
sljit_s32 src1_reg,
sljit_s32 src2_reg,
sljit_s32 src3,
sljit_sw src3w )

Definition at line 2046 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_simd_extend()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_extend ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 freg,
sljit_s32 src,
sljit_sw srcw )

Definition at line 3444 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_simd_lane_mov()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_lane_mov ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 freg,
sljit_s32 lane_index,
sljit_s32 srcdst,
sljit_sw srcdstw )

Definition at line 3270 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_simd_lane_replicate()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_lane_replicate ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 freg,
sljit_s32 src,
sljit_s32 src_lane_index )

Definition at line 3411 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_simd_mov()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_mov ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 freg,
sljit_s32 srcdst,
sljit_sw srcdstw )

Definition at line 3164 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_simd_op2()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_op2 ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 dst_freg,
sljit_s32 src1_freg,
sljit_s32 src2_freg )

Definition at line 3558 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_simd_replicate()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_replicate ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 freg,
sljit_s32 src,
sljit_sw srcw )

Definition at line 3212 of file sljitNativeLOONGARCH_64.c.

◆ sljit_emit_simd_sign()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_simd_sign ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 freg,
sljit_s32 dst,
sljit_sw dstw )

Definition at line 3511 of file sljitNativeLOONGARCH_64.c.

◆ sljit_generate_code()

SLJIT_API_FUNC_ATTRIBUTE void * sljit_generate_code ( struct sljit_compiler * compiler,
sljit_s32 options,
void * exec_allocator_data )

Definition at line 657 of file sljitNativeLOONGARCH_64.c.

◆ sljit_get_platform_name()

SLJIT_API_FUNC_ATTRIBUTE const char * sljit_get_platform_name ( void )

Definition at line 27 of file sljitNativeLOONGARCH_64.c.

◆ sljit_get_register_index()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index ( sljit_s32 type,
sljit_s32 reg )

Definition at line 2191 of file sljitNativeLOONGARCH_64.c.

◆ sljit_has_cpu_feature()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature ( sljit_s32 feature_type)

Definition at line 789 of file sljitNativeLOONGARCH_64.c.

◆ sljit_set_const()

SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const ( sljit_uw addr,
sljit_sw new_constant,
sljit_sw executable_offset )

Definition at line 3762 of file sljitNativeLOONGARCH_64.c.

◆ sljit_set_context()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context ( struct sljit_compiler * compiler,
sljit_s32 options,
sljit_s32 arg_types,
sljit_s32 scratches,
sljit_s32 saveds,
sljit_s32 fscratches,
sljit_s32 fsaveds,
sljit_s32 local_size )

Definition at line 975 of file sljitNativeLOONGARCH_64.c.

◆ sljit_set_jump_addr()

SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr ( sljit_uw addr,
sljit_uw new_target,
sljit_sw executable_offset )

Definition at line 3688 of file sljitNativeLOONGARCH_64.c.