QtBase  v6.3.1
Macros | Typedefs | Functions
sljitNativeMIPS_common.c File Reference
#include "sljitNativeMIPS_64.c"
Include dependency graph for sljitNativeMIPS_common.c:

Go to the source code of this file.

Macros

#define SLJIT_IS_FPU_AVAILABLE   0
 
#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)
 
#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)
 
#define TMP_REG3   (SLJIT_NUMBER_OF_REGISTERS + 4)
 
#define PIC_ADDR_REG   TMP_REG2
 
#define FCSR_REG   31
 
#define RETURN_ADDR_REG   31
 
#define EQUAL_FLAG   3
 
#define OTHER_FLAG   1
 
#define TMP_FREG1   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)
 
#define TMP_FREG2   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2)
 
#define TMP_FREG3   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 3)
 
#define S(s)   ((sljit_ins)reg_map[s] << 21)
 
#define T(t)   ((sljit_ins)reg_map[t] << 16)
 
#define D(d)   ((sljit_ins)reg_map[d] << 11)
 
#define FT(t)   ((sljit_ins)freg_map[t] << 16)
 
#define FS(s)   ((sljit_ins)freg_map[s] << 11)
 
#define FD(d)   ((sljit_ins)freg_map[d] << 6)
 
#define SA(s)   ((sljit_ins)(s) << 21)
 
#define TA(t)   ((sljit_ins)(t) << 16)
 
#define DA(d)   ((sljit_ins)(d) << 11)
 
#define IMM(imm)   ((sljit_ins)(imm) & 0xffff)
 
#define SH_IMM(imm)   ((sljit_ins)(imm) << 6)
 
#define DR(dr)   (reg_map[dr])
 
#define FR(dr)   (freg_map[dr])
 
#define HI(opcode)   ((sljit_ins)(opcode) << 26)
 
#define LO(opcode)   ((sljit_ins)(opcode))
 
#define FMT_S   (16 << 21)
 
#define FMT_D   (17 << 21)
 
#define ABS_S   (HI(17) | FMT_S | LO(5))
 
#define ADD_S   (HI(17) | FMT_S | LO(0))
 
#define ADDIU   (HI(9))
 
#define ADDU   (HI(0) | LO(33))
 
#define AND   (HI(0) | LO(36))
 
#define ANDI   (HI(12))
 
#define B   (HI(4))
 
#define BAL   (HI(1) | (17 << 16))
 
#define BC1F   (HI(17) | (8 << 21))
 
#define BC1T   (HI(17) | (8 << 21) | (1 << 16))
 
#define BEQ   (HI(4))
 
#define BGEZ   (HI(1) | (1 << 16))
 
#define BGTZ   (HI(7))
 
#define BLEZ   (HI(6))
 
#define BLTZ   (HI(1) | (0 << 16))
 
#define BNE   (HI(5))
 
#define BREAK   (HI(0) | LO(13))
 
#define CFC1   (HI(17) | (2 << 21))
 
#define C_UEQ_S   (HI(17) | FMT_S | LO(51))
 
#define C_ULE_S   (HI(17) | FMT_S | LO(55))
 
#define C_ULT_S   (HI(17) | FMT_S | LO(53))
 
#define C_UN_S   (HI(17) | FMT_S | LO(49))
 
#define C_FD   (0)
 
#define CVT_S_S   (HI(17) | FMT_S | LO(32))
 
#define DADDIU   (HI(25))
 
#define DADDU   (HI(0) | LO(45))
 
#define DDIV   (HI(0) | LO(30))
 
#define DDIVU   (HI(0) | LO(31))
 
#define DIV   (HI(0) | LO(26))
 
#define DIVU   (HI(0) | LO(27))
 
#define DMULT   (HI(0) | LO(28))
 
#define DMULTU   (HI(0) | LO(29))
 
#define DIV_S   (HI(17) | FMT_S | LO(3))
 
#define DINSU   (HI(31) | LO(6))
 
#define DSLL   (HI(0) | LO(56))
 
#define DSLL32   (HI(0) | LO(60))
 
#define DSLLV   (HI(0) | LO(20))
 
#define DSRA   (HI(0) | LO(59))
 
#define DSRA32   (HI(0) | LO(63))
 
#define DSRAV   (HI(0) | LO(23))
 
#define DSRL   (HI(0) | LO(58))
 
#define DSRL32   (HI(0) | LO(62))
 
