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

Go to the source code of this file.

Data Structures

struct  sljit_s390x_const
 
struct  addr
 
struct  ins_forms
 

Macros

#define ENABLE_STATIC_FACILITY_DETECTION   0
 
#define ENABLE_DYNAMIC_FACILITY_DETECTION   1
 
#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)
 
#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)
 
#define tmp0   r0
 
#define tmp1   r1
 
#define IS_GPR_REG(reg)
 
#define TMP_FREG1   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)
 
#define R0A(r)
 
#define R4A(r)
 
#define R8A(r)
 
#define R12A(r)
 
#define R16A(r)
 
#define R20A(r)
 
#define R28A(r)
 
#define R32A(r)
 
#define R36A(r)
 
#define R0(r)
 
#define F0(r)
 
#define F4(r)
 
#define F12(r)
 
#define F20(r)
 
#define F28(r)
 
#define F32(r)
 
#define F36(r)
 
#define SLJIT_ADD_SUB_NO_COMPARE(status_flags_state)
 
#define STORE_FACILITY_LIST_EXTENDED_FACILITY   7
 
#define FAST_LONG_DISPLACEMENT_FACILITY   19
 
#define EXTENDED_IMMEDIATE_FACILITY   21
 
#define GENERAL_INSTRUCTION_EXTENSION_FACILITY   34
 
#define DISTINCT_OPERAND_FACILITY   45
 
#define HIGH_WORD_FACILITY   45
 
#define POPULATION_COUNT_FACILITY   45
 
#define LOAD_STORE_ON_CONDITION_1_FACILITY   45
 
#define MISCELLANEOUS_INSTRUCTION_EXTENSIONS_1_FACILITY   49
 
#define LOAD_STORE_ON_CONDITION_2_FACILITY   53
 
#define MISCELLANEOUS_INSTRUCTION_EXTENSIONS_2_FACILITY   58
 
#define VECTOR_FACILITY   129
 
#define VECTOR_ENHANCEMENTS_1_FACILITY   135
 
#define HAVE_FACILITY(name, bit)
 
#define is_u12(d)
 
#define is_u32(d)
 
#define CHECK_SIGNED(v, bitlen)
 
#define is_s8(d)
 
#define is_s16(d)
 
#define is_s20(d)
 
#define is_s32(d)
 
#define SLJIT_S390X_INSTRUCTION(op, ...)
 
#define SLJIT_S390X_RR(name, pattern)
 
#define SLJIT_S390X_RRE(name, pattern)
 
#define SLJIT_S390X_RIA(name, pattern, imm_type)
 
#define SLJIT_S390X_RILA(name, pattern, imm_type)
 
#define SLJIT_S390X_RXA(name, pattern)
 
#define SLJIT_S390X_RXYA(name, pattern, cond)
 
#define SLJIT_S390X_RSYA(name, pattern, cond)
 
#define SLJIT_S390X_RIEF(name, pattern)
 
#define SLJIT_S390X_RRFC(name, pattern)
 
#define SLJIT_S390X_RIEG(name, pattern)
 
#define SLJIT_S390X_RILB(name, pattern, cond)
 
#define EVAL(op, r, addr)
 
#define WHEN(cond, r, i1, i2, addr)
 
#define WHEN2(cond, i1, i2)
 
#define LEVAL(i)
 
#define FLOAT_LOAD   0
 
#define FLOAT_STORE   1
 
#define FLOAT_MOV(op, dst_r, src_r)
 
#define LEVAL(i)
 
#define LEVAL(i)
 

Typedefs

typedef sljit_uw sljit_ins
 
typedef sljit_uw sljit_gpr
 
typedef sljit_uw facility_bit
 

Enumerations

enum  emit_ril_type { RI_A , RIL_A }
 
enum  emit_rx_type { RX_A , RXY_A }
 

Functions

