Lines Matching refs:compiler

330 static sljit_s32 push_inst_debug(struct sljit_compiler *compiler, sljit_ins ins, int line)  in push_inst_debug()  argument
332 sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); in push_inst_debug()
335 compiler->size++; in push_inst_debug()
341 static sljit_s32 push_inst_nodebug(struct sljit_compiler *compiler, sljit_ins ins) in push_inst_nodebug() argument
343 sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); in push_inst_nodebug()
346 compiler->size++; in push_inst_nodebug()
352 static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins) in push_inst() argument
354 sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); in push_inst()
357 compiler->size++; in push_inst()
380 push_inst(compiler, encoding)
383 push_3_buffer(compiler, opcode, dst, srca, srcb, __LINE__)
386 push_2_buffer(compiler, opcode, dst, src, __LINE__)
389 push_jr_buffer(compiler, TILEGX_OPC_JR, reg, __LINE__)
392 push_3_buffer(compiler, TILEGX_OPC_ADD, dst, srca, srcb, __LINE__)
395 push_3_buffer(compiler, TILEGX_OPC_SUB, dst, srca, srcb, __LINE__)
398 push_3_buffer(compiler, TILEGX_OPC_MULX, dst, srca, srcb, __LINE__)
401 push_3_buffer(compiler, TILEGX_OPC_NOR, dst, srca, srcb, __LINE__)
404 push_3_buffer(compiler, TILEGX_OPC_OR, dst, srca, srcb, __LINE__)
407 push_3_buffer(compiler, TILEGX_OPC_XOR, dst, srca, srcb, __LINE__)
410 push_3_buffer(compiler, TILEGX_OPC_AND, dst, srca, srcb, __LINE__)
413 push_2_buffer(compiler, TILEGX_OPC_CLZ, dst, src, __LINE__)
416 push_3_buffer(compiler, TILEGX_OPC_SHLI, dst, srca, srcb, __LINE__)
419 push_3_buffer(compiler, TILEGX_OPC_SHRUI, dst, srca, imm, __LINE__)
422 push_3_buffer(compiler, TILEGX_OPC_XORI, dst, srca, imm, __LINE__)
425 push_3_buffer(compiler, TILEGX_OPC_ORI, dst, srca, imm, __LINE__)
428 push_3_buffer(compiler, TILEGX_OPC_CMPLTU, dst, srca, srcb, __LINE__)
431 push_3_buffer(compiler, TILEGX_OPC_CMPLTS, dst, srca, srcb, __LINE__)
434 push_3_buffer(compiler, TILEGX_OPC_CMPLTUI, dst, srca, imm, __LINE__)
437 push_3_buffer(compiler, TILEGX_OPC_CMOVNEZ, dst, srca, srcb, __LINE__)
440 push_3_buffer(compiler, TILEGX_OPC_CMOVEQZ, dst, srca, srcb, __LINE__)
443 push_3_buffer(compiler, TILEGX_OPC_ADDLI, dst, srca, srcb, __LINE__)
446 push_3_buffer(compiler, TILEGX_OPC_SHL16INSLI, dst, srca, srcb, __LINE__)
449 push_3_buffer(compiler, TILEGX_OPC_LD_ADD, dst, addr, adjust, __LINE__)
452 push_3_buffer(compiler, TILEGX_OPC_ST_ADD, src, addr, adjust, __LINE__)
455 push_2_buffer(compiler, TILEGX_OPC_LD, dst, addr, __LINE__)
458 push_4_buffer(compiler, TILEGX_OPC_BFEXTU, dst, src, start, end, __LINE__)
461 push_4_buffer(compiler, TILEGX_OPC_BFEXTS, dst, src, start, end, __LINE__)
464 push_inst(compiler, ADD_X1 | DEST_X1(dest) | SRCA_X1(srca) | SRCB_X1(srcb))
467 push_inst(compiler, ADDI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM8_X1(imm))
470 push_inst(compiler, ADDLI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM16_X1(imm))
473 push_inst(compiler, SHL16INSLI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM16_X1(imm))
476 push_inst(compiler, JALR_X1 | SRCA_X1(reg))
479 push_inst(compiler, JR_X1 | SRCA_X1(reg))
624 static sljit_s32 update_buffer(struct sljit_compiler *compiler) in update_buffer() argument
652 return push_inst_nodebug(compiler, bits); in update_buffer()
654 return push_inst(compiler, bits); in update_buffer()
693 return push_inst_nodebug(compiler, bits); in update_buffer()
695 return push_inst(compiler, bits); in update_buffer()
725 return push_inst_nodebug(compiler, bits); in update_buffer()
727 return push_inst(compiler, bits); in update_buffer()
736 static sljit_s32 flush_buffer(struct sljit_compiler *compiler) in flush_buffer() argument
739 FAIL_IF(update_buffer(compiler)); in flush_buffer()
744 static sljit_s32 push_4_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int o… in push_4_buffer() argument
747 FAIL_IF(update_buffer(compiler)); in push_4_buffer()
764 static sljit_s32 push_3_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int o… in push_3_buffer() argument
767 FAIL_IF(update_buffer(compiler)); in push_3_buffer()
825 static sljit_s32 push_2_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int o… in push_2_buffer() argument
828 FAIL_IF(update_buffer(compiler)); in push_2_buffer()
870 static sljit_s32 push_0_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int line) in push_0_buffer() argument
873 FAIL_IF(update_buffer(compiler)); in push_0_buffer()
886 static sljit_s32 push_jr_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int … in push_jr_buffer() argument
889 FAIL_IF(update_buffer(compiler)); in push_jr_buffer()
900 return flush_buffer(compiler); in push_jr_buffer()
996 SLJIT_API_FUNC_ATTRIBUTE void * sljit_generate_code(struct sljit_compiler *compiler) in sljit_generate_code() argument
1011 CHECK_PTR(check_sljit_generate_code(compiler)); in sljit_generate_code()
1012 reverse_buf(compiler); in sljit_generate_code()
1014 code = (sljit_ins *)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins)); in sljit_generate_code()
1016 buf = compiler->buf; in sljit_generate_code()
1020 label = compiler->labels; in sljit_generate_code()
1021 jump = compiler->jumps; in sljit_generate_code()
1022 const_ = compiler->consts; in sljit_generate_code()
1071 SLJIT_ASSERT(code_ptr - code <= (sljit_sw)compiler->size); in sljit_generate_code()
1073 jump = compiler->jumps; in sljit_generate_code()
1114 compiler->error = SLJIT_ERR_COMPILED; in sljit_generate_code()
1115 compiler->executable_size = (code_ptr - code) * sizeof(sljit_ins); in sljit_generate_code()
1120 static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm) in load_immediate() argument
1143 static sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm, int fl… in emit_const() argument
1158 static sljit_s32 emit_const_64(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm, int… in emit_const_64() argument
1175 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compiler *compiler, in sljit_emit_enter() argument
1183 …CHECK(check_sljit_emit_enter(compiler, options, args, scratches, saveds, fscratches, fsaveds, loca… in sljit_emit_enter()
1184 set_emit_enter(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size); in sljit_emit_enter()
1188 compiler->local_size = local_size; in sljit_emit_enter()
1195 FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, local_size)); in sljit_emit_enter()
1225 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compiler *compiler, in sljit_set_context() argument
1230 …CHECK(check_sljit_set_context(compiler, options, args, scratches, saveds, fscratches, fsaveds, loc… in sljit_set_context()
1231 set_set_context(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size); in sljit_set_context()
1234 compiler->local_size = (local_size + 7) & ~7; in sljit_set_context()
1239 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compiler *compiler, sljit_s32 op,… in sljit_emit_return() argument
1247 CHECK(check_sljit_emit_return(compiler, op, src, srcw)); in sljit_emit_return()
1249 FAIL_IF(emit_mov_before_return(compiler, op, src, srcw)); in sljit_emit_return()
1251 local_size = compiler->local_size; in sljit_emit_return()
1255 FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, local_size)); in sljit_emit_return()
1266 saveds = compiler->saveds; in sljit_emit_return()
1273 for (i = compiler->scratches; i >= SLJIT_FIRST_SAVED_REG; i--) { in sljit_emit_return()
1277 if (compiler->local_size <= SIMM_16BIT_MAX) in sljit_emit_return()
1278 FAIL_IF(ADDLI(SLJIT_LOCALS_REG_mapped, SLJIT_LOCALS_REG_mapped, compiler->local_size)); in sljit_emit_return()
1288 static sljit_s32 getput_arg_fast(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg_ar… in getput_arg_fast() argument
1340 static sljit_s32 getput_arg(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg_ar, slj… in getput_arg() argument
1367 if (argw == compiler->cache_argw) { in getput_arg()
1369 if (arg == compiler->cache_arg) { in getput_arg()
1376 if ((SLJIT_MEM | (arg & OFFS_REG_MASK)) == compiler->cache_arg) { in getput_arg()
1378 compiler->cache_arg = arg; in getput_arg()
1379 compiler->cache_argw = argw; in getput_arg()
1394 if ((SLJIT_MEM | (arg & OFFS_REG_MASK)) == compiler->cache_arg) { in getput_arg()
1405 compiler->cache_arg = SLJIT_MEM | (arg & OFFS_REG_MASK); in getput_arg()
1406 compiler->cache_argw = argw; in getput_arg()
1412 compiler->cache_arg = arg; in getput_arg()
1413 compiler->cache_argw = argw; in getput_arg()
1458 if (compiler->cache_arg == SLJIT_MEM in getput_arg()
1459 && argw - compiler->cache_argw <= SIMM_16BIT_MAX in getput_arg()
1460 && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { in getput_arg()
1461 if (argw != compiler->cache_argw) { in getput_arg()
1462 FAIL_IF(ADD(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); in getput_arg()
1463 compiler->cache_argw = argw; in getput_arg()
1468 compiler->cache_arg = SLJIT_MEM; in getput_arg()
1469 compiler->cache_argw = argw; in getput_arg()
1470 FAIL_IF(load_immediate(compiler, TMP_REG3_mapped, argw)); in getput_arg()
1481 if (compiler->cache_arg == arg in getput_arg()
1482 && argw - compiler->cache_argw <= SIMM_16BIT_MAX in getput_arg()
1483 && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { in getput_arg()
1484 if (argw != compiler->cache_argw) { in getput_arg()
1485 FAIL_IF(ADDLI(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); in getput_arg()
1486 compiler->cache_argw = argw; in getput_arg()
1495 if (compiler->cache_arg == SLJIT_MEM in getput_arg()
1496 && argw - compiler->cache_argw <= SIMM_16BIT_MAX in getput_arg()
1497 && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { in getput_arg()
1498 if (argw != compiler->cache_argw) in getput_arg()
1499 FAIL_IF(ADDLI(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); in getput_arg()
1501 compiler->cache_arg = SLJIT_MEM; in getput_arg()
1502 FAIL_IF(load_immediate(compiler, TMP_REG3_mapped, argw)); in getput_arg()
1505 compiler->cache_argw = argw; in getput_arg()
1517 compiler->cache_arg = arg; in getput_arg()
1533 static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s… in emit_op_mem() argument
1535 if (getput_arg_fast(compiler, flags, reg_ar, arg, argw)) in emit_op_mem()
1536 return compiler->error; in emit_op_mem()
1538 compiler->cache_arg = 0; in emit_op_mem()
1539 compiler->cache_argw = 0; in emit_op_mem()
1540 return getput_arg(compiler, flags, reg_ar, arg, argw, 0, 0); in emit_op_mem()
1543 static SLJIT_INLINE sljit_s32 emit_op_mem2(struct sljit_compiler *compiler, sljit_s32 flags, sljit_… in emit_op_mem2() argument
1545 if (getput_arg_fast(compiler, flags, reg, arg1, arg1w)) in emit_op_mem2()
1546 return compiler->error; in emit_op_mem2()
1547 return getput_arg(compiler, flags, reg, arg1, arg1w, arg2, arg2w); in emit_op_mem2()
1550 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_s32… in sljit_emit_fast_enter() argument
1553 CHECK(check_sljit_emit_fast_enter(compiler, dst, dstw)); in sljit_emit_fast_enter()
1564 return emit_op_mem(compiler, WORD_DATA, RA, dst, dstw); in sljit_emit_fast_enter()
1567 static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sljit_s32 op, sljit_s… in emit_single_op() argument
1775 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, src2)); in emit_single_op()
1834 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, -src2)); in emit_single_op()
1860 FAIL_IF(load_immediate(compiler, TMP_REG2_mapped, src2)); in emit_single_op()
1871 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, src2)); \ in emit_single_op()
1874 compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1878 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1883 compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1887 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1907 compiler, op_imm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1911 compiler, op_imm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1916 compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1920 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1941 static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 flags, sljit_s32 … in emit_op() argument
1953 compiler->cache_arg = 0; in emit_op()
1954 compiler->cache_argw = 0; in emit_op()
1967 …} else if ((dst & SLJIT_MEM) && !getput_arg_fast(compiler, flags | ARG_TEST, TMP_REG1_mapped, dst,… in emit_op()
2002 FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, src1w)); in emit_op()
2007 if (getput_arg_fast(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w)) in emit_op()
2008 FAIL_IF(compiler->error); in emit_op()
2023 FAIL_IF(load_immediate(compiler, reg_map[sugg_src2_r], src2w)); in emit_op()
2032 if (getput_arg_fast(compiler, flags | LOAD_DATA, reg_map[sugg_src2_r], src2, src2w)) in emit_op()
2033 FAIL_IF(compiler->error); in emit_op()
2042 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2_mapped, src2, src2w, src1, src1w)); in emit_op()
2043 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); in emit_op()
2045 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, src2, src2w)); in emit_op()
2046 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2_mapped, src2, src2w, dst, dstw)); in emit_op()
2049 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); in emit_op()
2051 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, reg_map[sugg_src2_r], src2, src2w, dst, dstw)); in emit_op()
2053 FAIL_IF(emit_single_op(compiler, op, flags, dst_r, src1_r, src2_r)); in emit_op()
2057 getput_arg_fast(compiler, flags, reg_map[dst_r], dst, dstw); in emit_op()
2058 return compiler->error; in emit_op()
2061 return getput_arg(compiler, flags, reg_map[dst_r], dst, dstw, 0, 0); in emit_op()
2067 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_s32 o… in sljit_emit_op_flags() argument
2074 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, src, srcw, type)); in sljit_emit_op_flags()
2082 compiler->cache_arg = 0; in sljit_emit_op_flags()
2083 compiler->cache_argw = 0; in sljit_emit_op_flags()
2086 FAIL_IF(emit_op_mem2(compiler, mem_type | LOAD_DATA, TMP_REG1_mapped, src, srcw, dst, dstw)); in sljit_emit_op_flags()
2138 …return emit_op(compiler, op | flags, mem_type | CUMULATIVE_OP | LOGICAL_OP | IMM_OP | ALT_KEEP_CAC… in sljit_emit_op_flags()
2142 return emit_op_mem(compiler, mem_type, dst_ar, dst, dstw); in sljit_emit_op_flags()
2150 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op) { in sljit_emit_op0() argument
2152 CHECK(check_sljit_emit_op0(compiler, op)); in sljit_emit_op0()
2157 return push_0_buffer(compiler, TILEGX_OPC_FNOP, __LINE__); in sljit_emit_op0()
2177 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op, sl… in sljit_emit_op1() argument
2180 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
2187 return emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2190 return emit_op(compiler, SLJIT_MOV_U32, INT_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2193 …return emit_op(compiler, SLJIT_MOV_S32, INT_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2196 …return emit_op(compiler, SLJIT_MOV_U8, BYTE_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ?… in sljit_emit_op1()
2199 …return emit_op(compiler, SLJIT_MOV_S8, BYTE_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, (src … in sljit_emit_op1()
2202 …return emit_op(compiler, SLJIT_MOV_U16, HALF_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) … in sljit_emit_op1()
2205 …return emit_op(compiler, SLJIT_MOV_S16, HALF_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, (src… in sljit_emit_op1()
2209 return emit_op(compiler, SLJIT_MOV, WORD_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2212 return emit_op(compiler, SLJIT_MOV_U32, INT_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2215 …return emit_op(compiler, SLJIT_MOV_S32, INT_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, … in sljit_emit_op1()
2218 …return emit_op(compiler, SLJIT_MOV_U8, BYTE_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src &… in sljit_emit_op1()
2221 …return emit_op(compiler, SLJIT_MOV_S8, BYTE_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, … in sljit_emit_op1()
2224 …return emit_op(compiler, SLJIT_MOV_U16, HALF_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src … in sljit_emit_op1()
2227 …return emit_op(compiler, SLJIT_MOV_S16, HALF_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1,… in sljit_emit_op1()
2230 return emit_op(compiler, op, 0, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2233 …return emit_op(compiler, SLJIT_SUB | GET_ALL_FLAGS(op), IMM_OP, dst, dstw, SLJIT_IMM, 0, src, srcw… in sljit_emit_op1()
2236 …return emit_op(compiler, op, (op & SLJIT_I32_OP) ? INT_DATA : WORD_DATA, dst, dstw, TMP_REG1, 0, s… in sljit_emit_op1()
2242 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compiler, sljit_s32 op, sl… in sljit_emit_op2() argument
2245 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_op2()
2253 return emit_op(compiler, op, CUMULATIVE_OP | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2257 return emit_op(compiler, op, IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2260 return emit_op(compiler, op, CUMULATIVE_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2265 …return emit_op(compiler, op, CUMULATIVE_OP | LOGICAL_OP | IMM_OP, dst, dstw, src1, src1w, src2, sr… in sljit_emit_op2()
2275 return emit_op(compiler, op, IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2281 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, in sljit_emit_op_src() argument
2285 CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); in sljit_emit_op_src()
2294 FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RA, src, srcw)); in sljit_emit_op_src()
2304 SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label(struct sljit_compiler *compiler) in sljit_emit_label() argument
2308 flush_buffer(compiler); in sljit_emit_label()
2311 CHECK_PTR(check_sljit_emit_label(compiler)); in sljit_emit_label()
2313 if (compiler->last_label && compiler->last_label->size == compiler->size) in sljit_emit_label()
2314 return compiler->last_label; in sljit_emit_label()
2316 label = (struct sljit_label *)ensure_abuf(compiler, sizeof(struct sljit_label)); in sljit_emit_label()
2318 set_label(label, compiler); in sljit_emit_label()
2322 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compiler *compiler, sljit_s32 type… in sljit_emit_ijump() argument
2327 flush_buffer(compiler); in sljit_emit_ijump()
2330 CHECK(check_sljit_emit_ijump(compiler, type, src, srcw)); in sljit_emit_ijump()
2344 FAIL_IF(emit_const(compiler, reg_map[PIC_ADDR_REG], srcw, 1)); in sljit_emit_ijump()
2347 FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); in sljit_emit_ijump()
2373 jump = (struct sljit_jump *)ensure_abuf(compiler, sizeof(struct sljit_jump)); in sljit_emit_ijump()
2375 set_jump(jump, compiler, JUMP_ADDR | ((type >= SLJIT_FAST_CALL) ? IS_JAL : 0)); in sljit_emit_ijump()
2377 FAIL_IF(emit_const(compiler, TMP_REG2_mapped, 0, 1)); in sljit_emit_ijump()
2381 jump->addr = compiler->size; in sljit_emit_ijump()
2384 jump->addr = compiler->size; in sljit_emit_ijump()
2391 FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); in sljit_emit_ijump()
2392 flush_buffer(compiler); in sljit_emit_ijump()
2398 jump->addr = compiler->size; in sljit_emit_ijump()
2411 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump * sljit_emit_jump(struct sljit_compiler *compiler, sljit… in sljit_emit_jump() argument
2417 flush_buffer(compiler); in sljit_emit_jump()
2420 CHECK_PTR(check_sljit_emit_jump(compiler, type)); in sljit_emit_jump()
2422 jump = (struct sljit_jump *)ensure_abuf(compiler, sizeof(struct sljit_jump)); in sljit_emit_jump()
2424 set_jump(jump, compiler, type & SLJIT_REWRITABLE_JUMP); in sljit_emit_jump()
2479 PTR_FAIL_IF(emit_const(compiler, TMP_REG2_mapped, 0, 1)); in sljit_emit_jump()
2481 jump->addr = compiler->size; in sljit_emit_jump()
2488 jump->addr = compiler->size; in sljit_emit_jump()
2495 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler *compiler, sljit_s32 op, s… in sljit_emit_fop1() argument
2500 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler *compiler, sljit_s32 op, s… in sljit_emit_fop2() argument
2505 SLJIT_API_FUNC_ATTRIBUTE struct sljit_const * sljit_emit_const(struct sljit_compiler *compiler, slj… in sljit_emit_const() argument
2510 flush_buffer(compiler); in sljit_emit_const()
2513 CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value)); in sljit_emit_const()
2516 const_ = (struct sljit_const *)ensure_abuf(compiler, sizeof(struct sljit_const)); in sljit_emit_const()
2518 set_const(const_, compiler); in sljit_emit_const()
2522 PTR_FAIL_IF(emit_const_64(compiler, reg, init_value, 1)); in sljit_emit_const()
2525 PTR_FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, TMP_REG2, 0)); in sljit_emit_const()
2556 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_compiler *compiler, in sljit_emit_op_custom() argument
2560 CHECK(check_sljit_emit_op_custom(compiler, instruction, size)); in sljit_emit_op_custom()