[POWERPC] add Kconfig option for optimizing for cell

Since the PPE on cell is an in-order core, it suffers significantly
from wrong instruction scheduling.  This adds a Kconfig option that
enables passing -mtune=cell to gcc in order to generate object
code that runs well on cell.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Arnd Bergmann 2007-09-15 10:21:57 +10:00 committed by Paul Mackerras
parent fb8299ed31
commit 3164cccdc0
2 changed files with 16 additions and 0 deletions

View File

@ -92,6 +92,10 @@ else
endif
endif
ifeq ($(CONFIG_TUNE_CELL),y)
CFLAGS += $(call cc-option,-mtune=cell)
endif
# No AltiVec instruction when building kernel
CFLAGS += $(call cc-option,-mno-altivec)

View File

@ -71,6 +71,18 @@ config POWER4
depends on PPC64
def_bool y
config TUNE_CELL
bool "Optimize for Cell Broadband Engine"
depends on PPC64
help
Cause the compiler to optimize for the PPE of the Cell Broadband
Engine. This will make the code run considerably faster on Cell
but somewhat slower on other machines. This option only changes
the scheduling of instructions, not the selection of instructions
itself, so the resulting kernel will keep running on all other
machines. When building a kernel that is supposed to run only
on Cell, you should also select the POWER4_ONLY option.
config 6xx
bool