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

Go to the source code of this file.

Macros

#define ARM_ABI_INFO   " ABI:hardfp"
 
#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)
 
#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)
 
#define TMP_PC   (SLJIT_NUMBER_OF_REGISTERS + 4)
 
#define TMP_FREG1   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)
 
#define TMP_FREG2   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2)
 
#define CONST_POOL_ALIGNMENT   8
 
#define CONST_POOL_EMPTY   0xffffffff
 
#define ALIGN_INSTRUCTION(ptr)
 
#define MAX_DIFFERENCE(max_diff)
 
#define RM(rm)
 
#define RM8(rm)
 
#define RD(rd)
 
#define RN(rn)
 
#define VM(vm)
 
#define VD(vd)
 
#define VN(vn)
 
#define COND_MASK   0xf0000000
 
#define CONDITIONAL   0xe0000000
 
#define PUSH_POOL   0xff000000
 
#define ADC   0xe0a00000
 
#define ADD   0xe0800000
 
#define AND   0xe0000000
 
#define B   0xea000000
 
#define BIC   0xe1c00000
 
#define BKPT   0xe1200070
 
#define BL   0xeb000000
 
#define BLX   0xe12fff30
 
#define BX   0xe12fff10
 
#define CLZ   0xe16f0f10
 
#define CMN   0xe1600000
 
#define CMP   0xe1400000
 
#define EOR   0xe0200000
 
#define LDR   0xe5100000
 
#define LDR_POST   0xe4100000
 
#define LDREX   0xe1900f9f
 
#define LDREXB   0xe1d00f9f
 
#define LDREXH   0xe1f00f9f
 
#define MLA   0xe0200090
 
#define MOV   0xe1a00000
 
#define MUL   0xe0000090
 
#define MVN   0xe1e00000
 
#define NOP   0xe1a00000
 
#define ORR   0xe1800000
 
#define PUSH   0xe92d0000
 
#define POP   0xe8bd0000
 
#define REV   0xe6bf0f30
 
#define REV16   0xe6bf0fb0
 
#define RSB   0xe0600000
 
#define RSC   0xe0e00000
 
#define SBC   0xe0c00000
 
#define SMULL   0xe0c00090
 
#define STR   0xe5000000
 
#define STREX   0xe1800f90
 
#define STREXB   0xe1c00f90
 
#define STREXH   0xe1e00f90
 
#define SUB   0xe0400000
 
#define SXTB   0xe6af0070
 
#define SXTH   0xe6bf0070
 
#define TST   0xe1000000
 
#define UMULL   0xe0800090
 
#define UXTB   0xe6ef0070
 
#define UXTH   0xe6ff0070
 
#define VABS_F32   0xeeb00ac0
 
#define VADD_F32   0xee300a00
 
#define VAND   0xf2000110
 
#define VCMP_F32   0xeeb40a40
 
#define VCVT_F32_S32   0xeeb80ac0
 
#define VCVT_F32_U32   0xeeb80a40
 
#define VCVT_F64_F32   0xeeb70ac0
 
#define VCVT_S32_F32   0xeebd0ac0
 
#define VDIV_F32   0xee800a00
 
#define VDUP   0xee800b10
 
#define VDUP_s   0xf3b00c00
 
#define VEOR   0xf3000110
 
#define VLD1   0xf4200000
 
#define VLD1_r   0xf4a00c00
 
#define VLD1_s   0xf4a00000
 
#define VLDR_F32   0xed100a00
 
#define VMOV_F32   0xeeb00a40
 
#define VMOV   0xee000a10
 
#define VMOV2   0xec400a10
 
#define VMOV_i   0xf2800010
 
#define VMOV_s   0xee000b10
 
#define VMOVN   0xf3b20200
 
#define VMRS   0xeef1fa10
 
#define VMUL_F32   0xee200a00
 
#define VNEG_F32   0xeeb10a40
 
#define VORR   0xf2200110
 
#define VPOP   0xecbd0b00
 
#define VPUSH   0xed2d0b00
 
#define VSHLL   0xf2800a10
 
#define VSHR   0xf2800010
 
#define VSRA   0xf2800110
 
#define VST1   0xf4000000
 
#define VST1_s   0xf4800000
 
#define VSTR_F32   0xed000a00
 
#define VSUB_F32   0xee300a40
 
#define WORD_SIZE   0x00
 
#define BYTE_SIZE   0x01
 
#define HALF_SIZE   0x02
 
