php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
sljitNativeX86_common.c File Reference

Go to the source code of this file.

Macros

#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)
 
#define TMP_FREG   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)
 
#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)
 
#define REX_W   0x48
 
#define REX_R   0x44
 
#define REX_X   0x42
 
#define REX_B   0x41
 
#define REX   0x40
 
#define HALFWORD_MAX   0x7fffffffl
 
#define HALFWORD_MIN   -0x80000000l
 
#define IS_HALFWORD(x)
 
#define NOT_HALFWORD(x)
 
#define CHECK_EXTRA_REGS(p, w, do)
 
#define U8(v)
 
#define EX86_BIN_INS   ((sljit_uw)0x000010)
 
#define EX86_SHIFT_INS   ((sljit_uw)0x000020)
 
#define EX86_BYTE_ARG   ((sljit_uw)0x000040)
 
#define EX86_HALF_ARG   ((sljit_uw)0x000080)
 
#define EX86_REX   ((sljit_uw)0x000100)
 
#define EX86_NO_REXW   ((sljit_uw)0x000200)
 
#define EX86_PREF_66   ((sljit_uw)0x000400)
 
#define EX86_PREF_F2   ((sljit_uw)0x000800)
 
#define EX86_PREF_F3   ((sljit_uw)0x001000)
 
#define EX86_SSE2_OP1   ((sljit_uw)0x002000)
 
#define EX86_SSE2_OP2   ((sljit_uw)0x004000)
 
#define EX86_SSE2   (EX86_SSE2_OP1 | EX86_SSE2_OP2)
 
#define EX86_VEX_EXT   ((sljit_uw)0x008000)
 
#define VEX_OP_0F38   ((sljit_uw)0x010000)
 
#define VEX_OP_0F3A   ((sljit_uw)0x020000)
 
#define VEX_SSE2_OPV   ((sljit_uw)0x040000)
 
#define VEX_AUTO_W   ((sljit_uw)0x080000)
 
#define VEX_W   ((sljit_uw)0x100000)
 
#define VEX_256   ((sljit_uw)0x200000)
 
#define EX86_SELECT_66(op)
 
#define EX86_SELECT_F2_F3(op)
 
#define ADD   (/* BINARY */ 0 << 3)
 
#define ADD_EAX_i32   0x05
 
#define ADD_r_rm   0x03
 
#define ADD_rm_r   0x01
 
#define ADDSD_x_xm   0x58
 
#define ADC   (/* BINARY */ 2 << 3)
 
#define ADC_EAX_i32   0x15
 
#define ADC_r_rm   0x13
 
#define ADC_rm_r   0x11
 
#define AND   (/* BINARY */ 4 << 3)
 
#define AND_EAX_i32   0x25
 
#define AND_r_rm   0x23
 
#define AND_rm_r   0x21
 
#define ANDPD_x_xm   0x54
 
#define BSR_r_rm   (/* GROUP_0F */ 0xbd)
 
#define BSF_r_rm   (/* GROUP_0F */ 0xbc)
 
#define BSWAP_r   (/* GROUP_0F */ 0xc8)
 
#define CALL_i32   0xe8
 
#define CALL_rm   (/* GROUP_FF */ 2 << 3)
 
#define CDQ   0x99
 
#define CMOVE_r_rm   (/* GROUP_0F */ 0x44)
 
#define CMP   (/* BINARY */ 7 << 3)
 
#define CMP_EAX_i32   0x3d
 
#define CMP_r_rm   0x3b
 
#define CMP_rm_r   0x39
 
#define CMPS_x_xm   0xc2
 
#define CMPXCHG_rm_r   0xb1
 
#define CMPXCHG_rm8_r   0xb0
 
#define CVTPD2PS_x_xm   0x5a
 
#define CVTPS2PD_x_xm   0x5a
 
#define CVTSI2SD_x_rm   0x2a
 
#define CVTTSD2SI_r_xm   0x2c
 
#define DIV   (/* GROUP_F7 */ 6 << 3)
 
#define DIVSD_x_xm   0x5e
 
#define EXTRACTPS_x_xm   0x17
 
#define FLDS   0xd9
 
#define FLDL   0xdd
 
#define FSTPS   0xd9
 
#define FSTPD   0xdd
 
#define INSERTPS_x_xm   0x21
 
#define INT3   0xcc
 
#define IDIV   (/* GROUP_F7 */ 7 << 3)
 
#define IMUL   (/* GROUP_F7 */ 5 << 3)
 
#define IMUL_r_rm   (/* GROUP_0F */ 0xaf)
 
#define IMUL_r_rm_i8   0x6b
 
#define IMUL_r_rm_i32   0x69
 
#define JL_i8   0x7c
 
#define JE_i8   0x74
 
#define JNC_i8   0x73
 
#define JNE_i8   0x75
 
#define JMP_i8   0xeb
 
#define JMP_i32   0xe9
 
#define JMP_rm   (/* GROUP_FF */ 4 << 3)
 
#define LEA_r_m   0x8d
 
#define LOOP_i8   0xe2
 
#define LZCNT_r_rm   (/* GROUP_F3 */ /* GROUP_0F */ 0xbd)
 
#define MOV_r_rm   0x8b
 
#define MOV_r_i32   0xb8
 
#define MOV_rm_r   0x89
 
#define MOV_rm_i32   0xc7
 
#define MOV_rm8_i8   0xc6
 
#define MOV_rm8_r8   0x88
 
#define MOVAPS_x_xm   0x28
 
#define MOVAPS_xm_x   0x29
 
#define MOVD_x_rm   0x6e
 
#define MOVD_rm_x   0x7e
 
#define MOVDDUP_x_xm   0x12
 
#define MOVDQA_x_xm   0x6f
 
#define MOVDQA_xm_x   0x7f
 
#define MOVHLPS_x_x   0x12
 
#define MOVHPD_m_x   0x17
 
#define MOVHPD_x_m   0x16
 
#define MOVLHPS_x_x   0x16
 
#define MOVLPD_m_x   0x13
 
#define MOVLPD_x_m   0x12
 
#define MOVMSKPS_r_x   (/* GROUP_0F */ 0x50)
 
#define MOVQ_x_xm   (/* GROUP_0F */ 0x7e)
 
#define MOVSD_x_xm   0x10
 
#define MOVSD_xm_x   0x11
 
#define MOVSHDUP_x_xm   0x16
 
#define MOVSXD_r_rm   0x63
 
#define MOVSX_r_rm8   (/* GROUP_0F */ 0xbe)
 
#define MOVSX_r_rm16   (/* GROUP_0F */ 0xbf)
 
#define MOVUPS_x_xm   0x10
 
#define MOVZX_r_rm8   (/* GROUP_0F */ 0xb6)
 