SLJIT_API_FUNC_ATTRIBUTE const char * sljit_get_platform_name (void)
 
 SLJIT_S390X_INSTRUCTION (br, sljit_gpr target)
 
 SLJIT_S390X_INSTRUCTION (brc, sljit_uw mask, sljit_sw target)
 
 SLJIT_S390X_INSTRUCTION (brcl, sljit_uw mask, sljit_sw target)
 
 SLJIT_S390X_INSTRUCTION (flogr, sljit_gpr dst, sljit_gpr src)
 
 SLJIT_S390X_INSTRUCTION (ipm, sljit_gpr dst)
 
 SLJIT_S390X_INSTRUCTION (spm, sljit_gpr dst)
 
 SLJIT_S390X_INSTRUCTION (risbhgz, sljit_gpr dst, sljit_gpr src, sljit_u8 start, sljit_u8 end, sljit_u8 rot)
 
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 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 struct sljit_constsljit_emit_const (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value)
 
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)
 
SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_mov_addr (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw)
 

Macro Definition Documentation

◆ CHECK_SIGNED

#define CHECK_SIGNED ( v,
bitlen )
Value:
((v) >= -(1 << ((bitlen) - 1)) && (v) < (1 << ((bitlen) - 1)))
uint32_t v
Definition cdf.c:1237

Definition at line 410 of file sljitNativeS390X.c.

◆ DISTINCT_OPERAND_FACILITY

#define DISTINCT_OPERAND_FACILITY   45

Definition at line 295 of file sljitNativeS390X.c.

◆ ENABLE_DYNAMIC_FACILITY_DETECTION

#define ENABLE_DYNAMIC_FACILITY_DETECTION   1

Definition at line 34 of file sljitNativeS390X.c.

◆ ENABLE_STATIC_FACILITY_DETECTION

#define ENABLE_STATIC_FACILITY_DETECTION   0

Definition at line 32 of file sljitNativeS390X.c.

◆ EVAL

#define EVAL ( op,
r,
addr )
Value:
sljit_gpr base
sljit_s32 offset
sljit_gpr index

Definition at line 952 of file sljitNativeS390X.c.

◆ EXTENDED_IMMEDIATE_FACILITY

#define EXTENDED_IMMEDIATE_FACILITY   21

Definition at line 293 of file sljitNativeS390X.c.

◆ F0

#define F0 ( r)
Value:
((sljit_ins)freg_map[r])
sljit_u32 sljit_ins

Definition at line 120 of file sljitNativeS390X.c.

◆ F12

#define F12 ( r)
Value:
(R12A((sljit_ins)freg_map[r]))
#define R12A(r)

Definition at line 122 of file sljitNativeS390X.c.

◆ F20

#define F20 ( r)
Value:
(R20A((sljit_ins)freg_map[r]))
#define R20A(r)

Definition at line 123 of file sljitNativeS390X.c.

◆ F28

#define F28 ( r)
Value:
(R28A((sljit_ins)freg_map[r]))
#define R28A(r)

Definition at line 124 of file sljitNativeS390X.c.

◆ F32

#define F32 ( r)
Value:
(R32A((sljit_ins)freg_map[r]))
#define R32A(r)

Definition at line 125 of file sljitNativeS390X.c.

◆ F36

#define F36 ( r)
Value:
(R36A((sljit_ins)freg_map[r]))
#define R36A(r)

Definition at line 126 of file sljitNativeS390X.c.

◆ F4

#define F4 ( r)
Value:
(R4A((sljit_ins)freg_map[r]))
#define R4A(r)

Definition at line 121 of file sljitNativeS390X.c.

◆ FAST_LONG_DISPLACEMENT_FACILITY

#define FAST_LONG_DISPLACEMENT_FACILITY   19

Definition at line 292 of file sljitNativeS390X.c.

◆ FLOAT_LOAD

#define FLOAT_LOAD   0

Definition at line 3207 of file sljitNativeS390X.c.

◆ FLOAT_MOV

#define FLOAT_MOV ( op,
dst_r,
src_r )
Value:
(((op & SLJIT_32) ? 0x3800 /* ler */ : 0x2800 /* ldr */) | F4(dst_r) | F0(src_r))
#define F4(x6, x5, x4, x3, x2, x1, x0)
Definition hash_haval.c:129
#define SLJIT_32
Definition sljitLir.h:978
#define F0(name, info)

Definition at line 3411 of file sljitNativeS390X.c.

◆ FLOAT_STORE

