]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
ARM: net: bpf: Improve prologue code sequence
authorRussell King <rmk+kernel@armlinux.org.uk>
Mon, 9 Dec 2019 11:17:30 +0000 (11:17 +0000)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 11 Dec 2019 13:34:26 +0000 (14:34 +0100)
commitc453312857ba41129db3558f5428405bbbb8f1a4
tree10b7805bc7995c24515874aef85e65c7827c5cdc
parentc21939998802b48e7afd0c0568193f6e4e4954f8
ARM: net: bpf: Improve prologue code sequence

Improve the prologue code sequence to be able to take advantage of
64-bit stores, changing the code from:

  push    {r4, r5, r6, r7, r8, r9, fp, lr}
  mov     fp, sp
  sub     ip, sp, #80     ; 0x50
  sub     sp, sp, #600    ; 0x258
  str     ip, [fp, #-100] ; 0xffffff9c
  mov     r6, #0
  str     r6, [fp, #-96]  ; 0xffffffa0
  mov     r4, #0
  mov     r3, r4
  mov     r2, r0
  str     r4, [fp, #-104] ; 0xffffff98
  str     r4, [fp, #-108] ; 0xffffff94

to the tighter:

  push    {r4, r5, r6, r7, r8, r9, fp, lr}
  mov     fp, sp
  mov     r3, #0
  sub     r2, sp, #80     ; 0x50
  sub     sp, sp, #600    ; 0x258
  strd    r2, [fp, #-100] ; 0xffffff9c
  mov     r2, #0
  strd    r2, [fp, #-108] ; 0xffffff94
  mov     r2, r0

resulting in a saving of three instructions.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/E1ieH2g-0004ih-Rb@rmk-PC.armlinux.org.uk
arch/arm/net/bpf_jit_32.c