| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 | 
 | 2 | # CPU tuning section - shared with UML. | 
 | 3 | # Must change only cflags-y (or [yn]), not CFLAGS! That makes a difference for UML. | 
 | 4 |  | 
 | 5 | #-mtune exists since gcc 3.4 | 
 | 6 | HAS_MTUNE	:= $(call cc-option-yn, -mtune=i386) | 
 | 7 | ifeq ($(HAS_MTUNE),y) | 
 | 8 | tune		= $(call cc-option,-mtune=$(1),$(2)) | 
 | 9 | else | 
 | 10 | tune		= $(call cc-option,-mcpu=$(1),$(2)) | 
 | 11 | endif | 
 | 12 |  | 
 | 13 | cflags-$(CONFIG_M486)		+= -march=i486 | 
 | 14 | cflags-$(CONFIG_M586)		+= -march=i586 | 
 | 15 | cflags-$(CONFIG_M586TSC)	+= -march=i586 | 
 | 16 | cflags-$(CONFIG_M586MMX)	+= -march=pentium-mmx | 
 | 17 | cflags-$(CONFIG_M686)		+= -march=i686 | 
 | 18 | cflags-$(CONFIG_MPENTIUMII)	+= -march=i686 $(call tune,pentium2) | 
 | 19 | cflags-$(CONFIG_MPENTIUMIII)	+= -march=i686 $(call tune,pentium3) | 
 | 20 | cflags-$(CONFIG_MPENTIUMM)	+= -march=i686 $(call tune,pentium3) | 
 | 21 | cflags-$(CONFIG_MPENTIUM4)	+= -march=i686 $(call tune,pentium4) | 
 | 22 | cflags-$(CONFIG_MK6)		+= -march=k6 | 
 | 23 | # Please note, that patches that add -march=athlon-xp and friends are pointless. | 
 | 24 | # They make zero difference whatsosever to performance at this time. | 
 | 25 | cflags-$(CONFIG_MK7)		+= -march=athlon | 
 | 26 | cflags-$(CONFIG_MK8)		+= $(call cc-option,-march=k8,-march=athlon) | 
 | 27 | cflags-$(CONFIG_MCRUSOE)	+= -march=i686 -falign-functions=0 -falign-jumps=0 -falign-loops=0 | 
 | 28 | cflags-$(CONFIG_MEFFICEON)	+= -march=i686 $(call tune,pentium3) -falign-functions=0 -falign-jumps=0 -falign-loops=0 | 
 | 29 | cflags-$(CONFIG_MWINCHIPC6)	+= $(call cc-option,-march=winchip-c6,-march=i586) | 
 | 30 | cflags-$(CONFIG_MWINCHIP3D)	+= $(call cc-option,-march=winchip2,-march=i586) | 
 | 31 | cflags-$(CONFIG_MCYRIXIII)	+= $(call cc-option,-march=c3,-march=i486) -falign-functions=0 -falign-jumps=0 -falign-loops=0 | 
 | 32 | cflags-$(CONFIG_MVIAC3_2)	+= $(call cc-option,-march=c3-2,-march=i686) | 
 | 33 | cflags-$(CONFIG_MVIAC7)		+= -march=i686 | 
 | 34 | cflags-$(CONFIG_MCORE2)		+= -march=i686 $(call tune,core2) | 
 | 35 | cflags-$(CONFIG_MATOM)		+= $(call cc-option,-march=atom,$(call cc-option,-march=core2,-march=i686)) \ | 
 | 36 | 	$(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic)) | 
 | 37 |  | 
 | 38 | # AMD Elan support | 
 | 39 | cflags-$(CONFIG_MELAN)		+= -march=i486 | 
 | 40 |  | 
 | 41 | # Geode GX1 support | 
 | 42 | cflags-$(CONFIG_MGEODEGX1)	+= -march=pentium-mmx | 
 | 43 | cflags-$(CONFIG_MGEODE_LX)	+= $(call cc-option,-march=geode,-march=pentium-mmx) | 
 | 44 | # add at the end to overwrite eventual tuning options from earlier | 
 | 45 | # cpu entries | 
 | 46 | cflags-$(CONFIG_X86_GENERIC) 	+= $(call tune,generic,$(call tune,i686)) | 
 | 47 |  | 
 | 48 | # Bug fix for binutils: this option is required in order to keep | 
 | 49 | # binutils from generating NOPL instructions against our will. | 
 | 50 | ifneq ($(CONFIG_X86_P6_NOP),y) | 
 | 51 | cflags-y			+= $(call cc-option,-Wa$(comma)-mtune=generic32,) | 
 | 52 | endif |