Lines Matching refs:compiler

335 static sljit_si push_inst_debug(struct sljit_compiler *compiler, sljit_ins ins, int line)  in push_inst_debug()  argument
337 sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); in push_inst_debug()
340 compiler->size++; in push_inst_debug()
346 static sljit_si push_inst_nodebug(struct sljit_compiler *compiler, sljit_ins ins) in push_inst_nodebug() argument
348 sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); in push_inst_nodebug()
351 compiler->size++; in push_inst_nodebug()
357 static sljit_si push_inst(struct sljit_compiler *compiler, sljit_ins ins) in push_inst() argument
359 sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); in push_inst()
362 compiler->size++; in push_inst()
385 push_inst(compiler, encoding)
388 push_3_buffer(compiler, opcode, dst, srca, srcb, __LINE__)
391 push_2_buffer(compiler, opcode, dst, src, __LINE__)
394 push_jr_buffer(compiler, TILEGX_OPC_JR, reg, __LINE__)
397 push_3_buffer(compiler, TILEGX_OPC_ADD, dst, srca, srcb, __LINE__)
400 push_3_buffer(compiler, TILEGX_OPC_SUB, dst, srca, srcb, __LINE__)
403 push_3_buffer(compiler, TILEGX_OPC_NOR, dst, srca, srcb, __LINE__)
406 push_3_buffer(compiler, TILEGX_OPC_OR, dst, srca, srcb, __LINE__)
409 push_3_buffer(compiler, TILEGX_OPC_XOR, dst, srca, srcb, __LINE__)
412 push_3_buffer(compiler, TILEGX_OPC_AND, dst, srca, srcb, __LINE__)
415 push_2_buffer(compiler, TILEGX_OPC_CLZ, dst, src, __LINE__)
418 push_3_buffer(compiler, TILEGX_OPC_SHLI, dst, srca, srcb, __LINE__)
421 push_3_buffer(compiler, TILEGX_OPC_SHRUI, dst, srca, imm, __LINE__)
424 push_3_buffer(compiler, TILEGX_OPC_XORI, dst, srca, imm, __LINE__)
427 push_3_buffer(compiler, TILEGX_OPC_ORI, dst, srca, imm, __LINE__)
430 push_3_buffer(compiler, TILEGX_OPC_CMPLTU, dst, srca, srcb, __LINE__)
433 push_3_buffer(compiler, TILEGX_OPC_CMPLTS, dst, srca, srcb, __LINE__)
436 push_3_buffer(compiler, TILEGX_OPC_CMPLTUI, dst, srca, imm, __LINE__)
439 push_3_buffer(compiler, TILEGX_OPC_CMOVNEZ, dst, srca, srcb, __LINE__)
442 push_3_buffer(compiler, TILEGX_OPC_CMOVEQZ, dst, srca, srcb, __LINE__)
445 push_3_buffer(compiler, TILEGX_OPC_ADDLI, dst, srca, srcb, __LINE__)
448 push_3_buffer(compiler, TILEGX_OPC_SHL16INSLI, dst, srca, srcb, __LINE__)
451 push_3_buffer(compiler, TILEGX_OPC_LD_ADD, dst, addr, adjust, __LINE__)
454 push_3_buffer(compiler, TILEGX_OPC_ST_ADD, src, addr, adjust, __LINE__)
457 push_2_buffer(compiler, TILEGX_OPC_LD, dst, addr, __LINE__)
460 push_4_buffer(compiler, TILEGX_OPC_BFEXTU, dst, src, start, end, __LINE__)
463 push_4_buffer(compiler, TILEGX_OPC_BFEXTS, dst, src, start, end, __LINE__)
466 push_inst(compiler, ADD_X1 | DEST_X1(dest) | SRCA_X1(srca) | SRCB_X1(srcb))
469 push_inst(compiler, ADDI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM8_X1(imm))
472 push_inst(compiler, ADDLI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM16_X1(imm))
475 push_inst(compiler, SHL16INSLI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM16_X1(imm))
478 push_inst(compiler, JALR_X1 | SRCA_X1(reg))
481 push_inst(compiler, JR_X1 | SRCA_X1(reg))
626 static sljit_si update_buffer(struct sljit_compiler *compiler) in update_buffer() argument
655 return push_inst_nodebug(compiler, bits); in update_buffer()
657 return push_inst(compiler, bits); in update_buffer()
696 return push_inst_nodebug(compiler, bits); in update_buffer()
698 return push_inst(compiler, bits); in update_buffer()
728 return push_inst_nodebug(compiler, bits); in update_buffer()
730 return push_inst(compiler, bits); in update_buffer()
739 static sljit_si flush_buffer(struct sljit_compiler *compiler) in flush_buffer() argument
742 update_buffer(compiler); in flush_buffer()
745 static sljit_si push_4_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int op… in push_4_buffer() argument
748 FAIL_IF(update_buffer(compiler)); in push_4_buffer()
765 static sljit_si push_3_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int op… in push_3_buffer() argument
768 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()
997 SLJIT_API_FUNC_ATTRIBUTE void * sljit_generate_code(struct sljit_compiler *compiler) in sljit_generate_code() argument
1012 check_sljit_generate_code(compiler); in sljit_generate_code()
1013 reverse_buf(compiler); in sljit_generate_code()
1015 code = (sljit_ins *)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins)); in sljit_generate_code()
1017 buf = compiler->buf; in sljit_generate_code()
1021 label = compiler->labels; in sljit_generate_code()
1022 jump = compiler->jumps; in sljit_generate_code()
1023 const_ = compiler->consts; in sljit_generate_code()
1072 SLJIT_ASSERT(code_ptr - code <= (sljit_sw)compiler->size); in sljit_generate_code()
1074 jump = compiler->jumps; in sljit_generate_code()
1115 compiler->error = SLJIT_ERR_COMPILED; in sljit_generate_code()
1116 compiler->executable_size = (code_ptr - code) * sizeof(sljit_ins); in sljit_generate_code()
1121 static sljit_si load_immediate(struct sljit_compiler *compiler, sljit_si dst_ar, sljit_sw imm) in load_immediate() argument
1144 static sljit_si emit_const(struct sljit_compiler *compiler, sljit_si dst_ar, sljit_sw imm, int flus… in emit_const() argument
1159 static sljit_si emit_const_64(struct sljit_compiler *compiler, sljit_si dst_ar, sljit_sw imm, int f… in emit_const_64() argument
1176 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_enter(struct sljit_compiler *compiler, in sljit_emit_enter() argument
1184 …check_sljit_emit_enter(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size… in sljit_emit_enter()
1185 set_emit_enter(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size); in sljit_emit_enter()
1189 compiler->local_size = local_size; in sljit_emit_enter()
1196 FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, local_size)); in sljit_emit_enter()
1233 SLJIT_API_FUNC_ATTRIBUTE void sljit_set_context(struct sljit_compiler *compiler, in sljit_set_context() argument
1238 …check_sljit_set_context(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_siz… in sljit_set_context()
1239 set_set_context(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size); in sljit_set_context()
1242 compiler->local_size = (local_size + 7) & ~7; in sljit_set_context()
1245 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_return(struct sljit_compiler *compiler, sljit_si op, s… in sljit_emit_return() argument
1252 check_sljit_emit_return(compiler, op, src, srcw); in sljit_emit_return()
1254 FAIL_IF(emit_mov_before_return(compiler, op, src, srcw)); in sljit_emit_return()
1256 local_size = compiler->local_size; in sljit_emit_return()
1260 FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, local_size)); in sljit_emit_return()
1269 if (compiler->saveds >= 5) { in sljit_emit_return()
1276 if (compiler->saveds >= 4) { in sljit_emit_return()
1285 if (compiler->saveds >= 3) { in sljit_emit_return()
1294 if (compiler->saveds >= 2) { in sljit_emit_return()
1303 if (compiler->saveds >= 1) { in sljit_emit_return()
1312 if (compiler->local_size <= SIMM_16BIT_MAX) in sljit_emit_return()
1313 FAIL_IF(ADDLI(SLJIT_LOCALS_REG_mapped, SLJIT_LOCALS_REG_mapped, compiler->local_size)); in sljit_emit_return()
1323 static sljit_si getput_arg_fast(struct sljit_compiler *compiler, sljit_si flags, sljit_si reg_ar, s… in getput_arg_fast() argument
1375 static sljit_si getput_arg(struct sljit_compiler *compiler, sljit_si flags, sljit_si reg_ar, sljit_… in getput_arg() argument
1402 if (argw == compiler->cache_argw) { in getput_arg()
1404 if (arg == compiler->cache_arg) { in getput_arg()
1411 if ((SLJIT_MEM | (arg & OFFS_REG_MASK)) == compiler->cache_arg) { in getput_arg()
1413 compiler->cache_arg = arg; in getput_arg()
1414 compiler->cache_argw = argw; in getput_arg()
1429 if ((SLJIT_MEM | (arg & OFFS_REG_MASK)) == compiler->cache_arg) { in getput_arg()
1440 compiler->cache_arg = SLJIT_MEM | (arg & OFFS_REG_MASK); in getput_arg()
1441 compiler->cache_argw = argw; in getput_arg()
1447 compiler->cache_arg = arg; in getput_arg()
1448 compiler->cache_argw = argw; in getput_arg()
1493 if (compiler->cache_arg == SLJIT_MEM in getput_arg()
1494 && argw - compiler->cache_argw <= SIMM_16BIT_MAX in getput_arg()
1495 && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { in getput_arg()
1496 if (argw != compiler->cache_argw) { in getput_arg()
1497 FAIL_IF(ADD(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); in getput_arg()
1498 compiler->cache_argw = argw; in getput_arg()
1503 compiler->cache_arg = SLJIT_MEM; in getput_arg()
1504 compiler->cache_argw = argw; in getput_arg()
1505 FAIL_IF(load_immediate(compiler, TMP_REG3_mapped, argw)); in getput_arg()
1516 if (compiler->cache_arg == arg in getput_arg()
1517 && argw - compiler->cache_argw <= SIMM_16BIT_MAX in getput_arg()
1518 && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { in getput_arg()
1519 if (argw != compiler->cache_argw) { in getput_arg()
1520 FAIL_IF(ADDLI(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); in getput_arg()
1521 compiler->cache_argw = argw; in getput_arg()
1530 if (compiler->cache_arg == SLJIT_MEM in getput_arg()
1531 && argw - compiler->cache_argw <= SIMM_16BIT_MAX in getput_arg()
1532 && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { in getput_arg()
1533 if (argw != compiler->cache_argw) in getput_arg()
1534 FAIL_IF(ADDLI(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); in getput_arg()
1536 compiler->cache_arg = SLJIT_MEM; in getput_arg()
1537 FAIL_IF(load_immediate(compiler, TMP_REG3_mapped, argw)); in getput_arg()
1540 compiler->cache_argw = argw; in getput_arg()
1552 compiler->cache_arg = arg; in getput_arg()
1568 static SLJIT_INLINE sljit_si emit_op_mem(struct sljit_compiler *compiler, sljit_si flags, sljit_si … in emit_op_mem() argument
1570 if (getput_arg_fast(compiler, flags, reg_ar, arg, argw)) in emit_op_mem()
1571 return compiler->error; in emit_op_mem()
1573 compiler->cache_arg = 0; in emit_op_mem()
1574 compiler->cache_argw = 0; in emit_op_mem()
1575 return getput_arg(compiler, flags, reg_ar, arg, argw, 0, 0); in emit_op_mem()
1578 static SLJIT_INLINE sljit_si emit_op_mem2(struct sljit_compiler *compiler, sljit_si flags, sljit_si… in emit_op_mem2() argument
1580 if (getput_arg_fast(compiler, flags, reg, arg1, arg1w)) in emit_op_mem2()
1581 return compiler->error; in emit_op_mem2()
1582 return getput_arg(compiler, flags, reg, arg1, arg1w, arg2, arg2w); in emit_op_mem2()
1585 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_si d… in sljit_emit_fast_enter() argument
1588 check_sljit_emit_fast_enter(compiler, dst, dstw); in sljit_emit_fast_enter()
1599 return emit_op_mem(compiler, WORD_DATA, RA, dst, dstw); in sljit_emit_fast_enter()
1602 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fast_return(struct sljit_compiler *compiler, sljit_si … in sljit_emit_fast_return() argument
1605 check_sljit_emit_fast_return(compiler, src, srcw); in sljit_emit_fast_return()
1612 FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RA, src, srcw)); in sljit_emit_fast_return()
1615 FAIL_IF(load_immediate(compiler, RA, srcw)); in sljit_emit_fast_return()
1620 static SLJIT_INLINE sljit_si emit_single_op(struct sljit_compiler *compiler, sljit_si op, sljit_si … in emit_single_op() argument
1823 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, src2)); in emit_single_op()
1882 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, -src2)); in emit_single_op()
1908 FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, src2)); \ in emit_single_op()
1911 compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1915 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1920 compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1924 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1944 compiler, op_imm, EQUAL_FLAG, reg_map[src1], \ in emit_single_op()
1948 compiler, op_imm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1953 compiler, op_imm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1957 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1978 static sljit_si emit_op(struct sljit_compiler *compiler, sljit_si op, sljit_si flags, sljit_si dst,… in emit_op() argument
1990 compiler->cache_arg = 0; in emit_op()
1991 compiler->cache_argw = 0; in emit_op()
2004 …} else if ((dst & SLJIT_MEM) && !getput_arg_fast(compiler, flags | ARG_TEST, TMP_REG1_mapped, dst,… in emit_op()
2039 FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, src1w)); in emit_op()
2044 if (getput_arg_fast(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w)) in emit_op()
2045 FAIL_IF(compiler->error); in emit_op()
2060 FAIL_IF(load_immediate(compiler, reg_map[sugg_src2_r], src2w)); in emit_op()
2069 if (getput_arg_fast(compiler, flags | LOAD_DATA, reg_map[sugg_src2_r], src2, src2w)) in emit_op()
2070 FAIL_IF(compiler->error); in emit_op()
2079 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2_mapped, src2, src2w, src1, src1w)); in emit_op()
2080 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); in emit_op()
2082 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, src2, src2w)); in emit_op()
2083 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2_mapped, src2, src2w, dst, dstw)); in emit_op()
2086 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); in emit_op()
2088 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, reg_map[sugg_src2_r], src2, src2w, dst, dstw)); in emit_op()
2090 FAIL_IF(emit_single_op(compiler, op, flags, dst_r, src1_r, src2_r)); in emit_op()
2094 getput_arg_fast(compiler, flags, reg_map[dst_r], dst, dstw); in emit_op()
2095 return compiler->error; in emit_op()
2098 return getput_arg(compiler, flags, reg_map[dst_r], dst, dstw, 0, 0); in emit_op()
2104 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_si op,… in sljit_emit_op_flags() argument
2110 check_sljit_emit_op_flags(compiler, op, dst, dstw, src, srcw, type); in sljit_emit_op_flags()
2119 compiler->cache_arg = 0; in sljit_emit_op_flags()
2120 compiler->cache_argw = 0; in sljit_emit_op_flags()
2123 FAIL_IF(emit_op_mem2(compiler, WORD_DATA | LOAD_DATA, TMP_REG1_mapped, src, srcw, dst, dstw)); in sljit_emit_op_flags()
2183 …return emit_op(compiler, op | flags, CUMULATIVE_OP | LOGICAL_OP | IMM_OP | ALT_KEEP_CACHE, dst, ds… in sljit_emit_op_flags()
2187 return emit_op_mem(compiler, WORD_DATA, dst_ar, dst, dstw); in sljit_emit_op_flags()
2195 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op0(struct sljit_compiler *compiler, sljit_si op) { in sljit_emit_op0() argument
2197 check_sljit_emit_op0(compiler, op); in sljit_emit_op0()
2202 return push_0_buffer(compiler, TILEGX_OPC_FNOP, __LINE__); in sljit_emit_op0()
2217 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op1(struct sljit_compiler *compiler, sljit_si op, slji… in sljit_emit_op1() argument
2220 check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw); in sljit_emit_op1()
2227 return emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2230 return emit_op(compiler, SLJIT_MOV_UI, INT_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2233 return emit_op(compiler, SLJIT_MOV_SI, INT_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2236 …return emit_op(compiler, SLJIT_MOV_UB, BYTE_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ?… in sljit_emit_op1()
2239 …return emit_op(compiler, SLJIT_MOV_SB, BYTE_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, (src … in sljit_emit_op1()
2242 …return emit_op(compiler, SLJIT_MOV_UH, HALF_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ?… in sljit_emit_op1()
2245 …return emit_op(compiler, SLJIT_MOV_SH, HALF_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, (src … in sljit_emit_op1()
2249 return emit_op(compiler, SLJIT_MOV, WORD_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2252 return emit_op(compiler, SLJIT_MOV_UI, INT_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2255 …return emit_op(compiler, SLJIT_MOV_SI, INT_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0… in sljit_emit_op1()
2258 …return emit_op(compiler, SLJIT_MOV_UB, BYTE_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src &… in sljit_emit_op1()
2261 …return emit_op(compiler, SLJIT_MOV_SB, BYTE_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, … in sljit_emit_op1()
2264 …return emit_op(compiler, SLJIT_MOV_UH, HALF_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src &… in sljit_emit_op1()
2267 …return emit_op(compiler, SLJIT_MOV_SH, HALF_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, … in sljit_emit_op1()
2270 return emit_op(compiler, op, 0, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2273 …return emit_op(compiler, SLJIT_SUB | GET_ALL_FLAGS(op), IMM_OP, dst, dstw, SLJIT_IMM, 0, src, srcw… in sljit_emit_op1()
2276 return emit_op(compiler, op, 0, dst, dstw, TMP_REG1, 0, src, srcw); in sljit_emit_op1()
2282 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_op2(struct sljit_compiler *compiler, sljit_si op, slji… in sljit_emit_op2() argument
2285 check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2293 return emit_op(compiler, op, CUMULATIVE_OP | IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2297 return emit_op(compiler, op, IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2300 return emit_op(compiler, op, CUMULATIVE_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2305 …return emit_op(compiler, op, CUMULATIVE_OP | LOGICAL_OP | IMM_OP, dst, dstw, src1, src1w, src2, sr… in sljit_emit_op2()
2315 return emit_op(compiler, op, IMM_OP, dst, dstw, src1, src1w, src2, src2w); in sljit_emit_op2()
2321 SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label(struct sljit_compiler *compiler) in sljit_emit_label() argument
2325 flush_buffer(compiler); in sljit_emit_label()
2328 check_sljit_emit_label(compiler); in sljit_emit_label()
2330 if (compiler->last_label && compiler->last_label->size == compiler->size) in sljit_emit_label()
2331 return compiler->last_label; in sljit_emit_label()
2333 label = (struct sljit_label *)ensure_abuf(compiler, sizeof(struct sljit_label)); in sljit_emit_label()
2335 set_label(label, compiler); in sljit_emit_label()
2339 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_ijump(struct sljit_compiler *compiler, sljit_si type, … in sljit_emit_ijump() argument
2344 flush_buffer(compiler); in sljit_emit_ijump()
2347 check_sljit_emit_ijump(compiler, type, src, srcw); in sljit_emit_ijump()
2361 FAIL_IF(emit_const(compiler, reg_map[PIC_ADDR_REG], srcw, 1)); in sljit_emit_ijump()
2364 FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); in sljit_emit_ijump()
2390 jump = (struct sljit_jump *)ensure_abuf(compiler, sizeof(struct sljit_jump)); in sljit_emit_ijump()
2392 set_jump(jump, compiler, JUMP_ADDR | ((type >= SLJIT_FAST_CALL) ? IS_JAL : 0)); in sljit_emit_ijump()
2394 FAIL_IF(emit_const(compiler, TMP_REG2_mapped, 0, 1)); in sljit_emit_ijump()
2398 jump->addr = compiler->size; in sljit_emit_ijump()
2401 jump->addr = compiler->size; in sljit_emit_ijump()
2408 FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); in sljit_emit_ijump()
2413 jump->addr = compiler->size; in sljit_emit_ijump()
2426 SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump * sljit_emit_jump(struct sljit_compiler *compiler, sljit… in sljit_emit_jump() argument
2432 flush_buffer(compiler); in sljit_emit_jump()
2435 check_sljit_emit_jump(compiler, type); in sljit_emit_jump()
2437 jump = (struct sljit_jump *)ensure_abuf(compiler, sizeof(struct sljit_jump)); in sljit_emit_jump()
2439 set_jump(jump, compiler, type & SLJIT_REWRITABLE_JUMP); in sljit_emit_jump()
2500 PTR_FAIL_IF(emit_const(compiler, TMP_REG2_mapped, 0, 1)); in sljit_emit_jump()
2502 jump->addr = compiler->size; in sljit_emit_jump()
2509 jump->addr = compiler->size; in sljit_emit_jump()
2521 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop1(struct sljit_compiler *compiler, sljit_si op, slj… in sljit_emit_fop1() argument
2526 SLJIT_API_FUNC_ATTRIBUTE sljit_si sljit_emit_fop2(struct sljit_compiler *compiler, sljit_si op, slj… in sljit_emit_fop2() argument
2531 SLJIT_API_FUNC_ATTRIBUTE struct sljit_const * sljit_emit_const(struct sljit_compiler *compiler, slj… in sljit_emit_const() argument
2536 flush_buffer(compiler); in sljit_emit_const()
2539 check_sljit_emit_const(compiler, dst, dstw, init_value); in sljit_emit_const()
2542 const_ = (struct sljit_const *)ensure_abuf(compiler, sizeof(struct sljit_const)); in sljit_emit_const()
2544 set_const(const_, compiler); in sljit_emit_const()
2548 PTR_FAIL_IF(emit_const_64(compiler, reg, init_value, 1)); in sljit_emit_const()
2551 PTR_FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, TMP_REG2, 0)); in sljit_emit_const()