summaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2012-12-19 15:14:17 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-01-10 17:00:54 +1100
commitfe3955cb297290b0d5dedf5d2694a7cef455010e (patch)
tree8901f2f72857d3490c1dda22dcdc3b2d7ccef326 /arch/powerpc
parente49f1e203f3a66dd2982bcd8695e6f4a4f89f876 (diff)
downloadblackbird-obmc-linux-fe3955cb297290b0d5dedf5d2694a7cef455010e.tar.gz
blackbird-obmc-linux-fe3955cb297290b0d5dedf5d2694a7cef455010e.zip
powerpc: Enable ARCH_USE_BUILTIN_BSWAP
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> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 17903f1f356b..684fa6456797 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -144,6 +144,7 @@ config PPC
select HAVE_MOD_ARCH_SPECIFIC
select MODULES_USE_ELF_RELA
select CLONE_BACKWARDS
+ select ARCH_USE_BUILTIN_BSWAP
config EARLY_PRINTK
bool
OpenPOWER on IntegriCloud