#define MOVZX_r_rm16   (/* GROUP_0F */ 0xb7)
 
#define MUL   (/* GROUP_F7 */ 4 << 3)
 
#define MULSD_x_xm   0x59
 
#define NEG_rm   (/* GROUP_F7 */ 3 << 3)
 
#define NOP   0x90
 
#define NOT_rm   (/* GROUP_F7 */ 2 << 3)
 
#define OR   (/* BINARY */ 1 << 3)
 
#define OR_r_rm   0x0b
 
#define OR_EAX_i32   0x0d
 
#define OR_rm_r   0x09
 
#define OR_rm8_r8   0x08
 
#define ORPD_x_xm   0x56
 
#define PACKSSWB_x_xm   (/* GROUP_0F */ 0x63)
 
#define PAND_x_xm   0xdb
 
#define PCMPEQD_x_xm   0x76
 
#define PINSRB_x_rm_i8   0x20
 
#define PINSRW_x_rm_i8   0xc4
 
#define PINSRD_x_rm_i8   0x22
 
#define PEXTRB_rm_x_i8   0x14
 
#define PEXTRW_rm_x_i8   0x15
 
#define PEXTRD_rm_x_i8   0x16
 
#define PMOVMSKB_r_x   (/* GROUP_0F */ 0xd7)
 
#define PMOVSXBD_x_xm   0x21
 
#define PMOVSXBQ_x_xm   0x22
 
#define PMOVSXBW_x_xm   0x20
 
#define PMOVSXDQ_x_xm   0x25
 
#define PMOVSXWD_x_xm   0x23
 
#define PMOVSXWQ_x_xm   0x24
 
#define PMOVZXBD_x_xm   0x31
 
#define PMOVZXBQ_x_xm   0x32
 
#define PMOVZXBW_x_xm   0x30
 
#define PMOVZXDQ_x_xm   0x35
 
#define PMOVZXWD_x_xm   0x33
 
#define PMOVZXWQ_x_xm   0x34
 
#define POP_r   0x58
 
#define POP_rm   0x8f
 
#define POPF   0x9d
 
#define POR_x_xm   0xeb
 
#define PREFETCH   0x18
 
#define PSHUFB_x_xm   0x00
 
#define PSHUFD_x_xm   0x70
 
#define PSHUFLW_x_xm   0x70
 
#define PSRLDQ_x   0x73
 
#define PSLLD_x_i8   0x72
 
#define PSLLQ_x_i8   0x73
 
#define PUSH_i32   0x68
 
#define PUSH_r   0x50
 
#define PUSH_rm   (/* GROUP_FF */ 6 << 3)
 
#define PUSHF   0x9c
 
#define PXOR_x_xm   0xef
 
#define ROL   (/* SHIFT */ 0 << 3)
 
#define ROR   (/* SHIFT */ 1 << 3)
 
#define RET_near   0xc3
 
#define RET_i16   0xc2
 
#define SBB   (/* BINARY */ 3 << 3)
 
#define SBB_EAX_i32   0x1d
 
#define SBB_r_rm   0x1b
 
#define SBB_rm_r   0x19
 
#define SAR   (/* SHIFT */ 7 << 3)
 
#define SHL   (/* SHIFT */ 4 << 3)
 
#define SHLD   (/* GROUP_0F */ 0xa5)
 
#define SHRD   (/* GROUP_0F */ 0xad)
 
#define SHR   (/* SHIFT */ 5 << 3)
 
#define SHUFPS_x_xm   0xc6
 
#define SUB   (/* BINARY */ 5 << 3)
 
#define SUB_EAX_i32   0x2d
 
#define SUB_r_rm   0x2b
 
#define SUB_rm_r   0x29
 
#define SUBSD_x_xm   0x5c
 
#define TEST_EAX_i32   0xa9
 
#define TEST_rm_r   0x85
 
#define TZCNT_r_rm   (/* GROUP_F3 */ /* GROUP_0F */ 0xbc)
 
#define UCOMISD_x_xm   0x2e
 
#define UNPCKLPD_x_xm   0x14
 
#define UNPCKLPS_x_xm   0x14
 
#define VBROADCASTSD_x_xm   0x19
 
#define VBROADCASTSS_x_xm   0x18
 
#define VEXTRACTF128_x_ym   0x19
 
#define VEXTRACTI128_x_ym   0x39
 
#define VINSERTF128_y_y_xm   0x18
 
#define VINSERTI128_y_y_xm   0x38
 
#define VPBROADCASTB_x_xm   0x78
 
#define VPBROADCASTD_x_xm   0x58
 
#define VPBROADCASTQ_x_xm   0x59
 
#define VPBROADCASTW_x_xm   0x79
 
#define VPERMPD_y_ym   0x01
 
#define VPERMQ_y_ym   0x00
 
#define XCHG_EAX_r   0x90
 
#define XCHG_r_rm   0x87
 
#define XOR   (/* BINARY */ 6 << 3)
 
#define XOR_EAX_i32   0x35
 
#define XOR_r_rm   0x33
 
#define XOR_rm_r   0x31
 
#define XORPD_x_xm   0x57
 
#define GROUP_0F   0x0f
 
#define GROUP_66   0x66
 
#define GROUP_F3   0xf3
 
#define GROUP_F7   0xf7
 
#define GROUP_FF   0xff
 
#define GROUP_BINARY_81   0x81
 
#define GROUP_BINARY_83   0x83
 
#define GROUP_SHIFT_1   0xd1
 
#define GROUP_SHIFT_N   0xc1
 
#define GROUP_SHIFT_CL   0xd3
 
#define GROUP_LOCK   0xf0
 
#define MOD_REG   0xc0
 
#define MOD_DISP8   0x40
 
#define INC_SIZE(s)
 
#define PUSH_REG(r)
 
#define POP_REG(r)
 
#define RET()
 
#define RET_I16(n)
 
#define SLJIT_INST_LABEL   255
 
#define SLJIT_INST_JUMP   254
 
#define SLJIT_INST_MOV_ADDR   253
 
#define SLJIT_INST_CONST   252
 
#define CPU_FEATURE_DETECTED   0x001
 
#define CPU_FEATURE_SSE41   0x004
 
#define CPU_FEATURE_LZCNT   0x008
 
#define CPU_FEATURE_TZCNT   0x010
 
#define CPU_FEATURE_CMOV   0x020
 
#define CPU_FEATURE_AVX   0x040
 
#define CPU_FEATURE_AVX2   0x080
 
#define CPU_FEATURE_OSXSAVE   0x100
 
#define BINARY_OPCODE(opcode)
 
#define BINARY_IMM32(op_imm, immw, arg, argw)
 
#define BINARY_IMM(op_imm, op_mr, immw, arg, argw)
 
