Lines Matching refs:dst
382 #define PB3(opcode, dst, srca, srcb) \ argument
383 push_3_buffer(compiler, opcode, dst, srca, srcb, __LINE__)
385 #define PB2(opcode, dst, src) \ argument
386 push_2_buffer(compiler, opcode, dst, src, __LINE__)
391 #define ADD(dst, srca, srcb) \ argument
392 push_3_buffer(compiler, TILEGX_OPC_ADD, dst, srca, srcb, __LINE__)
394 #define SUB(dst, srca, srcb) \ argument
395 push_3_buffer(compiler, TILEGX_OPC_SUB, dst, srca, srcb, __LINE__)
397 #define MUL(dst, srca, srcb) \ argument
398 push_3_buffer(compiler, TILEGX_OPC_MULX, dst, srca, srcb, __LINE__)
400 #define NOR(dst, srca, srcb) \ argument
401 push_3_buffer(compiler, TILEGX_OPC_NOR, dst, srca, srcb, __LINE__)
403 #define OR(dst, srca, srcb) \ argument
404 push_3_buffer(compiler, TILEGX_OPC_OR, dst, srca, srcb, __LINE__)
406 #define XOR(dst, srca, srcb) \ argument
407 push_3_buffer(compiler, TILEGX_OPC_XOR, dst, srca, srcb, __LINE__)
409 #define AND(dst, srca, srcb) \ argument
410 push_3_buffer(compiler, TILEGX_OPC_AND, dst, srca, srcb, __LINE__)
412 #define CLZ(dst, src) \ argument
413 push_2_buffer(compiler, TILEGX_OPC_CLZ, dst, src, __LINE__)
415 #define SHLI(dst, srca, srcb) \ argument
416 push_3_buffer(compiler, TILEGX_OPC_SHLI, dst, srca, srcb, __LINE__)
418 #define SHRUI(dst, srca, imm) \ argument
419 push_3_buffer(compiler, TILEGX_OPC_SHRUI, dst, srca, imm, __LINE__)
421 #define XORI(dst, srca, imm) \ argument
422 push_3_buffer(compiler, TILEGX_OPC_XORI, dst, srca, imm, __LINE__)
424 #define ORI(dst, srca, imm) \ argument
425 push_3_buffer(compiler, TILEGX_OPC_ORI, dst, srca, imm, __LINE__)
427 #define CMPLTU(dst, srca, srcb) \ argument
428 push_3_buffer(compiler, TILEGX_OPC_CMPLTU, dst, srca, srcb, __LINE__)
430 #define CMPLTS(dst, srca, srcb) \ argument
431 push_3_buffer(compiler, TILEGX_OPC_CMPLTS, dst, srca, srcb, __LINE__)
433 #define CMPLTUI(dst, srca, imm) \ argument
434 push_3_buffer(compiler, TILEGX_OPC_CMPLTUI, dst, srca, imm, __LINE__)
436 #define CMOVNEZ(dst, srca, srcb) \ argument
437 push_3_buffer(compiler, TILEGX_OPC_CMOVNEZ, dst, srca, srcb, __LINE__)
439 #define CMOVEQZ(dst, srca, srcb) \ argument
440 push_3_buffer(compiler, TILEGX_OPC_CMOVEQZ, dst, srca, srcb, __LINE__)
442 #define ADDLI(dst, srca, srcb) \ argument
443 push_3_buffer(compiler, TILEGX_OPC_ADDLI, dst, srca, srcb, __LINE__)
445 #define SHL16INSLI(dst, srca, srcb) \ argument
446 push_3_buffer(compiler, TILEGX_OPC_SHL16INSLI, dst, srca, srcb, __LINE__)
448 #define LD_ADD(dst, addr, adjust) \ argument
449 push_3_buffer(compiler, TILEGX_OPC_LD_ADD, dst, addr, adjust, __LINE__)
454 #define LD(dst, addr) \ argument
455 push_2_buffer(compiler, TILEGX_OPC_LD, dst, addr, __LINE__)
457 #define BFEXTU(dst, src, start, end) \ argument
458 push_4_buffer(compiler, TILEGX_OPC_BFEXTU, dst, src, start, end, __LINE__)
460 #define BFEXTS(dst, src, start, end) \ argument
461 push_4_buffer(compiler, TILEGX_OPC_BFEXTS, dst, src, start, end, __LINE__)
1550 …RIBUTE sljit_si sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_si dst, sljit_sw dstw) in sljit_emit_fast_enter() argument
1553 CHECK(check_sljit_emit_fast_enter(compiler, dst, dstw)); in sljit_emit_fast_enter()
1554 ADJUST_LOCAL_OFFSET(dst, dstw); in sljit_emit_fast_enter()
1557 if (dst == SLJIT_UNUSED) in sljit_emit_fast_enter()
1560 if (FAST_IS_REG(dst)) in sljit_emit_fast_enter()
1561 return ADD(reg_map[dst], RA, ZERO); in sljit_emit_fast_enter()
1564 return emit_op_mem(compiler, WORD_DATA, RA, dst, dstw); in sljit_emit_fast_enter()
1585 …_op(struct sljit_compiler *compiler, sljit_si op, sljit_si flags, sljit_si dst, sljit_si src1, slj… in emit_single_op() argument
1593 if (dst != src2) in emit_single_op()
1594 return ADD(reg_map[dst], reg_map[src2], ZERO); in emit_single_op()
1602 return BFEXTS(reg_map[dst], reg_map[src2], 0, 31); in emit_single_op()
1604 return BFEXTU(reg_map[dst], reg_map[src2], 0, 31); in emit_single_op()
1605 } else if (dst != src2) { in emit_single_op()
1607 return ADD(reg_map[dst], reg_map[src2], ZERO); in emit_single_op()
1617 return BFEXTS(reg_map[dst], reg_map[src2], 0, 7); in emit_single_op()
1619 return BFEXTU(reg_map[dst], reg_map[src2], 0, 7); in emit_single_op()
1620 } else if (dst != src2) { in emit_single_op()
1622 return ADD(reg_map[dst], reg_map[src2], ZERO); in emit_single_op()
1632 return BFEXTS(reg_map[dst], reg_map[src2], 0, 15); in emit_single_op()
1634 return BFEXTU(reg_map[dst], reg_map[src2], 0, 15); in emit_single_op()
1635 } else if (dst != src2) { in emit_single_op()
1637 return ADD(reg_map[dst], reg_map[src2], ZERO); in emit_single_op()
1647 FAIL_IF(NOR(reg_map[dst], reg_map[src2], reg_map[src2])); in emit_single_op()
1656 FAIL_IF(CLZ(reg_map[dst], reg_map[src2])); in emit_single_op()
1682 FAIL_IF(ADDLI(reg_map[dst], reg_map[src1], src2)); in emit_single_op()
1685 FAIL_IF(SHRUI(OVERFLOW_FLAG, reg_map[dst], 63)); in emit_single_op()
1695 if (src1 != dst) in emit_single_op()
1697 else if (src2 != dst) in emit_single_op()
1714 FAIL_IF(ADD(reg_map[dst],reg_map[src1], reg_map[src2])); in emit_single_op()
1717 FAIL_IF(XOR(OVERFLOW_FLAG,reg_map[dst], overflow_ra)); in emit_single_op()
1724 FAIL_IF(CMPLTU(ULESS_FLAG ,reg_map[dst] ,ULESS_FLAG)); in emit_single_op()
1742 FAIL_IF(ADDLI(reg_map[dst], reg_map[src1], src2)); in emit_single_op()
1749 FAIL_IF(ADD(reg_map[dst], reg_map[src1], reg_map[src2])); in emit_single_op()
1753 FAIL_IF(CMPLTU(TMP_EREG1, reg_map[dst], TMP_EREG1)); in emit_single_op()
1755 FAIL_IF(ADD(reg_map[dst], reg_map[dst], ULESS_FLAG)); in emit_single_op()
1761 FAIL_IF(CMPLTUI(TMP_EREG2, reg_map[dst], 1)); in emit_single_op()
1780 if (src1 != dst) in emit_single_op()
1799 FAIL_IF(ADDLI(reg_map[dst], reg_map[src1], -src2)); in emit_single_op()
1807 if (src1 != dst) in emit_single_op()
1832 FAIL_IF(SUB(reg_map[dst], reg_map[src1], reg_map[src2])); in emit_single_op()
1836 FAIL_IF(XOR(OVERFLOW_FLAG, reg_map[dst], overflow_ra)); in emit_single_op()
1857 FAIL_IF(ADDLI(reg_map[dst], reg_map[src1], -src2)); in emit_single_op()
1863 FAIL_IF(SUB(reg_map[dst], reg_map[src1], reg_map[src2])); in emit_single_op()
1867 FAIL_IF(CMOVEQZ(TMP_EREG1, reg_map[dst], ULESS_FLAG)); in emit_single_op()
1869 FAIL_IF(SUB(reg_map[dst], reg_map[dst], ULESS_FLAG)); in emit_single_op()
1883 FAIL_IF(MUL(reg_map[dst], reg_map[src1], reg_map[src2])); in emit_single_op()
1896 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1905 compiler, op_norm, reg_map[dst], reg_map[src1], \ in emit_single_op()
1929 compiler, op_imm, reg_map[dst], 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
1975 if (SLJIT_UNLIKELY(dst == SLJIT_UNUSED)) { in emit_op()
1980 } else if (FAST_IS_REG(dst)) { in emit_op()
1981 dst_r = dst; in emit_op()
1985 …} else if ((dst & SLJIT_MEM) && !getput_arg_fast(compiler, flags | ARG_TEST, TMP_REG1_mapped, dst,… in emit_op()
2045 if ((op >= SLJIT_MOV && op <= SLJIT_MOVU_SI) && (dst & SLJIT_MEM)) in emit_op()
2059 if (!can_cache(src1, src1w, src2, src2w) && can_cache(src1, src1w, dst, dstw)) { in emit_op()
2061 FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); 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()
2073 if (dst & SLJIT_MEM) { in emit_op()
2075 getput_arg_fast(compiler, flags, reg_map[dst_r], dst, dstw); in emit_op()
2079 return getput_arg(compiler, flags, reg_map[dst_r], dst, dstw, 0, 0); in emit_op()
2085 …sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_si op, sljit_si dst, sljit_sw dstw, slj… 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()
2093 ADJUST_LOCAL_OFFSET(dst, dstw); in sljit_emit_op_flags()
2095 if (dst == SLJIT_UNUSED) in sljit_emit_op_flags()
2101 sugg_dst_ar = reg_map[(op < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG2]; 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 … | flags, mem_type | CUMULATIVE_OP | LOGICAL_OP | IMM_OP | ALT_KEEP_CACHE, dst, dstw, src, srcw, T… in sljit_emit_op_flags()
2162 if (dst & SLJIT_MEM) in sljit_emit_op_flags()
2163 return emit_op_mem(compiler, mem_type, dst_ar, dst, dstw); in sljit_emit_op_flags()
2193 …t_si sljit_emit_op1(struct sljit_compiler *compiler, sljit_si op, sljit_si dst, sljit_sw dstw, slj… in sljit_emit_op1() argument
2196 CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); in sljit_emit_op1()
2197 ADJUST_LOCAL_OFFSET(dst, dstw); 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 …t_si sljit_emit_op2(struct sljit_compiler *compiler, sljit_si op, sljit_si dst, sljit_sw dstw, slj… in sljit_emit_op2() argument
2261 CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); in sljit_emit_op2()
2262 ADJUST_LOCAL_OFFSET(dst, dstw); 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()
2493 …_si sljit_emit_fop1(struct sljit_compiler *compiler, sljit_si op, sljit_si dst, sljit_sw dstw, slj… in sljit_emit_fop1() argument
2498 …_si sljit_emit_fop2(struct sljit_compiler *compiler, sljit_si op, sljit_si dst, sljit_sw dstw, slj… in sljit_emit_fop2() argument
2503 …t sljit_const * sljit_emit_const(struct sljit_compiler *compiler, sljit_si dst, sljit_sw dstw, slj… in sljit_emit_const() argument
2511 CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value)); in sljit_emit_const()
2512 ADJUST_LOCAL_OFFSET(dst, dstw); in sljit_emit_const()
2518 reg = FAST_IS_REG(dst) ? dst : TMP_REG2; in sljit_emit_const()
2522 if (dst & SLJIT_MEM) 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()