A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/sljitNativeRISCV__common_8c.html below:

NCBI C++ ToolKit: src/util/regexp/sljit/sljitNativeRISCV_common.c File Reference

Go to the source code of this file.

Go to the SVN repository for this file.

SLJIT_API_FUNC_ATTRIBUTE const char *  sljit_get_platform_name (void)   static sljit_s32  push_inst (struct sljit_compiler *compiler, sljit_ins ins)   static sljit_s32  push_imm_s_inst (struct sljit_compiler *compiler, sljit_ins ins, sljit_sw imm)   static SLJIT_INLINE sljit_insdetect_jump_type (struct sljit_jump *jump, sljit_ins *code, sljit_sw executable_offset)   static SLJIT_INLINE void  load_addr_to_reg (struct sljit_jump *jump, sljit_sw executable_offset)   static void  reduce_code_size (struct sljit_compiler *compiler)   SLJIT_API_FUNC_ATTRIBUTE void *  sljit_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)   static sljit_s32  emit_op_mem (struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, sljit_s32 arg, sljit_sw argw)   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)   static sljit_s32  emit_stack_frame_release (struct sljit_compiler *compiler, sljit_s32 is_return_to)   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)   static sljit_s32  push_mem_inst (struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, sljit_s32 base, sljit_sw offset)   static sljit_s32  getput_arg_fast (struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, sljit_s32 arg, sljit_sw argw)   static sljit_s32  can_cache (sljit_s32 arg, sljit_sw argw, sljit_s32 next_arg, sljit_sw next_argw)   static sljit_s32  getput_arg (struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, sljit_s32 arg, sljit_sw argw, sljit_s32 next_arg, sljit_sw next_argw)   static SLJIT_INLINE sljit_s32  emit_op_mem2 (struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, sljit_s32 arg1, sljit_sw arg1w, sljit_s32 arg2, sljit_sw arg2w)   static sljit_s32  emit_clz_ctz (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw src)   static sljit_s32  emit_rev (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw src)   static sljit_s32  emit_rev16 (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw src)   static SLJIT_INLINE sljit_s32  emit_single_op (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 flags, sljit_s32 dst, sljit_s32 src1, sljit_sw src2)   static sljit_s32  emit_op (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 flags, 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_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)   static SLJIT_INLINE sljit_s32  sljit_emit_fop1_conv_sw_from_f64 (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw)   static sljit_s32  sljit_emit_fop1_conv_f64_from_w (struct sljit_compiler *compiler, sljit_ins ins, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw)   static SLJIT_INLINE sljit_s32  sljit_emit_fop1_conv_f64_from_sw (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw)   static SLJIT_INLINE sljit_s32  sljit_emit_fop1_conv_f64_from_uw (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw)   static SLJIT_INLINE sljit_s32  sljit_emit_fop1_cmp (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_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 struct sljit_labelsljit_emit_label (struct sljit_compiler *compiler)   static sljit_ins  get_jump_instruction (sljit_s32 type)   SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_jump (struct sljit_compiler *compiler, sljit_s32 type)   SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_call (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 arg_types)   SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_cmp (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w)   SLJIT_API_FUNC_ATTRIBUTE sljit_s32  sljit_emit_ijump (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src, sljit_sw srcw)   SLJIT_API_FUNC_ATTRIBUTE sljit_s32  sljit_emit_icall (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 arg_types, sljit_s32 src, sljit_sw srcw)   SLJIT_API_FUNC_ATTRIBUTE sljit_s32  sljit_emit_op_flags (struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 type)   SLJIT_API_FUNC_ATTRIBUTE sljit_s32  sljit_emit_select (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 dst_reg, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2_reg)   SLJIT_API_FUNC_ATTRIBUTE sljit_s32  sljit_emit_fselect (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 dst_freg, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2_freg)   SLJIT_API_FUNC_ATTRIBUTE sljit_s32  sljit_emit_mem (struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 reg, sljit_s32 mem, sljit_sw memw)   SLJIT_API_FUNC_ATTRIBUTE struct sljit_constsljit_emit_const (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value)   SLJIT_API_FUNC_ATTRIBUTE struct sljit_jumpsljit_emit_mov_addr (struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw)   SLJIT_API_FUNC_ATTRIBUTE void  sljit_set_const (sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset)   ◆ ADD ◆ ADDI ◆ ALT_KEEP_CACHE ◆ AND ◆ ANDI ◆ ARCH_32_64 ◆ ARG_TEST ◆ AUIPC ◆ BEQ ◆ BGE ◆ BGEU ◆ BLT ◆ BLTU ◆ BNE ◆ BRANCH_LENGTH ◆ BRANCH_MAX ◆ BRANCH_MIN ◆ BYTE_DATA ◆ CUMULATIVE_OP ◆ DIV ◆ DIVU ◆ DOUBLE_DATA ◆ EBREAK ◆ EMIT_LOGICAL #define EMIT_LOGICAL (   op_imm,   op_reg  ) Value:

} \

