[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