linux_dsm_epyc7002/arch/sparc/net
David S. Miller e3a724edee sparc64: Support cbcond instructions in eBPF JIT.
cbcond combines a compare with a branch into a single instruction.

The limitations are:

1) Only newer chips support it

2) For immediate compares we are limited to 5-bit signed immediate
   values

3) The branch displacement is limited to 10-bit signed

4) We cannot use it for JSET

Also, cbcond (unlike all other sparc control transfers) lacks a delay
slot.

Currently we don't have a useful instruction we can push into the
delay slot of normal branches.  So using cbcond pretty much always
increases code density, and is therefore a win.

Signed-off-by: David S. Miller <davem@davemloft.net>
2017-04-24 15:56:21 -07:00
..
bpf_jit_32.h sparc64: Add eBPF JIT. 2017-04-22 12:10:52 -07:00
bpf_jit_64.h sparc64: Add eBPF JIT. 2017-04-22 12:10:52 -07:00
bpf_jit_asm_32.S sparc64: Add eBPF JIT. 2017-04-22 12:10:52 -07:00
bpf_jit_asm_64.S sparc64: Add eBPF JIT. 2017-04-22 12:10:52 -07:00
bpf_jit_comp_32.c sparc64: Add eBPF JIT. 2017-04-22 12:10:52 -07:00
bpf_jit_comp_64.c sparc64: Support cbcond instructions in eBPF JIT. 2017-04-24 15:56:21 -07:00
Makefile sparc: Split BPF JIT into 32-bit and 64-bit. 2017-04-22 12:10:52 -07:00