BPF_JSLT
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JSLT:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JSLT:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JSLT:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JSLT:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
return cond == BPF_JSGT || cond == BPF_JSLT ||
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
return BPF_JSLT;
case BPF_JSLT:
case BPF_JSLT:
case BPF_JSLT:
case BPF_JSGE: return BPF_JSLT;
case BPF_JSLT: return BPF_JSGE;
case BPF_JSLT:
case BPF_JSLT:
case BPF_JSLT:
case BPF_JSLT:
case BPF_JSLT:
case BPF_JSLT:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JSLT:
return BPF_JSLT;
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JSLT:
case BPF_JSLT:
case BPF_JSLT:
return cond == BPF_JSGT || cond == BPF_JSLT ||
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JSLT:
return BPF_JSLT;
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JSLT:
case BPF_JSLT:
emit_bcc(BPF_JSLT, RV_REG_TCC, RV_REG_ZERO, off, ctx);
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JSLT:
emit_branch(BPF_JSLT, RV_REG_TCC, RV_REG_ZERO, off, ctx);
return cond == BPF_JSGT || cond == BPF_JSLT ||
case BPF_JMP | BPF_JSLT | BPF_K: /* ((s64) dst < (s64) imm) */
case BPF_JMP32 | BPF_JSLT | BPF_K: /* ((s32) dst < (s32) imm) */
case BPF_JMP | BPF_JSLT | BPF_X: /* ((s64) dst < (s64) src) */
case BPF_JMP32 | BPF_JSLT | BPF_X: /* ((s32) dst < (s32) src) */
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JSLT:
case BPF_JSLT:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JSLT:
case BPF_JSLT:
case BPF_JMP32 | BPF_JSLT | BPF_X:
case BPF_JMP | BPF_JSLT | BPF_X:
case BPF_JMP32 | BPF_JSLT | BPF_K:
case BPF_JMP | BPF_JSLT | BPF_K:
[BPF_JSLT >> 4] = { BR_BLT, false },
[BPF_JMP | BPF_JSLT | BPF_K] = cmp_imm,
[BPF_JMP | BPF_JSLT | BPF_X] = cmp_reg,
[BPF_JMP32 | BPF_JSLT | BPF_K] =cmp_imm,
[BPF_JMP32 | BPF_JSLT | BPF_X] =cmp_reg,
case BPF_JSLT:
case BPF_JMP | BPF_JSLT | BPF_K:
case BPF_JMP32 | BPF_JSLT | BPF_K:
[BPF_JSLT >> 4] = "s<",
_J(BPF_JSLT, {.can_jump = true, .can_fallthrough = true}),
case BPF_JSLT:
case BPF_JSLT:
[BPF_JSGT >> 4] = BPF_JSLT,
[BPF_JSLT >> 4] = BPF_JSGT
case BPF_JSGE: return BPF_JSLT;
case BPF_JSLT: return BPF_JSGE;
case BPF_JSLT:
BPF_JMP_REG(BPF_JSLT, R2, R1, 1),
BPF_JMP_REG(BPF_JSLT, R1, R2, 1),
BPF_JMP32_IMM(BPF_JSLT, R1, S32_MIN, 1),
BPF_JMP_REG(BPF_JSLT, R1, R1, 1),
case BPF_JSLT:
return __bpf_fill_jmp_imm(self, BPF_JSLT);
return __bpf_fill_jmp32_imm(self, BPF_JSLT);
return __bpf_fill_jmp_reg(self, BPF_JSLT);
return __bpf_fill_jmp32_reg(self, BPF_JSLT);
struct bpf_insn jmp = BPF_JMP_IMM(BPF_JSLT, R1, -1, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JSLT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_IMM(BPF_JSLT, R1, -1, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JSLT, R1, R2, 0);
BPF_JMP32_IMM(BPF_JSLT, R0, -123, 1),
BPF_JMP32_IMM(BPF_JSLT, R0, -122, 1),
BPF_JMP32_IMM(BPF_JSLT, R0, -12345678, 1),
BPF_JMP32_IMM(BPF_JSLT, R0, -12345677, 1),
BPF_JMP32_REG(BPF_JSLT, R0, R1, 2),
BPF_JMP32_REG(BPF_JSLT, R0, R1, 1),
BPF_JMP_IMM(BPF_JSLT, R1, -1, 1),
BPF_JMP_IMM(BPF_JSLT, R1, -1, 1),
*insn++ = BPF_JMP_IMM(BPF_JSLT, BPF_REG_TMP,
emit(gen, BPF_JMP_IMM(BPF_JSLT, BPF_REG_7, 0, off));
[BPF_JSLT >> 4] = "s<",
emit(BPF_JMP32_REG(spec.setup_signed ? BPF_JSLT : BPF_JLT,
emit(BPF_JMP_REG(spec.setup_signed ? BPF_JSLT : BPF_JLT,
emit(BPF_JMP32_REG(spec.setup_signed ? BPF_JSLT : BPF_JLT,
emit(BPF_JMP_REG(spec.setup_signed ? BPF_JSLT : BPF_JLT,
case OP_LT: op_code = spec.compare_signed ? BPF_JSLT : BPF_JLT; break;
BPF_JMP_IMM(BPF_JSLT, BPF_REG_0, 0, 2),
BPF_JMP_REG(BPF_JSLT, BPF_REG_2, BPF_REG_1, 2),
BPF_JMP_IMM(BPF_JSLT, BPF_REG_7, 0x7ffffff0, 1),
BPF_JMP32_IMM(BPF_JSLT, BPF_REG_7, -1, 1),
BPF_JMP32_REG(BPF_JSLT, BPF_REG_7, BPF_REG_8, 1),
BPF_JMP32_REG(BPF_JSLT, BPF_REG_7, BPF_REG_8, 1),
BPF_JMP32_IMM(BPF_JSLT, BPF_REG_7, -1, 1),