Lines Matching refs:rn
311 static u32 arm_bpf_ldst_imm12(u32 op, u8 rt, u8 rn, s16 imm12) in arm_bpf_ldst_imm12() argument
313 op |= rt << 12 | rn << 16; in arm_bpf_ldst_imm12()
321 static u32 arm_bpf_ldst_imm8(u32 op, u8 rt, u8 rn, s16 imm8) in arm_bpf_ldst_imm8() argument
323 op |= rt << 12 | rn << 16; in arm_bpf_ldst_imm8()
331 #define ARM_LDR_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_LDR_I, rt, rn, off) argument
332 #define ARM_LDRB_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_LDRB_I, rt, rn, off) argument
333 #define ARM_LDRD_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_LDRD_I, rt, rn, off) argument
334 #define ARM_LDRH_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_LDRH_I, rt, rn, off) argument
336 #define ARM_STR_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_STR_I, rt, rn, off) argument
337 #define ARM_STRB_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_STRB_I, rt, rn, off) argument
338 #define ARM_STRD_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_STRD_I, rt, rn, off) argument
339 #define ARM_STRH_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_STRH_I, rt, rn, off) argument
477 static inline void emit_udivmod(u8 rd, u8 rm, u8 rn, struct jit_ctx *ctx, u8 op) in emit_udivmod() argument
485 emit(ARM_UDIV(rd, rm, rn), ctx); in emit_udivmod()
487 emit(ARM_UDIV(ARM_IP, rm, rn), ctx); in emit_udivmod()
488 emit(ARM_MLS(rd, rn, ARM_IP, rm), ctx); in emit_udivmod()
502 if (rn != ARM_R1) { in emit_udivmod()
504 emit(ARM_MOV_R(ARM_R1, rn), ctx); in emit_udivmod()
527 if (rn != ARM_R1) in emit_udivmod()
722 s8 rn, rd; in emit_a32_alu_r() local
724 rn = arm_bpf_get_reg32(src, tmp[1], ctx); in emit_a32_alu_r()
727 emit_alu_r(rd, rn, is64, hi, op, ctx); in emit_a32_alu_r()
1126 const u8 rn, struct jit_ctx *ctx, u8 op, in emit_ar_r() argument
1131 emit(ARM_AND_R(ARM_IP, rt, rn), ctx); in emit_ar_r()
1135 emit(ARM_ANDS_R(ARM_IP, rt, rn), ctx); in emit_ar_r()
1147 _emit(ARM_COND_EQ, ARM_CMP_R(rt, rn), ctx); in emit_ar_r()
1149 emit(ARM_CMP_R(rt, rn), ctx); in emit_ar_r()
1154 emit(ARM_CMP_R(rn, rt), ctx); in emit_ar_r()
1160 emit(ARM_CMP_R(rt, rn), ctx); in emit_ar_r()
1249 static inline void emit_rev16(const u8 rd, const u8 rn, struct jit_ctx *ctx) in emit_rev16() argument
1254 emit(ARM_AND_I(tmp2[1], rn, 0xff), ctx); in emit_rev16()
1255 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 8), ctx); in emit_rev16()
1259 emit(ARM_REV16(rd, rn), ctx); in emit_rev16()
1264 static inline void emit_rev32(const u8 rd, const u8 rn, struct jit_ctx *ctx) in emit_rev32() argument
1269 emit(ARM_AND_I(tmp2[1], rn, 0xff), ctx); in emit_rev32()
1270 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 24), ctx); in emit_rev32()
1273 emit(ARM_MOV_SI(tmp2[1], rn, SRTYPE_LSR, 8), ctx); in emit_rev32()
1275 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 16), ctx); in emit_rev32()
1282 emit(ARM_REV(rd, rn), ctx); in emit_rev32()
1375 s8 rd_lo, rt, rm, rn; in build_insn() local
1621 rn = arm_bpf_get_reg32(src_lo, tmp2[1], ctx); in build_insn()
1622 emit_ldx_r(dst, rn, off, ctx, BPF_SIZE(code)); in build_insn()
1692 rn = arm_bpf_get_reg32(src_lo, tmp2[1], ctx); in build_insn()
1730 rn = tmp2[1]; in build_insn()
1738 emit_ar_r(rd[0], rd[1], rm, rn, ctx, BPF_OP(code), in build_insn()