Patchwork powerpc: enable ARCH_USE_BUILTIN_BSWAP

login
register
mail settings
Submitter David Woodhouse
Date Dec. 20, 2012, 1:14 a.m.
Message ID <1355966057.18919.100.camel@shinybook.infradead.org>
Download mbox | patch
Permalink /patch/207582/
State Accepted, archived
Delegated to: Benjamin Herrenschmidt
Headers show

Comments

David Woodhouse - Dec. 20, 2012, 1:14 a.m.
By using the compiler intrinsics instead of hand-crafted opaque inline
assembler for byte-swapping, we let the compiler see what's actually
happening and it gets to use lwbrx/stwbrx instructions instead of a
normal load/store coupled with a sequence of rlwimi instructions to
move bits around.

Compiled-tested only. It gave a code size reduction of almost 4% for
ext2, and more like 2.5% for ext3/ext4.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Acked-by: H. Peter Anvin <hpa@linux.intel.com>
---
 arch/powerpc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Patch

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 951a517..064e418 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -146,6 +146,7 @@  config PPC
 	select MODULES_USE_ELF_RELA
 	select GENERIC_KERNEL_EXECVE
 	select CLONE_BACKWARDS
+	select ARCH_USE_BUILTIN_BSWAP
 
 config EARLY_PRINTK
 	bool