BPF_JSGT
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JSGT:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JSGT:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JSGT:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JSGT:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
if (emit_tailcall_jmp(ctx, BPF_JSGT, t3, t2, jmp_offset) < 0)
return cond == BPF_JSGT || cond == BPF_JSLT ||
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JSGT:
return BPF_JSGT;
case BPF_JSGT:
case BPF_JSGT:
case BPF_JSGT: return BPF_JSLE;
case BPF_JSLE: return BPF_JSGT;
case BPF_JSGT:
case BPF_JSGT:
case BPF_JSGT:
case BPF_JSGT:
case BPF_JSGT:
case BPF_JSGT:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JSGT:
return BPF_JSGT;
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JSGT:
case BPF_JSGT:
case BPF_JSGT:
return cond == BPF_JSGT || cond == BPF_JSLT ||
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JSGT:
return BPF_JSGT;
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JSGT:
case BPF_JSGT:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JSGT:
return cond == BPF_JSGT || cond == BPF_JSLT ||
case BPF_JMP | BPF_JSGT | BPF_K: /* ((s64) dst > (s64) imm) */
case BPF_JMP32 | BPF_JSGT | BPF_K: /* ((s32) dst > (s32) imm) */
case BPF_JMP | BPF_JSGT | BPF_X: /* ((s64) dst > (s64) src) */
case BPF_JMP32 | BPF_JSGT | BPF_X: /* ((s32) dst > (s32) src) */
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JSGT:
case BPF_JSGT:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JSGT:
case BPF_JSGT:
case BPF_JMP32 | BPF_JSGT | BPF_X:
case BPF_JMP | BPF_JSGT | BPF_X:
case BPF_JMP32 | BPF_JSGT | BPF_K:
case BPF_JMP | BPF_JSGT | BPF_K:
[BPF_JSGT >> 4] = { BR_BLT, true },
[BPF_JMP | BPF_JSGT | BPF_K] = cmp_imm,
[BPF_JMP | BPF_JSGT | BPF_X] = cmp_reg,
[BPF_JMP32 | BPF_JSGT | BPF_K] =cmp_imm,
[BPF_JMP32 | BPF_JSGT | BPF_X] =cmp_reg,
case BPF_JMP | BPF_JSGT | BPF_K:
case BPF_JMP32 | BPF_JSGT | BPF_K:
[BPF_JSGT >> 4] = "s>",
_J(BPF_JSGT, {.can_jump = true, .can_fallthrough = true}),
case BPF_JSGT:
case BPF_JSGT:
[BPF_JSGT >> 4] = BPF_JSLT,
[BPF_JSLT >> 4] = BPF_JSGT
case BPF_JSGT: return BPF_JSLE;
case BPF_JSLE: return BPF_JSGT;
case BPF_JSGT:
BPF_JMP_REG(BPF_JSGT, R1, R2, 1),
BPF_JMP_REG(BPF_JSGT, R1, R2, 1),
BPF_JMP32_IMM(BPF_JSGT, R1, S32_MAX, 1),
BPF_JMP_REG(BPF_JSGT, R1, R1, 1),
case BPF_JSGT:
return __bpf_fill_jmp_imm(self, BPF_JSGT);
return __bpf_fill_jmp32_imm(self, BPF_JSGT);
return __bpf_fill_jmp_reg(self, BPF_JSGT);
return __bpf_fill_jmp32_reg(self, BPF_JSGT);
struct bpf_insn jmp = BPF_JMP_IMM(BPF_JSGT, R1, -2, 0);
struct bpf_insn jmp = BPF_JMP_REG(BPF_JSGT, R1, R2, 0);
struct bpf_insn jmp = BPF_JMP32_IMM(BPF_JSGT, R1, -2, 0);
struct bpf_insn jmp = BPF_JMP32_REG(BPF_JSGT, R1, R2, 0);
BPF_JMP32_IMM(BPF_JSGT, R0, -123, 1),
BPF_JMP32_IMM(BPF_JSGT, R0, -124, 1),
BPF_JMP32_IMM(BPF_JSGT, R0, -12345678, 1),
BPF_JMP32_IMM(BPF_JSGT, R0, -12345679, 1),
BPF_JMP32_REG(BPF_JSGT, R0, R1, 2),
BPF_JMP32_REG(BPF_JSGT, R0, R1, 1),
BPF_JMP_IMM(BPF_JSGT, R1, -2, 1),
BPF_JMP_IMM(BPF_JSGT, R1, -1, 1),
[BPF_JSGT >> 4] = "s>",
emit(BPF_JMP32_REG(spec.setup_signed ? BPF_JSGT : BPF_JGT,
emit(BPF_JMP_REG(spec.setup_signed ? BPF_JSGT : BPF_JGT,
emit(BPF_JMP32_REG(spec.setup_signed ? BPF_JSGT : BPF_JGT,
emit(BPF_JMP_REG(spec.setup_signed ? BPF_JSGT : BPF_JGT,
case OP_GT: op_code = spec.compare_signed ? BPF_JSGT : BPF_JGT; break;
BPF_JMP_REG(BPF_JSGT, BPF_REG_0, BPF_REG_0, 0),
BPF_JMP_REG(BPF_JSGT, BPF_REG_1, BPF_REG_2, 2),
BPF_JMP32_IMM(BPF_JSGT, BPF_REG_7, -1, 1),
BPF_JMP32_REG(BPF_JSGT, BPF_REG_7, BPF_REG_8, 1),
BPF_JMP32_REG(BPF_JSGT, BPF_REG_7, BPF_REG_8, 1),
BPF_JMP_IMM(BPF_JSGT, BPF_REG_7, -2, 1),