else { \

}

static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins)

Definition at line 1268 of file sljitNativeRISCV_common.c.

◆ EMIT_SHIFT #define EMIT_SHIFT (   imm,   reg  ) ◆ EQUAL_FLAG ◆ F12 ◆ F3 ◆ F7 ◆ FADD_S ◆ FCVT_S_D ◆ FCVT_S_W ◆ FCVT_S_WU ◆ FCVT_W_S ◆ FDIV_S ◆ FEQ_S ◆ FLD ◆ FLE_S ◆ FLOAT_DATA ◆ FLT_S ◆ FMT ◆ FMUL_S ◆ FMV_W_X ◆ FMV_X_W ◆ FRD ◆ FRS1 ◆ FRS2 ◆ FSD ◆ FSGNJ_S ◆ FSGNJN_S ◆ FSGNJX_S ◆ FSUB_S ◆ FSW ◆ GPR_REG ◆ HALF_DATA ◆ IMM_EXTEND ◆ IMM_I ◆ IMM_OP ◆ IMM_S ◆ INT_DATA ◆ JAL ◆ JALR ◆ JUMP_MAX ◆ JUMP_MIN ◆ LD ◆ LOAD_DATA ◆ LUI ◆ LW ◆ MEM_MASK ◆ MEM_USE_TMP2 ◆ MOVE_OP ◆ MUL ◆ MULH ◆ MULHU ◆ OPC ◆ OR ◆ ORI ◆ OTHER_FLAG ◆ RD ◆ REG1_SOURCE ◆ REG2_SOURCE ◆ REG_DEST ◆ REM ◆ REMU ◆ RETURN_ADDR_REG ◆ RS1 ◆ RS2 ◆ SD ◆ SIGNED_DATA ◆ SIMM_MAX ◆ SIMM_MIN ◆ SINGLE_DATA ◆ SLL ◆ SLLI ◆ SLOW_DEST ◆ SLOW_SRC1 ◆ SLOW_SRC2 ◆ SLT ◆ SLTI ◆ SLTU ◆ SLTUI ◆ SRA ◆ SRAI ◆ SRC2_IMM ◆ SRL ◆ SRLI ◆ STACK_LOAD ◆ STACK_MAX_DISTANCE [1/2] ◆ STACK_MAX_DISTANCE [2/2] ◆ STACK_STORE ◆ SUB ◆ SW ◆ TMP_FREG1 ◆ TMP_FREG2 ◆ TMP_REG1 ◆ TMP_REG2 ◆ TMP_REG3 ◆ TMP_ZERO ◆ TO_ARGW_HI ◆ UNUSED_DEST ◆ WORD ◆ WORD_32 ◆ WORD_DATA ◆ XOR ◆ XORI ◆ sljit_ins ◆ can_cache() ◆ detect_jump_type()

Definition at line 170 of file sljitNativeRISCV_common.c.

References sljit_jump::addr, BRANCH_MAX, BRANCH_MIN, exit(), sljit_jump::flags, if(), JUMP_MAX, JUMP_MIN, sljit_jump::label, NULL, S32_MAX, S32_MIN, S52_MAX, sljit_label::size, SLJIT_ASSERT, SLJIT_REWRITABLE_JUMP, sljit_jump::target, and sljit_jump::u.

Referenced by sljit_generate_code().

◆ emit_clz_ctz()

Definition at line 1165 of file sljitNativeRISCV_common.c.

References ADDI, ANDI, BEQ, BLT, BNE, EQUAL_FLAG, FAIL_IF, IMM_I, OR, OTHER_FLAG, push_inst(), RD, RS1, RS2, SLJIT_32, SLJIT_ASSERT, SLJIT_CLZ, SLL, SRL, SRLI, TMP_REG1, TMP_REG2, and TMP_ZERO.

Referenced by emit_single_op().

◆ emit_op()

Definition at line 1722 of file sljitNativeRISCV_common.c.

References ALT_KEEP_CACHE, ARG_TEST, can_cache(), CUMULATIVE_OP, emit_single_op(), sljit_compiler::error, FAIL_IF, flags, getput_arg(), getput_arg_fast(), IMM_OP, LOAD_DATA, load_immediate(), MEM_USE_TMP2, MOVE_OP, REG1_SOURCE, REG2_SOURCE, REG_DEST, SIMM_MIN, SLJIT_ASSERT, SLJIT_IMM, SLJIT_MEM, SLJIT_MOV, SLJIT_OP2_BASE, SLJIT_SUCCESS, SLOW_DEST, SLOW_SRC1, SLOW_SRC2, SRC2_IMM, TMP_REG1, TMP_REG2, TMP_REG3, TMP_ZERO, and UNUSED_DEST.

Referenced by sljit_emit_op1(), sljit_emit_op2(), and sljit_emit_op_flags().

