Lines Matching refs:argw

828 …rg_fast(struct sljit_compiler *compiler, sljit_si flags, sljit_si reg, sljit_si arg, sljit_sw argw)  in getput_arg_fast()  argument
835 if ((arg & REG_MASK) && !(arg & OFFS_REG_MASK) && argw <= 255 && argw >= -256) { in getput_arg_fast()
840 argw &= 0x1ff; in getput_arg_fast()
842 | (shift << 30) | RT(reg) | RN(arg) | (argw << 12))); in getput_arg_fast()
849 argw &= 0x3; in getput_arg_fast()
850 if (argw && argw != shift) in getput_arg_fast()
857 | RN(arg & REG_MASK) | RM(OFFS_REG(arg)) | (argw ? (1 << 12) : 0))); in getput_arg_fast()
862 if (argw >= 0 && (argw >> shift) <= 0xfff && (argw & ((1 << shift) - 1)) == 0) { in getput_arg_fast()
867 | RT(reg) | RN(arg) | (argw << (10 - shift)))); in getput_arg_fast()
871 if (argw > 255 || argw < -256) 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
892 diff = argw - next_argw; in can_cache()
898 if (argw == next_argw) in can_cache()
901 diff = argw - next_argw; in can_cache()
910 sljit_si arg, sljit_sw argw, sljit_si next_arg, sljit_sw next_argw) in getput_arg() argument
929 if (other_r != reg && argw >= 0 && argw <= 0xffffff) { in getput_arg()
930 if ((argw & 0xfff) != 0) in getput_arg()
931 FAIL_IF(push_inst(compiler, ADDI | RD(other_r) | RN(other_r) | ((argw & 0xfff) << 10))); in getput_arg()
932 if (argw >> 12) in getput_arg()
933 … FAIL_IF(push_inst(compiler, ADDI | (1 << 22) | RD(other_r) | RN(other_r) | ((argw >> 12) << 10))); in getput_arg()
936 else if (other_r != reg && argw < 0 && argw >= -0xffffff) { in getput_arg()
937 argw = -argw; in getput_arg()
938 if ((argw & 0xfff) != 0) in getput_arg()
939 FAIL_IF(push_inst(compiler, SUBI | RD(other_r) | RN(other_r) | ((argw & 0xfff) << 10))); in getput_arg()
940 if (argw >> 12) in getput_arg()
941 … FAIL_IF(push_inst(compiler, SUBI | (1 << 22) | RD(other_r) | RN(other_r) | ((argw >> 12) << 10))); in getput_arg()
946 if (argw == compiler->cache_argw) { in getput_arg()
948 argw = 0; in getput_arg()
950 …else if (emit_set_delta(compiler, TMP_REG3, TMP_REG3, argw - compiler->cache_argw) != SLJIT_ERR_UN… in getput_arg()
952 compiler->cache_argw = argw; in getput_arg()
954 argw = 0; in getput_arg()
958 if (argw) { in getput_arg()
959 FAIL_IF(load_immediate(compiler, TMP_REG3, argw)); in getput_arg()
961 compiler->cache_argw = argw; in getput_arg()
963 argw = 0; in getput_arg()
969 argw &= 0x3; in getput_arg()
970 if (!argw || argw == shift) { in getput_arg()
971 …_mem_reg[flags & 0x3] | (shift << 30) | RT(reg) | RN(arg) | RM(other_r) | (argw ? (1 << 12) : 0))); in getput_arg()
972 return push_inst(compiler, ADD | RD(arg) | RN(arg) | RM(other_r) | (argw << 10)); in getput_arg()
975 FAIL_IF(push_inst(compiler, ADD | RD(arg) | RN(arg) | RM(other_r) | (argw << 10))); in getput_arg()
978 FAIL_IF(push_inst(compiler, ADD | RD(TMP_LR) | RN(arg) | RM(other_r) | (argw << 10))); in getput_arg()
986 FAIL_IF(push_inst(compiler, ADD | RD(tmp_r) | RN(arg) | RM(other_r) | ((argw & 0x3) << 10))); in getput_arg()
991 diff = argw - compiler->cache_argw; in getput_arg()
1001 if (argw >= 0 && argw <= 0xffffff && (argw & ((1 << shift) - 1)) == 0) { 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()
1004 | RT(reg) | RN(tmp_r) | ((argw & 0xfff) << (10 - shift))); in getput_arg()
1007 diff = argw - next_argw; in getput_arg()
1012 if (compiler->cache_argw == argw) in getput_arg()
1014 …if (emit_set_delta(compiler, TMP_REG3, TMP_REG3, argw - compiler->cache_argw) != SLJIT_ERR_UNSUPPO… in getput_arg()
1016 compiler->cache_argw = argw; in getput_arg()
1021 compiler->cache_argw = argw; in getput_arg()
1022 if (next_arg && emit_set_delta(compiler, TMP_REG3, arg, argw) != SLJIT_ERR_UNSUPPORTED) { in getput_arg()
1028 FAIL_IF(load_immediate(compiler, TMP_REG3, argw)); 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
1563 argw &= 3; in emit_fop_mem()
1564 if (!argw || argw == shift) in emit_fop_mem()
1566 | RN(arg & REG_MASK) | RM(OFFS_REG(arg)) | (argw ? (1 << 12) : 0)); 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()
1571 argw = 0; 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()
1582 if (compiler->cache_arg == SLJIT_MEM && argw != compiler->cache_argw) { in emit_fop_mem()
1583 diff = argw - compiler->cache_argw; in emit_fop_mem()
1586 …if (emit_set_delta(compiler, TMP_REG3, TMP_REG3, argw - compiler->cache_argw) != SLJIT_ERR_UNSUPPO… in emit_fop_mem()
1588 compiler->cache_argw = argw; in emit_fop_mem()
1592 if (compiler->cache_arg != SLJIT_MEM || argw != compiler->cache_argw) { in emit_fop_mem()
1594 compiler->cache_argw = argw; in emit_fop_mem()
1595 FAIL_IF(load_immediate(compiler, TMP_REG3, argw)); in emit_fop_mem()