Lines Matching refs:compiler

330 static sljit_si 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_si 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_si 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_si 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_si flush_buffer(struct sljit_compiler *compiler) in flush_buffer() argument
739 FAIL_IF(update_buffer(compiler)); in flush_buffer()
744 static sljit_si push_4_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int op… in push_4_buffer() argument
747 FAIL_IF(update_buffer(compiler)); in push_4_buffer()
764 static sljit_si push_3_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int op… in push_3_buffer() argument
767 FAIL_IF(update_buffer(compiler)); in push_3_buffer()
825 static sljit_si push_2_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int op… in push_2_buffer() argument
828 FAIL_IF(update_buffer(compiler)); in push_2_buffer()
870 static sljit_si 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_si push_jr_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int l… 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_si load_immediate(struct sljit_compiler *compiler, sljit_si dst_ar, sljit_sw imm) in load_immediate() argument
1143 static sljit_si emit_const(struct sljit_compiler *compiler, sljit_si dst_ar, sljit_sw imm, int flus… in emit_const() argument
1158 static sljit_si emit_const_64(struct sljit_compiler *compiler, sljit_si dst_ar, sljit_sw imm, int f… in emit_const_64() argument
1175 SLJIT_API_FUNC_ATTRIBUTE sljit_si 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_si 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_si sljit_emit_return(struct sljit_compiler *compiler, sljit_si op, s… 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_si getput_arg_fast(struct sljit_compiler *compiler, sljit_si flags, sljit_si reg_ar, s… in getput_arg_fast() argument
1340 static sljit_si getput_arg(struct sljit_compiler *compiler, sljit_si flags, sljit_si reg_ar, sljit_… 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_si emit_op_mem(struct sljit_compiler *compiler, sljit_si flags, sljit_si … 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_si emit_op_mem2(struct sljit_compiler *compiler, sljit_si flags, sljit_si… 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_si sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_si d… 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 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_si … in sljit_emit_fast_return() argument
1570 CHECK(check_sljit_emit_fast_return(compiler, src, srcw)); in sljit_emit_fast_return()
1577 FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RA, src, srcw)); in sljit_emit_fast_return()
1580 FAIL_IF(load_immediate(compiler, RA, srcw)); in sljit_emit_fast_return()
1585 static SLJIT_INLINE sljit_si emit_single_op(struct sljit_compiler *compiler, sljit_si op, sljit_si … in emit_single_op() argument
1793 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, src2)); in emit_single_op()
1852 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, -src2)); in emit_single_op()
1878 FAIL_IF(load_immediate(compiler, TMP_REG2_mapped, src2)); in emit_single_op()
1889 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, src2)); \ in emit_single_op()
1892 compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1896 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1901 compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1905 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1925 compiler, op_imm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1929 compiler, op_imm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1934 compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1938 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1959 static sljit_si emit_op(struct sljit_compiler *compiler, sljit_si op, sljit_si flags, sljit_si dst,… in emit_op() argument
1971 compiler->cache_arg = 0; in emit_op()
1972 compiler->cache_argw = 0; in emit_op()
1985 …} else if ((dst & SLJIT_MEM) && !getput_arg_fast(compiler, flags | ARG_TEST, TMP_REG1_mapped, dst,… in emit_op()
2020 FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, src1w)); in emit_op()
2025 if (getput_arg_fast(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w)) in emit_op()
2026 FAIL_IF(compiler->error); in emit_op()
2041 FAIL_IF(load_immediate(compiler, reg_map[sugg_src2_r], src2w)); in emit_op()
2050 if (getput_arg_fast(compiler, flags | LOAD_DATA, reg_map[sugg_src2_r], src2, src2w)) in emit_op()
2051 FAIL_IF(compiler->error); in emit_op()
2060 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2_mapped, src2, src2w, src1, src1w)); in emit_op()
2061 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); in emit_op()
2063 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, src2, src2w)); in emit_op()
2064 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2_mapped, src2, src2w, dst, dstw)); in emit_op()
2067 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); in emit_op()
2069 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, reg_map[sugg_src2_r], src2, src2w, dst, dstw)); in emit_op()
2071 FAIL_IF(emit_single_op(compiler, op, flags, dst_r, src1_r, src2_r)); in emit_op()
2075 getput_arg_fast(compiler, flags, reg_map[dst_r], dst, dstw); in emit_op()
2076 return compiler->error; in emit_op()
2079 return getput_arg(compiler, flags, reg_map[dst_r], dst, dstw, 0, 0); in emit_op()
2085 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_si op,… in sljit_emit_op_flags() argument
2092 CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, src, srcw, type)); in sljit_emit_op_flags()
2103 compiler->cache_arg = 0; in sljit_emit_op_flags()
2104 compiler->cache_argw = 0; in sljit_emit_op_flags()
2107 FAIL_IF(emit_op_mem2(compiler, mem_type | LOAD_DATA, TMP_REG1_mapped, src, srcw, dst, dstw)); in sljit_emit_op_flags()
2159 …return emit_op(compiler, op | flags, mem_type | CUMULATIVE_OP | LOGICAL_OP | IMM_OP | ALT_KEEP_CAC… in sljit_emit_op_flags()
2163 return emit_op_mem(compiler, mem_type, dst_ar, dst, dstw); in sljit_emit_op_flags()
2171 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op0(struct sljit_compiler *compiler, sljit_si op) { in sljit_emit_op0() argument
2173 CHECK(check_sljit_emit_op0(compiler, op)); in sljit_emit_op0()
2178 return push_0_buffer(compiler, TILEGX_OPC_FNOP, __LINE__); in sljit_emit_op0()
2193 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op1(struct sljit_compiler *compiler, sljit_si op, slji… in sljit_emit_op1() argument
2196 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
2203 return emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2206 return emit_op(compiler, SLJIT_MOV_UI, INT_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2209 return emit_op(compiler, SLJIT_MOV_SI, INT_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2212 …return emit_op(compiler, SLJIT_MOV_UB, BYTE_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ?… in sljit_emit_op1()
2215 …return emit_op(compiler, SLJIT_MOV_SB, BYTE_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, (src … in sljit_emit_op1()
2218 …return emit_op(compiler, SLJIT_MOV_UH, HALF_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ?… in sljit_emit_op1()
2221 …return emit_op(compiler, SLJIT_MOV_SH, HALF_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, (src … in sljit_emit_op1()
2225 return emit_op(compiler, SLJIT_MOV, WORD_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2228 return emit_op(compiler, SLJIT_MOV_UI, INT_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2231 …return emit_op(compiler, SLJIT_MOV_SI, INT_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0… in sljit_emit_op1()
2234 …return emit_op(compiler, SLJIT_MOV_UB, BYTE_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src &… in sljit_emit_op1()
2237 …return emit_op(compiler, SLJIT_MOV_SB, BYTE_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, … in sljit_emit_op1()
2240 …return emit_op(compiler, SLJIT_MOV_UH, HALF_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src &… in sljit_emit_op1()
2243 …return emit_op(compiler, SLJIT_MOV_SH, HALF_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, … in sljit_emit_op1()
2246 return emit_op(compiler, op, 0, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2249 …return emit_op(compiler, SLJIT_SUB | GET_ALL_FLAGS(op), IMM_OP, dst, dstw, SLJIT_IMM, 0, src, srcw… in sljit_emit_op1()
2252 …return emit_op(compiler, op, (op & SLJIT_INT_OP) ? INT_DATA : WORD_DATA, dst, dstw, TMP_REG1, 0, s… in sljit_emit_op1()
2258 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op2(struct sljit_compiler *compiler, sljit_si op, slji… in sljit_emit_op2() argument
2261 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_op2()
2269 return emit_op(compiler, op, CUMULATIVE_OP | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2273 return emit_op(compiler, op, IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2276 return emit_op(compiler, op, CUMULATIVE_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2281 …return emit_op(compiler, op, CUMULATIVE_OP | LOGICAL_OP | IMM_OP, dst, dstw, src1, src1w, src2, sr… in sljit_emit_op2()
2291 return emit_op(compiler, op, IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2297 SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label(struct sljit_compiler *compiler) in sljit_emit_label() argument
2301 flush_buffer(compiler); in sljit_emit_label()
2304 CHECK_PTR(check_sljit_emit_label(compiler)); in sljit_emit_label()
2306 if (compiler->last_label && compiler->last_label->size == compiler->size) in sljit_emit_label()
2307 return compiler->last_label; in sljit_emit_label()
2309 label = (struct sljit_label *)ensure_abuf(compiler, sizeof(struct sljit_label)); in sljit_emit_label()
2311 set_label(label, compiler); in sljit_emit_label()
2315 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_ijump(struct sljit_compiler *compiler, sljit_si type, … in sljit_emit_ijump() argument
2320 flush_buffer(compiler); in sljit_emit_ijump()
2323 CHECK(check_sljit_emit_ijump(compiler, type, src, srcw)); in sljit_emit_ijump()
2337 FAIL_IF(emit_const(compiler, reg_map[PIC_ADDR_REG], srcw, 1)); in sljit_emit_ijump()
2340 FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); in sljit_emit_ijump()
2366 jump = (struct sljit_jump *)ensure_abuf(compiler, sizeof(struct sljit_jump)); in sljit_emit_ijump()
2368 set_jump(jump, compiler, JUMP_ADDR | ((type >= SLJIT_FAST_CALL) ? IS_JAL : 0)); in sljit_emit_ijump()
2370 FAIL_IF(emit_const(compiler, TMP_REG2_mapped, 0, 1)); in sljit_emit_ijump()
2374 jump->addr = compiler->size; in sljit_emit_ijump()
2377 jump->addr = compiler->size; in sljit_emit_ijump()
2384 FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); in sljit_emit_ijump()
2385 flush_buffer(compiler); in sljit_emit_ijump()
2391 jump->addr = compiler->size; in sljit_emit_ijump()
2404 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump * sljit_emit_jump(struct sljit_compiler *compiler, sljit… in sljit_emit_jump() argument
2410 flush_buffer(compiler); in sljit_emit_jump()
2413 CHECK_PTR(check_sljit_emit_jump(compiler, type)); in sljit_emit_jump()
2415 jump = (struct sljit_jump *)ensure_abuf(compiler, sizeof(struct sljit_jump)); in sljit_emit_jump()
2417 set_jump(jump, compiler, type & SLJIT_REWRITABLE_JUMP); in sljit_emit_jump()
2472 PTR_FAIL_IF(emit_const(compiler, TMP_REG2_mapped, 0, 1)); in sljit_emit_jump()
2474 jump->addr = compiler->size; in sljit_emit_jump()
2481 jump->addr = compiler->size; in sljit_emit_jump()
2493 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop1(struct sljit_compiler *compiler, sljit_si op, slj… in sljit_emit_fop1() argument
2498 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop2(struct sljit_compiler *compiler, sljit_si op, slj… in sljit_emit_fop2() argument
2503 SLJIT_API_FUNC_ATTRIBUTE struct sljit_const * sljit_emit_const(struct sljit_compiler *compiler, slj… in sljit_emit_const() argument
2508 flush_buffer(compiler); in sljit_emit_const()
2511 CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value)); in sljit_emit_const()
2514 const_ = (struct sljit_const *)ensure_abuf(compiler, sizeof(struct sljit_const)); in sljit_emit_const()
2516 set_const(const_, compiler); in sljit_emit_const()
2520 PTR_FAIL_IF(emit_const_64(compiler, reg, init_value, 1)); in sljit_emit_const()
2523 PTR_FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, TMP_REG2, 0)); in sljit_emit_const()
2554 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op_custom(struct sljit_compiler *compiler, in sljit_emit_op_custom() argument
2558 CHECK(check_sljit_emit_op_custom(compiler, instruction, size)); in sljit_emit_op_custom()