Lines Matching refs:argw
865 static sljit_s32 getput_arg_fast(struct sljit_compiler *compiler, sljit_s32 inp_flags, sljit_s32 reg, sljit_s32 arg, sljit_sw argw)
874 if (argw & 0x3)
892 if (argw > SIMM_MAX || argw < SIMM_MIN || ((inst & INT_ALIGNED) && (argw & 0x3)) || (inst & UPDATE_REQ))
899 if (argw > SIMM_MAX || argw < SIMM_MIN)
908 FAIL_IF(push_inst(compiler, INST_CODE_AND_DST(inst, inp_flags, reg) | A(arg & REG_MASK) | IMM(argw)));
915 static sljit_s32 can_cache(sljit_s32 arg, sljit_sw argw, sljit_s32 next_arg, sljit_sw next_argw)
925 return ((arg & OFFS_REG_MASK) == (next_arg & OFFS_REG_MASK) && (argw & 0x3) == (next_argw & 0x3));
931 high_short = (argw + ((argw & 0x8000) << 1)) & ~0xffff;
935 if (argw <= 0x7fffffffl && argw >= -0x80000000l) {
936 high_short = (argw + ((argw & 0x8000) << 1)) & ~0xffff;
942 diff = argw - next_argw;
964 static sljit_s32 getput_arg(struct sljit_compiler *compiler, sljit_s32 inp_flags, sljit_s32 reg, sljit_s32 arg, sljit_sw argw, sljit_s32 next_arg, sljit_sw next_argw)
981 argw &= 0x3;
983 SLJIT_ASSERT(argw);
985 if ((SLJIT_MEM | (arg & OFFS_REG_MASK)) == compiler->cache_arg && argw == compiler->cache_argw)
988 if ((arg & OFFS_REG_MASK) == (next_arg & OFFS_REG_MASK) && argw == (next_argw & 0x3)) {
990 compiler->cache_argw = argw;
994 FAIL_IF(push_inst(compiler, RLWINM | S(OFFS_REG(arg)) | A(tmp_r) | (argw << 11) | ((31 - argw) << 1)));
996 FAIL_IF(push_inst(compiler, RLDI(tmp_r, OFFS_REG(arg), argw, 63 - argw, 1)));
1011 if (argw <= 0x7fff7fffl && argw >= -0x80000000l
1012 && (!(inst & INT_ALIGNED) || !(argw & 0x3)) && !(inst & UPDATE_REQ)) {
1016 high_short = (sljit_s32)(argw + ((argw & 0x8000) << 1)) & ~0xffff;
1042 return push_inst(compiler, INST_CODE_AND_DST(inst, inp_flags, reg) | A(tmp_r) | IMM(argw));
1049 diff = argw - compiler->cache_argw;
1055 diff = argw - next_argw;
1060 compiler->cache_argw = argw;
1064 FAIL_IF(load_immediate(compiler, tmp_r, argw));
1068 diff = argw - compiler->cache_argw;
1078 if (compiler->cache_argw != argw) {
1080 compiler->cache_argw = argw;
1085 if (argw == next_argw && (next_arg & SLJIT_MEM)) {
1087 FAIL_IF(load_immediate(compiler, TMP_REG3, argw));
1090 compiler->cache_argw = argw;
1097 diff = argw - next_argw;
1100 FAIL_IF(load_immediate(compiler, TMP_REG3, argw));
1104 compiler->cache_argw = argw;
1111 FAIL_IF(load_immediate(compiler, TMP_REG3, argw));
1114 compiler->cache_argw = argw;
1118 FAIL_IF(load_immediate(compiler, tmp_r, argw));