◆ emit_op_mem()

Definition at line 1116 of file sljitNativeRISCV_common.c.

References ADD, sljit_compiler::error, FAIL_IF, flags, getput_arg_fast(), GPR_REG, IMM_I, LOAD_DATA, load_immediate(), MEM_MASK, push_inst(), push_mem_inst(), RD, RS1, RS2, SLJIT_UNLIKELY, SLLI, TMP_REG1, TMP_REG3, and TO_ARGW_HI.

Referenced by sljit_emit_const(), sljit_emit_fselect(), sljit_emit_icall(), sljit_emit_ijump(), sljit_emit_mov_addr(), sljit_emit_op_dst(), sljit_emit_op_flags(), sljit_emit_op_src(), sljit_emit_return_to(), sljit_emit_select(), and sljit_emit_shift_into().

◆ emit_op_mem2() ◆ emit_rev()

Definition at line 1209 of file sljitNativeRISCV_common.c.

References ADDI, AND, EQUAL_FLAG, FAIL_IF, IMM_I, LUI, OR, ORI, OTHER_FLAG, push_inst(), RD, RS1, RS2, SLJIT_32, SLJIT_UNUSED_ARG, SLLI, SRLI, TMP_REG1, WORD_32, and XOR.

Referenced by emit_single_op().

◆ emit_rev16()

Definition at line 1252 of file sljitNativeRISCV_common.c.

References ANDI, FAIL_IF, IMM_I, OR, push_inst(), RD, RS1, RS2, SLJIT_32, SLJIT_REV_U16, SLLI, SRAI, SRLI, and TMP_REG1.

Referenced by emit_single_op().

◆ emit_single_op()

Definition at line 1286 of file sljitNativeRISCV_common.c.

References ADD, ADDI, AND, ANDI, emit_clz_ctz(), EMIT_LOGICAL, emit_rev(), emit_rev16(), EMIT_SHIFT, EQUAL_FLAG, FAIL_IF, flags, IMM_EXTEND, IMM_I, MUL, MULH, OR, ORI, OTHER_FLAG, push_inst(), RD, REG2_SOURCE, REG_DEST, RS1, RS2, SIMM_MIN, SLJIT_32, SLJIT_ADD, SLJIT_ADDC, SLJIT_AND, SLJIT_ASHR, SLJIT_ASSERT, SLJIT_CARRY, SLJIT_CLZ, SLJIT_CTZ, SLJIT_GREATER, SLJIT_LESS, SLJIT_LSHR, SLJIT_MASHR, SLJIT_MLSHR, SLJIT_MOV, SLJIT_MOV_S16, SLJIT_MOV_S32, SLJIT_MOV_S8, SLJIT_MOV_U16, SLJIT_MOV_U32, SLJIT_MOV_U8, SLJIT_MSHL, SLJIT_MUL, SLJIT_OR, SLJIT_OVERFLOW, SLJIT_REV, SLJIT_REV_S16, SLJIT_REV_S32, SLJIT_REV_U16, SLJIT_REV_U32, SLJIT_ROTL, SLJIT_ROTR, SLJIT_SET_Z, SLJIT_SHL, SLJIT_SIG_GREATER, SLJIT_SIG_LESS, SLJIT_SIG_LESS_EQUAL, SLJIT_SUB, SLJIT_SUBC, SLJIT_SUCCESS, SLJIT_UNREACHABLE, SLJIT_XOR, SLL, SLLI, SLT, SLTI, SLTU, SLTUI, SRA, SRAI, SRC2_IMM, SRL, SRLI, SUB, TMP_REG1, TMP_REG2, TMP_ZERO, UNUSED_DEST, XOR, and XORI.

Referenced by emit_op().

◆ emit_stack_frame_release()

Definition at line 848 of file sljitNativeRISCV_common.c.

References ADD, ADDI, FAIL_IF, FLD, FRD, sljit_compiler::fsaveds, sljit_compiler::fscratches, i, IMM_I, load_immediate(), sljit_compiler::local_size, offset, sljit_compiler::options, push_inst(), RD, RETURN_ADDR_REG, RS1, RS2, sljit_compiler::saveds, sljit_compiler::scratches, SLJIT_ASSERT, SLJIT_FIRST_SAVED_FLOAT_REG, SLJIT_FIRST_SAVED_REG, SLJIT_FS0, SLJIT_S0, SLJIT_SP, STACK_LOAD, STACK_MAX_DISTANCE, sw, tmp, TMP_REG2, and TMP_REG3.

Referenced by sljit_emit_call(), sljit_emit_icall(), sljit_emit_return_to(), and sljit_emit_return_void().

◆ get_jump_instruction()

Definition at line 2563 of file sljitNativeRISCV_common.c.