#define PRELOAD   0x03
 
#define SIGNED   0x04
 
#define LOAD_DATA   0x08
 
#define ALLOW_IMM   0x10
 
#define ALLOW_INV_IMM   0x20
 
#define ALLOW_ANY_IMM   (ALLOW_IMM | ALLOW_INV_IMM)
 
#define ALLOW_NEG_IMM   0x40
 
#define ALLOW_DOUBLE_IMM   0x80
 
#define EMIT_DATA_TRANSFER(type, add, target_reg, base_reg, arg)
 
#define IS_TYPE1_TRANSFER(type)
 
#define TYPE2_TRANSFER_IMM(imm)
 
#define EMIT_FPU_OPERATION(opcode, mode, dst, src1, src2)
 
#define ARGS_SWAPPED   0x01
 
#define INV_IMM   0x02
 
#define REGISTER_OP   0x04
 
#define UNUSED_RETURN   0x08
 
#define SET_FLAGS   (1 << 20)
 
#define SRC2_IMM   (1 << 25)
 
#define FPU_LOAD   (1 << 20)
 
#define EMIT_FPU_DATA_TRANSFER(inst, add, base, freg, offs)
 
#define SLJIT_QUAD_OTHER_HALF(freg)
 

Typedefs

typedef sljit_u32 sljit_ins
 

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_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_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 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_mem_update (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 reg, sljit_s32 mem, sljit_sw memw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 freg, 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 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   0xe0a00000

Definition at line 105 of file sljitNativeARM_32.c.

◆ ADD

#define ADD   0xe0800000

Definition at line 106 of file sljitNativeARM_32.c.

◆ ALIGN_INSTRUCTION

#define ALIGN_INSTRUCTION ( ptr)
Value:
(sljit_ins*)(((sljit_ins)(ptr) + (CONST_POOL_ALIGNMENT * sizeof(sljit_ins)) - 1) & ~((CONST_POOL_ALIGNMENT * sizeof(sljit_ins)) - 1))
void * ptr
Definition ffi.c:3814
#define CONST_POOL_ALIGNMENT
sljit_u32 sljit_ins

Definition at line 60 of file sljitNativeARM_32.c.

◆ ALLOW_ANY_IMM

#define ALLOW_ANY_IMM   (ALLOW_IMM | ALLOW_INV_IMM)

Definition at line 1163 of file sljitNativeARM_32.c.

◆ ALLOW_DOUBLE_IMM

#define ALLOW_DOUBLE_IMM   0x80

Definition at line 1165 of file sljitNativeARM_32.c.

◆ ALLOW_IMM

#define ALLOW_IMM   0x10

Definition at line 1161 of file sljitNativeARM_32.c.

◆ ALLOW_INV_IMM

#define ALLOW_INV_IMM   0x20

Definition at line 1162 of file sljitNativeARM_32.c.

◆ ALLOW_NEG_IMM

#define ALLOW_NEG_IMM   0x40

Definition at line 1164 of file sljitNativeARM_32.c.

◆ AND

#define AND   0xe0000000

Definition at line 107 of file sljitNativeARM_32.c.

◆ ARGS_SWAPPED

#define ARGS_SWAPPED   0x01

Definition at line 1207 of file sljitNativeARM_32.c.

◆ ARM_ABI_INFO

#define ARM_ABI_INFO   " ABI:hardfp"

Definition at line 30 of file sljitNativeARM_32.c.

◆ B

#define B   0xea000000

Definition at line 108 of file sljitNativeARM_32.c.

◆ BIC

#define BIC   0xe1c00000

Definition at line 109 of file sljitNativeARM_32.c.

◆ BKPT

#define BKPT   0xe1200070

Definition at line 110 of file sljitNativeARM_32.c.

◆ BL

#define BL   0xeb000000

Definition at line 111 of file sljitNativeARM_32.c.

◆ BLX

#define BLX   0xe12fff30

Definition at line 112 of file sljitNativeARM_32.c.

◆ BX

#define BX   0xe12fff10

Definition at line 113 of file sljitNativeARM_32.c.

◆ BYTE_SIZE

#define BYTE_SIZE   0x01

Definition at line 1154 of file sljitNativeARM_32.c.

◆ CLZ

#define CLZ   0xe16f0f10

Definition at line 114 of file sljitNativeARM_32.c.

◆ CMN

#define CMN   0xe1600000

Definition at line 115 of file sljitNativeARM_32.c.

◆ CMP

#define CMP   0xe1400000

Definition at line 116 of file sljitNativeARM_32.c.

◆ COND_MASK

#define COND_MASK   0xf0000000

Definition at line 101 of file sljitNativeARM_32.c.

◆ CONDITIONAL

#define CONDITIONAL   0xe0000000

Definition at line 102 of file sljitNativeARM_32.c.

◆ CONST_POOL_ALIGNMENT

#define CONST_POOL_ALIGNMENT   8

Definition at line 57 of file sljitNativeARM_32.c.

◆ CONST_POOL_EMPTY

#define CONST_POOL_EMPTY   0xffffffff

Definition at line 58 of file sljitNativeARM_32.c.

◆ EMIT_DATA_TRANSFER

#define EMIT_DATA_TRANSFER ( type,
add,
target_reg,
base_reg,
arg )
Value:
(data_transfer_insts[(type) & 0xf] | ((add) << 23) | RD(target_reg) | RN(base_reg) | (sljit_ins)(arg))
zend_ffi_type * type
Definition ffi.c:3812
zval * arg
Definition ffi.c:3975
#define add(i, ts)
#define RN(rn)
#define RD(rd)

