s390/Kconfig: use builtin bswap
authorChristian Borntraeger <borntraeger@de.ibm.com>
Thu, 29 Oct 2015 00:16:04 +0000 (01:16 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 3 Nov 2015 13:40:48 +0000 (14:40 +0100)
commit295d8fa961466bb9e9ebb87b46fdad4edaf736de
treee4a50c47b5520c119bc4bce0f8329057ad707858
parentccc0e7dc708ce1bd2e1c4a2b6a180ae7459374de
s390/Kconfig: use builtin bswap

Depending on the gcc version we can use builtin_bswap instead of
architecture functions. Doing so is better than the inline assembly
version of load reverse for two reasons:
- the sequence of load reversed, apply constant mask, save reversed can
  be optimized to load, apply reversed mask, save
- builtins are slightly better to optimize e.g. gcc instruction
  scheduler cannot optimize grouping on inline assemblies.

To enable set we have to ARCH_USE_BUILTIN_BSWAP.
bloat-o-meter results:
add/remove: 1/1 grow/shrink: 75/533 up/down: 1711/-9394 (-7683)

Suggested-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/Kconfig