This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [rfc] nopl should not be output on -mtune=i686
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Cc: binutils at sourceware dot org, Quentin Neill <quentin dot neill dot gnu at gmail dot com>
- Date: Tue, 8 Feb 2011 09:23:35 -0800
- Subject: Re: [rfc] nopl should not be output on -mtune=i686
- References: <20110208171044.GA32289@host1.dyn.jankratochvil.net>
On Tue, Feb 8, 2011 at 9:10 AM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> Hi,
>
> I do not fully understand the intention when to use / not use nopl.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=579838#c32
> Nick Lowe wrote:
> # The NOPL instruction is not supported by all i686 processors, the coded
> # assumption was that they all did. This has been changed by the recent AMD
> # patches linked to by Quentin Neill so that it is not assumed and it's
> # specified as an extension where it is supported.
>
> Current binutils HEAD:
> -march | -mtune ?| nopl used? ?| after the attached patch: nopl used?
> ?- ? ?| ? - ? ? | ? ?no ? ? ? | no
> ?i686 ?| -/i686 ?| ? ?no ? ? ? | no
> ?- ? ?| ? i686 ?| ? yes = BUG | no
> ?core2 | -/core2 | ? yes ? ? ? | yes
> ?- ? ?| ? core2 | ? yes = BUG | no
>
> => Currently suppressing -march now produces more advanced code output, this
> ? does not seem correct to me.
By default, x86 assembler assumes that the target processor accepts
any instructions. You can restrict ISA sets by -march and .arch directive.
-mtune= doesn't change ISA. It seems that we want a way to restrict ISA
sets for NOP paddings without restricting ISA sets elsewhere?
> After the patch code built with only `-mtune=i686' then remains compatible
> with AMD Geode LX.
>
> The flag `+nop' (such as `-march=i686+nop') does not work for me as expected
> with HEAD and neither works with the patched code.
Please file a bug report.
Thanks.
H.J.
---