#define BINARY_EAX_IMM(op_eax_imm, immw)
 
#define EMIT_MOV(compiler, dst, dstw, src, srcw)
 

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_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 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 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_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_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_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 sljit_s32 sljit_get_local_base (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw 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_jump_addr (sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset)
 
SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const (sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset)
 

Macro Definition Documentation

◆ ADC

#define ADC   (/* BINARY */ 2 << 3)

Definition at line 178 of file sljitNativeX86_common.c.

◆ ADC_EAX_i32

#define ADC_EAX_i32   0x15

Definition at line 179 of file sljitNativeX86_common.c.

◆ ADC_r_rm

#define ADC_r_rm   0x13

Definition at line 180 of file sljitNativeX86_common.c.

◆ ADC_rm_r

#define ADC_rm_r   0x11

Definition at line 181 of file sljitNativeX86_common.c.

◆ ADD

#define ADD   (/* BINARY */ 0 << 3)

Definition at line 173 of file sljitNativeX86_common.c.

◆ ADD_EAX_i32

#define ADD_EAX_i32   0x05

Definition at line 174 of file sljitNativeX86_common.c.

◆ ADD_r_rm

#define ADD_r_rm   0x03

Definition at line 175 of file sljitNativeX86_common.c.

◆ ADD_rm_r

#define ADD_rm_r   0x01

Definition at line 176 of file sljitNativeX86_common.c.

◆ ADDSD_x_xm

#define ADDSD_x_xm   0x58

Definition at line 177 of file sljitNativeX86_common.c.

◆ AND

#define AND   (/* BINARY */ 4 << 3)

Definition at line 182 of file sljitNativeX86_common.c.

◆ AND_EAX_i32

#define AND_EAX_i32   0x25

Definition at line 183 of file sljitNativeX86_common.c.

◆ AND_r_rm

#define AND_r_rm   0x23

Definition at line 184 of file sljitNativeX86_common.c.

◆ AND_rm_r

#define AND_rm_r   0x21

Definition at line 185 of file sljitNativeX86_common.c.

◆ ANDPD_x_xm

#define ANDPD_x_xm   0x54

Definition at line 186 of file sljitNativeX86_common.c.

◆ BINARY_EAX_IMM

#define BINARY_EAX_IMM ( op_eax_imm,
immw )
Value:
FAIL_IF(emit_do_imm(compiler, (op_eax_imm), immw))
#define FAIL_IF(expr)
Definition sljitLir.c:55

Definition at line 1088 of file sljitNativeX86_common.c.

◆ BINARY_IMM

#define BINARY_IMM ( op_imm,
op_mr,
immw,
arg,
argw )
Value:
BINARY_IMM32(op_imm, immw, arg, argw)
zval * arg
Definition ffi.c:3975
#define BINARY_IMM32(op_imm, immw, arg, argw)

Definition at line 1085 of file sljitNativeX86_common.c.

◆ BINARY_IMM32

#define BINARY_IMM32 ( op_imm,
immw,
arg,
argw )
Value:
do { \
inst = emit_x86_instruction(compiler, 1 | EX86_BIN_INS, SLJIT_IMM, immw, arg, argw); \
FAIL_IF(!inst); \
*(inst + 1) |= (op_imm); \
} while (0)
#define SLJIT_IMM
Definition sljitLir.h:931
#define EX86_BIN_INS

Definition at line 1058 of file sljitNativeX86_common.c.

◆ BINARY_OPCODE

