x86: Enable ARCH_USE_BUILTIN_BSWAP
authorDavid Woodhouse <dwmw2@infradead.org>
Thu, 20 Dec 2012 01:16:20 +0000 (01:16 +0000)
committerH. Peter Anvin <hpa@linux.intel.com>
Mon, 28 Jan 2013 16:48:57 +0000 (08:48 -0800)
With -mmovbe enabled (implicit with -march=atom), this allows the
compiler to use the movbe instruction. This doesn't have a significant
effect on code size (unlike on PowerPC), because the movbe instruction
actually takes as many bytes to encode as a simple mov and a bswap. But
for Atom in particular I believe it should give a performance win over
the mov+bswap alternative. That was kind of why movbe was invented in
the first place, after all...

I've done basic functionality testing with IPv6 and Legacy IP, but no
performance testing. The EFI firmware on my test box unfortunately no
longer starts up.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Link: http://lkml.kernel.org/r/1355966180.18919.102.camel@shinybook.infradead.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/Kconfig

index 79795af598105e9998f0de234b279fb6c61ca42f..3e941aa7535099a2505f4e3dd9e30a51769605ae 100644 (file)
@@ -114,6 +114,7 @@ config X86
        select MODULES_USE_ELF_RELA if X86_64
        select CLONE_BACKWARDS if X86_32
        select GENERIC_SIGALTSTACK
+       select ARCH_USE_BUILTIN_BSWAP
 
 config INSTRUCTION_DECODER
        def_bool y