[rfc] nopl should not be output on -mtune=i686
Jakub Jelinek
jakub@redhat.com
Tue Feb 8 20:00:00 GMT 2011
On Tue, Feb 08, 2011 at 08:01:17PM +0100, Jan Kratochvil wrote:
> On Tue, 08 Feb 2011 18:23:35 +0100, H.J. Lu wrote:
> > On Tue, Feb 8, 2011 at 9:10 AM, Jan Kratochvil
> > <jan.kratochvil@redhat.com> wrote:
> > > 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.
>
> Aha, in such case the system build should use some specific -march anyway and
> not just to disable `nopl'.
Not very easily, because lots of packages will contain SSE/SSE2/.../AVX etc.
insns in inline asm etc. and use it conditionally based on used CPU (or with target
attribute switching among functions). So IMHO requiring that -march= is passed to
gas whenever -mtune= is used doesn't look like a good idea.
Jakub
More information about the Binutils
mailing list