linux/arch
Joe Perches d148134be5 x86: bpf_jit_comp: Reduce is_ereg() code size
Use the (1 << reg) & mask trick to reduce code size.

x86-64 size difference -O2 without profiling for various
gcc versions:

$ size arch/x86/net/bpf_jit_comp.o*
   text    data     bss     dec     hex filename
   9266       4       0    9270    2436 arch/x86/net/bpf_jit_comp.o.4.4.new
  10042       4       0   10046    273e arch/x86/net/bpf_jit_comp.o.4.4.old
   9109       4       0    9113    2399 arch/x86/net/bpf_jit_comp.o.4.6.new
   9717       4       0    9721    25f9 arch/x86/net/bpf_jit_comp.o.4.6.old
   8789       4       0    8793    2259 arch/x86/net/bpf_jit_comp.o.4.7.new
  10245       4       0   10249    2809 arch/x86/net/bpf_jit_comp.o.4.7.old
   9671       4       0    9675    25cb arch/x86/net/bpf_jit_comp.o.4.9.new
  10679       4       0   10683    29bb arch/x86/net/bpf_jit_comp.o.4.9.old

Signed-off-by: Joe Perches <joe@perches.com>
Tested-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-12-09 14:56:41 -05:00
..
alpha net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
arc The "weak" attribute is commonly used for the default version of a 2014-10-23 15:04:27 -07:00
arm netpoll: delete defconfig references to obsolete NETPOLL_TRAP 2014-11-29 21:13:48 -08:00
arm64 arm64: KVM: Handle traps of ICC_SRE_EL1 as RAZ/WI 2014-11-26 14:40:43 +01:00
avr32 net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
blackfin Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-15 07:48:18 +02:00
c6x irq_work: Introduce arch_irq_work_has_interrupt() 2014-09-13 18:38:07 +02:00
cris net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
frv net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
hexagon Merge branch 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-13 15:48:00 +02:00
ia64 net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
m32r net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
m68k m68k: Wire up bpf 2014-10-27 11:02:19 +01:00
metag Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-15 07:48:18 +02:00
microblaze microblaze: Wire up bpf syscall 2014-10-27 09:25:34 +01:00
mips net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
mn10300 net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
openrisc Merge git://git.infradead.org/users/eparis/audit 2014-10-19 16:25:56 -07:00
parisc net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
powerpc net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
s390 net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
score score: use Kbuild logic to include <asm-generic/sections.h> 2014-10-09 22:25:46 -04:00
sh sh: fix sh770x SCIF memory regions 2014-10-29 16:33:15 -07:00
sparc sunvnet: add VIO v1.7 and v1.8 support 2014-12-08 21:18:29 -05:00
tile netpoll: delete defconfig references to obsolete NETPOLL_TRAP 2014-11-29 21:13:48 -08:00
um Merge git://git.infradead.org/users/eparis/audit 2014-10-19 16:25:56 -07:00
unicore32 nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
x86 x86: bpf_jit_comp: Reduce is_ereg() code size 2014-12-09 14:56:41 -05:00
xtensa net: sock: allow eBPF programs to be attached to sockets 2014-12-05 21:47:32 -08:00
.gitignore
Kconfig