References BEQ, BNE, EQUAL_FLAG, OTHER_FLAG, RS1, RS2, SLJIT_CARRY, SLJIT_EQUAL, SLJIT_F_EQUAL, SLJIT_F_GREATER, SLJIT_F_GREATER_EQUAL, SLJIT_F_LESS, SLJIT_F_LESS_EQUAL, SLJIT_F_NOT_EQUAL, SLJIT_GREATER, SLJIT_GREATER_EQUAL, SLJIT_LESS, SLJIT_LESS_EQUAL, SLJIT_NOT_CARRY, SLJIT_NOT_EQUAL, SLJIT_NOT_OVERFLOW, SLJIT_ORDERED, SLJIT_ORDERED_EQUAL, SLJIT_ORDERED_GREATER, SLJIT_ORDERED_GREATER_EQUAL, SLJIT_ORDERED_LESS, SLJIT_ORDERED_LESS_EQUAL, SLJIT_ORDERED_NOT_EQUAL, SLJIT_OVERFLOW, SLJIT_SIG_GREATER, SLJIT_SIG_GREATER_EQUAL, SLJIT_SIG_LESS, SLJIT_SIG_LESS_EQUAL, SLJIT_UNORDERED, SLJIT_UNORDERED_OR_EQUAL, SLJIT_UNORDERED_OR_GREATER, SLJIT_UNORDERED_OR_GREATER_EQUAL, SLJIT_UNORDERED_OR_LESS, SLJIT_UNORDERED_OR_LESS_EQUAL, SLJIT_UNORDERED_OR_NOT_EQUAL, and TMP_ZERO.

Referenced by sljit_emit_fselect(), sljit_emit_jump(), and sljit_emit_select().

◆ getput_arg()

Definition at line 1032 of file sljitNativeRISCV_common.c.

References ADD, FAIL_IF, flags, IMM_I, load_immediate(), MEM_USE_TMP2, offset, push_inst(), push_mem_inst(), RD, RS1, RS2, SIMM_MAX, SIMM_MIN, SLJIT_ASSERT, SLJIT_MEM, SLJIT_UNLIKELY, SLLI, TMP_REG1, TMP_REG2, TMP_REG3, and TO_ARGW_HI.

Referenced by emit_op(), emit_op_mem2(), and sljit_emit_fop2().

◆ getput_arg_fast()

Definition at line 989 of file sljitNativeRISCV_common.c.

References ARG_TEST, FAIL_IF, flags, push_mem_inst(), SIMM_MIN, SLJIT_ASSERT, SLJIT_MEM, and SLJIT_UNLIKELY.

Referenced by emit_op(), emit_op_mem(), emit_op_mem2(), and sljit_emit_fop2().

◆ load_addr_to_reg()

Definition at line 311 of file sljitNativeRISCV_common.c.

References ADDI, sljit_label::addr, sljit_jump::addr, AUIPC, flags, sljit_jump::flags, IMM_I, JALR, sljit_jump::label, LUI, RD, RS1, RS2, S32_MAX, S32_MIN, S52_MAX, SLJIT_ASSERT, SLJIT_UNUSED_ARG, SLLI, sljit_jump::target, TMP_REG1, TMP_REG3, sljit_label::u, sljit_jump::u, XOR, and XORI.

Referenced by sljit_generate_code().

◆ push_imm_s_inst() ◆ push_inst()

Definition at line 156 of file sljitNativeRISCV_common.c.

References FAIL_IF, sljit_compiler::size, and SLJIT_SUCCESS.

Referenced by emit_clz_ctz(), emit_op_mem(), emit_rev(), emit_rev16(), emit_single_op(), emit_stack_frame_release(), getput_arg(), push_imm_s_inst(), push_mem_inst(), sljit_emit_cmp(), sljit_emit_enter(), sljit_emit_fop1(), sljit_emit_fop1_cmp(), sljit_emit_fop1_conv_f64_from_w(), sljit_emit_fop1_conv_sw_from_f64(), sljit_emit_fop2(), sljit_emit_fselect(), sljit_emit_fset32(), sljit_emit_icall(), sljit_emit_ijump(), sljit_emit_jump(), sljit_emit_mem(), sljit_emit_mov_addr(), sljit_emit_op0(), sljit_emit_op2r(), sljit_emit_op_custom(), sljit_emit_op_dst(), sljit_emit_op_flags(), sljit_emit_op_src(), sljit_emit_return_to(), sljit_emit_return_void(), sljit_emit_select(), and sljit_emit_shift_into().

◆ push_mem_inst()

Definition at line 973 of file sljitNativeRISCV_common.c.

References data_transfer_insts, flags, FRD, FRS2, GPR_REG, IMM_I, IMM_S, LOAD_DATA, MEM_MASK, offset, push_inst(), RD, RS1, RS2, SIMM_MIN, and SLJIT_ASSERT.

Referenced by emit_op_mem(), getput_arg(), getput_arg_fast(), and sljit_emit_mem().