#define DSRLV   (HI(0) | LO(22))
 
#define DSUBU   (HI(0) | LO(47))
 
#define J   (HI(2))
 
#define JAL   (HI(3))
 
#define JALR   (HI(0) | LO(9))
 
#define JR   (HI(0) | LO(8))
 
#define LD   (HI(55))
 
#define LDC1   (HI(53))
 
#define LUI   (HI(15))
 
#define LW   (HI(35))
 
#define LWC1   (HI(49))
 
#define MFC1   (HI(17))
 
#define MFHI   (HI(0) | LO(16))
 
#define MFLO   (HI(0) | LO(18))
 
#define MOV_S   (HI(17) | FMT_S | LO(6))
 
#define MTC1   (HI(17) | (4 << 21))
 
#define MULT   (HI(0) | LO(24))
 
#define MULTU   (HI(0) | LO(25))
 
#define MUL_S   (HI(17) | FMT_S | LO(2))
 
#define NEG_S   (HI(17) | FMT_S | LO(7))
 
#define NOP   (HI(0) | LO(0))
 
#define NOR   (HI(0) | LO(39))
 
#define OR   (HI(0) | LO(37))
 
#define ORI   (HI(13))
 
#define SD   (HI(63))
 
#define SDC1   (HI(61))
 
#define SLT   (HI(0) | LO(42))
 
#define SLTI   (HI(10))
 
#define SLTIU   (HI(11))
 
#define SLTU   (HI(0) | LO(43))
 
#define SLL   (HI(0) | LO(0))
 
#define SLLV   (HI(0) | LO(4))
 
#define SRL   (HI(0) | LO(2))
 
#define SRLV   (HI(0) | LO(6))
 
#define SRA   (HI(0) | LO(3))
 
#define SRAV   (HI(0) | LO(7))
 
#define SUB_S   (HI(17) | FMT_S | LO(1))
 
#define SUBU   (HI(0) | LO(35))
 
#define SW   (HI(43))
 
#define SWC1   (HI(57))
 
#define TRUNC_W_S   (HI(17) | FMT_S | LO(13))
 
#define XOR   (HI(0) | LO(38))
 
#define XORI   (HI(14))
 
#define ADDU_W   DADDU
 
#define ADDIU_W   DADDIU
 
#define SLL_W   DSLL
 
#define SUBU_W   DSUBU
 
#define SIMM_MAX   (0x7fff)
 
#define SIMM_MIN   (-0x8000)
 
#define UIMM_MAX   (0xffff)
 
#define LOAD_DATA   0x01
 
#define WORD_DATA   0x00
 
#define BYTE_DATA   0x02
 
#define HALF_DATA   0x04
 
#define INT_DATA   0x06
 
#define SIGNED_DATA   0x08
 
#define GPR_REG   0x0f
 
#define DOUBLE_DATA   0x10
 
#define SINGLE_DATA   0x12
 
#define MEM_MASK   0x1f
 
#define ARG_TEST   0x00020
 
#define ALT_KEEP_CACHE   0x00040
 
#define CUMULATIVE_OP   0x00080
 
#define LOGICAL_OP   0x00100
 
#define IMM_OP   0x00200
 
#define MOVE_OP   0x00400
 
#define SRC2_IMM   0x00800
 
#define UNUSED_DEST   0x01000
 
#define REG_DEST   0x02000
 
#define REG1_SOURCE   0x04000
 
#define REG2_SOURCE   0x08000
 
#define SLOW_SRC1   0x10000
 
#define SLOW_SRC2   0x20000
 
#define SLOW_DEST   0x40000
 
#define STACK_STORE   SD
 
#define STACK_LOAD   LD
 
#define ARCH_32_64(a, b)   b
 
#define FLOAT_DATA(op)   (DOUBLE_DATA | ((op & SLJIT_32) >> 7))
 
#define FMT(op)   ((((sljit_ins)op & SLJIT_32) ^ SLJIT_32) << (21 - 8))
 
#define JUMP_LENGTH   8
 
#define BR_Z(src)
 
#define BR_NZ(src)
 
#define BR_T()
 
#define BR_F()
 
#define RESOLVE_IMM1()
 
#define RESOLVE_IMM2()
 

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_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_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_op_src (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index (sljit_s32 reg)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index (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_fast_enter (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw)
 
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_cmp (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src, sljit_sw srcw)
 
SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_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_cmov (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 dst_reg, sljit_s32 src, sljit_sw srcw)
 
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_put_labelsljit_emit_put_label (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw)
 

Macro Definition Documentation

◆ ABS_S

#define ABS_S   (HI(17) | FMT_S | LO(5))

Definition at line 130 of file sljitNativeMIPS_common.c.

◆ ADD_S

#define ADD_S   (HI(17) | FMT_S | LO(0))

Definition at line 131 of file sljitNativeMIPS_common.c.

◆ ADDIU

#define ADDIU   (HI(9))

Definition at line 132 of file sljitNativeMIPS_common.c.

◆ ADDIU_W

#define ADDIU_W   DADDIU

Definition at line 283 of file sljitNativeMIPS_common.c.

◆ ADDU

#define ADDU   (HI(0) | LO(33))

Definition at line 133 of file sljitNativeMIPS_common.c.

◆ ADDU_W

#define ADDU_W   DADDU

Definition at line 282 of file sljitNativeMIPS_common.c.

◆ ALT_KEEP_CACHE

#define ALT_KEEP_CACHE   0x00040

Definition at line 735 of file sljitNativeMIPS_common.c.

◆ AND

#define AND   (HI(0) | LO(36))

Definition at line 134 of file sljitNativeMIPS_common.c.

◆ ANDI

#define ANDI   (HI(12))

Definition at line 135 of file sljitNativeMIPS_common.c.

◆ ARCH_32_64

#define ARCH_32_64 (   a,
  b 
)    b

Definition at line 1089 of file sljitNativeMIPS_common.c.

◆ ARG_TEST

#define ARG_TEST   0x00020

Definition at line 734 of file sljitNativeMIPS_common.c.

◆ B

#define B   (HI(4))

Definition at line 136 of file sljitNativeMIPS_common.c.

◆ BAL

#define BAL   (HI(1) | (17 << 16))

Definition at line 137 of file sljitNativeMIPS_common.c.

◆ BC1F

#define BC1F   (HI(17) | (8 << 21))

Definition at line 142 of file sljitNativeMIPS_common.c.

◆ BC1T

#define BC1T   (HI(17) | (8 << 21) | (1 << 16))

Definition at line 143 of file sljitNativeMIPS_common.c.

◆ BEQ

#define BEQ   (HI(4))

Definition at line 145 of file sljitNativeMIPS_common.c.

◆ BGEZ

#define BGEZ   (HI(1) | (1 << 16))

Definition at line 146 of file sljitNativeMIPS_common.c.

◆ BGTZ

#define BGTZ   (HI(7))

Definition at line 147 of file sljitNativeMIPS_common.c.

◆ BLEZ

#define BLEZ   (HI(6))

Definition at line 148 of file sljitNativeMIPS_common.c.

◆ BLTZ

#define BLTZ   (HI(1) | (0 << 16))

Definition at line 149 of file sljitNativeMIPS_common.c.

◆ BNE

#define BNE   (HI(5))

Definition at line 150 of file sljitNativeMIPS_common.c.

◆ BR_F

#define BR_F ( )
Value:
inst = BC1F | JUMP_LENGTH; \
flags = IS_BIT16_COND; \
delay_check = FCSR_FCC;
#define JUMP_LENGTH
#define BC1F

Definition at line 2035 of file sljitNativeMIPS_common.c.

◆ BR_NZ

#define BR_NZ (   src)
Value:
inst = BNE | SA(src) | TA(0) | JUMP_LENGTH; \
flags = IS_BIT26_COND; \
delay_check = src;
GLenum src
#define TA(t)
#define BNE
#define SA(s)

Definition at line 2013 of file sljitNativeMIPS_common.c.

◆ BR_T

#define BR_T ( )
Value:
inst = BC1T | JUMP_LENGTH; \
flags = IS_BIT16_COND; \
delay_check = FCSR_FCC;
#define BC1T

Definition at line 2031 of file sljitNativeMIPS_common.c.

◆ BR_Z

#define BR_Z (   src)
Value:
inst = BEQ | SA(src) | TA(0) | JUMP_LENGTH; \
flags = IS_BIT26_COND; \
delay_check = src;
#define BEQ

Definition at line 2008 of file sljitNativeMIPS_common.c.

◆ BREAK

#define BREAK   (HI(0) | LO(13))

Definition at line 151 of file sljitNativeMIPS_common.c.

◆ BYTE_DATA

#define BYTE_DATA   0x02

Definition at line 723 of file sljitNativeMIPS_common.c.

◆ C_FD

#define C_FD   (0)

Definition at line 164 of file sljitNativeMIPS_common.c.

◆ C_UEQ_S

#define C_UEQ_S   (HI(17) | FMT_S | LO(51))

Definition at line 160 of file sljitNativeMIPS_common.c.

◆ C_ULE_S

#define C_ULE_S   (HI(17) | FMT_S | LO(55))

Definition at line 161 of file sljitNativeMIPS_common.c.

◆ C_ULT_S

#define C_ULT_S   (HI(17) | FMT_S | LO(53))

Definition at line 162 of file sljitNativeMIPS_common.c.

◆ C_UN_S

#define C_UN_S   (HI(17) | FMT_S | LO(49))

Definition at line 163 of file sljitNativeMIPS_common.c.

◆ CFC1

#define CFC1   (HI(17) | (2 << 21))

Definition at line 152 of file sljitNativeMIPS_common.c.

◆ CUMULATIVE_OP

#define CUMULATIVE_OP   0x00080

Definition at line 736 of file sljitNativeMIPS_common.c.

◆ CVT_S_S

#define CVT_S_S   (HI(17) | FMT_S | LO(32))

Definition at line 166 of file sljitNativeMIPS_common.c.

◆ D

#define D (   d)    ((sljit_ins)reg_map[d] << 11)

Definition at line 106 of file sljitNativeMIPS_common.c.

◆ DA

#define DA (   d)    ((sljit_ins)(d) << 11)

Definition at line 113 of file sljitNativeMIPS_common.c.

◆ DADDIU

#define DADDIU   (HI(25))

Definition at line 167 of file sljitNativeMIPS_common.c.

◆ DADDU

#define DADDU   (HI(0) | LO(45))

Definition at line 168 of file sljitNativeMIPS_common.c.

◆ DDIV

#define DDIV   (HI(0) | LO(30))

Definition at line 181 of file sljitNativeMIPS_common.c.

◆ DDIVU

#define DDIVU   (HI(0) | LO(31))

Definition at line 182 of file sljitNativeMIPS_common.c.

◆ DINSU

#define DINSU   (HI(31) | LO(6))

Definition at line 189 of file sljitNativeMIPS_common.c.

◆ DIV

#define DIV   (HI(0) | LO(26))

Definition at line 183 of file sljitNativeMIPS_common.c.

◆ DIV_S

#define DIV_S   (HI(17) | FMT_S | LO(3))

Definition at line 188 of file sljitNativeMIPS_common.c.

◆ DIVU

#define DIVU   (HI(0) | LO(27))

Definition at line 184 of file sljitNativeMIPS_common.c.

◆ DMULT

#define DMULT   (HI(0) | LO(28))

Definition at line 185 of file sljitNativeMIPS_common.c.

◆ DMULTU

#define DMULTU   (HI(0) | LO(29))

Definition at line 186 of file sljitNativeMIPS_common.c.

◆ DOUBLE_DATA

#define DOUBLE_DATA   0x10

Definition at line 729 of file sljitNativeMIPS_common.c.

◆ DR

#define DR (   dr)    (reg_map[dr])

Definition at line 117 of file sljitNativeMIPS_common.c.

◆ DSLL

#define DSLL   (HI(0) | LO(56))

Definition at line 190 of file sljitNativeMIPS_common.c.

◆ DSLL32

#define DSLL32   (HI(0) | LO(60))

Definition at line 191 of file sljitNativeMIPS_common.c.

◆ DSLLV

#define DSLLV   (HI(0) | LO(20))

Definition at line 192 of file sljitNativeMIPS_common.c.

◆ DSRA

#define DSRA   (HI(0) | LO(59))

Definition at line 193 of file sljitNativeMIPS_common.c.

◆ DSRA32

#define DSRA32   (HI(0) | LO(63))

Definition at line 194 of file sljitNativeMIPS_common.c.

◆ DSRAV

#define DSRAV   (HI(0) | LO(23))

Definition at line 195 of file sljitNativeMIPS_common.c.

◆ DSRL

#define DSRL   (HI(0) | LO(58))

Definition at line 196 of file sljitNativeMIPS_common.c.

◆ DSRL32

#define DSRL32   (HI(0) | LO(62))

Definition at line 197 of file sljitNativeMIPS_common.c.

◆ DSRLV

#define DSRLV   (HI(0) | LO(22))

Definition at line 198 of file sljitNativeMIPS_common.c.

◆ DSUBU

#define DSUBU   (HI(0) | LO(47))

Definition at line 199 of file sljitNativeMIPS_common.c.

◆ EQUAL_FLAG

#define EQUAL_FLAG   3

Definition at line 75 of file sljitNativeMIPS_common.c.

◆ FCSR_REG

#define FCSR_REG   31

Definition at line 70 of file sljitNativeMIPS_common.c.

◆ FD

#define FD (   d)    ((sljit_ins)freg_map[d] << 6)

Definition at line 109 of file sljitNativeMIPS_common.c.

◆ FLOAT_DATA

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

Definition at line 1729 of file sljitNativeMIPS_common.c.

◆ FMT

#define FMT (   op)    ((((sljit_ins)op & SLJIT_32) ^ SLJIT_32) << (21 - 8))

Definition at line 1730 of file sljitNativeMIPS_common.c.

◆ FMT_D

#define FMT_D   (17 << 21)

Definition at line 128 of file sljitNativeMIPS_common.c.

◆ FMT_S

#define FMT_S   (16 << 21)

Definition at line 127 of file sljitNativeMIPS_common.c.

◆ FR

#define FR (   dr)    (freg_map[dr])

Definition at line 118 of file sljitNativeMIPS_common.c.

◆ FS

#define FS (   s)    ((sljit_ins)freg_map[s] << 11)

Definition at line 108 of file sljitNativeMIPS_common.c.

◆ FT

#define FT (   t)    ((sljit_ins)freg_map[t] << 16)

Definition at line 107 of file sljitNativeMIPS_common.c.

◆ GPR_REG

#define GPR_REG   0x0f

Definition at line 728 of file sljitNativeMIPS_common.c.

◆ HALF_DATA

#define HALF_DATA   0x04

Definition at line 724 of file sljitNativeMIPS_common.c.

◆ HI

#define HI (   opcode)    ((sljit_ins)(opcode) << 26)

Definition at line 119 of file sljitNativeMIPS_common.c.

◆ IMM

#define IMM (   imm)    ((sljit_ins)(imm) & 0xffff)

Definition at line 114 of file sljitNativeMIPS_common.c.

◆ IMM_OP

#define IMM_OP   0x00200

Definition at line 738 of file sljitNativeMIPS_common.c.

◆ INT_DATA

#define INT_DATA   0x06

Definition at line 725 of file sljitNativeMIPS_common.c.

◆ J

#define J   (HI(2))

Definition at line 200 of file sljitNativeMIPS_common.c.

◆ JAL

#define JAL   (HI(3))

Definition at line 201 of file sljitNativeMIPS_common.c.

◆ JALR

#define JALR   (HI(0) | LO(9))

Definition at line 202 of file sljitNativeMIPS_common.c.

◆ JR

#define JR   (HI(0) | LO(8))

Definition at line 206 of file sljitNativeMIPS_common.c.

◆ JUMP_LENGTH

#define JUMP_LENGTH   8

Definition at line 2005 of file sljitNativeMIPS_common.c.

◆ LD

#define LD   (HI(55))

Definition at line 208 of file sljitNativeMIPS_common.c.

◆ LDC1

#define LDC1   (HI(53))

Definition at line 209 of file sljitNativeMIPS_common.c.

◆ LO

#define LO (   opcode)    ((sljit_ins)(opcode))

Definition at line 120 of file sljitNativeMIPS_common.c.

◆ LOAD_DATA

#define LOAD_DATA   0x01

Definition at line 721 of file sljitNativeMIPS_common.c.

◆ LOGICAL_OP

#define LOGICAL_OP   0x00100

Definition at line 737 of file sljitNativeMIPS_common.c.

◆ LUI

#define LUI   (HI(15))

Definition at line 210 of file sljitNativeMIPS_common.c.

◆ LW

#define LW   (HI(35))

Definition at line 211 of file sljitNativeMIPS_common.c.

◆ LWC1

#define LWC1   (HI(49))

Definition at line 212 of file sljitNativeMIPS_common.c.

◆ MEM_MASK

#define MEM_MASK   0x1f

Definition at line 732 of file sljitNativeMIPS_common.c.

◆ MFC1

#define MFC1   (HI(17))

Definition at line 213 of file sljitNativeMIPS_common.c.

◆ MFHI

#define MFHI   (HI(0) | LO(16))

Definition at line 218 of file sljitNativeMIPS_common.c.

◆ MFLO

#define MFLO   (HI(0) | LO(18))

Definition at line 219 of file sljitNativeMIPS_common.c.

◆ MOV_S

#define MOV_S   (HI(17) | FMT_S | LO(6))

Definition at line 221 of file sljitNativeMIPS_common.c.

◆ MOVE_OP

#define MOVE_OP   0x00400

Definition at line 739 of file sljitNativeMIPS_common.c.

◆ MTC1

#define MTC1   (HI(17) | (4 << 21))

Definition at line 222 of file sljitNativeMIPS_common.c.

◆ MUL_S

#define MUL_S   (HI(17) | FMT_S | LO(2))

Definition at line 232 of file sljitNativeMIPS_common.c.

◆ MULT

#define MULT   (HI(0) | LO(24))

Definition at line 229 of file sljitNativeMIPS_common.c.

◆ MULTU

#define MULTU   (HI(0) | LO(25))

Definition at line 230 of file sljitNativeMIPS_common.c.

◆ NEG_S

#define NEG_S   (HI(17) | FMT_S | LO(7))

Definition at line 233 of file sljitNativeMIPS_common.c.

◆ NOP

#define NOP   (HI(0) | LO(0))

Definition at line 234 of file sljitNativeMIPS_common.c.

◆ NOR

#define NOR   (HI(0) | LO(39))

Definition at line 235 of file sljitNativeMIPS_common.c.

◆ OR

#define OR   (HI(0) | LO(37))

Definition at line 236 of file sljitNativeMIPS_common.c.

◆ ORI

#define ORI   (HI(13))

Definition at line 237 of file sljitNativeMIPS_common.c.

◆ OTHER_FLAG

#define OTHER_FLAG   1

Definition at line 76 of file sljitNativeMIPS_common.c.

◆ PIC_ADDR_REG

#define PIC_ADDR_REG   TMP_REG2

Definition at line 67 of file sljitNativeMIPS_common.c.

◆ REG1_SOURCE

#define REG1_SOURCE   0x04000

Definition at line 744 of file sljitNativeMIPS_common.c.

◆ REG2_SOURCE

#define REG2_SOURCE   0x08000

Definition at line 745 of file sljitNativeMIPS_common.c.

◆ REG_DEST

#define REG_DEST   0x02000

Definition at line 743 of file sljitNativeMIPS_common.c.

◆ RESOLVE_IMM1

#define RESOLVE_IMM1 ( )
Value:
if (src1 & SLJIT_IMM) { \
if (src1w) { \
PTR_FAIL_IF(load_immediate(compiler, DR(TMP_REG1), src1w)); \
src1 = TMP_REG1; \
} \
else \
src1 = 0; \
}
#define SLJIT_IMM
Definition: sljitLir.h:807
#define DR(dr)
#define TMP_REG1

Definition at line 2119 of file sljitNativeMIPS_common.c.

◆ RESOLVE_IMM2

#define RESOLVE_IMM2 ( )
Value:
if (src2 & SLJIT_IMM) { \
if (src2w) { \
PTR_FAIL_IF(load_immediate(compiler, DR(TMP_REG2), src2w)); \
src2 = TMP_REG2; \
} \
else \
src2 = 0; \
}
#define TMP_REG2

Definition at line 2129 of file sljitNativeMIPS_common.c.

◆ RETURN_ADDR_REG

#define RETURN_ADDR_REG   31

Definition at line 72 of file sljitNativeMIPS_common.c.

◆ S

#define S (   s)    ((sljit_ins)reg_map[s] << 21)

Definition at line 104 of file sljitNativeMIPS_common.c.

◆ SA

#define SA (   s)    ((sljit_ins)(s) << 21)

Definition at line 111 of file sljitNativeMIPS_common.c.

◆ SD

#define SD   (HI(63))

Definition at line 238 of file sljitNativeMIPS_common.c.

◆ SDC1

#define SDC1   (HI(61))

Definition at line 239 of file sljitNativeMIPS_common.c.

◆ SH_IMM

#define SH_IMM (   imm)    ((sljit_ins)(imm) << 6)

Definition at line 115 of file sljitNativeMIPS_common.c.

◆ SIGNED_DATA

#define SIGNED_DATA   0x08

Definition at line 726 of file sljitNativeMIPS_common.c.

◆ SIMM_MAX

#define SIMM_MAX   (0x7fff)

Definition at line 288 of file sljitNativeMIPS_common.c.

◆ SIMM_MIN

#define SIMM_MIN   (-0x8000)

Definition at line 289 of file sljitNativeMIPS_common.c.

◆ SINGLE_DATA

#define SINGLE_DATA   0x12

Definition at line 730 of file sljitNativeMIPS_common.c.

◆ SLJIT_IS_FPU_AVAILABLE

#define SLJIT_IS_FPU_AVAILABLE   0

Definition at line 32 of file sljitNativeMIPS_common.c.

◆ SLL

#define SLL   (HI(0) | LO(0))

Definition at line 244 of file sljitNativeMIPS_common.c.

◆ SLL_W

#define SLL_W   DSLL

Definition at line 284 of file sljitNativeMIPS_common.c.

◆ SLLV

#define SLLV   (HI(0) | LO(4))

Definition at line 245 of file sljitNativeMIPS_common.c.

◆ SLOW_DEST

#define SLOW_DEST   0x40000

Definition at line 748 of file sljitNativeMIPS_common.c.

◆ SLOW_SRC1

#define SLOW_SRC1   0x10000

Definition at line 746 of file sljitNativeMIPS_common.c.

◆ SLOW_SRC2

#define SLOW_SRC2   0x20000

Definition at line 747 of file sljitNativeMIPS_common.c.

◆ SLT

#define SLT   (HI(0) | LO(42))

Definition at line 240 of file sljitNativeMIPS_common.c.

◆ SLTI

#define SLTI   (HI(10))

Definition at line 241 of file sljitNativeMIPS_common.c.

◆ SLTIU

#define SLTIU   (HI(11))

Definition at line 242 of file sljitNativeMIPS_common.c.

◆ SLTU

#define SLTU   (HI(0) | LO(43))

Definition at line 243 of file sljitNativeMIPS_common.c.

◆ SRA

#define SRA   (HI(0) | LO(3))

Definition at line 248 of file sljitNativeMIPS_common.c.

◆ SRAV

#define SRAV   (HI(0) | LO(7))

Definition at line 249 of file sljitNativeMIPS_common.c.

◆ SRC2_IMM

#define SRC2_IMM   0x00800

Definition at line 740 of file sljitNativeMIPS_common.c.

◆ SRL

#define SRL   (HI(0) | LO(2))

Definition at line 246 of file sljitNativeMIPS_common.c.

◆ SRLV

#define SRLV   (HI(0) | LO(6))

Definition at line 247 of file sljitNativeMIPS_common.c.

◆ STACK_LOAD

#define STACK_LOAD   LD

Definition at line 755 of file sljitNativeMIPS_common.c.

◆ STACK_STORE

#define STACK_STORE   SD

Definition at line 754 of file sljitNativeMIPS_common.c.

◆ SUB_S

#define SUB_S   (HI(17) | FMT_S | LO(1))

Definition at line 250 of file sljitNativeMIPS_common.c.

◆ SUBU

#define SUBU   (HI(0) | LO(35))

Definition at line 251 of file sljitNativeMIPS_common.c.

◆ SUBU_W

#define SUBU_W   DSUBU

Definition at line 285 of file sljitNativeMIPS_common.c.

◆ SW

#define SW   (HI(43))

Definition at line 252 of file sljitNativeMIPS_common.c.

◆ SWC1

#define SWC1   (HI(57))

Definition at line 253 of file sljitNativeMIPS_common.c.

◆ T

#define T (   t)    ((sljit_ins)reg_map[t] << 16)

Definition at line 105 of file sljitNativeMIPS_common.c.

◆ TA

#define TA (   t)    ((sljit_ins)(t) << 16)

Definition at line 112 of file sljitNativeMIPS_common.c.

◆ TMP_FREG1

#define TMP_FREG1   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 1)

Definition at line 78 of file sljitNativeMIPS_common.c.

◆ TMP_FREG2

#define TMP_FREG2   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 2)

Definition at line 79 of file sljitNativeMIPS_common.c.

◆ TMP_FREG3

#define TMP_FREG3   (SLJIT_NUMBER_OF_FLOAT_REGISTERS + 3)

Definition at line 80 of file sljitNativeMIPS_common.c.

◆ TMP_REG1

#define TMP_REG1   (SLJIT_NUMBER_OF_REGISTERS + 2)

Definition at line 62 of file sljitNativeMIPS_common.c.

◆ TMP_REG2

#define TMP_REG2   (SLJIT_NUMBER_OF_REGISTERS + 3)

Definition at line 63 of file sljitNativeMIPS_common.c.

◆ TMP_REG3

#define TMP_REG3   (SLJIT_NUMBER_OF_REGISTERS + 4)

Definition at line 64 of file sljitNativeMIPS_common.c.

◆ TRUNC_W_S

#define TRUNC_W_S   (HI(17) | FMT_S | LO(13))

Definition at line 254 of file sljitNativeMIPS_common.c.

◆ UIMM_MAX

#define UIMM_MAX   (0xffff)

Definition at line 290 of file sljitNativeMIPS_common.c.

◆ UNUSED_DEST

#define UNUSED_DEST   0x01000

Definition at line 742 of file sljitNativeMIPS_common.c.

◆ WORD_DATA

#define WORD_DATA   0x00

Definition at line 722 of file sljitNativeMIPS_common.c.

◆ XOR

#define XOR   (HI(0) | LO(38))

Definition at line 255 of file sljitNativeMIPS_common.c.

◆ XORI

#define XORI   (HI(14))

Definition at line 256 of file sljitNativeMIPS_common.c.

Typedef Documentation

◆ sljit_ins

Definition at line 60 of file sljitNativeMIPS_common.c.

Function Documentation

◆ sljit_emit_cmov()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov ( struct sljit_compiler compiler,
sljit_s32  type,
sljit_s32  dst_reg,
sljit_s32  src,
sljit_sw  srcw 
)

Definition at line 2392 of file sljitNativeMIPS_common.c.

◆ sljit_emit_cmp()

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

Definition at line 2139 of file sljitNativeMIPS_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 2463 of file sljitNativeMIPS_common.c.

Here is the call graph for this function:

◆ 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 767 of file sljitNativeMIPS_common.c.

◆ sljit_emit_fast_enter()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter ( struct sljit_compiler compiler,
sljit_s32  dst,
sljit_sw  dstw 
)

Definition at line 1966 of file sljitNativeMIPS_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 1835 of file sljitNativeMIPS_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 1884 of file sljitNativeMIPS_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 2269 of file sljitNativeMIPS_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 2042 of file sljitNativeMIPS_common.c.

◆ sljit_emit_label()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label ( struct sljit_compiler compiler)

Definition at line 1985 of file sljitNativeMIPS_common.c.

◆ sljit_emit_op0()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0 ( struct sljit_compiler compiler,
sljit_s32  op 
)

Definition at line 1432 of file sljitNativeMIPS_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 1536 of file sljitNativeMIPS_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 1594 of file sljitNativeMIPS_common.c.

Here is the caller graph for this function:

◆ 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 1658 of file sljitNativeMIPS_common.c.

Here is the call graph for this function:

◆ 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 1716 of file sljitNativeMIPS_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 2301 of file sljitNativeMIPS_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 1672 of file sljitNativeMIPS_common.c.

◆ sljit_emit_put_label()

SLJIT_API_FUNC_ATTRIBUTE struct sljit_put_label* sljit_emit_put_label ( struct sljit_compiler compiler,
sljit_s32  dst,
sljit_sw  dstw 
)

Definition at line 2485 of file sljitNativeMIPS_common.c.

◆ sljit_emit_return_void()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return_void ( struct sljit_compiler compiler)

Definition at line 1066 of file sljitNativeMIPS_common.c.

◆ sljit_generate_code()

SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code ( struct sljit_compiler compiler)

Definition at line 506 of file sljitNativeMIPS_common.c.

◆ sljit_get_float_register_index()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index ( sljit_s32  reg)

Definition at line 1710 of file sljitNativeMIPS_common.c.

◆ sljit_get_platform_name()

SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name ( void  )

Definition at line 35 of file sljitNativeMIPS_common.c.

◆ sljit_get_register_index()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index ( sljit_s32  reg)

Definition at line 1704 of file sljitNativeMIPS_common.c.

◆ sljit_has_cpu_feature()

SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature ( sljit_s32  feature_type)

Definition at line 685 of file sljitNativeMIPS_common.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 965 of file sljitNativeMIPS_common.c.