mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
LoongArch: BPF: Remove dead move_imm() call in BPF_NEG path
The BPF_NEG operation is a unary operator that performs `dst = -dst`. The current code unconditionally executes a move_imm() call before the subtraction, generating useless JITted instructions to load data into the temporary register `t1`. This `t1` register is never used anywhere else in the entire BPF_NEG path. Remove this dead `move_imm()` call to avoid useless instructions. Acked-by: Hengqi Chen <hengqi.chen@gmail.com> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
This commit is contained in:
parent
32a5e3eaa0
commit
252ae40ba9
|
|
@ -869,7 +869,6 @@ static int build_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, bool ext
|
|||
/* dst = -dst */
|
||||
case BPF_ALU | BPF_NEG:
|
||||
case BPF_ALU64 | BPF_NEG:
|
||||
move_imm(ctx, t1, imm, is32);
|
||||
emit_insn(ctx, subd, dst, LOONGARCH_GPR_ZERO, dst);
|
||||
emit_zext_32(ctx, dst, is32);
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user