#define FLOAT_STORE   1

Definition at line 3208 of file sljitNativeS390X.c.

◆ GENERAL_INSTRUCTION_EXTENSION_FACILITY

#define GENERAL_INSTRUCTION_EXTENSION_FACILITY   34

Definition at line 294 of file sljitNativeS390X.c.

◆ HAVE_FACILITY

#define HAVE_FACILITY ( name,
bit )
Value:
static SLJIT_INLINE int name() \
{ \
static int have = -1; \
/* Static check first. May allow the function to be optimized away. */ \
if (have_facility_static(bit)) \
have = 1; \
else if (SLJIT_UNLIKELY(have < 0)) \
have = have_facility_dynamic(bit) ? 1 : 0; \
\
return have; \
}
#define SLJIT_UNLIKELY(x)
#define SLJIT_INLINE
zend_string * name

Definition at line 386 of file sljitNativeS390X.c.

◆ HIGH_WORD_FACILITY

#define HIGH_WORD_FACILITY   45

Definition at line 296 of file sljitNativeS390X.c.

◆ IS_GPR_REG

#define IS_GPR_REG ( reg)
Value:
((reg > 0) && (reg) <= SLJIT_SP)
#define SLJIT_SP
Definition sljitLir.h:214

Definition at line 97 of file sljitNativeS390X.c.

◆ is_s16

#define is_s16 ( d)
Value:
CHECK_SIGNED((d), 16)
#define CHECK_SIGNED(v, bitlen)

Definition at line 414 of file sljitNativeS390X.c.

◆ is_s20

#define is_s20 ( d)
Value:
CHECK_SIGNED((d), 20)

Definition at line 415 of file sljitNativeS390X.c.

◆ is_s32

#define is_s32 ( d)
Value:
((d) == (sljit_s32)(d))
signed int sljit_s32

Definition at line 416 of file sljitNativeS390X.c.

◆ is_s8

#define is_s8 ( d)
Value:
CHECK_SIGNED((d), 8)

Definition at line 413 of file sljitNativeS390X.c.

◆ is_u12

#define is_u12 ( d)
Value:
(0 <= (d) && (d) <= 0x00000fffL)

Definition at line 407 of file sljitNativeS390X.c.

◆ is_u32

#define is_u32 ( d)
Value:
(0 <= (d) && (d) <= 0xffffffffL)

Definition at line 408 of file sljitNativeS390X.c.

◆ LEVAL [1/3]

#define LEVAL ( i)
Value:
EVAL(i, reg, mem)
#define EVAL(op, r, addr)

◆ LEVAL [2/3]

#define LEVAL ( i)
Value:
i(loc_r, 1, mask)

◆ LEVAL [3/3]

#define LEVAL ( i)
Value:
i(dst_r, loc_r)

◆ LOAD_STORE_ON_CONDITION_1_FACILITY

#define LOAD_STORE_ON_CONDITION_1_FACILITY   45

Definition at line 298 of file sljitNativeS390X.c.

◆ LOAD_STORE_ON_CONDITION_2_FACILITY

#define LOAD_STORE_ON_CONDITION_2_FACILITY   53

Definition at line 300 of file sljitNativeS390X.c.

◆ MISCELLANEOUS_INSTRUCTION_EXTENSIONS_1_FACILITY

#define MISCELLANEOUS_INSTRUCTION_EXTENSIONS_1_FACILITY   49

Definition at line 299 of file sljitNativeS390X.c.

◆ MISCELLANEOUS_INSTRUCTION_EXTENSIONS_2_FACILITY

#define MISCELLANEOUS_INSTRUCTION_EXTENSIONS_2_FACILITY   58

Definition at line 301 of file sljitNativeS390X.c.

◆ POPULATION_COUNT_FACILITY

#define POPULATION_COUNT_FACILITY   45

Definition at line 297 of file sljitNativeS390X.c.

◆ R0

#define R0 ( r)
Value:
((sljit_ins)reg_map[r])

Definition at line 118 of file sljitNativeS390X.c.

◆ R0A

#define R0A ( r)
Value:
(r)

Definition at line 108 of file sljitNativeS390X.c.

◆ R12A

