Hi! This set adds an optimization run to the NFP jit to turn ADD and SUB instructions with negative immediate into the opposite operation with a positive immediate. NFP can fit small immediates into the instructions but it can't ever fit negative immediates. Addition of small negative immediates is quite common in BPF programs for stack address calculations, therefore this optimization gives us non-negligible savings in instruction count (up to 4%).
Jakub Kicinski (4): nfp: bpf: remove double space nfp: bpf: optimize add/sub of a negative constant nfp: bpf: tabularize generations of compare operations nfp: bpf: optimize comparisons to negative constants drivers/net/ethernet/netronome/nfp/bpf/jit.c | 231 +++++++++++++------------- drivers/net/ethernet/netronome/nfp/bpf/main.h | 6 +- 2 files changed, 124 insertions(+), 113 deletions(-) -- 2.16.2