mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-03-19 21:44:08 +00:00
bpf: xor of a/x in cbpf can be done in 32 bit alu
Very minor optimization; saves 1 byte per program in x86_64 JIT in cBPF prologue. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
c25ef6a5e6
commit
1d621674d9
1 changed files with 2 additions and 2 deletions
|
@ -401,8 +401,8 @@ do_pass:
|
||||||
/* Classic BPF expects A and X to be reset first. These need
|
/* Classic BPF expects A and X to be reset first. These need
|
||||||
* to be guaranteed to be the first two instructions.
|
* to be guaranteed to be the first two instructions.
|
||||||
*/
|
*/
|
||||||
*new_insn++ = BPF_ALU64_REG(BPF_XOR, BPF_REG_A, BPF_REG_A);
|
*new_insn++ = BPF_ALU32_REG(BPF_XOR, BPF_REG_A, BPF_REG_A);
|
||||||
*new_insn++ = BPF_ALU64_REG(BPF_XOR, BPF_REG_X, BPF_REG_X);
|
*new_insn++ = BPF_ALU32_REG(BPF_XOR, BPF_REG_X, BPF_REG_X);
|
||||||
|
|
||||||
/* All programs must keep CTX in callee saved BPF_REG_CTX.
|
/* All programs must keep CTX in callee saved BPF_REG_CTX.
|
||||||
* In eBPF case it's done by the compiler, here we need to
|
* In eBPF case it's done by the compiler, here we need to
|
||||||
|
|
Loading…
Add table
Reference in a new issue