#define R12A ( r)
Value:
((r) << 12)

Definition at line 111 of file sljitNativeS390X.c.

◆ R16A

#define R16A ( r)
Value:
((r) << 16)

Definition at line 112 of file sljitNativeS390X.c.

◆ R20A

#define R20A ( r)
Value:
((r) << 20)

Definition at line 113 of file sljitNativeS390X.c.

◆ R28A

#define R28A ( r)
Value:
((r) << 28)

Definition at line 114 of file sljitNativeS390X.c.

◆ R32A

#define R32A ( r)
Value:
((r) << 32)

Definition at line 115 of file sljitNativeS390X.c.

◆ R36A

#define R36A ( r)
Value:
((r) << 36)

Definition at line 116 of file sljitNativeS390X.c.

◆ R4A

#define R4A ( r)
Value:
((r) << 4)

Definition at line 109 of file sljitNativeS390X.c.

◆ R8A

#define R8A ( r)
Value:
((r) << 8)

Definition at line 110 of file sljitNativeS390X.c.

◆ SLJIT_ADD_SUB_NO_COMPARE

#define SLJIT_ADD_SUB_NO_COMPARE ( status_flags_state)
Value:
(((status_flags_state) & (SLJIT_CURRENT_FLAGS_ADD | SLJIT_CURRENT_FLAGS_SUB)) \
&& !((status_flags_state) & SLJIT_CURRENT_FLAGS_COMPARE))
#define SLJIT_CURRENT_FLAGS_COMPARE
Definition sljitLir.h:2257
#define SLJIT_CURRENT_FLAGS_ADD
Definition sljitLir.h:2251
#define SLJIT_CURRENT_FLAGS_SUB
Definition sljitLir.h:2253

Definition at line 158 of file sljitNativeS390X.c.

◆ SLJIT_S390X_INSTRUCTION

#define SLJIT_S390X_INSTRUCTION ( op,
... )
Value:
static SLJIT_INLINE sljit_ins op(__VA_ARGS__)

Definition at line 430 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RIA

#define SLJIT_S390X_RIA ( name,
pattern,
imm_type )
Value:
SLJIT_S390X_INSTRUCTION(name, sljit_gpr reg, imm_type imm) \
{ \
return (pattern) | R20A(reg) | (imm & 0xffff); \
}
#define SLJIT_S390X_INSTRUCTION(op,...)
sljit_uw sljit_gpr

Definition at line 527 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RIEF

#define SLJIT_S390X_RIEF ( name,
pattern )
Value:
{ \
sljit_ins i3, i4, i5; \
\
SLJIT_ASSERT(have_genext()); \
i3 = (sljit_ins)start << 24; \
i4 = (sljit_ins)end << 16; \
i5 = (sljit_ins)rot << 8; \
\
return (pattern) | R36A(dst & 0xf) | R32A(src & 0xf) | i3 | i4 | i5; \
}
buf start
Definition ffi.c:4687
unsigned const char * end
Definition php_ffi.h:51
unsigned char sljit_u8

Definition at line 696 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RIEG

#define SLJIT_S390X_RIEG ( name,
pattern )
Value:
{ \
sljit_ins m3, i2; \
\
SLJIT_ASSERT(have_lscond2()); \
m3 = (sljit_ins)(mask & 0xf) << 32; \
i2 = (sljit_ins)(imm & 0xffffL) << 16; \
\
return (pattern) | R36A(reg) | m3 | i2; \
}
unsigned int sljit_uw
int sljit_sw

Definition at line 749 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RILA

#define SLJIT_S390X_RILA ( name,
pattern,
imm_type )
Value:
SLJIT_S390X_INSTRUCTION(name, sljit_gpr reg, imm_type imm) \
{ \
SLJIT_ASSERT(have_eimm()); \
return (pattern) | R36A(reg) | ((sljit_ins)imm & 0xffffffffu); \
}

Definition at line 556 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RILB

#define SLJIT_S390X_RILB ( name,
pattern,
cond )
Value:
{ \
SLJIT_ASSERT(cond); \
\
return (pattern) | R36A(reg) | (sljit_ins)(ri & 0xffffffff); \
}

Definition at line 767 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RR

