MIPS_R_ZERO
emit(ctx, addiu, dst, MIPS_R_ZERO, imm);
emit(ctx, subu, dst, MIPS_R_ZERO, dst);
emit_movn_r(ctx, rd, MIPS_R_ZERO, hi(rs)); /* rd = 0 if rsh */
emit_movn_r(ctx, rd, MIPS_R_ZERO, tmp); /* rd = 0 if tmp != 0 */
emit_movn_r(ctx, t1, MIPS_R_ZERO, cmp); /* t1 = 0 if cmp != 0 */
emit_movn_r(ctx, t1, MIPS_R_ZERO, t3); /* t1 = 0 if t3 != 0 */
[BPF_REG_FP] = {MIPS_R_FP, MIPS_R_ZERO},
[BPF_REG_FP] = {MIPS_R_ZERO, MIPS_R_FP},
emit(ctx, ori, MIPS_R_T9, MIPS_R_ZERO, MAX_TAIL_CALL_CNT);
emit(ctx, move, hi(r1), MIPS_R_ZERO);
emit(ctx, addiu, hi(dst), MIPS_R_ZERO, -1);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, addiu, hi(dst), MIPS_R_ZERO, -1);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, subu, hi(dst), MIPS_R_ZERO, hi(dst));
emit(ctx, sltu, MIPS_R_T9, MIPS_R_ZERO, lo(dst));
emit(ctx, subu, lo(dst), MIPS_R_ZERO, lo(dst));
emit(ctx, subu, hi(dst), MIPS_R_ZERO, hi(dst));
emit(ctx, move, lo(dst), MIPS_R_ZERO);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, nor, t2, src, MIPS_R_ZERO); /* t2 = ~src (delay slot) */
emit(ctx, move, lo(dst), MIPS_R_ZERO); /* dl = 0 */
emit(ctx, move, hi(dst), MIPS_R_ZERO); /* dh = 0 */
emit_mov_r(ctx, lo(dst), MIPS_R_ZERO);
emit_mov_r(ctx, hi(dst), MIPS_R_ZERO);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
emit(ctx, move, hi(dst), MIPS_R_ZERO);
if (rs != MIPS_R_ZERO)
if (rs != MIPS_R_ZERO)
emit(ctx, or, rd, rs, MIPS_R_ZERO); /* +4: rd = rs */
if (rs != MIPS_R_ZERO)
if (rs != MIPS_R_ZERO)
emit(ctx, or, rd, rs, MIPS_R_ZERO); /* +4: rd = rs */
emit(ctx, dinsu, dst, MIPS_R_ZERO, 32, 32);
emit(ctx, daddiu, dst, MIPS_R_ZERO, (s16)imm64);
u8 acc = MIPS_R_ZERO;
emit(ctx, dsubu, dst, MIPS_R_ZERO, dst);
emit(ctx, mfhi, MIPS_R_ZERO);
emit(ctx, ori, t2, MIPS_R_ZERO, 0xffff);
emit(ctx, daddiu, zx, MIPS_R_ZERO, -1);
emit(ctx, ori, tc, MIPS_R_ZERO, MAX_TAIL_CALL_CNT);
emit(ctx, daddiu, zx, MIPS_R_ZERO, -1);