◆ reduce_code_size()

Definition at line 401 of file sljitNativeRISCV_common.c.

References sljit_jump::addr, sljit_const::addr, BRANCH_MAX, BRANCH_MIN, sljit_compiler::consts, sljit_jump::flags, JUMP_MAX, JUMP_MIN, sljit_compiler::jumps, label, sljit_jump::label, sljit_compiler::labels, sljit_jump::next, sljit_const::next, S32_MAX, S32_MIN, S52_MAX, sljit_label::size, sljit_compiler::size, SLJIT_REWRITABLE_JUMP, sljit_jump::target, total_size, and sljit_jump::u.

Referenced by sljit_generate_code().

◆ sljit_cmp_info() ◆ sljit_emit_call() ◆ sljit_emit_cmp()

Definition at line 2662 of file sljitNativeRISCV_common.c.

References sljit_jump::addr, BEQ, BGE, BGEU, BLT, BLTU, BNE, BRANCH_LENGTH, CHECK_ERROR_PTR, emit_op_mem2(), flags, IMM_I, INT_DATA, JALR, LOAD_DATA, load_immediate(), PTR_FAIL_IF, push_inst(), RD, RS1, RS2, sljit_compiler::size, SLJIT_32, SLJIT_EQUAL, SLJIT_GREATER, SLJIT_GREATER_EQUAL, SLJIT_IMM, SLJIT_LESS, SLJIT_LESS_EQUAL, SLJIT_MEM, SLJIT_NOT_EQUAL, SLJIT_REWRITABLE_JUMP, SLJIT_SIG_GREATER, SLJIT_SIG_GREATER_EQUAL, SLJIT_SIG_LESS, SLJIT_SIG_LESS_EQUAL, TMP_REG1, TMP_REG2, TMP_REG3, TMP_ZERO, and WORD_DATA.

◆ sljit_emit_const() ◆ sljit_emit_enter()

Definition at line 726 of file sljitNativeRISCV_common.c.

References ADDI, CHECK, CHECK_ERROR, FAIL_IF, FRS2, FSD, i, IMM_I, load_immediate(), sljit_compiler::local_size, offset, push_imm_s_inst(), push_inst(), RD, RETURN_ADDR_REG, RS1, RS2, SLJIT_ARG_SHIFT, SLJIT_ARG_TYPE_F64, SLJIT_ARG_TYPE_SCRATCH_REG, SLJIT_ENTER_REG_ARG, SLJIT_FIRST_SAVED_FLOAT_REG, SLJIT_FIRST_SAVED_REG, SLJIT_FS0, SLJIT_LOCALS_OFFSET, SLJIT_R0, SLJIT_S0, SLJIT_SP, SLJIT_SUCCESS, STACK_MAX_DISTANCE, STACK_STORE, SUB, sw, tmp, TMP_REG1, and TMP_REG3.

◆ sljit_emit_fop1()

Definition at line 2387 of file sljitNativeRISCV_common.c.

References CHECK_ERROR, DOUBLE_DATA, emit_op_mem2(), F3, FAIL_IF, FCVT_S_D, FLOAT_DATA, FMT, FRD, FRS1, FRS2, FSGNJ_S, FSGNJN_S, FSGNJX_S, LOAD_DATA, push_inst(), SLJIT_32, SLJIT_ABS_F64, SLJIT_COMPILE_ASSERT, SLJIT_CONV_F64_FROM_F32, SLJIT_MEM, SLJIT_MOV_F64, SLJIT_NEG_F64, SLJIT_SUCCESS, and TMP_FREG1.

◆ sljit_emit_fop1_cmp()

Definition at line 2333 of file sljitNativeRISCV_common.c.

References AND, emit_op_mem2(), FAIL_IF, FEQ_S, FLE_S, FLOAT_DATA, FLT_S, FMT, FRS1, FRS2, LOAD_DATA, OR, OTHER_FLAG, push_inst(), RD, RS1, RS2, SLJIT_F_EQUAL, SLJIT_F_GREATER, SLJIT_F_LESS, SLJIT_MEM, SLJIT_ORDERED_EQUAL, SLJIT_ORDERED_GREATER, SLJIT_ORDERED_LESS, SLJIT_UNORDERED_OR_EQUAL, SLJIT_UNORDERED_OR_GREATER, SLJIT_UNORDERED_OR_LESS, TMP_FREG1, TMP_FREG2, and TMP_REG1.

◆ sljit_emit_fop1_conv_f64_from_sw() ◆ sljit_emit_fop1_conv_f64_from_uw() ◆ sljit_emit_fop1_conv_f64_from_w()

Definition at line 2264 of file sljitNativeRISCV_common.c.

References DOUBLE_DATA, emit_op_mem2(), FAIL_IF, FRD, INT_DATA, LOAD_DATA, load_immediate(), push_inst(), RS1, SLJIT_IMM, SLJIT_MEM, SLJIT_SUCCESS, TMP_FREG1, TMP_REG1, TMP_REG3, and WORD_DATA.

