Lines Matching defs:lo

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