Skip to content

Commit

Permalink
[POWERPC] add Kconfig option for optimizing for cell
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Arnd Bergmann authored and Paul Mackerras committed Sep 22, 2007
1 parent fb8299e commit 3164ccc
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
4 changes: 4 additions & 0 deletions arch/powerpc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
12 changes: 12 additions & 0 deletions arch/powerpc/platforms/Kconfig.cputype
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 3164ccc

Please sign in to comment.