Referenced by sljit_emit_fop1_conv_f64_from_sw(), and sljit_emit_fop1_conv_f64_from_uw().

◆ sljit_emit_fop1_conv_sw_from_f64()

Definition at line 2231 of file sljitNativeRISCV_common.c.

References emit_op_mem2(), FAIL_IF, FCVT_W_S, flags, FLOAT_DATA, FMT, FRS1, INT_DATA, LOAD_DATA, push_inst(), RD, SLJIT_CONV_SW_FROM_F64, SLJIT_MEM, SLJIT_SUCCESS, TMP_FREG1, TMP_REG2, and WORD_DATA.

◆ sljit_emit_fop2()

Definition at line 2437 of file sljitNativeRISCV_common.c.

References can_cache(), CHECK, CHECK_ERROR, emit_op_mem2(), sljit_compiler::error, FADD_S, FAIL_IF, FDIV_S, flags, FLOAT_DATA, FMT, FMUL_S, FRD, FRS1, FRS2, FSGNJ_S, FSUB_S, getput_arg(), getput_arg_fast(), LOAD_DATA, push_inst(), SLJIT_ADD_F64, SLJIT_COPYSIGN_F64, SLJIT_DIV_F64, SLJIT_MEM, SLJIT_MUL_F64, SLJIT_SUB_F64, SLJIT_SUCCESS, SLOW_SRC1, SLOW_SRC2, TMP_FREG1, and TMP_FREG2.

◆ sljit_emit_fselect()

Definition at line 2972 of file sljitNativeRISCV_common.c.

References CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, FLOAT_DATA, FMT, FRD, FRS1, FRS2, FSGNJ_S, get_jump_instruction(), LOAD_DATA, push_inst(), ncbi::grid::netcache::search::fields::size, sljit_compiler::size, SLJIT_32, SLJIT_MEM, and SLJIT_SUCCESS.

◆ sljit_emit_fset32()

Definition at line 2517 of file sljitNativeRISCV_common.c.

References CHECK, CHECK_ERROR, FAIL_IF, FMV_W_X, FRD, load_immediate(), push_inst(), RS1, TMP_REG1, TMP_REG3, TMP_ZERO, and rapidjson::value.

◆ sljit_emit_icall()

Definition at line 2792 of file sljitNativeRISCV_common.c.

References ADDI, CHECK, CHECK_ERROR, emit_op_mem(), emit_stack_frame_release(), FAIL_IF, IMM_I, LOAD_DATA, sljit_compiler::options, push_inst(), RD, RS1, SLJIT_CALL_RETURN, sljit_emit_ijump(), SLJIT_FIRST_SAVED_REG, SLJIT_JUMP, SLJIT_MEM, SLJIT_S0, SLJIT_UNUSED_ARG, TMP_REG1, and WORD_DATA.

◆ sljit_emit_ijump()

Definition at line 2762 of file sljitNativeRISCV_common.c.

References sljit_jump::addr, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, IMM_I, JALR, LOAD_DATA, push_inst(), RD, RETURN_ADDR_REG, RS1, sljit_compiler::size, SLJIT_FAST_CALL, SLJIT_IMM, SLJIT_MEM, SLJIT_SUCCESS, sljit_jump::target, TMP_REG1, TMP_ZERO, sljit_jump::u, and WORD_DATA.

Referenced by sljit_emit_icall(), and sljit_emit_return_to().

◆ sljit_emit_jump()

Definition at line 2611 of file sljitNativeRISCV_common.c.

References sljit_jump::addr, BRANCH_LENGTH, CHECK_ERROR_PTR, sljit_jump::flags, get_jump_instruction(), IMM_I, JALR, PTR_FAIL_IF, push_inst(), RD, RETURN_ADDR_REG, RS1, sljit_compiler::size, SLJIT_FAST_CALL, SLJIT_REWRITABLE_JUMP, and TMP_REG1.

Referenced by sljit_emit_call().

◆ sljit_emit_label() ◆ sljit_emit_mem()

Definition at line 3013 of file sljitNativeRISCV_common.c.

References ADD, CHECK, CHECK_ERROR, FAIL_IF, flags, IMM_I, LOAD_DATA, load_immediate(), push_inst(), push_mem_inst(), RD, RS1, RS2, SIMM_MAX, SIMM_MIN, SLJIT_ASSERT, SLJIT_MEM_STORE, SLJIT_UNLIKELY, SLLI, sw, TMP_REG1, TMP_REG3, TO_ARGW_HI, and WORD_DATA.

◆ sljit_emit_mov_addr() ◆ sljit_emit_op0()

Definition at line 1848 of file sljitNativeRISCV_common.c.

