linux-stable/arch/arm64
Robin Murphy ee5e41b5f2 arm64/io: Allow I/O writes to use {W,X}ZR
When zeroing an I/O location, the current accessors are forced to
allocate a temporary register to store the zero for the write. By
tweaking the assembly constraints, we can allow the compiler to use
the zero register directly in such cases, and save some juggling.
Compiling a representative kernel configuration with GCC 6 shows
that 2.3KB worth of code can be wasted just on that!

  text     data    bss      dec      hex     filename
 13316776 3248256 18176769 34741801 2121e29 vmlinux.o.new
 13319140 3248256 18176769 34744165 2122765 vmlinux.o.old

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-09-08 11:04:13 +01:00
..
boot ARM: SoC fixes 2016-08-11 14:14:23 -07:00
configs arm64: defconfig: enable CONFIG_LOCALVERSION_AUTO 2016-08-12 19:08:48 +01:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
include arm64/io: Allow I/O writes to use {W,X}ZR 2016-09-08 11:04:13 +01:00
kernel arm64: Use static keys for CPU features 2016-09-07 09:41:42 +01:00
kvm KVM/ARM Changes for v4.8 - Take 2 2016-08-04 13:59:56 +02:00
lib arm64/uaccess: Enable hardened usercopy 2016-07-26 14:41:49 -07:00
mm arm64: mm: drop fixup_init() and mm.h 2016-09-06 19:09:38 +01:00
net arm64: bpf: optimize LD_ABS, LD_IND 2016-06-10 23:11:50 -07:00
xen arm/xen: add support for vm_assist hypercall 2016-07-06 10:42:14 +01:00
Kconfig arm64: don't select PERF_USE_VMALLOC by default 2016-08-31 12:32:46 +01:00
Kconfig.debug arm64: always enable DEBUG_RODATA and remove the Kconfig option 2016-08-26 10:13:41 +01:00
Kconfig.platforms arm64: remove redundant "select HAVE_CLK" 2016-08-22 10:00:48 +01:00
Makefile arm64: Set UTS_MACHINE in the Makefile 2016-08-31 12:31:38 +01:00