#define SLJIT_S390X_RR ( name,
pattern )
Value:
{ \
return (pattern) | ((dst & 0xf) << 4) | (src & 0xf); \
}

Definition at line 434 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RRE

#define SLJIT_S390X_RRE ( name,
pattern )
Value:
{ \
return (pattern) | R4A(dst) | R0A(src); \
}
#define R0A(r)

Definition at line 467 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RRFC

#define SLJIT_S390X_RRFC ( name,
pattern )
Value:
{ \
sljit_ins m3; \
\
SLJIT_ASSERT(have_lscond1()); \
m3 = (sljit_ins)(mask & 0xf) << 12; \
\
return (pattern) | m3 | R4A(dst) | R0A(src); \
}

Definition at line 731 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RSYA

#define SLJIT_S390X_RSYA ( name,
pattern,
cond )
Value:
{ \
SLJIT_ASSERT(cond); \
\
return (pattern) | R36A(dst) | R32A(src) | R28A(b) | disp_s20(d); \
}

Definition at line 673 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RXA

#define SLJIT_S390X_RXA ( name,
pattern )
Value:
{ \
SLJIT_ASSERT((d & 0xfff) == d); \
\
return (pattern) | R20A(r) | R16A(x) | R12A(b) | (sljit_ins)(d & 0xfff); \
}
#define R16A(r)

Definition at line 592 of file sljitNativeS390X.c.

◆ SLJIT_S390X_RXYA

#define SLJIT_S390X_RXYA ( name,
pattern,
cond )
Value:
{ \
SLJIT_ASSERT(cond); \
\
return (pattern) | R36A(r) | R32A(x) | R28A(b) | disp_s20(d); \
}

Definition at line 624 of file sljitNativeS390X.c.

◆ STORE_FACILITY_LIST_EXTENDED_FACILITY

#define STORE_FACILITY_LIST_EXTENDED_FACILITY   7

Definition at line 291 of file sljitNativeS390X.c.

◆ tmp0

#define tmp0   r0

Definition at line 93 of file sljitNativeS390X.c.

◆ tmp1

#define tmp1   r1

Definition at line 94 of file sljitNativeS390X.c.

◆ TMP_FREG1

#define TMP_FREG1   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)

Definition at line 102 of file sljitNativeS390X.c.

◆ TMP_REG1

#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)

Definition at line 44 of file sljitNativeS390X.c.

◆ TMP_REG2

#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)

Definition at line 45 of file sljitNativeS390X.c.

◆ VECTOR_ENHANCEMENTS_1_FACILITY

#define VECTOR_ENHANCEMENTS_1_FACILITY   135

Definition at line 303 of file sljitNativeS390X.c.

◆ VECTOR_FACILITY

#define VECTOR_FACILITY   129

Definition at line 302 of file sljitNativeS390X.c.

◆ WHEN

#define WHEN ( cond,
r,
i1,
i2,
addr )
Value:
(cond) ? EVAL(i1, r, addr) : EVAL(i2, r, addr)

Definition at line 953 of file sljitNativeS390X.c.

◆ WHEN2

#define WHEN2 ( cond,
i1,
i2 )
Value:
(cond) ? LEVAL(i1) : LEVAL(i2)
#define LEVAL(i)

Definition at line 2081 of file sljitNativeS390X.c.

Typedef Documentation

◆ facility_bit

Definition at line 290 of file sljitNativeS390X.c.

◆ sljit_gpr

Definition at line 57 of file sljitNativeS390X.c.

◆ sljit_ins

Definition at line 42 of file sljitNativeS390X.c.

Enumeration Type Documentation

◆ emit_ril_type

Enumerator
RI_A 
RIL_A 

Definition at line 1118 of file sljitNativeS390X.c.

◆ emit_rx_type

Enumerator
RX_A 
RXY_A 

Definition at line 1163 of file sljitNativeS390X.c.

Function Documentation

◆ sljit_cmp_info()