References ADDI, CHECK, CHECK_ERROR, DIV, DIVU, EBREAK, FAIL_IF, IMM_I, MUL, MULH, MULHU, push_inst(), RD, REM, REMU, RS1, RS2, SLJIT_32, SLJIT_ASSERT, SLJIT_BREAKPOINT, SLJIT_DIV_SW, SLJIT_DIV_UW, SLJIT_DIVMOD_SW, SLJIT_DIVMOD_UW, SLJIT_ENDBR, SLJIT_LMUL_SW, SLJIT_LMUL_UW, SLJIT_NOP, SLJIT_R0, SLJIT_R1, SLJIT_SKIP_FRAMES_BEFORE_RETURN, SLJIT_SUCCESS, TMP_REG1, and TMP_ZERO.

◆ sljit_emit_op1()

Definition at line 1892 of file sljitNativeRISCV_common.c.

References BYTE_DATA, CHECK, CHECK_ERROR, emit_op(), flags, HALF_DATA, INT_DATA, MOVE_OP, SIGNED_DATA, SLJIT_32, SLJIT_CLZ, SLJIT_CTZ, SLJIT_IMM, SLJIT_MOV, SLJIT_MOV32, SLJIT_MOV_P, SLJIT_MOV_S16, SLJIT_MOV_S32, SLJIT_MOV_S8, SLJIT_MOV_U16, SLJIT_MOV_U32, SLJIT_MOV_U8, SLJIT_REV, SLJIT_REV_S16, SLJIT_REV_S32, SLJIT_REV_U16, SLJIT_REV_U32, SLJIT_SUCCESS, SLJIT_UNREACHABLE, TMP_ZERO, and WORD_DATA.

◆ sljit_emit_op2()

Definition at line 1958 of file sljitNativeRISCV_common.c.

References CHECK, CHECK_ERROR, CUMULATIVE_OP, emit_op(), flags, IMM_OP, INT_DATA, SIGNED_DATA, SLJIT_32, SLJIT_ADD, SLJIT_ADDC, SLJIT_AND, SLJIT_ASHR, SLJIT_CURRENT_FLAGS_ADD, SLJIT_CURRENT_FLAGS_SUB, SLJIT_IMM, SLJIT_LSHR, SLJIT_MASHR, SLJIT_MLSHR, SLJIT_MSHL, SLJIT_MUL, SLJIT_OR, SLJIT_ROTL, SLJIT_ROTR, SLJIT_SHL, SLJIT_SUB, SLJIT_SUBC, SLJIT_SUCCESS, SLJIT_UNREACHABLE, and SLJIT_XOR.

Referenced by sljit_emit_op2r(), sljit_emit_op2u(), and sljit_emit_shift_into().

◆ sljit_emit_op2r()

Definition at line 2038 of file sljitNativeRISCV_common.c.

References ADD, CHECK, CHECK_ERROR, FAIL_IF, push_inst(), RD, RS1, RS2, SLJIT_32, SLJIT_ASSERT, sljit_emit_op2(), SLJIT_MUL, SLJIT_MULADD, SLJIT_SUCCESS, and TMP_REG2.

◆ sljit_emit_op2u() ◆ sljit_emit_op_custom() ◆ sljit_emit_op_dst()

Definition at line 2172 of file sljitNativeRISCV_common.c.

References ADDI, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, IMM_I, LOAD_DATA, sljit_compiler::local_size, push_inst(), RD, RETURN_ADDR_REG, RS1, SLJIT_ASSERT, SLJIT_FAST_ENTER, SLJIT_GET_RETURN_ADDRESS, SLJIT_MEM, SLJIT_MEM1, SLJIT_SP, SLJIT_SUCCESS, sw, TMP_REG2, and WORD_DATA.

◆ sljit_emit_op_flags()

Definition at line 2820 of file sljitNativeRISCV_common.c.

References ADDI, ALT_KEEP_CACHE, CHECK, CHECK_ERROR, CUMULATIVE_OP, emit_op(), emit_op_mem(), emit_op_mem2(), EQUAL_FLAG, FAIL_IF, IMM_I, IMM_OP, INT_DATA, invert, LOAD_DATA, OTHER_FLAG, push_inst(), RD, RS1, SIGNED_DATA, SLJIT_32, SLJIT_ADD, SLJIT_CURRENT_FLAGS_ADD, SLJIT_CURRENT_FLAGS_SUB, SLJIT_EQUAL, SLJIT_F_EQUAL, SLJIT_F_GREATER, SLJIT_F_GREATER_EQUAL, SLJIT_F_NOT_EQUAL, SLJIT_MEM, SLJIT_MOV32, SLJIT_NOT_EQUAL, SLJIT_NOT_OVERFLOW, SLJIT_OVERFLOW, SLJIT_SUCCESS, SLJIT_UNORDERED, SLJIT_UNORDERED_OR_EQUAL, SLJIT_UNORDERED_OR_GREATER, SLJIT_UNORDERED_OR_GREATER_EQUAL, SLJIT_UNORDERED_OR_LESS, SLJIT_UNORDERED_OR_LESS_EQUAL, SLJIT_UNORDERED_OR_NOT_EQUAL, SLTUI, TMP_REG1, TMP_REG2, WORD_DATA, and XORI.

