diff options
author | Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> | 2005-10-30 18:00:09 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 20:37:16 -0500 |
commit | d89ea9b8bb4c4ad63122cd2d2ee5110a52da51b8 (patch) | |
tree | c729040e58c76b23d66bba40f1e8e989a7fea2ac /arch/i386 | |
parent | 6a351cfeadd4b56a2a0031020c0cfb07cc0337fb (diff) |
[PATCH] i386: use -mcpu, not -mtune, for GCCs older than 3.4
I just noted that -mtune is used, which is only supported on recent GCCs; by
reading http://gcc.gnu.org/gcc-3.4/changes.html, you see "-mcpu has been
renamed to -mtune.", so for GCC < 3.4 we're not using any specific tuning in
the appropriate cases. However -mcpu is deprecated, so use -mtune when
possible.
This was introduced by commit e9d4dce954a60dc23dd1d967766ca2347b780e54 of the
old tree (between 2.6.10-rc3 and 2.6.10) by Linus Torvalds, to remove the use
of -march, since that could trigger gcc using SSE on its own. But no
attention was used about using -mcpu vs. -mtune.
And btw, the old 2.6.4 code (for instance) was:
cflags-$(CONFIG_MPENTIUMII) += $(call check_gcc,-march=pentium2,-march=i686)
cflags-$(CONFIG_MPENTIUMIII) += $(call check_gcc,-march=pentium3,-march=i686)
cflags-$(CONFIG_MPENTIUMM) += $(call check_gcc,-march=pentium3,-march=i686)
cflags-$(CONFIG_MPENTIUM4) += $(call check_gcc,-march=pentium4,-march=i686)
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/Makefile.cpu | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/arch/i386/Makefile.cpu b/arch/i386/Makefile.cpu index 86c7bb1b95e5..8e51456df23d 100644 --- a/arch/i386/Makefile.cpu +++ b/arch/i386/Makefile.cpu | |||
@@ -1,6 +1,14 @@ | |||
1 | # CPU tuning section - shared with UML. | 1 | # CPU tuning section - shared with UML. |
2 | # Must change only cflags-y (or [yn]), not CFLAGS! That makes a difference for UML. | 2 | # Must change only cflags-y (or [yn]), not CFLAGS! That makes a difference for UML. |
3 | 3 | ||
4 | #-mtune exists since gcc 3.4, and some -mcpu flavors didn't exist in gcc 2.95. | ||
5 | HAS_MTUNE := $(call cc-option-yn, -mtune=i386) | ||
6 | ifeq ($(HAS_MTUNE),y) | ||
7 | tune = $(call cc-option,-mtune=$(1),) | ||
8 | else | ||
9 | tune = $(call cc-option,-mcpu=$(1),) | ||
10 | endif | ||
11 | |||
4 | align := $(cc-option-align) | 12 | align := $(cc-option-align) |
5 | cflags-$(CONFIG_M386) += -march=i386 | 13 | cflags-$(CONFIG_M386) += -march=i386 |
6 | cflags-$(CONFIG_M486) += -march=i486 | 14 | cflags-$(CONFIG_M486) += -march=i486 |
@@ -8,17 +16,17 @@ cflags-$(CONFIG_M586) += -march=i586 | |||
8 | cflags-$(CONFIG_M586TSC) += -march=i586 | 16 | cflags-$(CONFIG_M586TSC) += -march=i586 |
9 | cflags-$(CONFIG_M586MMX) += $(call cc-option,-march=pentium-mmx,-march=i586) | 17 | cflags-$(CONFIG_M586MMX) += $(call cc-option,-march=pentium-mmx,-march=i586) |
10 | cflags-$(CONFIG_M686) += -march=i686 | 18 | cflags-$(CONFIG_M686) += -march=i686 |
11 | cflags-$(CONFIG_MPENTIUMII) += -march=i686 $(call cc-option,-mtune=pentium2) | 19 | cflags-$(CONFIG_MPENTIUMII) += -march=i686 $(call tune,pentium2) |
12 | cflags-$(CONFIG_MPENTIUMIII) += -march=i686 $(call cc-option,-mtune=pentium3) | 20 | cflags-$(CONFIG_MPENTIUMIII) += -march=i686 $(call tune,pentium3) |
13 | cflags-$(CONFIG_MPENTIUMM) += -march=i686 $(call cc-option,-mtune=pentium3) | 21 | cflags-$(CONFIG_MPENTIUMM) += -march=i686 $(call tune,pentium3) |
14 | cflags-$(CONFIG_MPENTIUM4) += -march=i686 $(call cc-option,-mtune=pentium4) | 22 | cflags-$(CONFIG_MPENTIUM4) += -march=i686 $(call tune,pentium4) |
15 | cflags-$(CONFIG_MK6) += -march=k6 | 23 | cflags-$(CONFIG_MK6) += -march=k6 |
16 | # Please note, that patches that add -march=athlon-xp and friends are pointless. | 24 | # Please note, that patches that add -march=athlon-xp and friends are pointless. |
17 | # They make zero difference whatsosever to performance at this time. | 25 | # They make zero difference whatsosever to performance at this time. |
18 | cflags-$(CONFIG_MK7) += $(call cc-option,-march=athlon,-march=i686 $(align)-functions=4) | 26 | cflags-$(CONFIG_MK7) += $(call cc-option,-march=athlon,-march=i686 $(align)-functions=4) |
19 | cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8,$(call cc-option,-march=athlon,-march=i686 $(align)-functions=4)) | 27 | cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8,$(call cc-option,-march=athlon,-march=i686 $(align)-functions=4)) |
20 | cflags-$(CONFIG_MCRUSOE) += -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 | 28 | cflags-$(CONFIG_MCRUSOE) += -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 |
21 | cflags-$(CONFIG_MEFFICEON) += -march=i686 $(call cc-option,-mtune=pentium3) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 | 29 | cflags-$(CONFIG_MEFFICEON) += -march=i686 $(call tune,pentium3) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 |
22 | cflags-$(CONFIG_MWINCHIPC6) += $(call cc-option,-march=winchip-c6,-march=i586) | 30 | cflags-$(CONFIG_MWINCHIPC6) += $(call cc-option,-march=winchip-c6,-march=i586) |
23 | cflags-$(CONFIG_MWINCHIP2) += $(call cc-option,-march=winchip2,-march=i586) | 31 | cflags-$(CONFIG_MWINCHIP2) += $(call cc-option,-march=winchip2,-march=i586) |
24 | cflags-$(CONFIG_MWINCHIP3D) += $(call cc-option,-march=winchip2,-march=i586) | 32 | cflags-$(CONFIG_MWINCHIP3D) += $(call cc-option,-march=winchip2,-march=i586) |