Home | History | Annotate | Download | only in sljit

Lines Matching refs:sljit_s32

272 static sljit_s32 cpu_has_sse2 = -1;
274 static sljit_s32 cpu_has_cmov = -1;
291 static SLJIT_INLINE void sljit_unaligned_store_s32(void *addr, sljit_s32 value)
356 static sljit_u8 get_jump_code(sljit_s32 type)
412 static sljit_u8* generate_far_jump_code(struct sljit_jump *jump, sljit_u8 *code_ptr, sljit_s32 type);
415 static sljit_u8* generate_fixed_jump(sljit_u8 *code_ptr, sljit_sw addr, sljit_s32 type);
418 static sljit_u8* generate_near_jump_code(struct sljit_jump *jump, sljit_u8 *code_ptr, sljit_u8 *code, sljit_s32 type)
420 sljit_s32 short_jump;
464 code_ptr += sizeof(sljit_s32);
559 SLJIT_ASSERT((sljit_sw)(jump->u.label->addr - (jump->addr + sizeof(sljit_s32))) >= HALFWORD_MIN && (sljit_sw)(jump->u.label->addr - (jump->addr + sizeof(sljit_s32))) <= HALFWORD_MAX);
560 sljit_unaligned_store_s32((void*)jump->addr, (sljit_s32)(jump->u.label->addr - (jump->addr + sizeof(sljit_s32))));
567 SLJIT_ASSERT((sljit_sw)(jump->u.target - (jump->addr + sizeof(sljit_s32))) >= HALFWORD_MIN && (sljit_sw)(jump->u.target - (jump->addr + sizeof(sljit_s32))) <= HALFWORD_MAX);
568 sljit_unaligned_store_s32((void*)jump->addr, (sljit_s32)(jump->u.target - (jump->addr + sizeof(sljit_s32))));
591 static sljit_s32 emit_cum_binary(struct sljit_compiler *compiler,
593 sljit_s32 dst, sljit_sw dstw,
594 sljit_s32 src1, sljit_sw src1w,
595 sljit_s32 src2, sljit_sw src2w);
597 static sljit_s32 emit_non_cum_binary(struct sljit_compiler *compiler,
599 sljit_s32 dst, sljit_sw dstw,
600 sljit_s32 src1, sljit_sw src1w,
601 sljit_s32 src2, sljit_sw src2w);
603 static sljit_s32 emit_mov(struct sljit_compiler *compiler,
604 sljit_s32 dst, sljit_sw dstw,
605 sljit_s32 src, sljit_sw srcw);
607 static SLJIT_INLINE sljit_s32 emit_save_flags(struct sljit_compiler *compiler)
630 static SLJIT_INLINE sljit_s32 emit_restore_flags(struct sljit_compiler *compiler, sljit_s32 keep_flags)
666 *(volatile sljit_s32*)alloca(local_size) = 0;
677 static sljit_s32 emit_mov(struct sljit_compiler *compiler,
678 sljit_s32 dst, sljit_sw dstw,
679 sljit_s32 src, sljit_sw srcw)
745 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op)
749 sljit_s32 size;
897 static sljit_s32 emit_mov_byte(struct sljit_compiler *compiler, sljit_s32 sign,
898 sljit_s32 dst, sljit_sw dstw,
899 sljit_s32 src, sljit_sw srcw)
902 sljit_s32 dst_r;
904 sljit_s32 work_r;
1042 static sljit_s32 emit_mov_half(struct sljit_compiler *compiler, sljit_s32 sign,
1043 sljit_s32 dst, sljit_sw dstw,
1044 sljit_s32 src, sljit_sw srcw)
1047 sljit_s32 dst_r;
1093 static sljit_s32 emit_unary(struct sljit_compiler *compiler, sljit_u8 opcode,
1094 sljit_s32 dst, sljit_sw dstw,
1095 sljit_s32 src, sljit_sw srcw)
1132 static sljit_s32 emit_not_with_flags(struct sljit_compiler *compiler,
1133 sljit_s32 dst, sljit_sw dstw,
1134 sljit_s32 src, sljit_sw srcw)
1172 static sljit_s32 emit_clz(struct sljit_compiler *compiler, sljit_s32 op_flags,
1173 sljit_s32 dst, sljit_sw dstw,
1174 sljit_s32 src, sljit_sw srcw)
1177 sljit_s32 dst_r;
1281 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op,
1282 sljit_s32 dst, sljit_sw dstw,
1283 sljit_s32 src, sljit_sw srcw)
1286 sljit_s32 update = 0;
1287 sljit_s32 op_flags = GET_ALL_FLAGS(op);
1289 sljit_s32 dst_is_ereg = 0;
1290 sljit_s32 src_is_ereg = 0;
1354 srcw = (sljit_s32)srcw;
1480 static sljit_s32 emit_cum_binary(struct sljit_compiler *compiler,
1482 sljit_s32 dst, sljit_sw dstw,
1483 sljit_s32 src1, sljit_sw src1w,
1484 sljit_s32 src2, sljit_sw src2w)
1596 static sljit_s32 emit_non_cum_binary(struct sljit_compiler *compiler,
1598 sljit_s32 dst, sljit_sw dstw,
1599 sljit_s32 src1, sljit_sw src1w,
1600 sljit_s32 src2, sljit_sw src2w)
1678 static sljit_s32 emit_mul(struct sljit_compiler *compiler,
1679 sljit_s32 dst, sljit_sw dstw,
1680 sljit_s32 src1, sljit_sw src1w,
1681 sljit_s32 src2, sljit_sw src2w)
1684 sljit_s32 dst_r;
1735 sljit_unaligned_store_s32(inst, (sljit_s32)src1w);
1778 sljit_unaligned_store_s32(inst, (sljit_s32)src2w);
1808 static sljit_s32 emit_lea_binary(struct sljit_compiler *compiler, sljit_s32 keep_flags,
1809 sljit_s32 dst, sljit_sw dstw,
1810 sljit_s32 src1, sljit_sw src1w,
1811 sljit_s32 src2, sljit_sw src2w)
1814 sljit_s32 dst_r, done = 0;
1835 inst = emit_x86_instruction(compiler, 1, dst_r, 0, SLJIT_MEM1(src1), (sljit_s32)src2w);
1848 inst = emit_x86_instruction(compiler, 1, dst_r, 0, SLJIT_MEM1(src2), (sljit_s32)src1w);
1867 static sljit_s32 emit_cmp_binary(struct sljit_compiler *compiler,
1868 sljit_s32 src1, sljit_sw src1w,
1869 sljit_s32 src2, sljit_sw src2w)
1918 static sljit_s32 emit_test_binary(struct sljit_compiler *compiler,
1919 sljit_s32 src1, sljit_sw src1w,
1920 sljit_s32 src2, sljit_sw src2w)
2028 static sljit_s32 emit_shift(struct sljit_compiler *compiler,
2030 sljit_s32 dst, sljit_sw dstw,
2031 sljit_s32 src1, sljit_sw src1w,
2032 sljit_s32 src2, sljit_sw src2w)
2117 static sljit_s32 emit_shift_with_flags(struct sljit_compiler *compiler,
2118 sljit_u8 mode, sljit_s32 set_flags,
2119 sljit_s32 dst, sljit_sw dstw,
2120 sljit_s32 src1, sljit_sw src1w,
2121 sljit_s32 src2, sljit_sw src2w)
2152 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compiler, sljit_s32 op,
2153 sljit_s32 dst, sljit_sw dstw,
2154 sljit_s32 src1, sljit_sw src1w,
2155 sljit_s32 src2, sljit_sw src2w)
2247 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg)
2257 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_s32 reg)
2263 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_compiler *compiler,
2264 void *instruction, sljit_s32 size)
2283 static sljit_s32 sse2_data[3 + (4 + 4) * 2];
2284 static sljit_s32 *sse2_buffer;
2288 sse2_buffer = (sljit_s32*)(((sljit_uw)sse2_data + 15) & ~0xf);
2299 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_is_fpu_available(void)
2312 static sljit_s32 emit_sse2(struct sljit_compiler *compiler, sljit_u8 opcode,
2313 sljit_s32 single, sljit_s32 xmm1, sljit_s32 xmm2, sljit_sw xmm2w)
2324 static sljit_s32 emit_sse2_logic(struct sljit_compiler *compiler, sljit_u8 opcode,
2325 sljit_s32 pref66, sljit_s32 xmm1, sljit_s32 xmm2, sljit_sw xmm2w)
2336 static SLJIT_INLINE sljit_s32 emit_sse2_load(struct sljit_compiler *compiler,
2337 sljit_s32 single, sljit_s32 dst, sljit_s32 src, sljit_sw srcw)
2342 static SLJIT_INLINE sljit_s32 emit_sse2_store(struct sljit_compiler *compiler,
2343 sljit_s32 single, sljit_s32 dst, sljit_sw dstw, sljit_s32 src)
2348 static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_sw_from_f64(struct sljit_compiler *compiler, sljit_s32 op,
2349 sljit_s32 dst, sljit_sw dstw,
2350 sljit_s32 src, sljit_sw srcw)
2352 sljit_s32 dst_r = SLOW_IS_REG(dst) ? dst : TMP_REG1;
2370 static SLJIT_INLINE sljit_s32 sljit_emit_fop1_conv_f64_from_sw(struct sljit_compiler *compiler, sljit_s32 op,
2371 sljit_s32 dst, sljit_sw dstw,
2372 sljit_s32 src, sljit_sw srcw)
2374 sljit_s32 dst_r = FAST_IS_REG(dst) ? dst : TMP_FREG;
2385 srcw = (sljit_s32)srcw;
2405 static SLJIT_INLINE sljit_s32 sljit_emit_fop1_cmp(struct sljit_compiler *compiler, sljit_s32 op,
2406 sljit_s32 src1, sljit_sw src1w,
2407 sljit_s32 src2, sljit_sw src2w)
2417 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler *compiler, sljit_s32 op,
2418 sljit_s32 dst, sljit_sw dstw,
2419 sljit_s32 src, sljit_sw srcw)
2421 sljit_s32 dst_r;
2483 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler *compiler, sljit_s32 op,
2484 sljit_s32 dst, sljit_sw dstw,
2485 sljit_s32 src1, sljit_sw src1w,
2486 sljit_s32 src2, sljit_sw src2w)
2488 sljit_s32 dst_r;
2577 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 type)
2614 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src, sljit_sw srcw)
2683 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_s32 op,
2684 sljit_s32 dst, sljit_sw dstw,
2685 sljit_s32 src, sljit_sw srcw,
2686 sljit_s32 type)
2691 sljit_s32 reg;
2694 sljit_s32 dst_save = dst;
2871 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_local_base(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw offset)
2902 SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value)
2907 sljit_s32 reg;
2963 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_x86_is_sse2_available(void)
2974 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_x86_is_cmov_available(void)
2981 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_x86_emit_cmov(struct sljit_compiler *compiler,
2982 sljit_s32 type,
2983 sljit_s32 dst_reg,
2984 sljit_s32 src, sljit_sw srcw)