Definition at line 1192 of file sljitNativeARM_32.c.

◆ EMIT_FPU_DATA_TRANSFER

#define EMIT_FPU_DATA_TRANSFER ( inst,
add,
base,
freg,
offs )
Value:
((inst) | (sljit_ins)((add) << 23) | RN(base) | VD(freg) | (sljit_ins)(offs))
#define VD(vd)

Definition at line 2654 of file sljitNativeARM_32.c.

◆ EMIT_FPU_OPERATION

#define EMIT_FPU_OPERATION ( opcode,
mode,
dst,
src1,
src2 )
Value:
((sljit_ins)(opcode) | (sljit_ins)(mode) | VD(dst) | VM(src1) | VN(src2))
char * mode
#define VM(vm)
#define VN(vn)

Definition at line 1202 of file sljitNativeARM_32.c.

◆ EOR

#define EOR   0xe0200000

Definition at line 117 of file sljitNativeARM_32.c.

◆ FPU_LOAD

#define FPU_LOAD   (1 << 20)

Definition at line 2653 of file sljitNativeARM_32.c.

◆ HALF_SIZE

#define HALF_SIZE   0x02

Definition at line 1155 of file sljitNativeARM_32.c.

◆ INV_IMM

#define INV_IMM   0x02

Definition at line 1209 of file sljitNativeARM_32.c.

◆ IS_TYPE1_TRANSFER

#define IS_TYPE1_TRANSFER ( type)
Value:
(data_transfer_insts[(type) & 0xf] & 0x04000000)

Definition at line 1197 of file sljitNativeARM_32.c.

◆ LDR

#define LDR   0xe5100000

Definition at line 118 of file sljitNativeARM_32.c.

◆ LDR_POST

#define LDR_POST   0xe4100000

Definition at line 119 of file sljitNativeARM_32.c.

◆ LDREX

#define LDREX   0xe1900f9f

Definition at line 120 of file sljitNativeARM_32.c.

◆ LDREXB

#define LDREXB   0xe1d00f9f

Definition at line 121 of file sljitNativeARM_32.c.

◆ LDREXH

#define LDREXH   0xe1f00f9f

Definition at line 122 of file sljitNativeARM_32.c.

◆ LOAD_DATA

#define LOAD_DATA   0x08

Definition at line 1158 of file sljitNativeARM_32.c.

◆ MAX_DIFFERENCE

#define MAX_DIFFERENCE ( max_diff)
Value:
(((max_diff) / (sljit_s32)sizeof(sljit_ins)) - (CONST_POOL_ALIGNMENT - 1))
signed int sljit_s32

Definition at line 62 of file sljitNativeARM_32.c.

◆ MLA

#define MLA   0xe0200090

Definition at line 123 of file sljitNativeARM_32.c.

◆ MOV

#define MOV   0xe1a00000

Definition at line 124 of file sljitNativeARM_32.c.

◆ MUL

#define MUL   0xe0000090

Definition at line 125 of file sljitNativeARM_32.c.

◆ MVN

#define MVN   0xe1e00000

Definition at line 126 of file sljitNativeARM_32.c.

◆ NOP

#define NOP   0xe1a00000

Definition at line 127 of file sljitNativeARM_32.c.

◆ ORR

#define ORR   0xe1800000

