Lines Matching defs:rn

351 static u32 arm_bpf_ldst_imm12(u32 op, u8 rt, u8 rn, s16 imm12)
353 op |= rt << 12 | rn << 16;
361 static u32 arm_bpf_ldst_imm8(u32 op, u8 rt, u8 rn, s16 imm8)
363 op |= rt << 12 | rn << 16;
371 #define ARM_LDR_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_LDR_I, rt, rn, off)
372 #define ARM_LDRB_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_LDRB_I, rt, rn, off)
373 #define ARM_LDRD_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_LDRD_I, rt, rn, off)
374 #define ARM_LDRH_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_LDRH_I, rt, rn, off)
376 #define ARM_LDRSH_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_LDRSH_I, rt, rn, off)
377 #define ARM_LDRSB_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_LDRSB_I, rt, rn, off)
379 #define ARM_STR_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_STR_I, rt, rn, off)
380 #define ARM_STRB_I(rt, rn, off) arm_bpf_ldst_imm12(ARM_INST_STRB_I, rt, rn, off)
381 #define ARM_STRD_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_STRD_I, rt, rn, off)
382 #define ARM_STRH_I(rt, rn, off) arm_bpf_ldst_imm8(ARM_INST_STRH_I, rt, rn, off)
520 static inline void emit_udivmod(u8 rd, u8 rm, u8 rn, struct jit_ctx *ctx, u8 op, u8 sign)
529 emit(sign ? ARM_SDIV(rd, rm, rn) : ARM_UDIV(rd, rm, rn), ctx);
531 emit(sign ? ARM_SDIV(ARM_IP, rm, rn) : ARM_UDIV(ARM_IP, rm, rn), ctx);
532 emit(ARM_MLS(rd, rn, ARM_IP, rm), ctx);
546 if (rn != ARM_R1) {
548 emit(ARM_MOV_R(ARM_R1, rn), ctx);
582 if (rn != ARM_R1)
588 static inline void emit_udivmod64(const s8 *rd, const s8 *rm, const s8 *rn, struct jit_ctx *ctx,
601 if (rm[1] != ARM_R0 || rn[1] != ARM_R2) {
606 if (rn[1] == ARM_R0)
610 if (rn[1] == ARM_R0) {
618 if (rn[1] != ARM_R2) {
619 emit(ARM_MOV_R(ARM_R3, rn[0]), ctx);
620 emit(ARM_MOV_R(ARM_R2, rn[1]), ctx);
1351 const u8 rn, struct jit_ctx *ctx, u8 op,
1356 emit(ARM_AND_R(ARM_IP, rt, rn), ctx);
1360 emit(ARM_ANDS_R(ARM_IP, rt, rn), ctx);
1372 _emit(ARM_COND_EQ, ARM_CMP_R(rt, rn), ctx);
1374 emit(ARM_CMP_R(rt, rn), ctx);
1379 emit(ARM_CMP_R(rn, rt), ctx);
1385 emit(ARM_CMP_R(rt, rn), ctx);
1475 static inline void emit_rev16(const u8 rd, const u8 rn, struct jit_ctx *ctx)
1480 emit(ARM_AND_I(tmp2[1], rn, 0xff), ctx);
1481 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 8), ctx);
1485 emit(ARM_REV16(rd, rn), ctx);
1490 static inline void emit_rev32(const u8 rd, const u8 rn, struct jit_ctx *ctx)
1495 emit(ARM_AND_I(tmp2[1], rn, 0xff), ctx);
1496 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 24), ctx);
1499 emit(ARM_MOV_SI(tmp2[1], rn, SRTYPE_LSR, 8), ctx);
1501 emit(ARM_MOV_SI(tmp2[0], rn, SRTYPE_LSR, 16), ctx);
1508 emit(ARM_REV(rd, rn), ctx);
1601 s8 rd_lo, rt, rm, rn;
1868 rn = arm_bpf_get_reg32(src_lo, tmp2[1], ctx);
1870 emit_ldsx_r(dst, rn, off, ctx, BPF_SIZE(code));
1872 emit_ldx_r(dst, rn, off, ctx, BPF_SIZE(code));
1942 rn = arm_bpf_get_reg32(src_lo, tmp2[1], ctx);
1980 rn = tmp2[1];
1988 emit_ar_r(rd[0], rd[1], rm, rn, ctx, BPF_OP(code),