Lines Matching refs:reg

601 	sljit_s32 reg;  in emit_op_imm()  local
612 reg = (sljit_s32)((flags & ARG2_IMM) ? arg1 : arg2); in emit_op_imm()
633 if (IS_2_LO_REGS(reg, dst)) { in emit_op_imm()
635 return push_inst16(compiler, ADDSI3 | IMM3(imm) | RD3(dst) | RN3(reg)); in emit_op_imm()
637 return push_inst16(compiler, SUBSI3 | IMM3(imm2) | RD3(dst) | RN3(reg)); in emit_op_imm()
638 if (reg == dst) { in emit_op_imm()
647 return push_inst32(compiler, ADDWI | RD4(dst) | RN4(reg) | IMM12(imm)); in emit_op_imm()
649 return push_inst32(compiler, SUBWI | RD4(dst) | RN4(reg) | IMM12(imm2)); in emit_op_imm()
653 return push_inst32(compiler, ADD_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm2); in emit_op_imm()
656 return push_inst32(compiler, SUB_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm); in emit_op_imm()
662 return push_inst32(compiler, ADCI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm); in emit_op_imm()
667 if (imm == 0 && IS_2_LO_REGS(reg, dst)) in emit_op_imm()
668 return push_inst16(compiler, RSBSI | RD3(dst) | RN3(reg)); in emit_op_imm()
671 return push_inst32(compiler, RSB_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm); in emit_op_imm()
675 if (imm <= 0xff && reg_map[reg] <= 7) in emit_op_imm()
676 return push_inst16(compiler, CMPI | IMM8(imm) | RDN3(reg)); in emit_op_imm()
679 return push_inst32(compiler, CMPI_W | RN4(reg) | imm2); in emit_op_imm()
682 return push_inst32(compiler, CMNI_W | RN4(reg) | imm); in emit_op_imm()
686 if (IS_2_LO_REGS(reg, dst)) { in emit_op_imm()
688 return push_inst16(compiler, SUBSI3 | IMM3(imm) | RD3(dst) | RN3(reg)); in emit_op_imm()
690 return push_inst16(compiler, ADDSI3 | IMM3(imm2) | RD3(dst) | RN3(reg)); in emit_op_imm()
691 if (reg == dst) { in emit_op_imm()
700 return push_inst32(compiler, SUBWI | RD4(dst) | RN4(reg) | IMM12(imm)); in emit_op_imm()
702 return push_inst32(compiler, ADDWI | RD4(dst) | RN4(reg) | IMM12(imm2)); in emit_op_imm()
706 return push_inst32(compiler, SUB_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm2); in emit_op_imm()
709 return push_inst32(compiler, ADD_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm); in emit_op_imm()
717 return push_inst32(compiler, SBCI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm); in emit_op_imm()
722 …piler, ((flags & UNUSED_RETURN) ? TSTI : ANDI) | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm2); in emit_op_imm()
725 return push_inst32(compiler, BICI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm); in emit_op_imm()
730 return push_inst32(compiler, ORRI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm2); in emit_op_imm()
733 return push_inst32(compiler, ORNI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm); in emit_op_imm()
738 return push_inst32(compiler, EORI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | imm); in emit_op_imm()
754 return push_inst16(compiler, MOV | SET_REGS44(dst, reg)); in emit_op_imm()
755 if (IS_2_LO_REGS(dst, reg)) in emit_op_imm()
756 return push_inst16(compiler, MOVS | RD3(dst) | RN3(reg)); in emit_op_imm()
757 return push_inst32(compiler, MOV_W | SET_FLAGS | RD4(dst) | RM4(reg)); in emit_op_imm()
763 if (IS_2_LO_REGS(dst, reg)) in emit_op_imm()
764 return push_inst16(compiler, LSLSI | RD3(dst) | RN3(reg) | (imm << 6)); in emit_op_imm()
765 return push_inst32(compiler, LSL_WI | (flags & SET_FLAGS) | RD4(dst) | RM4(reg) | IMM5(imm)); in emit_op_imm()
768 if (IS_2_LO_REGS(dst, reg)) in emit_op_imm()
769 return push_inst16(compiler, LSRSI | RD3(dst) | RN3(reg) | (imm << 6)); in emit_op_imm()
770 return push_inst32(compiler, LSR_WI | (flags & SET_FLAGS) | RD4(dst) | RM4(reg) | IMM5(imm)); in emit_op_imm()
773 if (IS_2_LO_REGS(dst, reg)) in emit_op_imm()
774 return push_inst16(compiler, ASRSI | RD3(dst) | RN3(reg) | (imm << 6)); in emit_op_imm()
775 return push_inst32(compiler, ASR_WI | (flags & SET_FLAGS) | RD4(dst) | RM4(reg) | IMM5(imm)); in emit_op_imm()
780 return push_inst32(compiler, ROR_WI | RD4(dst) | RM4(reg) | IMM5(imm)); in emit_op_imm()
1013 static sljit_s32 emit_set_delta(struct sljit_compiler *compiler, sljit_s32 dst, sljit_s32 reg, slji… in emit_set_delta() argument
1019 return push_inst32(compiler, ADDWI | RD4(dst) | RN4(reg) | IMM12(value)); in emit_set_delta()
1022 return push_inst32(compiler, ADD_WI | RD4(dst) | RN4(reg) | imm); in emit_set_delta()
1027 return push_inst32(compiler, SUBWI | RD4(dst) | RN4(reg) | IMM12(value)); in emit_set_delta()
1030 return push_inst32(compiler, SUB_WI | RD4(dst) | RN4(reg) | imm); in emit_set_delta()
1035 …SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, in emit_op_mem() argument
1048 …return push_inst32(compiler, sljit_mem32[flags] | MEM_IMM12 | RT4(reg) | RN4(tmp_reg) | (argw & 0x… in emit_op_mem()
1052 if (IS_2_LO_REGS(reg, tmp_reg) && sljit_mem16_imm5[flags]) in emit_op_mem()
1053 return push_inst16(compiler, sljit_mem16_imm5[flags] | RD3(reg) | RN3(tmp_reg)); in emit_op_mem()
1054 return push_inst32(compiler, sljit_mem32[flags] | MEM_IMM12 | RT4(reg) | RN4(tmp_reg)); in emit_op_mem()
1062 if (!argw && IS_3_LO_REGS(reg, arg, other_r)) in emit_op_mem()
1063 return push_inst16(compiler, sljit_mem16[flags] | RD3(reg) | RN3(arg) | RM3(other_r)); in emit_op_mem()
1064 …return push_inst32(compiler, sljit_mem32[flags] | RT4(reg) | RN4(arg) | RM4(other_r) | ((sljit_ins… in emit_op_mem()
1092 if (IS_2_LO_REGS(reg, arg) && sljit_mem16_imm5[flags]) { in emit_op_mem()
1110 …return push_inst16(compiler, sljit_mem16_imm5[flags] | RD3(reg) | RN3(arg) | ((sljit_ins)argw << (… in emit_op_mem()
1112 …IKELY(arg == SLJIT_SP) && IS_WORD_SIZE(flags) && ALIGN_CHECK(argw, 0xff, 2) && reg_map[reg] <= 7) { in emit_op_mem()
1114 …return push_inst16(compiler, STR_SP | (sljit_ins)((flags & STORE) ? 0 : 0x800) | RDN3(reg) | ((slj… in emit_op_mem()
1118 …return push_inst32(compiler, sljit_mem32[flags] | MEM_IMM12 | RT4(reg) | RN4(arg) | (sljit_ins)arg… in emit_op_mem()
1120 …return push_inst32(compiler, sljit_mem32[flags] | MEM_IMM8 | RT4(reg) | RN4(arg) | (sljit_ins)-arg… in emit_op_mem()
1125 if (IS_3_LO_REGS(reg, arg, tmp_reg)) in emit_op_mem()
1126 return push_inst16(compiler, sljit_mem16[flags] | RD3(reg) | RN3(arg) | RM3(tmp_reg)); in emit_op_mem()
1127 return push_inst32(compiler, sljit_mem32[flags] | RT4(reg) | RN4(arg) | RM4(tmp_reg)); in emit_op_mem()
1912 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) in sljit_get_register_index() argument
1914 CHECK_REG_INDEX(check_sljit_get_register_index(reg)); in sljit_get_register_index()
1915 return reg_map[reg]; in sljit_get_register_index()
1918 SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_s32 reg) in sljit_get_float_register_index() argument
1920 CHECK_REG_INDEX(check_sljit_get_float_register_index(reg)); in sljit_get_float_register_index()
1921 return (freg_map[reg] << 1); in sljit_get_float_register_index()
1941 static sljit_s32 emit_fop_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, slji… in emit_fop_mem() argument
1957 …return push_inst32(compiler, inst | 0x800000 | RN4(arg & REG_MASK) | DD4(reg) | ((sljit_uw)argw >>… in emit_fop_mem()
1959 return push_inst32(compiler, inst | RN4(arg & REG_MASK) | DD4(reg) | ((sljit_uw)-argw >> 2)); in emit_fop_mem()
1965 return push_inst32(compiler, inst | 0x800000 | RN4(TMP_REG1) | DD4(reg)); in emit_fop_mem()
1971 …return push_inst32(compiler, inst | 0x800000 | RN4(TMP_REG1) | DD4(reg) | (((sljit_uw)argw & 0x3fc… in emit_fop_mem()
1978 return push_inst32(compiler, inst | RN4(TMP_REG1) | DD4(reg) | (((sljit_uw)argw & 0x3fc) >> 2)); in emit_fop_mem()
1985 return push_inst32(compiler, inst | 0x800000 | RN4(TMP_REG1) | DD4(reg)); in emit_fop_mem()
2761 sljit_s32 reg, in sljit_emit_mem() argument
2768 CHECK(check_sljit_emit_mem(compiler, type, reg, mem, memw)); in sljit_emit_mem()
2770 if (!(reg & REG_PAIR_MASK)) in sljit_emit_mem()
2771 return sljit_emit_mem_unaligned(compiler, type, reg, mem, memw); in sljit_emit_mem()
2850 } else if (REG_PAIR_FIRST(reg) == (mem & REG_MASK)) { in sljit_emit_mem()
2851 …FAIL_IF(emit_op_mem(compiler, WORD_SIZE, REG_PAIR_SECOND(reg), mem, memw + SSIZE_OF(sw), TMP_REG2)… in sljit_emit_mem()
2852 return emit_op_mem(compiler, WORD_SIZE, REG_PAIR_FIRST(reg), mem, memw, TMP_REG2); in sljit_emit_mem()
2855 FAIL_IF(emit_op_mem(compiler, flags, REG_PAIR_FIRST(reg), mem, memw, TMP_REG2)); in sljit_emit_mem()
2856 return emit_op_mem(compiler, flags, REG_PAIR_SECOND(reg), mem, memw + SSIZE_OF(sw), TMP_REG2); in sljit_emit_mem()
2932 … (sljit_ins)flags | RN4(mem & REG_MASK) | RT4(REG_PAIR_FIRST(reg)) | RD4(REG_PAIR_SECOND(reg)) | (… in sljit_emit_mem()
2936 sljit_s32 reg, in sljit_emit_mem_update() argument
2943 CHECK(check_sljit_emit_mem_update(compiler, type, reg, mem, memw)); in sljit_emit_mem_update()
2990 return push_inst32(compiler, inst | RT4(reg) | RN4(mem & REG_MASK) | (sljit_ins)memw); in sljit_emit_mem_update()