Lines Matching refs:arg

828 …rg_fast(struct sljit_compiler *compiler, sljit_si flags, sljit_si reg, sljit_si arg, sljit_sw argw)  in getput_arg_fast()  argument
832 SLJIT_ASSERT(arg & SLJIT_MEM); in getput_arg_fast()
835 if ((arg & REG_MASK) && !(arg & OFFS_REG_MASK) && argw <= 255 && argw >= -256) { in getput_arg_fast()
839 arg &= REG_MASK; in getput_arg_fast()
842 | (shift << 30) | RT(reg) | RN(arg) | (argw << 12))); in getput_arg_fast()
848 if (SLJIT_UNLIKELY(arg & OFFS_REG_MASK)) { in getput_arg_fast()
857 | RN(arg & REG_MASK) | RM(OFFS_REG(arg)) | (argw ? (1 << 12) : 0))); in getput_arg_fast()
861 arg &= REG_MASK; in getput_arg_fast()
867 | RT(reg) | RN(arg) | (argw << (10 - shift)))); in getput_arg_fast()
878 | RT(reg) | RN(arg) | ((argw & 0x1ff) << 12))); in getput_arg_fast()
885 static sljit_si can_cache(sljit_si arg, sljit_sw argw, sljit_si next_arg, sljit_sw next_argw) in can_cache() argument
888 if ((arg & OFFS_REG_MASK) || !(next_arg & SLJIT_MEM)) in can_cache()
891 if (!(arg & REG_MASK)) { in can_cache()
902 if (arg == next_arg && diff <= 0xfff && diff >= -0xfff) in can_cache()
910 sljit_si arg, sljit_sw argw, sljit_si next_arg, sljit_sw next_argw) in getput_arg() argument
916 SLJIT_ASSERT(arg & SLJIT_MEM); in getput_arg()
924 if (SLJIT_UNLIKELY((flags & UPDATE) && (arg & REG_MASK))) { in getput_arg()
926 other_r = OFFS_REG(arg); in getput_arg()
928 other_r = arg & REG_MASK; in getput_arg()
968 arg &= REG_MASK; in getput_arg()
971 …FAIL_IF(push_inst(compiler, sljit_mem_reg[flags & 0x3] | (shift << 30) | RT(reg) | RN(arg) | RM(ot… in getput_arg()
972 return push_inst(compiler, ADD | RD(arg) | RN(arg) | RM(other_r) | (argw << 10)); in getput_arg()
974 if (arg != reg) { in getput_arg()
975 FAIL_IF(push_inst(compiler, ADD | RD(arg) | RN(arg) | RM(other_r) | (argw << 10))); in getput_arg()
976 return push_inst(compiler, sljit_mem_imm[flags & 0x3] | (shift << 30) | RT(reg) | RN(arg)); in getput_arg()
978 FAIL_IF(push_inst(compiler, ADD | RD(TMP_LR) | RN(arg) | RM(other_r) | (argw << 10))); in getput_arg()
980 return push_inst(compiler, ORR | RD(arg) | RN(TMP_ZERO) | RM(TMP_LR)); in getput_arg()
983 if (arg & OFFS_REG_MASK) { in getput_arg()
984 other_r = OFFS_REG(arg); in getput_arg()
985 arg &= REG_MASK; in getput_arg()
986 FAIL_IF(push_inst(compiler, ADD | RD(tmp_r) | RN(arg) | RM(other_r) | ((argw & 0x3) << 10))); in getput_arg()
990 if (compiler->cache_arg == arg) { in getput_arg()
997 return push_inst(compiler, sljit_mem_imm[flags & 0x3] | (shift << 30) | RT(reg) | RN(arg)); in getput_arg()
1002 …FAIL_IF(push_inst(compiler, ADDI | (1 << 22) | RD(tmp_r) | RN(arg & REG_MASK) | ((argw >> 12) << 1… in getput_arg()
1008 next_arg = (arg & REG_MASK) && (arg == next_arg) && diff <= 0xfff && diff >= -0xfff && diff != 0; in getput_arg()
1009 arg &= REG_MASK; in getput_arg()
1011 if (arg && compiler->cache_arg == SLJIT_MEM) { in getput_arg()
1013 …return push_inst(compiler, sljit_mem_reg[flags & 0x3] | (shift << 30) | RT(reg) | RN(arg) | RM(TMP… in getput_arg()
1017 …return push_inst(compiler, sljit_mem_reg[flags & 0x3] | (shift << 30) | RT(reg) | RN(arg) | RM(TMP… in getput_arg()
1022 if (next_arg && emit_set_delta(compiler, TMP_REG3, arg, argw) != SLJIT_ERR_UNSUPPORTED) { in getput_arg()
1024 compiler->cache_arg = SLJIT_MEM | arg; in getput_arg()
1025 arg = 0; in getput_arg()
1032 FAIL_IF(push_inst(compiler, ADD | RD(TMP_REG3) | RN(TMP_REG3) | RM(arg))); in getput_arg()
1033 compiler->cache_arg = SLJIT_MEM | arg; in getput_arg()
1034 arg = 0; in getput_arg()
1038 if (arg) in getput_arg()
1039 …return push_inst(compiler, sljit_mem_reg[flags & 0x3] | (shift << 30) | RT(reg) | RN(arg) | RM(TMP… in getput_arg()
1043 …_op_mem(struct sljit_compiler *compiler, sljit_si flags, sljit_si reg, sljit_si arg, sljit_sw argw) in emit_op_mem() argument
1045 if (getput_arg_fast(compiler, flags, reg, arg, argw)) in emit_op_mem()
1049 return getput_arg(compiler, flags, reg, arg, argw, 0, 0); in emit_op_mem()
1550 …fop_mem(struct sljit_compiler *compiler, sljit_si flags, sljit_si reg, sljit_si arg, sljit_sw argw) in emit_fop_mem() argument
1557 SLJIT_ASSERT(arg & SLJIT_MEM); in emit_fop_mem()
1562 if (arg & OFFS_REG_MASK) { in emit_fop_mem()
1566 | RN(arg & REG_MASK) | RM(OFFS_REG(arg)) | (argw ? (1 << 12) : 0)); in emit_fop_mem()
1567 other_r = OFFS_REG(arg); in emit_fop_mem()
1568 arg &= REG_MASK; in emit_fop_mem()
1569 FAIL_IF(push_inst(compiler, ADD | RD(TMP_REG1) | RN(arg) | RM(other_r) | (argw << 10))); in emit_fop_mem()
1570 arg = TMP_REG1; in emit_fop_mem()
1574 arg &= REG_MASK; in emit_fop_mem()
1575 if (arg && argw >= 0 && ((argw >> shift) <= 0xfff) && (argw & ((1 << shift) - 1)) == 0) in emit_fop_mem()
1576 return push_inst(compiler, STR_FI | ins_bits | VT(reg) | RN(arg) | (argw << (10 - shift))); in emit_fop_mem()
1578 if (arg && argw <= 255 && argw >= -256) in emit_fop_mem()
1579 return push_inst(compiler, STUR_FI | ins_bits | VT(reg) | RN(arg) | ((argw & 0x1ff) << 12)); in emit_fop_mem()
1584 if (!arg && diff <= 255 && diff >= -256) in emit_fop_mem()
1598 if (arg & REG_MASK) in emit_fop_mem()
1599 return push_inst(compiler, STR_FR | ins_bits | VT(reg) | RN(arg) | RM(TMP_REG3)); in emit_fop_mem()