Lines Matching full:lo
144 static inline u8 lo(const u8 reg[]) in lo() function
176 emit_mov_i(ctx, lo(dst), imm); in emit_mov_se_i64()
228 emit(ctx, addu, lo(dst), lo(dst), src); in emit_alu_i64()
229 emit(ctx, sltu, MIPS_R_T9, lo(dst), src); in emit_alu_i64()
236 emit(ctx, sltu, MIPS_R_T9, lo(dst), src); in emit_alu_i64()
237 emit(ctx, subu, lo(dst), lo(dst), src); in emit_alu_i64()
244 emit(ctx, or, lo(dst), lo(dst), src); in emit_alu_i64()
250 emit(ctx, and, lo(dst), lo(dst), src); in emit_alu_i64()
256 emit(ctx, xor, lo(dst), lo(dst), src); in emit_alu_i64()
274 emit(ctx, srl, MIPS_R_T9, lo(dst), 31); in emit_alu_r64()
275 emit(ctx, addu, lo(dst), lo(dst), lo(dst)); in emit_alu_r64()
277 emit(ctx, addu, lo(dst), lo(dst), lo(src)); in emit_alu_r64()
278 emit(ctx, sltu, MIPS_R_T9, lo(dst), lo(src)); in emit_alu_r64()
285 emit(ctx, sltu, MIPS_R_T9, lo(dst), lo(src)); in emit_alu_r64()
286 emit(ctx, subu, lo(dst), lo(dst), lo(src)); in emit_alu_r64()
292 emit(ctx, or, lo(dst), lo(dst), lo(src)); in emit_alu_r64()
297 emit(ctx, and, lo(dst), lo(dst), lo(src)); in emit_alu_r64()
302 emit(ctx, xor, lo(dst), lo(dst), lo(src)); in emit_alu_r64()
312 emit(ctx, sltu, MIPS_R_T9, MIPS_R_ZERO, lo(dst)); in emit_neg_i64()
313 emit(ctx, subu, lo(dst), MIPS_R_ZERO, lo(dst)); in emit_neg_i64()
328 emit(ctx, srl, MIPS_R_T9, lo(dst), 32 - imm); in emit_shift_i64()
329 emit(ctx, sll, lo(dst), lo(dst), imm); in emit_shift_i64()
333 emit(ctx, sll, hi(dst), lo(dst), imm - 32); in emit_shift_i64()
334 emit(ctx, move, lo(dst), MIPS_R_ZERO); in emit_shift_i64()
341 emit(ctx, srl, lo(dst), lo(dst), imm); in emit_shift_i64()
343 emit(ctx, or, lo(dst), lo(dst), MIPS_R_T9); in emit_shift_i64()
345 emit(ctx, srl, lo(dst), hi(dst), imm - 32); in emit_shift_i64()
353 emit(ctx, srl, lo(dst), lo(dst), imm); in emit_shift_i64()
355 emit(ctx, or, lo(dst), lo(dst), MIPS_R_T9); in emit_shift_i64()
357 emit(ctx, sra, lo(dst), hi(dst), imm - 32); in emit_shift_i64()
380 emit(ctx, sllv, hi(dst), lo(dst), src); /* dh = dl << src */ in emit_shift_r64()
381 emit(ctx, move, lo(dst), MIPS_R_ZERO); /* dl = 0 */ in emit_shift_r64()
384 emit(ctx, srl, t1, lo(dst), 1); /* t1 = dl >> 1 */ in emit_shift_r64()
386 emit(ctx, sllv, lo(dst), lo(dst), src); /* dl = dl << src */ in emit_shift_r64()
393 emit(ctx, srlv, lo(dst), hi(dst), src); /* dl = dh >> src */ in emit_shift_r64()
399 emit(ctx, srlv, lo(dst), lo(dst), src); /* dl = dl >> src */ in emit_shift_r64()
401 emit(ctx, or, lo(dst), lo(dst), t1); /* dl = dl | t1 */ in emit_shift_r64()
406 emit(ctx, srav, lo(dst), hi(dst), src); /* dl = dh >>a src */ in emit_shift_r64()
412 emit(ctx, srlv, lo(dst), lo(dst), src); /* dl = dl >>a src */ in emit_shift_r64()
414 emit(ctx, or, lo(dst), lo(dst), t1); /* dl = dl | t1 */ in emit_shift_r64()
437 emit_mov_r(ctx, lo(dst), MIPS_R_ZERO); in emit_mul_i64()
451 /* hi(dst) = hi(dst) - lo(dst) */ in emit_mul_i64()
453 emit(ctx, subu, hi(dst), hi(dst), lo(dst)); in emit_mul_i64()
455 /* tmp = lo(dst) * src(imm) >> 32 */ in emit_mul_i64()
456 /* lo(dst) = lo(dst) * src(imm) */ in emit_mul_i64()
458 emit(ctx, muhu, tmp, lo(dst), src); in emit_mul_i64()
459 emit(ctx, mulu, lo(dst), lo(dst), src); in emit_mul_i64()
461 emit(ctx, multu, lo(dst), src); in emit_mul_i64()
462 emit(ctx, mflo, lo(dst)); in emit_mul_i64()
480 /* acc = hi(dst) * lo(src) */ in emit_mul_r64()
482 emit(ctx, mul, acc, hi(dst), lo(src)); in emit_mul_r64()
484 emit(ctx, multu, hi(dst), lo(src)); in emit_mul_r64()
488 /* tmp = lo(dst) * hi(src) */ in emit_mul_r64()
490 emit(ctx, mul, tmp, lo(dst), hi(src)); in emit_mul_r64()
492 emit(ctx, multu, lo(dst), hi(src)); in emit_mul_r64()
499 /* tmp = lo(dst) * lo(src) >> 32 */ in emit_mul_r64()
500 /* lo(dst) = lo(dst) * lo(src) */ in emit_mul_r64()
502 emit(ctx, muhu, tmp, lo(dst), lo(src)); in emit_mul_r64()
503 emit(ctx, mulu, lo(dst), lo(dst), lo(src)); in emit_mul_r64()
505 emit(ctx, multu, lo(dst), lo(src)); in emit_mul_r64()
506 emit(ctx, mflo, lo(dst)); in emit_mul_r64()
565 exclude = BIT(lo(dst)) | BIT(hi(dst)); in emit_divmod_r64()
608 emit(ctx, rotr, hi(dst), lo(dst), 16); in emit_bswap_r64()
609 emit(ctx, wsbh, lo(dst), tmp); in emit_bswap_r64()
612 emit_swap16_r(ctx, tmp, lo(dst)); in emit_bswap_r64()
613 emit_swap16_r(ctx, lo(dst), hi(dst)); in emit_bswap_r64()
618 emit_swap8_r(ctx, lo(dst), lo(dst), tmp); in emit_bswap_r64()
626 emit_bswap_r(ctx, lo(dst), width); in emit_bswap_r64()
647 emit(ctx, andi, lo(dst), lo(dst), 0xffff); in emit_trunc_r64()
660 emit(ctx, lbu, lo(dst), off, src); in emit_ldx()
665 emit(ctx, lhu, lo(dst), off, src); in emit_ldx()
670 emit(ctx, lw, lo(dst), off, src); in emit_ldx()
695 emit(ctx, sb, lo(src), off, dst); in emit_stx()
699 emit(ctx, sh, lo(src), off, dst); in emit_stx()
703 emit(ctx, sw, lo(src), off, dst); in emit_stx()
859 emit(ctx, move, lo(src), lo(r0)); in emit_atomic_r64()
887 emit(ctx, move, MIPS_R_A1, lo(r0)); in emit_cmpxchg_r32()
897 emit(ctx, move, lo(r0), MIPS_R_V0); in emit_cmpxchg_r32()
997 emit(ctx, sltu, rd, lo(rs), rd); /* rd = rsl < rd */ in emit_sltiu_r64()
1003 emit(ctx, sltu, rd, lo(rs), rd); /* rd = rsl < rd */ in emit_sltiu_r64()
1005 emit(ctx, sltiu, rd, lo(rs), imm); /* rd = rsl < imm */ in emit_sltiu_r64()
1017 emit(ctx, sltu, rd, lo(rs), lo(rt)); /* rd = rsl < rtl */ in emit_sltu_r64()
1037 emit(ctx, sltu, t1, lo(rs), rd); /* t1 = rsl <u imm */ in emit_slti_r64()
1038 emit(ctx, sltu, t2, rd, lo(rs)); /* t2 = imm <u rsl */ in emit_slti_r64()
1079 emit(ctx, sltu, t1, lo(rs), lo(rt)); /* t1 = rsl <u rtl */ in emit_slt_r64()
1080 emit(ctx, sltu, t2, lo(rt), lo(rs)); /* t2 = rtl <u rsl */ in emit_slt_r64()
1106 emit(ctx, addiu, tmp, lo(dst), -imm); in emit_jmp_i64()
1108 emit(ctx, xori, tmp, lo(dst), imm); in emit_jmp_i64()
1111 emit(ctx, xor, tmp, lo(dst), tmp); in emit_jmp_i64()
1129 emit(ctx, andi, tmp, lo(dst), imm); in emit_jmp_i64()
1132 emit(ctx, and, tmp, lo(dst), tmp); in emit_jmp_i64()
1199 emit(ctx, subu, t1, lo(dst), lo(src)); in emit_jmp_r64()
1211 emit(ctx, and, t1, lo(dst), lo(src)); in emit_jmp_r64()
1292 u8 ary = lo(bpf2mips32[BPF_REG_2]); in emit_tail_call()
1293 u8 ind = lo(bpf2mips32[BPF_REG_3]); in emit_tail_call()
1401 emit(ctx, move, lo(r1), MIPS_R_A0); in build_prologue()
1437 emit(ctx, addiu, lo(fp), MIPS_R_SP, stack - saved); in build_prologue()
1479 emit_mov_i(ctx, lo(dst), imm); in build_insn()
1488 emit_mov_r(ctx, lo(dst), lo(src)); in build_insn()
1494 emit_alu_i(ctx, lo(dst), 0, BPF_NEG); in build_insn()
1521 emit_alu_r(ctx, lo(dst), MIPS_R_T6, BPF_OP(code)); in build_insn()
1523 emit_alu_i(ctx, lo(dst), val, alu); in build_insn()
1549 emit_alu_r(ctx, lo(dst), lo(src), BPF_OP(code)); in build_insn()
1558 emit_mov_r(ctx, lo(dst), lo(src)); in build_insn()
1622 emit_shift_r64(ctx, dst, lo(src), BPF_OP(code)); in build_insn()
1651 emit_mov_i(ctx, lo(dst), imm); in build_insn()
1659 emit_ldx(ctx, dst, lo(src), off, BPF_SIZE(code)); in build_insn()
1674 emit_mov_i(ctx, lo(tmp), imm); in build_insn()
1677 emit_stx(ctx, lo(dst), tmp, off, BPF_SIZE(code)); in build_insn()
1684 emit_stx(ctx, lo(dst), src, off, BPF_SIZE(code)); in build_insn()
1702 emit_atomic_r(ctx, lo(dst), lo(src), off, imm); in build_insn()
1704 emit_atomic_r32(ctx, lo(dst), lo(src), in build_insn()
1711 emit_cmpxchg_r(ctx, lo(dst), lo(src), in build_insn()
1712 lo(res), off); in build_insn()
1714 emit_cmpxchg_r32(ctx, lo(dst), lo(src), off); in build_insn()
1733 emit_atomic_r64(ctx, lo(dst), src, off, imm); in build_insn()
1736 emit_cmpxchg_r64(ctx, lo(dst), src, off); in build_insn()
1767 emit_jmp_r(ctx, lo(dst), lo(src), rel, jmp); in build_insn()
1797 emit_jmp_i(ctx, lo(dst), imm, rel, jmp); in build_insn()
1801 emit_jmp_r(ctx, lo(dst), MIPS_R_T6, rel, jmp); in build_insn()