#define BINARY_OPCODE ( opcode)
Value:
(((opcode ## _EAX_i32) << 24) | ((opcode ## _r_rm) << 16) | ((opcode ## _rm_r) << 8) | (opcode))

Definition at line 1056 of file sljitNativeX86_common.c.

◆ BSF_r_rm

#define BSF_r_rm   (/* GROUP_0F */ 0xbc)

Definition at line 188 of file sljitNativeX86_common.c.

◆ BSR_r_rm

#define BSR_r_rm   (/* GROUP_0F */ 0xbd)

Definition at line 187 of file sljitNativeX86_common.c.

◆ BSWAP_r

#define BSWAP_r   (/* GROUP_0F */ 0xc8)

Definition at line 189 of file sljitNativeX86_common.c.

◆ CALL_i32

#define CALL_i32   0xe8

Definition at line 190 of file sljitNativeX86_common.c.

◆ CALL_rm

#define CALL_rm   (/* GROUP_FF */ 2 << 3)

Definition at line 191 of file sljitNativeX86_common.c.

◆ CDQ

#define CDQ   0x99

Definition at line 192 of file sljitNativeX86_common.c.

◆ CHECK_EXTRA_REGS

#define CHECK_EXTRA_REGS ( p,
w,
do )

Definition at line 137 of file sljitNativeX86_common.c.

◆ CMOVE_r_rm

#define CMOVE_r_rm   (/* GROUP_0F */ 0x44)

Definition at line 193 of file sljitNativeX86_common.c.

◆ CMP

#define CMP   (/* BINARY */ 7 << 3)

Definition at line 194 of file sljitNativeX86_common.c.

◆ CMP_EAX_i32

#define CMP_EAX_i32   0x3d

Definition at line 195 of file sljitNativeX86_common.c.

◆ CMP_r_rm

#define CMP_r_rm   0x3b

Definition at line 196 of file sljitNativeX86_common.c.

◆ CMP_rm_r

#define CMP_rm_r   0x39

Definition at line 197 of file sljitNativeX86_common.c.

◆ CMPS_x_xm

#define CMPS_x_xm   0xc2

Definition at line 198 of file sljitNativeX86_common.c.

◆ CMPXCHG_rm8_r

#define CMPXCHG_rm8_r   0xb0

Definition at line 200 of file sljitNativeX86_common.c.

◆ CMPXCHG_rm_r

#define CMPXCHG_rm_r   0xb1

Definition at line 199 of file sljitNativeX86_common.c.

◆ CPU_FEATURE_AVX

#define CPU_FEATURE_AVX   0x040

Definition at line 391 of file sljitNativeX86_common.c.

◆ CPU_FEATURE_AVX2

#define CPU_FEATURE_AVX2   0x080

Definition at line 392 of file sljitNativeX86_common.c.

◆ CPU_FEATURE_CMOV

#define CPU_FEATURE_CMOV   0x020

Definition at line 390 of file sljitNativeX86_common.c.

◆ CPU_FEATURE_DETECTED

#define CPU_FEATURE_DETECTED   0x001

Definition at line 383 of file sljitNativeX86_common.c.

◆ CPU_FEATURE_LZCNT

#define CPU_FEATURE_LZCNT   0x008

Definition at line 388 of file sljitNativeX86_common.c.

◆ CPU_FEATURE_OSXSAVE

#define CPU_FEATURE_OSXSAVE   0x100

Definition at line 393 of file sljitNativeX86_common.c.

◆ CPU_FEATURE_SSE41

#define CPU_FEATURE_SSE41   0x004

Definition at line 387 of file sljitNativeX86_common.c.

◆ CPU_FEATURE_TZCNT

#define CPU_FEATURE_TZCNT   0x010

Definition at line 389 of file sljitNativeX86_common.c.

◆ CVTPD2PS_x_xm

#define CVTPD2PS_x_xm   0x5a

Definition at line 201 of file sljitNativeX86_common.c.

◆ CVTPS2PD_x_xm

#define CVTPS2PD_x_xm   0x5a

Definition at line 202 of file sljitNativeX86_common.c.

◆ CVTSI2SD_x_rm

#define CVTSI2SD_x_rm   0x2a

Definition at line 203 of file sljitNativeX86_common.c.

◆ CVTTSD2SI_r_xm

#define CVTTSD2SI_r_xm   0x2c

Definition at line 204 of file sljitNativeX86_common.c.

◆ DIV

#define DIV   (/* GROUP_F7 */ 6 << 3)

Definition at line 205 of file sljitNativeX86_common.c.

◆ DIVSD_x_xm

#define DIVSD_x_xm   0x5e

Definition at line 206 of file sljitNativeX86_common.c.

◆ EMIT_MOV

#define EMIT_MOV ( compiler,
dst,
dstw,
src,
srcw )
Value:
FAIL_IF(emit_mov(compiler, dst, dstw, src, srcw));

Definition at line 1106 of file sljitNativeX86_common.c.

◆ EX86_BIN_INS

#define EX86_BIN_INS   ((sljit_uw)0x000010)

Definition at line 144 of file sljitNativeX86_common.c.

◆ EX86_BYTE_ARG

#define EX86_BYTE_ARG   ((sljit_uw)0x000040)

Definition at line 146 of file sljitNativeX86_common.c.

◆ EX86_HALF_ARG

#define EX86_HALF_ARG   ((sljit_uw)0x000080)

Definition at line 147 of file sljitNativeX86_common.c.

◆ EX86_NO_REXW

#define EX86_NO_REXW   ((sljit_uw)0x000200)

Definition at line 150 of file sljitNativeX86_common.c.

◆ EX86_PREF_66

#define EX86_PREF_66   ((sljit_uw)0x000400)

Definition at line 151 of file sljitNativeX86_common.c.

◆ EX86_PREF_F2

#define EX86_PREF_F2   ((sljit_uw)0x000800)

Definition at line 152 of file sljitNativeX86_common.c.

◆ EX86_PREF_F3

#define EX86_PREF_F3   ((sljit_uw)0x001000)

Definition at line 153 of file sljitNativeX86_common.c.

◆ EX86_REX

#define EX86_REX   ((sljit_uw)0x000100)

Definition at line 149 of file sljitNativeX86_common.c.

◆ EX86_SELECT_66

#define EX86_SELECT_66 ( op)
Value:
(((op) & SLJIT_32) ? 0 : EX86_PREF_66)
#define SLJIT_32
Definition sljitLir.h:978
#define EX86_PREF_66

Definition at line 166 of file sljitNativeX86_common.c.

◆ EX86_SELECT_F2_F3

#define EX86_SELECT_F2_F3 ( op)
Value:
#define EX86_PREF_F2
#define EX86_PREF_F3

Definition at line 167 of file sljitNativeX86_common.c.

◆ EX86_SHIFT_INS

#define EX86_SHIFT_INS   ((sljit_uw)0x000020)

Definition at line 145 of file sljitNativeX86_common.c.

◆ EX86_SSE2

#define EX86_SSE2   (EX86_SSE2_OP1 | EX86_SSE2_OP2)

Definition at line 156 of file sljitNativeX86_common.c.

◆ EX86_SSE2_OP1

#define EX86_SSE2_OP1   ((sljit_uw)0x002000)

Definition at line 154 of file sljitNativeX86_common.c.

◆ EX86_SSE2_OP2

#define EX86_SSE2_OP2   ((sljit_uw)0x004000)

Definition at line 155 of file sljitNativeX86_common.c.

◆ EX86_VEX_EXT

#define EX86_VEX_EXT   ((sljit_uw)0x008000)

Definition at line 157 of file sljitNativeX86_common.c.

◆ EXTRACTPS_x_xm

#define EXTRACTPS_x_xm   0x17

Definition at line 207 of file sljitNativeX86_common.c.

◆ FLDL

#define FLDL   0xdd

Definition at line 209 of file sljitNativeX86_common.c.

◆ FLDS

#define FLDS   0xd9

Definition at line 208 of file sljitNativeX86_common.c.

◆ FSTPD

#define FSTPD   0xdd

Definition at line 211 of file sljitNativeX86_common.c.

◆ FSTPS

#define FSTPS   0xd9

Definition at line 210 of file sljitNativeX86_common.c.

◆ GROUP_0F

#define GROUP_0F   0x0f

Definition at line 353 of file sljitNativeX86_common.c.

◆ GROUP_66

#define GROUP_66   0x66

Definition at line 354 of file sljitNativeX86_common.c.

◆ GROUP_BINARY_81

#define GROUP_BINARY_81   0x81

Definition at line 358 of file sljitNativeX86_common.c.

◆ GROUP_BINARY_83

#define GROUP_BINARY_83   0x83

Definition at line 359 of file sljitNativeX86_common.c.

◆ GROUP_F3

#define GROUP_F3   0xf3

Definition at line 355 of file sljitNativeX86_common.c.

◆ GROUP_F7

#define GROUP_F7   0xf7

Definition at line 356 of file sljitNativeX86_common.c.

◆ GROUP_FF

#define GROUP_FF   0xff

Definition at line 357 of file sljitNativeX86_common.c.

◆ GROUP_LOCK

#define GROUP_LOCK   0xf0

Definition at line 363 of file sljitNativeX86_common.c.

◆ GROUP_SHIFT_1

#define GROUP_SHIFT_1   0xd1

Definition at line 360 of file sljitNativeX86_common.c.

◆ GROUP_SHIFT_CL

#define GROUP_SHIFT_CL   0xd3

Definition at line 362 of file sljitNativeX86_common.c.

◆ GROUP_SHIFT_N

#define GROUP_SHIFT_N   0xc1

Definition at line 361 of file sljitNativeX86_common.c.

◆ HALFWORD_MAX

#define HALFWORD_MAX   0x7fffffffl

Definition at line 127 of file sljitNativeX86_common.c.

◆ HALFWORD_MIN

#define HALFWORD_MIN   -0x80000000l

Definition at line 128 of file sljitNativeX86_common.c.

◆ IDIV

#define IDIV   (/* GROUP_F7 */ 7 << 3)

Definition at line 214 of file sljitNativeX86_common.c.

◆ IMUL

#define IMUL   (/* GROUP_F7 */ 5 << 3)

Definition at line 215 of file sljitNativeX86_common.c.

◆ IMUL_r_rm

#define IMUL_r_rm   (/* GROUP_0F */ 0xaf)

Definition at line 216 of file sljitNativeX86_common.c.

◆ IMUL_r_rm_i32

#define IMUL_r_rm_i32   0x69

Definition at line 218 of file sljitNativeX86_common.c.

◆ IMUL_r_rm_i8

#define IMUL_r_rm_i8   0x6b

Definition at line 217 of file sljitNativeX86_common.c.

◆ INC_SIZE

#define INC_SIZE ( s)
Value:
(*inst++ = U8(s), compiler->size += (s))
char s[4]
Definition cdf.c:77
#define U8(v)

Definition at line 368 of file sljitNativeX86_common.c.

◆ INSERTPS_x_xm

#define INSERTPS_x_xm   0x21

Definition at line 212 of file sljitNativeX86_common.c.

◆ INT3

#define INT3   0xcc

Definition at line 213 of file sljitNativeX86_common.c.

◆ IS_HALFWORD

#define IS_HALFWORD ( x)
Value:
((x) <= HALFWORD_MAX && (x) >= HALFWORD_MIN)
#define HALFWORD_MAX
#define HALFWORD_MIN

Definition at line 134 of file sljitNativeX86_common.c.

◆ JE_i8

#define JE_i8   0x74

Definition at line 220 of file sljitNativeX86_common.c.

◆ JL_i8

#define JL_i8   0x7c

Definition at line 219 of file sljitNativeX86_common.c.

◆ JMP_i32

#define JMP_i32   0xe9

Definition at line 224 of file sljitNativeX86_common.c.

◆ JMP_i8

#define JMP_i8   0xeb

Definition at line 223 of file sljitNativeX86_common.c.

◆ JMP_rm

#define JMP_rm   (/* GROUP_FF */ 4 << 3)

Definition at line 225 of file sljitNativeX86_common.c.

◆ JNC_i8

#define JNC_i8   0x73

Definition at line 221 of file sljitNativeX86_common.c.

◆ JNE_i8

#define JNE_i8   0x75

Definition at line 222 of file sljitNativeX86_common.c.

◆ LEA_r_m

#define LEA_r_m   0x8d

Definition at line 226 of file sljitNativeX86_common.c.

◆ LOOP_i8

#define LOOP_i8   0xe2

Definition at line 227 of file sljitNativeX86_common.c.

◆ LZCNT_r_rm

#define LZCNT_r_rm   (/* GROUP_F3 */ /* GROUP_0F */ 0xbd)

Definition at line 228 of file sljitNativeX86_common.c.

◆ MOD_DISP8

#define MOD_DISP8   0x40

Definition at line 366 of file sljitNativeX86_common.c.

◆ MOD_REG

#define MOD_REG   0xc0

Definition at line 365 of file sljitNativeX86_common.c.

◆ MOV_r_i32

#define MOV_r_i32   0xb8

Definition at line 230 of file sljitNativeX86_common.c.

◆ MOV_r_rm

#define MOV_r_rm   0x8b

Definition at line 229 of file sljitNativeX86_common.c.

◆ MOV_rm8_i8

#define MOV_rm8_i8   0xc6

Definition at line 233 of file sljitNativeX86_common.c.

◆ MOV_rm8_r8

#define MOV_rm8_r8   0x88

Definition at line 234 of file sljitNativeX86_common.c.

◆ MOV_rm_i32

#define MOV_rm_i32   0xc7

Definition at line 232 of file sljitNativeX86_common.c.

◆ MOV_rm_r

#define MOV_rm_r   0x89

Definition at line 231 of file sljitNativeX86_common.c.

◆ MOVAPS_x_xm

#define MOVAPS_x_xm   0x28

Definition at line 235 of file sljitNativeX86_common.c.

◆ MOVAPS_xm_x

#define MOVAPS_xm_x   0x29

Definition at line 236 of file sljitNativeX86_common.c.

◆ MOVD_rm_x

#define MOVD_rm_x   0x7e

Definition at line 238 of file sljitNativeX86_common.c.

◆ MOVD_x_rm

#define MOVD_x_rm   0x6e

Definition at line 237 of file sljitNativeX86_common.c.

◆ MOVDDUP_x_xm

#define MOVDDUP_x_xm   0x12

Definition at line 239 of file sljitNativeX86_common.c.

◆ MOVDQA_x_xm

#define MOVDQA_x_xm   0x6f

Definition at line 240 of file sljitNativeX86_common.c.

◆ MOVDQA_xm_x

#define MOVDQA_xm_x   0x7f

Definition at line 241 of file sljitNativeX86_common.c.

◆ MOVHLPS_x_x

#define MOVHLPS_x_x   0x12

Definition at line 242 of file sljitNativeX86_common.c.

◆ MOVHPD_m_x

#define MOVHPD_m_x   0x17

Definition at line 243 of file sljitNativeX86_common.c.

◆ MOVHPD_x_m

#define MOVHPD_x_m   0x16

Definition at line 244 of file sljitNativeX86_common.c.

◆ MOVLHPS_x_x

#define MOVLHPS_x_x   0x16

Definition at line 245 of file sljitNativeX86_common.c.

◆ MOVLPD_m_x

#define MOVLPD_m_x   0x13

Definition at line 246 of file sljitNativeX86_common.c.

◆ MOVLPD_x_m

#define MOVLPD_x_m   0x12

Definition at line 247 of file sljitNativeX86_common.c.

◆ MOVMSKPS_r_x

#define MOVMSKPS_r_x   (/* GROUP_0F */ 0x50)

Definition at line 248 of file sljitNativeX86_common.c.

◆ MOVQ_x_xm

#define MOVQ_x_xm   (/* GROUP_0F */ 0x7e)

Definition at line 249 of file sljitNativeX86_common.c.

◆ MOVSD_x_xm

#define MOVSD_x_xm   0x10

Definition at line 250 of file sljitNativeX86_common.c.

◆ MOVSD_xm_x

#define MOVSD_xm_x   0x11

Definition at line 251 of file sljitNativeX86_common.c.

◆ MOVSHDUP_x_xm

#define MOVSHDUP_x_xm   0x16

Definition at line 252 of file sljitNativeX86_common.c.

◆ MOVSX_r_rm16

#define MOVSX_r_rm16   (/* GROUP_0F */ 0xbf)

Definition at line 255 of file sljitNativeX86_common.c.

◆ MOVSX_r_rm8

#define MOVSX_r_rm8   (/* GROUP_0F */ 0xbe)

Definition at line 254 of file sljitNativeX86_common.c.

◆ MOVSXD_r_rm

#define MOVSXD_r_rm   0x63

Definition at line 253 of file sljitNativeX86_common.c.

◆ MOVUPS_x_xm

#define MOVUPS_x_xm   0x10

Definition at line 256 of file sljitNativeX86_common.c.

◆ MOVZX_r_rm16

#define MOVZX_r_rm16   (/* GROUP_0F */ 0xb7)

Definition at line 258 of file sljitNativeX86_common.c.

◆ MOVZX_r_rm8

#define MOVZX_r_rm8   (/* GROUP_0F */ 0xb6)

Definition at line 257 of file sljitNativeX86_common.c.

◆ MUL

#define MUL   (/* GROUP_F7 */ 4 << 3)

Definition at line 259 of file sljitNativeX86_common.c.

◆ MULSD_x_xm

#define MULSD_x_xm   0x59

Definition at line 260 of file sljitNativeX86_common.c.

◆ NEG_rm

#define NEG_rm   (/* GROUP_F7 */ 3 << 3)

Definition at line 261 of file sljitNativeX86_common.c.

◆ NOP

#define NOP   0x90

Definition at line 262 of file sljitNativeX86_common.c.

◆ NOT_HALFWORD

#define NOT_HALFWORD ( x)
Value:
((x) > HALFWORD_MAX || (x) < HALFWORD_MIN)

Definition at line 135 of file sljitNativeX86_common.c.

◆ NOT_rm

#define NOT_rm   (/* GROUP_F7 */ 2 << 3)

Definition at line 263 of file sljitNativeX86_common.c.

◆ OR

#define OR   (/* BINARY */ 1 << 3)

Definition at line 264 of file sljitNativeX86_common.c.

◆ OR_EAX_i32

#define OR_EAX_i32   0x0d

Definition at line 266 of file sljitNativeX86_common.c.

◆ OR_r_rm

#define OR_r_rm   0x0b

Definition at line 265 of file sljitNativeX86_common.c.

◆ OR_rm8_r8

#define OR_rm8_r8   0x08

Definition at line 268 of file sljitNativeX86_common.c.

◆ OR_rm_r

#define OR_rm_r   0x09

Definition at line 267 of file sljitNativeX86_common.c.

◆ ORPD_x_xm

#define ORPD_x_xm   0x56

Definition at line 269 of file sljitNativeX86_common.c.

◆ PACKSSWB_x_xm

#define PACKSSWB_x_xm   (/* GROUP_0F */ 0x63)

Definition at line 270 of file sljitNativeX86_common.c.

◆ PAND_x_xm

#define PAND_x_xm   0xdb

Definition at line 271 of file sljitNativeX86_common.c.

◆ PCMPEQD_x_xm

#define PCMPEQD_x_xm   0x76

Definition at line 272 of file sljitNativeX86_common.c.

◆ PEXTRB_rm_x_i8

#define PEXTRB_rm_x_i8   0x14

Definition at line 276 of file sljitNativeX86_common.c.

◆ PEXTRD_rm_x_i8

#define PEXTRD_rm_x_i8   0x16

Definition at line 278 of file sljitNativeX86_common.c.

◆ PEXTRW_rm_x_i8

#define PEXTRW_rm_x_i8   0x15

Definition at line 277 of file sljitNativeX86_common.c.

◆ PINSRB_x_rm_i8

#define PINSRB_x_rm_i8   0x20

Definition at line 273 of file sljitNativeX86_common.c.

◆ PINSRD_x_rm_i8

#define PINSRD_x_rm_i8   0x22

Definition at line 275 of file sljitNativeX86_common.c.

◆ PINSRW_x_rm_i8

#define PINSRW_x_rm_i8   0xc4

Definition at line 274 of file sljitNativeX86_common.c.

◆ PMOVMSKB_r_x

#define PMOVMSKB_r_x   (/* GROUP_0F */ 0xd7)

Definition at line 279 of file sljitNativeX86_common.c.

◆ PMOVSXBD_x_xm

#define PMOVSXBD_x_xm   0x21

Definition at line 280 of file sljitNativeX86_common.c.

◆ PMOVSXBQ_x_xm

#define PMOVSXBQ_x_xm   0x22

Definition at line 281 of file sljitNativeX86_common.c.

◆ PMOVSXBW_x_xm

#define PMOVSXBW_x_xm   0x20

Definition at line 282 of file sljitNativeX86_common.c.

◆ PMOVSXDQ_x_xm

#define PMOVSXDQ_x_xm   0x25

Definition at line 283 of file sljitNativeX86_common.c.

◆ PMOVSXWD_x_xm

#define PMOVSXWD_x_xm   0x23

Definition at line 284 of file sljitNativeX86_common.c.

◆ PMOVSXWQ_x_xm

#define PMOVSXWQ_x_xm   0x24

Definition at line 285 of file sljitNativeX86_common.c.

◆ PMOVZXBD_x_xm

#define PMOVZXBD_x_xm   0x31

Definition at line 286 of file sljitNativeX86_common.c.

◆ PMOVZXBQ_x_xm

#define PMOVZXBQ_x_xm   0x32

Definition at line 287 of file sljitNativeX86_common.c.

◆ PMOVZXBW_x_xm

#define PMOVZXBW_x_xm   0x30

Definition at line 288 of file sljitNativeX86_common.c.

◆ PMOVZXDQ_x_xm

#define PMOVZXDQ_x_xm   0x35

Definition at line 289 of file sljitNativeX86_common.c.

◆ PMOVZXWD_x_xm

#define PMOVZXWD_x_xm   0x33

Definition at line 290 of file sljitNativeX86_common.c.

◆ PMOVZXWQ_x_xm

#define PMOVZXWQ_x_xm   0x34

Definition at line 291 of file sljitNativeX86_common.c.

◆ POP_r

#define POP_r   0x58

Definition at line 292 of file sljitNativeX86_common.c.

◆ POP_REG

#define POP_REG ( r)
Value:
(*inst++ = U8(POP_r + (r)))
#define POP_r

Definition at line 371 of file sljitNativeX86_common.c.

◆ POP_rm

#define POP_rm   0x8f

Definition at line 293 of file sljitNativeX86_common.c.

◆ POPF

#define POPF   0x9d

Definition at line 294 of file sljitNativeX86_common.c.

◆ POR_x_xm

#define POR_x_xm   0xeb

Definition at line 295 of file sljitNativeX86_common.c.

◆ PREFETCH

#define PREFETCH   0x18

Definition at line 296 of file sljitNativeX86_common.c.

◆ PSHUFB_x_xm

#define PSHUFB_x_xm   0x00

Definition at line 297 of file sljitNativeX86_common.c.

◆ PSHUFD_x_xm

#define PSHUFD_x_xm   0x70

Definition at line 298 of file sljitNativeX86_common.c.

◆ PSHUFLW_x_xm

#define PSHUFLW_x_xm   0x70

Definition at line 299 of file sljitNativeX86_common.c.

◆ PSLLD_x_i8

#define PSLLD_x_i8   0x72

Definition at line 301 of file sljitNativeX86_common.c.

◆ PSLLQ_x_i8

#define PSLLQ_x_i8   0x73

Definition at line 302 of file sljitNativeX86_common.c.

◆ PSRLDQ_x

#define PSRLDQ_x   0x73

Definition at line 300 of file sljitNativeX86_common.c.

◆ PUSH_i32

#define PUSH_i32   0x68

Definition at line 303 of file sljitNativeX86_common.c.

◆ PUSH_r

#define PUSH_r   0x50

Definition at line 304 of file sljitNativeX86_common.c.

◆ PUSH_REG

#define PUSH_REG ( r)
Value:
(*inst++ = U8(PUSH_r + (r)))
#define PUSH_r

Definition at line 370 of file sljitNativeX86_common.c.

◆ PUSH_rm

#define PUSH_rm   (/* GROUP_FF */ 6 << 3)

Definition at line 305 of file sljitNativeX86_common.c.

◆ PUSHF

#define PUSHF   0x9c

Definition at line 306 of file sljitNativeX86_common.c.

◆ PXOR_x_xm

#define PXOR_x_xm   0xef

Definition at line 307 of file sljitNativeX86_common.c.

◆ RET

#define RET ( )
Value:
(*inst++ = RET_near)
#define RET_near

Definition at line 372 of file sljitNativeX86_common.c.

◆ RET_I16

#define RET_I16 ( n)
Value:
(*inst++ = RET_i16, *inst++ = U8(n), *inst++ = 0)
zend_long n
Definition ffi.c:4979
#define RET_i16

Definition at line 373 of file sljitNativeX86_common.c.

◆ RET_i16

#define RET_i16   0xc2

Definition at line 311 of file sljitNativeX86_common.c.

◆ RET_near

#define RET_near   0xc3

Definition at line 310 of file sljitNativeX86_common.c.

◆ REX

#define REX   0x40

Definition at line 124 of file sljitNativeX86_common.c.

◆ REX_B

#define REX_B   0x41

Definition at line 123 of file sljitNativeX86_common.c.

◆ REX_R

#define REX_R   0x44

Definition at line 121 of file sljitNativeX86_common.c.

◆ REX_W

#define REX_W   0x48

Definition at line 120 of file sljitNativeX86_common.c.

◆ REX_X

#define REX_X   0x42

Definition at line 122 of file sljitNativeX86_common.c.

◆ ROL

#define ROL   (/* SHIFT */ 0 << 3)

Definition at line 308 of file sljitNativeX86_common.c.

◆ ROR

#define ROR   (/* SHIFT */ 1 << 3)

Definition at line 309 of file sljitNativeX86_common.c.

◆ SAR

#define SAR   (/* SHIFT */ 7 << 3)

Definition at line 316 of file sljitNativeX86_common.c.

◆ SBB

#define SBB   (/* BINARY */ 3 << 3)

Definition at line 312 of file sljitNativeX86_common.c.

◆ SBB_EAX_i32

#define SBB_EAX_i32   0x1d

Definition at line 313 of file sljitNativeX86_common.c.

◆ SBB_r_rm

#define SBB_r_rm   0x1b

Definition at line 314 of file sljitNativeX86_common.c.

◆ SBB_rm_r

#define SBB_rm_r   0x19

Definition at line 315 of file sljitNativeX86_common.c.

◆ SHL

#define SHL   (/* SHIFT */ 4 << 3)

Definition at line 317 of file sljitNativeX86_common.c.

◆ SHLD

#define SHLD   (/* GROUP_0F */ 0xa5)

Definition at line 318 of file sljitNativeX86_common.c.

◆ SHR

#define SHR   (/* SHIFT */ 5 << 3)

Definition at line 320 of file sljitNativeX86_common.c.

◆ SHRD

#define SHRD   (/* GROUP_0F */ 0xad)

Definition at line 319 of file sljitNativeX86_common.c.

◆ SHUFPS_x_xm

#define SHUFPS_x_xm   0xc6

Definition at line 321 of file sljitNativeX86_common.c.

◆ SLJIT_INST_CONST

#define SLJIT_INST_CONST   252

Definition at line 378 of file sljitNativeX86_common.c.

◆ SLJIT_INST_JUMP

#define SLJIT_INST_JUMP   254

Definition at line 376 of file sljitNativeX86_common.c.

◆ SLJIT_INST_LABEL

#define SLJIT_INST_LABEL   255

Definition at line 375 of file sljitNativeX86_common.c.

◆ SLJIT_INST_MOV_ADDR

#define SLJIT_INST_MOV_ADDR   253

Definition at line 377 of file sljitNativeX86_common.c.

◆ SUB

#define SUB   (/* BINARY */ 5 << 3)

Definition at line 322 of file sljitNativeX86_common.c.

◆ SUB_EAX_i32

#define SUB_EAX_i32   0x2d

Definition at line 323 of file sljitNativeX86_common.c.

◆ SUB_r_rm

#define SUB_r_rm   0x2b

Definition at line 324 of file sljitNativeX86_common.c.

◆ SUB_rm_r

#define SUB_rm_r   0x29

Definition at line 325 of file sljitNativeX86_common.c.

◆ SUBSD_x_xm

#define SUBSD_x_xm   0x5c

Definition at line 326 of file sljitNativeX86_common.c.

◆ TEST_EAX_i32

#define TEST_EAX_i32   0xa9

Definition at line 327 of file sljitNativeX86_common.c.

◆ TEST_rm_r

#define TEST_rm_r   0x85

Definition at line 328 of file sljitNativeX86_common.c.

◆ TMP_FREG

#define TMP_FREG   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)

Definition at line 65 of file sljitNativeX86_common.c.

◆ TMP_REG1

#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)

Definition at line 64 of file sljitNativeX86_common.c.

◆ TMP_REG2

#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)

Definition at line 86 of file sljitNativeX86_common.c.

◆ TZCNT_r_rm

#define TZCNT_r_rm   (/* GROUP_F3 */ /* GROUP_0F */ 0xbc)

Definition at line 329 of file sljitNativeX86_common.c.

◆ U8

#define U8 ( v)
Value:
((sljit_u8)(v))
uint32_t v
Definition cdf.c:1237
unsigned char sljit_u8

Definition at line 141 of file sljitNativeX86_common.c.

◆ UCOMISD_x_xm

#define UCOMISD_x_xm   0x2e

Definition at line 330 of file sljitNativeX86_common.c.

◆ UNPCKLPD_x_xm

#define UNPCKLPD_x_xm   0x14

Definition at line 331 of file sljitNativeX86_common.c.

◆ UNPCKLPS_x_xm

#define UNPCKLPS_x_xm   0x14

Definition at line 332 of file sljitNativeX86_common.c.

◆ VBROADCASTSD_x_xm

#define VBROADCASTSD_x_xm   0x19

Definition at line 333 of file sljitNativeX86_common.c.

◆ VBROADCASTSS_x_xm

#define VBROADCASTSS_x_xm   0x18

Definition at line 334 of file sljitNativeX86_common.c.

◆ VEX_256

#define VEX_256   ((sljit_uw)0x200000)

Definition at line 164 of file sljitNativeX86_common.c.

◆ VEX_AUTO_W

#define VEX_AUTO_W   ((sljit_uw)0x080000)

Definition at line 162 of file sljitNativeX86_common.c.

◆ VEX_OP_0F38

#define VEX_OP_0F38   ((sljit_uw)0x010000)

Definition at line 159 of file sljitNativeX86_common.c.

◆ VEX_OP_0F3A

#define VEX_OP_0F3A   ((sljit_uw)0x020000)

Definition at line 160 of file sljitNativeX86_common.c.

◆ VEX_SSE2_OPV

#define VEX_SSE2_OPV   ((sljit_uw)0x040000)

Definition at line 161 of file sljitNativeX86_common.c.

◆ VEX_W

#define VEX_W   ((sljit_uw)0x100000)

Definition at line 163 of file sljitNativeX86_common.c.

◆ VEXTRACTF128_x_ym

#define VEXTRACTF128_x_ym   0x19

Definition at line 335 of file sljitNativeX86_common.c.

◆ VEXTRACTI128_x_ym

#define VEXTRACTI128_x_ym   0x39

Definition at line 336 of file sljitNativeX86_common.c.

◆ VINSERTF128_y_y_xm

#define VINSERTF128_y_y_xm   0x18

Definition at line 337 of file sljitNativeX86_common.c.

◆ VINSERTI128_y_y_xm

#define VINSERTI128_y_y_xm   0x38

Definition at line 338 of file sljitNativeX86_common.c.

◆ VPBROADCASTB_x_xm

#define VPBROADCASTB_x_xm   0x78

Definition at line 339 of file sljitNativeX86_common.c.

◆ VPBROADCASTD_x_xm

#define VPBROADCASTD_x_xm   0x58

Definition at line 340 of file sljitNativeX86_common.c.

◆ VPBROADCASTQ_x_xm

#define VPBROADCASTQ_x_xm   0x59

Definition at line 341 of file sljitNativeX86_common.c.

◆ VPBROADCASTW_x_xm

#define VPBROADCASTW_x_xm   0x79

Definition at line 342 of file sljitNativeX86_common.c.

◆ VPERMPD_y_ym

#define VPERMPD_y_ym   0x01

Definition at line 343 of file sljitNativeX86_common.c.

◆ VPERMQ_y_ym

#define VPERMQ_y_ym   0x00

Definition at line 344 of file sljitNativeX86_common.c.

◆ XCHG_EAX_r

#define XCHG_EAX_r   0x90

Definition at line 345 of file sljitNativeX86_common.c.

◆ XCHG_r_rm

#define XCHG_r_rm   0x87

Definition at line 346 of file sljitNativeX86_common.c.

◆ XOR

#define XOR   (/* BINARY */ 6 << 3)

Definition at line 347 of file sljitNativeX86_common.c.

◆ XOR_EAX_i32

#define XOR_EAX_i32   0x35

Definition at line 348 of file sljitNativeX86_common.c.

◆ XOR_r_rm

#define XOR_r_rm   0x33

Definition at line 349 of file sljitNativeX86_common.c.

◆ XOR_rm_r

#define XOR_rm_r   0x31

Definition at line 350 of file sljitNativeX86_common.c.

◆ XORPD_x_xm

#define XORPD_x_xm   0x57

Definition at line 351 of file sljitNativeX86_common.c.

Function Documentation

◆ sljit_cmp_info()

Definition at line 1041 of file sljitNativeX86_common.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 4756 of file sljitNativeX86_common.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 4767 of file sljitNativeX86_common.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 4894 of file sljitNativeX86_common.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 3195 of file sljitNativeX86_common.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 3277 of file sljitNativeX86_common.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 3336 of file sljitNativeX86_common.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 3581 of file sljitNativeX86_common.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 3424 of file sljitNativeX86_common.c.

◆ sljit_emit_jump()

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

Definition at line 3401 of file sljitNativeX86_common.c.

◆ sljit_emit_label()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label ( struct sljit_compiler * compiler)

Definition at line 3379 of file sljitNativeX86_common.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 4937 of file sljitNativeX86_common.c.

◆ sljit_emit_op0()

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

Definition at line 1358 of file sljitNativeX86_common.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 1829 of file sljitNativeX86_common.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 2621 of file sljitNativeX86_common.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 2738 of file sljitNativeX86_common.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 2709 of file sljitNativeX86_common.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 3025 of file sljitNativeX86_common.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 2988 of file sljitNativeX86_common.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 3461 of file sljitNativeX86_common.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 2961 of file sljitNativeX86_common.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 2770 of file sljitNativeX86_common.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 4502 of file sljitNativeX86_common.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 3929 of file sljitNativeX86_common.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 4264 of file sljitNativeX86_common.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 3619 of file sljitNativeX86_common.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 4691 of file sljitNativeX86_common.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 3678 of file sljitNativeX86_common.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 4577 of file sljitNativeX86_common.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 868 of file sljitNativeX86_common.c.

◆ sljit_get_local_base()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base ( struct sljit_compiler * compiler,
sljit_s32 dst,
sljit_sw dstw,
sljit_sw offset )

Definition at line 4863 of file sljitNativeX86_common.c.

◆ sljit_get_platform_name()

SLJIT_API_FUNC_ATTRIBUTE const char * sljit_get_platform_name ( void )

Definition at line 27 of file sljitNativeX86_common.c.

◆ sljit_get_register_index()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index ( sljit_s32 type,
sljit_s32 reg )

Definition at line 3007 of file sljitNativeX86_common.c.

◆ sljit_has_cpu_feature()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature ( sljit_s32 feature_type)

Definition at line 978 of file sljitNativeX86_common.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 4994 of file sljitNativeX86_common.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 4981 of file sljitNativeX86_common.c.