Lines Matching refs:rn
299 static u32 arm_bpf_ldst_imm12(u32 op, u8 rt, u8 rn, s16 imm12) in arm_bpf_ldst_imm12() argument
301 op |= rt << 12 | rn << 16; in arm_bpf_ldst_imm12()
309 static u32 arm_bpf_ldst_imm8(u32 op, u8 rt, u8 rn, s16 imm8) in arm_bpf_ldst_imm8() argument
311 op |= rt << 12 | rn << 16; in arm_bpf_ldst_imm8()
319 #define ARM_LDR_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_LDR_I, rt, rn, off) argument
320 #define ARM_LDRB_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_LDRB_I, rt, rn, off) argument
321 #define ARM_LDRD_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_LDRD_I, rt, rn, off) argument
322 #define ARM_LDRH_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_LDRH_I, rt, rn, off) argument
324 #define ARM_STR_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_STR_I, rt, rn, off) argument
325 #define ARM_STRB_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_STRB_I, rt, rn, off) argument
326 #define ARM_STRD_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_STRD_I, rt, rn, off) argument
327 #define ARM_STRH_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_STRH_I, rt, rn, off) argument
465 static inline void emit_udivmod(u8 rd, u8 rm, u8 rn, struct jit_ctx *ctx, u8 op) in emit_udivmod() argument
472 emit(ARM_UDIV(rd, rm, rn), ctx); in emit_udivmod()
474 emit(ARM_UDIV(ARM_IP, rm, rn), ctx); in emit_udivmod()
475 emit(ARM_MLS(rd, rn, ARM_IP, rm), ctx); in emit_udivmod()
489 if (rn != ARM_R1) { in emit_udivmod()
491 emit(ARM_MOV_R(ARM_R1, rn), ctx); in emit_udivmod()
508 if (rn != ARM_R1) in emit_udivmod()
703 s8 rn, rd; in emit_a32_alu_r() local
705 rn = arm_bpf_get_reg32(src, tmp[1], ctx); in emit_a32_alu_r()
708 emit_alu_r(rd, rn, is64, hi, op, ctx); in emit_a32_alu_r()
1088 const u8 rn, struct jit_ctx *ctx, u8 op, in emit_ar_r() argument
1093 emit(ARM_AND_R(ARM_IP, rt, rn), ctx); in emit_ar_r()
1097 emit(ARM_ANDS_R(ARM_IP, rt, rn), ctx); in emit_ar_r()
1109 _emit(ARM_COND_EQ, ARM_CMP_R(rt, rn), ctx); in emit_ar_r()
1111 emit(ARM_CMP_R(rt, rn), ctx); in emit_ar_r()
1116 emit(ARM_CMP_R(rn, rt), ctx); in emit_ar_r()
1122 emit(ARM_CMP_R(rt, rn), ctx); in emit_ar_r()
1211 static inline void emit_rev16(const u8 rd, const u8 rn, struct jit_ctx *ctx) in emit_rev16() argument
1216 emit(ARM_AND_I(tmp2[1], rn, 0xff), ctx); in emit_rev16()
1217 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 8), ctx); in emit_rev16()
1221 emit(ARM_REV16(rd, rn), ctx); in emit_rev16()
1226 static inline void emit_rev32(const u8 rd, const u8 rn, struct jit_ctx *ctx) in emit_rev32() argument
1231 emit(ARM_AND_I(tmp2[1], rn, 0xff), ctx); in emit_rev32()
1232 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 24), ctx); in emit_rev32()
1235 emit(ARM_MOV_SI(tmp2[1], rn, SRTYPE_LSR, 8), ctx); in emit_rev32()
1237 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 16), ctx); in emit_rev32()
1244 emit(ARM_REV(rd, rn), ctx); in emit_rev32()
1341 s8 rd_lo, rt, rm, rn; in build_insn() local
1586 rn = arm_bpf_get_reg32(src_lo, tmp2[1], ctx); in build_insn()
1587 emit_ldx_r(dst, rn, off, ctx, BPF_SIZE(code)); in build_insn()
1655 rn = arm_bpf_get_reg32(src_lo, tmp2[1], ctx); in build_insn()
1693 rn = tmp2[1]; in build_insn()
1701 emit_ar_r(rd[0], rd[1], rm, rn, ctx, BPF_OP(code), in build_insn()