Definition at line 1652 of file sljitNativeS390X.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 4376 of file sljitNativeS390X.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 4387 of file sljitNativeS390X.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 3613 of file sljitNativeS390X.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 4446 of file sljitNativeS390X.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 1662 of file sljitNativeS390X.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 3542 of file sljitNativeS390X.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 3358 of file sljitNativeS390X.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 3414 of file sljitNativeS390X.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 3482 of file sljitNativeS390X.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 3834 of file sljitNativeS390X.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 3508 of file sljitNativeS390X.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 3525 of file sljitNativeS390X.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 3652 of file sljitNativeS390X.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 3629 of file sljitNativeS390X.c.

◆ sljit_emit_jump()

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

Definition at line 3589 of file sljitNativeS390X.c.

◆ sljit_emit_label()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label ( struct sljit_compiler * compiler)

Definition at line 3573 of file sljitNativeS390X.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 3877 of file sljitNativeS390X.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 4491 of file sljitNativeS390X.c.

◆ sljit_emit_op0()

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

Definition at line 1882 of file sljitNativeS390X.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 2083 of file sljitNativeS390X.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 2898 of file sljitNativeS390X.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 2981 of file sljitNativeS390X.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 2968 of file sljitNativeS390X.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 3191 of file sljitNativeS390X.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 3149 of file sljitNativeS390X.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 3685 of file sljitNativeS390X.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 3117 of file sljitNativeS390X.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 1855 of file sljitNativeS390X.c.

◆ sljit_emit_return_void()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_void ( struct sljit_compiler * compiler)

Definition at line 1846 of file sljitNativeS390X.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 3756 of file sljitNativeS390X.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 2999 of file sljitNativeS390X.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 4225 of file sljitNativeS390X.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 4062 of file sljitNativeS390X.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 4202 of file sljitNativeS390X.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 3936 of file sljitNativeS390X.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 4339 of file sljitNativeS390X.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 3980 of file sljitNativeS390X.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 4285 of file sljitNativeS390X.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 1395 of file sljitNativeS390X.c.

◆ sljit_get_platform_name()

SLJIT_API_FUNC_ATTRIBUTE const char * sljit_get_platform_name ( void )

Definition at line 36 of file sljitNativeS390X.c.

◆ sljit_get_register_index()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index ( sljit_s32 type,
sljit_s32 reg )

Definition at line 3178 of file sljitNativeS390X.c.

◆ sljit_has_cpu_feature()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature ( sljit_s32 feature_type)

Definition at line 1622 of file sljitNativeS390X.c.

◆ SLJIT_S390X_INSTRUCTION() [1/7]

SLJIT_S390X_INSTRUCTION ( br ,
sljit_gpr target )

Definition at line 786 of file sljitNativeS390X.c.

◆ SLJIT_S390X_INSTRUCTION() [2/7]

SLJIT_S390X_INSTRUCTION ( brc ,
sljit_uw mask,
sljit_sw target )

Definition at line 791 of file sljitNativeS390X.c.

◆ SLJIT_S390X_INSTRUCTION() [3/7]

SLJIT_S390X_INSTRUCTION ( brcl ,
sljit_uw mask,
sljit_sw target )

Definition at line 798 of file sljitNativeS390X.c.

◆ SLJIT_S390X_INSTRUCTION() [4/7]

SLJIT_S390X_INSTRUCTION ( flogr ,
sljit_gpr dst,
sljit_gpr src )

Definition at line 805 of file sljitNativeS390X.c.

◆ SLJIT_S390X_INSTRUCTION() [5/7]

SLJIT_S390X_INSTRUCTION ( ipm ,
sljit_gpr dst )

Definition at line 812 of file sljitNativeS390X.c.

◆ SLJIT_S390X_INSTRUCTION() [6/7]

SLJIT_S390X_INSTRUCTION ( risbhgz ,
sljit_gpr dst,
sljit_gpr src,
sljit_u8 start,
sljit_u8 end,
sljit_u8 rot )

Definition at line 824 of file sljitNativeS390X.c.

◆ SLJIT_S390X_INSTRUCTION() [7/7]

SLJIT_S390X_INSTRUCTION ( spm ,
sljit_gpr dst )

Definition at line 818 of file sljitNativeS390X.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 4486 of file sljitNativeS390X.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 1758 of file sljitNativeS390X.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 4474 of file sljitNativeS390X.c.