Definition at line 128 of file sljitNativeARM_32.c.

◆ POP

#define POP   0xe8bd0000

Definition at line 130 of file sljitNativeARM_32.c.

◆ PRELOAD

#define PRELOAD   0x03

Definition at line 1156 of file sljitNativeARM_32.c.

◆ PUSH

#define PUSH   0xe92d0000

Definition at line 129 of file sljitNativeARM_32.c.

◆ PUSH_POOL

#define PUSH_POOL   0xff000000

Definition at line 103 of file sljitNativeARM_32.c.

◆ RD

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

Definition at line 88 of file sljitNativeARM_32.c.

◆ REGISTER_OP

#define REGISTER_OP   0x04

Definition at line 1211 of file sljitNativeARM_32.c.

◆ REV

#define REV   0xe6bf0f30

Definition at line 131 of file sljitNativeARM_32.c.

◆ REV16

#define REV16   0xe6bf0fb0

Definition at line 132 of file sljitNativeARM_32.c.

◆ RM

#define RM ( rm)
Value:
((sljit_ins)reg_map[rm])

Definition at line 86 of file sljitNativeARM_32.c.

◆ RM8

#define RM8 ( rm)
Value:
((sljit_ins)reg_map[rm] << 8)

Definition at line 87 of file sljitNativeARM_32.c.

◆ RN

#define RN ( rn)
Value:
((sljit_ins)reg_map[rn] << 16)

Definition at line 89 of file sljitNativeARM_32.c.

◆ RSB

#define RSB   0xe0600000

Definition at line 133 of file sljitNativeARM_32.c.

◆ RSC

#define RSC   0xe0e00000

Definition at line 134 of file sljitNativeARM_32.c.

◆ SBC

#define SBC   0xe0c00000

Definition at line 135 of file sljitNativeARM_32.c.

◆ SET_FLAGS

#define SET_FLAGS   (1 << 20)

Definition at line 1215 of file sljitNativeARM_32.c.

◆ SIGNED

#define SIGNED   0x04

Definition at line 1157 of file sljitNativeARM_32.c.

◆ SLJIT_QUAD_OTHER_HALF

#define SLJIT_QUAD_OTHER_HALF ( freg)
Value:
((((freg) & 0x1) << 1) - 1)

Definition at line 3907 of file sljitNativeARM_32.c.

◆ SMULL

#define SMULL   0xe0c00090

Definition at line 136 of file sljitNativeARM_32.c.

◆ SRC2_IMM

#define SRC2_IMM   (1 << 25)

Definition at line 1220 of file sljitNativeARM_32.c.

◆ STR

#define STR   0xe5000000

Definition at line 137 of file sljitNativeARM_32.c.

◆ STREX

#define STREX   0xe1800f90

Definition at line 138 of file sljitNativeARM_32.c.

◆ STREXB

#define STREXB   0xe1c00f90

Definition at line 139 of file sljitNativeARM_32.c.

◆ STREXH

#define STREXH   0xe1e00f90

Definition at line 140 of file sljitNativeARM_32.c.

◆ SUB

#define SUB   0xe0400000

Definition at line 141 of file sljitNativeARM_32.c.

◆ SXTB

#define SXTB   0xe6af0070

Definition at line 142 of file sljitNativeARM_32.c.

◆ SXTH

#define SXTH   0xe6bf0070

Definition at line 143 of file sljitNativeARM_32.c.

◆ TMP_FREG1

#define TMP_FREG1   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)

Definition at line 52 of file sljitNativeARM_32.c.

◆ TMP_FREG2

#define TMP_FREG2   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2)

Definition at line 53 of file sljitNativeARM_32.c.

◆ TMP_PC

#define TMP_PC   (SLJIT_NUMBER_OF_REGISTERS + 4)

Definition at line 50 of file sljitNativeARM_32.c.

◆ TMP_REG1

#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)

Definition at line 48 of file sljitNativeARM_32.c.

◆ TMP_REG2

#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)

Definition at line 49 of file sljitNativeARM_32.c.

◆ TST

#define TST   0xe1000000

Definition at line 144 of file sljitNativeARM_32.c.

◆ TYPE2_TRANSFER_IMM

#define TYPE2_TRANSFER_IMM ( imm)
Value:
(((imm) & 0xf) | (((imm) & 0xf0) << 4) | (1 << 22))

Definition at line 1199 of file sljitNativeARM_32.c.

◆ UMULL

#define UMULL   0xe0800090

