summaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2012-12-20 01:16:20 +0000
committerH. Peter Anvin <hpa@linux.intel.com>2013-01-28 08:48:57 -0800
commit83a57a4de1a222c351667ef9a0fedaac1295e85b (patch)
tree5c9d477685a12712c45c527f165388a951b76fdb /arch/x86/Kconfig
parentf317820cb6ee3fb173319bf76e0e62437be78ad2 (diff)
downloadlinux-83a57a4de1a222c351667ef9a0fedaac1295e85b.tar.gz
linux-83a57a4de1a222c351667ef9a0fedaac1295e85b.tar.bz2
linux-83a57a4de1a222c351667ef9a0fedaac1295e85b.zip
x86: Enable ARCH_USE_BUILTIN_BSWAP
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>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 79795af59810..3e941aa75350 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -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