Re: [PATCH v1 2/3] LoongArch: BPF: Remove dead move_imm() call in BPF_NEG path

From: Hengqi Chen

Date: Sun Jul 26 2026 - 04:37:11 EST


On Sat, Jul 11, 2026 at 6:10 PM Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote:
>
> 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.
>
> Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
> ---
> arch/loongarch/net/bpf_jit.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/arch/loongarch/net/bpf_jit.c b/arch/loongarch/net/bpf_jit.c
> index 2738b4db1165..5f32b205a6ac 100644
> --- a/arch/loongarch/net/bpf_jit.c
> +++ b/arch/loongarch/net/bpf_jit.c
> @@ -894,7 +894,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;
> --

Acked-by: Hengqi Chen <hengqi.chen@xxxxxxxxx>

> 2.42.0
>