[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:
Родитель
fb8299ed31
Коммит
3164cccdc0
|
@ -92,6 +92,10 @@ else
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_TUNE_CELL),y)
|
||||||
|
CFLAGS += $(call cc-option,-mtune=cell)
|
||||||
|
endif
|
||||||
|
|
||||||
# No AltiVec instruction when building kernel
|
# No AltiVec instruction when building kernel
|
||||||
CFLAGS += $(call cc-option,-mno-altivec)
|
CFLAGS += $(call cc-option,-mno-altivec)
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,18 @@ config POWER4
|
||||||
depends on PPC64
|
depends on PPC64
|
||||||
def_bool y
|
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
|
config 6xx
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче