Re: [RFC] [PATCH] arch: x86: change GCC optimisation target from atom to bonnell

From: Rui Salvaterra
Date: Tue Oct 11 2016 - 04:40:27 EST


2016-10-11 1:11 GMT+01:00 <hpa@xxxxxxxxx>:
> On October 10, 2016 2:45:38 PM PDT, Rui Salvaterra <rsalvaterra@xxxxxxxxx> wrote:
>>Hi, Thomas, Ingo, Peter,
>>
>>(Sending as RFC, since I don't know if this patch is acceptable.)
>>
>>The GCC team has deprecated atom as a march/mtune target since almost
>>three
>>years ago, according to this mailing list thread [1], in favour of
>>specific
>>microarchitecture names (bonnell, silvermont). This patch changes the
>>Atom
>>optimisation target in the kernel to bonnell, as it was originally
>>intended.
>>
>>Tested on an x86-64 Atom 330 machine. No functional changes.
>>
>>[1] https://gcc.gnu.org/ml/gcc-patches/2013-12/msg01805.html
>>
>>Signed-off-by: Rui Salvaterra <rsalvaterra@xxxxxxxxx>
>>---
>> arch/x86/Makefile | 4 ++--
>> arch/x86/Makefile_32.cpu | 4 ++--
>> 2 files changed, 4 insertions(+), 4 deletions(-)
>>
>>diff --git a/arch/x86/Makefile b/arch/x86/Makefile
>>index 2d44933..b7d615f 100644
>>--- a/arch/x86/Makefile
>>+++ b/arch/x86/Makefile
>>@@ -109,8 +109,8 @@ else
>>
>> cflags-$(CONFIG_MCORE2) += \
>> $(call cc-option,-march=core2,$(call cc-option,-mtune=generic))
>>- cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom) \
>>- $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
>>+ cflags-$(CONFIG_MATOM) += $(call cc-option,-march=bonnell) \
>>+ $(call cc-option,-mtune=bonnell,$(call cc-option,-mtune=generic))
>> cflags-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=generic)
>> KBUILD_CFLAGS += $(cflags-y)
>>
>>diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu
>>index 6647ed4..d66e5e3 100644
>>--- a/arch/x86/Makefile_32.cpu
>>+++ b/arch/x86/Makefile_32.cpu
>>@@ -32,8 +32,8 @@ cflags-$(CONFIG_MCYRIXIII) += $(call
>>cc-option,-march=c3,-march=i486) $(align)-f
>> cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686)
>> cflags-$(CONFIG_MVIAC7) += -march=i686
>> cflags-$(CONFIG_MCORE2) += -march=i686 $(call tune,core2)
>>-cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom,$(call
>>cc-option,-march=core2,-march=i686)) \
>>- $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
>>+cflags-$(CONFIG_MATOM) += $(call cc-option,-march=bonnell,$(call
>>cc-option,-march=core2,-march=i686)) \
>>+ $(call cc-option,-mtune=bonnell,$(call cc-option,-mtune=generic))
>>
>> # AMD Elan support
>> cflags-$(CONFIG_MELAN) += -march=i486
>
> This just breaks backwards compatibility with older gcc. If you want to add a comment that's fine, though.
>
> Nacked-by: hpa
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.


Hi, Hans,

I suspected that (hence the RFC), but I couldn't find the minimum supported
gcc version. I was just worried the bonnell microarch could get neglected in
the long term, when it needs all the (compiler) help it can get, being in-order.

Thanks,

Rui