Lines Matching refs:b_off
585 int off, b_off; in emit_bpf_tail_call() local
595 b_off = b_imm(this_idx + 1, ctx); in emit_bpf_tail_call()
596 emit_instr(ctx, bne, MIPS_R_AT, MIPS_R_ZERO, b_off); in emit_bpf_tail_call()
604 b_off = b_imm(this_idx + 1, ctx); in emit_bpf_tail_call()
605 emit_instr(ctx, bltz, MIPS_R_T5, b_off); in emit_bpf_tail_call()
616 b_off = b_imm(this_idx + 1, ctx); in emit_bpf_tail_call()
617 emit_instr(ctx, beq, MIPS_R_AT, MIPS_R_ZERO, b_off); in emit_bpf_tail_call()
631 static bool is_bad_offset(int b_off) in is_bad_offset() argument
633 return b_off > 0x1ffff || b_off < -0x20000; in is_bad_offset()
640 int src, dst, r, td, ts, mem_off, b_off; in build_one_insn() local
923 b_off = b_imm(exit_idx, ctx); in build_one_insn()
924 if (is_bad_offset(b_off)) in build_one_insn()
926 emit_instr(ctx, beq, MIPS_R_ZERO, MIPS_R_ZERO, b_off); in build_one_insn()
975 b_off = b_imm(exit_idx, ctx); in build_one_insn()
976 if (is_bad_offset(b_off)) in build_one_insn()
979 emit_instr(ctx, blez, MIPS_R_AT, b_off); in build_one_insn()
981 emit_instr(ctx, bgtz, MIPS_R_AT, b_off); in build_one_insn()
985 b_off = b_imm(this_idx + insn->off + 1, ctx); in build_one_insn()
986 if (is_bad_offset(b_off)) in build_one_insn()
989 emit_instr(ctx, bgtz, MIPS_R_AT, b_off); in build_one_insn()
991 emit_instr(ctx, blez, MIPS_R_AT, b_off); in build_one_insn()
1026 b_off = b_imm(exit_idx, ctx); in build_one_insn()
1027 if (is_bad_offset(b_off)) { in build_one_insn()
1032 b_off = 4 * 3; in build_one_insn()
1040 emit_instr(ctx, bne, dst, src, b_off); in build_one_insn()
1042 emit_instr(ctx, beq, dst, src, b_off); in build_one_insn()
1050 b_off = b_imm(this_idx + insn->off + 1, ctx); in build_one_insn()
1051 if (is_bad_offset(b_off)) { in build_one_insn()
1056 b_off = 4 * 3; in build_one_insn()
1064 emit_instr(ctx, beq, dst, src, b_off); in build_one_insn()
1066 emit_instr(ctx, bne, dst, src, b_off); in build_one_insn()
1084 b_off = b_imm(exit_idx, ctx); in build_one_insn()
1085 if (is_bad_offset(b_off)) in build_one_insn()
1089 emit_instr(ctx, blez, dst, b_off); in build_one_insn()
1092 emit_instr(ctx, bltz, dst, b_off); in build_one_insn()
1095 emit_instr(ctx, bgez, dst, b_off); in build_one_insn()
1098 emit_instr(ctx, bgtz, dst, b_off); in build_one_insn()
1104 b_off = b_imm(this_idx + insn->off + 1, ctx); in build_one_insn()
1105 if (is_bad_offset(b_off)) in build_one_insn()
1109 emit_instr(ctx, bgtz, dst, b_off); in build_one_insn()
1112 emit_instr(ctx, bgez, dst, b_off); in build_one_insn()
1115 emit_instr(ctx, bltz, dst, b_off); in build_one_insn()
1118 emit_instr(ctx, blez, dst, b_off); in build_one_insn()
1182 b_off = b_imm(exit_idx, ctx); in build_one_insn()
1183 if (is_bad_offset(b_off)) in build_one_insn()
1185 emit_instr(ctx, bbit0, dst, ffs((u32)insn->imm) - 1, b_off); in build_one_insn()
1189 b_off = b_imm(this_idx + insn->off + 1, ctx); in build_one_insn()
1190 if (is_bad_offset(b_off)) in build_one_insn()
1192 emit_instr(ctx, bbit1, dst, ffs((u32)insn->imm) - 1, b_off); in build_one_insn()
1209 b_off = b_imm(this_idx + insn->off + 1, ctx); in build_one_insn()
1210 if (is_bad_offset(b_off)) { in build_one_insn()
1216 emit_instr(ctx, b, b_off); in build_one_insn()