From: Jiong Wang <jiong.w...@netronome.com>

If any of the shift insns in the ld/shift sequence is jump destination,
don't do combination.

Signed-off-by: Jiong Wang <jiong.w...@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicin...@netronome.com>
---
 drivers/net/ethernet/netronome/nfp/bpf/jit.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/netronome/nfp/bpf/jit.c 
b/drivers/net/ethernet/netronome/nfp/bpf/jit.c
index f2317b764222..54915a3b8a7e 100644
--- a/drivers/net/ethernet/netronome/nfp/bpf/jit.c
+++ b/drivers/net/ethernet/netronome/nfp/bpf/jit.c
@@ -2181,6 +2181,10 @@ static void nfp_bpf_opt_ld_shift(struct nfp_prog 
*nfp_prog)
                if (next1.imm != 0x20 || next2.imm != 0x20)
                        continue;
 
+               if (meta2->flags & FLAG_INSN_IS_JUMP_DST ||
+                   meta3->flags & FLAG_INSN_IS_JUMP_DST)
+                       continue;
+
                meta2->skip = true;
                meta3->skip = true;
        }
-- 
2.15.0

Reply via email to