Definition at line 145 of file sljitNativeARM_32.c.

◆ UNUSED_RETURN

#define UNUSED_RETURN   0x08

Definition at line 1213 of file sljitNativeARM_32.c.

◆ UXTB

#define UXTB   0xe6ef0070

Definition at line 146 of file sljitNativeARM_32.c.

◆ UXTH

#define UXTH   0xe6ff0070

Definition at line 147 of file sljitNativeARM_32.c.

◆ VABS_F32

#define VABS_F32   0xeeb00ac0

Definition at line 148 of file sljitNativeARM_32.c.

◆ VADD_F32

#define VADD_F32   0xee300a00

Definition at line 149 of file sljitNativeARM_32.c.

◆ VAND

#define VAND   0xf2000110

Definition at line 150 of file sljitNativeARM_32.c.

◆ VCMP_F32

#define VCMP_F32   0xeeb40a40

Definition at line 151 of file sljitNativeARM_32.c.

◆ VCVT_F32_S32

#define VCVT_F32_S32   0xeeb80ac0

Definition at line 152 of file sljitNativeARM_32.c.

◆ VCVT_F32_U32

#define VCVT_F32_U32   0xeeb80a40

Definition at line 153 of file sljitNativeARM_32.c.

◆ VCVT_F64_F32

#define VCVT_F64_F32   0xeeb70ac0

Definition at line 154 of file sljitNativeARM_32.c.

◆ VCVT_S32_F32

#define VCVT_S32_F32   0xeebd0ac0

Definition at line 155 of file sljitNativeARM_32.c.

◆ VD

#define VD ( vd)
Value:
(((sljit_ins)freg_map[vd] << 12) | ((sljit_ins)freg_ebit_map[vd] << 22))

Definition at line 92 of file sljitNativeARM_32.c.

◆ VDIV_F32

#define VDIV_F32   0xee800a00

Definition at line 156 of file sljitNativeARM_32.c.

◆ VDUP

#define VDUP   0xee800b10

Definition at line 157 of file sljitNativeARM_32.c.

◆ VDUP_s

#define VDUP_s   0xf3b00c00

Definition at line 158 of file sljitNativeARM_32.c.

◆ VEOR

#define VEOR   0xf3000110

Definition at line 159 of file sljitNativeARM_32.c.

◆ VLD1

#define VLD1   0xf4200000

Definition at line 160 of file sljitNativeARM_32.c.

◆ VLD1_r

#define VLD1_r   0xf4a00c00

Definition at line 161 of file sljitNativeARM_32.c.

◆ VLD1_s

#define VLD1_s   0xf4a00000

Definition at line 162 of file sljitNativeARM_32.c.

◆ VLDR_F32

#define VLDR_F32   0xed100a00

Definition at line 163 of file sljitNativeARM_32.c.

◆ VM

#define VM ( vm)
Value:
(((sljit_ins)freg_map[vm]) | ((sljit_ins)freg_ebit_map[vm] << 5))

Definition at line 91 of file sljitNativeARM_32.c.

◆ VMOV

#define VMOV   0xee000a10

Definition at line 165 of file sljitNativeARM_32.c.

◆ VMOV2

#define VMOV2   0xec400a10

Definition at line 166 of file sljitNativeARM_32.c.

◆ VMOV_F32

#define VMOV_F32   0xeeb00a40

Definition at line 164 of file sljitNativeARM_32.c.

◆ VMOV_i

#define VMOV_i   0xf2800010

Definition at line 167 of file sljitNativeARM_32.c.

◆ VMOV_s

#define VMOV_s   0xee000b10

Definition at line 168 of file sljitNativeARM_32.c.

◆ VMOVN

#define VMOVN   0xf3b20200

Definition at line 169 of file sljitNativeARM_32.c.

◆ VMRS

#define VMRS   0xeef1fa10

Definition at line 170 of file sljitNativeARM_32.c.

◆ VMUL_F32

#define VMUL_F32   0xee200a00

Definition at line 171 of file sljitNativeARM_32.c.

◆ VN

#define VN ( vn)
Value:
(((sljit_ins)freg_map[vn] << 16) | ((sljit_ins)freg_ebit_map[vn] << 7))

Definition at line 93 of file sljitNativeARM_32.c.

◆ VNEG_F32

#define VNEG_F32   0xeeb10a40

Definition at line 172 of file sljitNativeARM_32.c.

◆ VORR

#define VORR   0xf2200110