◆ sljit_emit_op_src()

Definition at line 2145 of file sljitNativeRISCV_common.c.

References ADDI, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, IMM_I, JALR, LOAD_DATA, push_inst(), RD, RETURN_ADDR_REG, RS1, SLJIT_FAST_RETURN, SLJIT_PREFETCH_L1, SLJIT_PREFETCH_L2, SLJIT_PREFETCH_L3, SLJIT_PREFETCH_ONCE, SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN, SLJIT_SUCCESS, TMP_ZERO, and WORD_DATA.

◆ sljit_emit_return_to()

Definition at line 913 of file sljitNativeRISCV_common.c.

References ADDI, CHECK, CHECK_ERROR, emit_op_mem(), emit_stack_frame_release(), FAIL_IF, IMM_I, LOAD_DATA, sljit_compiler::options, push_inst(), RD, RS1, sljit_emit_ijump(), SLJIT_FIRST_SAVED_REG, SLJIT_JUMP, SLJIT_MEM, SLJIT_S0, TMP_REG1, and WORD_DATA.

◆ sljit_emit_return_void()

Definition at line 904 of file sljitNativeRISCV_common.c.

References CHECK, CHECK_ERROR, emit_stack_frame_release(), FAIL_IF, IMM_I, JALR, push_inst(), RD, RETURN_ADDR_REG, RS1, and TMP_ZERO.

◆ sljit_emit_select()

Definition at line 2907 of file sljitNativeRISCV_common.c.

References ADDI, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, get_jump_instruction(), IMM_I, INT_DATA, LOAD_DATA, load_immediate(), push_inst(), RD, RS1, ncbi::grid::netcache::search::fields::size, sljit_compiler::size, SLJIT_32, SLJIT_ASSERT, SLJIT_IMM, SLJIT_MEM, SLJIT_SUCCESS, TMP_REG1, and WORD_DATA.

◆ sljit_emit_shift_into()

Definition at line 2062 of file sljitNativeRISCV_common.c.

References ADDI, CHECK, CHECK_ERROR, emit_op_mem(), FAIL_IF, IMM_I, INT_DATA, LOAD_DATA, OR, push_inst(), RD, RS1, RS2, SLJIT_32, SLJIT_ASSERT, sljit_emit_op2(), SLJIT_IMM, SLJIT_MEM, SLJIT_MSHL, SLJIT_ROTL, SLJIT_ROTR, SLJIT_SHIFT_INTO_NON_ZERO, SLJIT_SHL, SLJIT_SUCCESS, SLL, SLLI, SRL, SRLI, SUB, TMP_REG1, TMP_REG2, TMP_ZERO, WORD_DATA, and XORI.

◆ sljit_generate_code()

Definition at line 499 of file sljitNativeRISCV_common.c.

References sljit_label::addr, sljit_jump::addr, sljit_const::addr, BRANCH_MAX, BRANCH_MIN, buf, sljit_compiler::buf, CHECK_ERROR_PTR, sljit_compiler::consts, detect_jump_type(), sljit_compiler::error, sljit_compiler::executable_offset, sljit_compiler::executable_size, sljit_jump::flags, JAL, JUMP_MAX, JUMP_MIN, sljit_compiler::jumps, label, sljit_jump::label, sljit_compiler::labels, load_addr_to_reg(), mov_addr_get_length(), sljit_jump::next, sljit_const::next, PTR_FAIL_WITH_EXEC_IF, RD, reduce_code_size(), RETURN_ADDR_REG, sljit_compiler::size, SLJIT_ASSERT, SLJIT_CACHE_FLUSH, SLJIT_ERR_COMPILED, SLJIT_UPDATE_WX_FLAGS, sljit_jump::target, TMP_ZERO, sljit_label::u, and sljit_jump::u.

◆ sljit_get_platform_name() ◆ sljit_get_register_index() ◆ sljit_has_cpu_feature() ◆ sljit_set_const() ◆ sljit_set_context() ◆ data_transfer_insts ◆ freg_map Initial value:

= {

0, 10, 11, 12, 13, 14, 15, 16, 17, 2, 3, 4, 5, 6, 7, 28, 29, 30, 31, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 9, 8, 0, 1,

}

Definition at line 57 of file sljitNativeRISCV_common.c.

Referenced by sljit_get_register_index().

◆ reg_map Initial value:

= {

0, 10, 11, 12, 13, 14, 15, 16, 17, 29, 30, 31, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 9, 8, 2, 6, 1, 7, 5, 28

}

Definition at line 53 of file sljitNativeRISCV_common.c.

Referenced by sljit_get_register_index().


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4