From patchwork Tue Dec 4 10:15:28 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/4] powerpc: enable ARCH_USE_BUILTIN_BSWAP Date: Tue, 04 Dec 2012 00:15:28 -0000 From: David Woodhouse X-Patchwork-Id: 203593 Message-Id: <1354616130-21587-3-git-send-email-dwmw2@infradead.org> To: dwmw2@infradead.org Cc: linux-arch@vger.kernel.org, x86@kernel.org, linuxppc-dev@lists.ozlabs.org From: David Woodhouse 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 --- arch/powerpc/Kconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index a902a5c..b4ea516 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -78,6 +78,9 @@ config ARCH_HAS_ILOG2_U64 bool default y if 64BIT +config ARCH_USE_BUILTIN_BSWAP + def_bool y + config GENERIC_HWEIGHT bool default y