Definition at line 173 of file sljitNativeARM_32.c.

◆ VPOP

#define VPOP   0xecbd0b00

Definition at line 174 of file sljitNativeARM_32.c.

◆ VPUSH

#define VPUSH   0xed2d0b00

Definition at line 175 of file sljitNativeARM_32.c.

◆ VSHLL

#define VSHLL   0xf2800a10

Definition at line 176 of file sljitNativeARM_32.c.

◆ VSHR

#define VSHR   0xf2800010

Definition at line 177 of file sljitNativeARM_32.c.

◆ VSRA

#define VSRA   0xf2800110

Definition at line 178 of file sljitNativeARM_32.c.

◆ VST1

#define VST1   0xf4000000

Definition at line 179 of file sljitNativeARM_32.c.

◆ VST1_s

#define VST1_s   0xf4800000

Definition at line 180 of file sljitNativeARM_32.c.

◆ VSTR_F32

#define VSTR_F32   0xed000a00

Definition at line 181 of file sljitNativeARM_32.c.

◆ VSUB_F32

#define VSUB_F32   0xee300a40

Definition at line 182 of file sljitNativeARM_32.c.

◆ WORD_SIZE

#define WORD_SIZE   0x00

Definition at line 1153 of file sljitNativeARM_32.c.

Typedef Documentation

◆ sljit_ins

Definition at line 45 of file sljitNativeARM_32.c.

Function Documentation

◆ 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 4513 of file sljitNativeARM_32.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 4537 of file sljitNativeARM_32.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 3309 of file sljitNativeARM_32.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 4569 of file sljitNativeARM_32.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 1227 of file sljitNativeARM_32.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 2954 of file sljitNativeARM_32.c.

◆ sljit_emit_fmem()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fmem ( struct sljit_compiler * compiler,
sljit_s32 type,
sljit_s32 freg,
sljit_s32 mem,
sljit_sw memw )

Definition at line 3826 of file sljitNativeARM_32.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 2784 of file sljitNativeARM_32.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 2831 of file sljitNativeARM_32.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 3598 of file sljitNativeARM_32.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 2886 of file sljitNativeARM_32.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 2918 of file sljitNativeARM_32.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 3409 of file sljitNativeARM_32.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 3365 of file sljitNativeARM_32.c.

◆ sljit_emit_jump()

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

Definition at line 3090 of file sljitNativeARM_32.c.

◆ sljit_emit_label()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label ( struct sljit_compiler * compiler)

Definition at line 3074 of file sljitNativeARM_32.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 3694 of file sljitNativeARM_32.c.

◆ sljit_emit_mem_update()

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

Definition at line 3725 of file sljitNativeARM_32.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 4597 of file sljitNativeARM_32.c.

◆ sljit_emit_op0()

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

Definition at line 2299 of file sljitNativeARM_32.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 2375 of file sljitNativeARM_32.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 2419 of file sljitNativeARM_32.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 2486 of file sljitNativeARM_32.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 2475 of file sljitNativeARM_32.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 2639 of file sljitNativeARM_32.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 2583 of file sljitNativeARM_32.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 3498 of file sljitNativeARM_32.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 2553 of file sljitNativeARM_32.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 1567 of file sljitNativeARM_32.c.

◆ sljit_emit_return_void()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_void ( struct sljit_compiler * compiler)

Definition at line 1559 of file sljitNativeARM_32.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 3539 of file sljitNativeARM_32.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 2504 of file sljitNativeARM_32.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 4328 of file sljitNativeARM_32.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 4162 of file sljitNativeARM_32.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 4279 of file sljitNativeARM_32.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 3909 of file sljitNativeARM_32.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 4470 of file sljitNativeARM_32.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 4062 of file sljitNativeARM_32.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 4393 of file sljitNativeARM_32.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 816 of file sljitNativeARM_32.c.

◆ sljit_get_platform_name()

SLJIT_API_FUNC_ATTRIBUTE const char * sljit_get_platform_name ( void )

Definition at line 33 of file sljitNativeARM_32.c.

◆ sljit_get_register_index()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index ( sljit_s32 type,
sljit_s32 reg )

Definition at line 2623 of file sljitNativeARM_32.c.

◆ sljit_has_cpu_feature()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature ( sljit_s32 feature_type)

Definition at line 1102 of file sljitNativeARM_32.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 4633 of file sljitNativeARM_32.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 1393 of file sljitNativeARM_32.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 4628 of file sljitNativeARM_32.c.