This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] don't generate long nops on i686 (only when -march=[intel])


On Mon, Aug 2, 2010 at 4:19 PM, Quentin Neill
<quentin.neill.gnu@gmail.com> wrote:
> On Tue, Jul 13, 2010 at 8:33 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Tue, Jul 13, 2010 at 5:59 AM, Kyle McMartin <kyle@mcmartin.ca> wrote:
>>> From: Kyle McMartin <kyle@redhat.com>
>>>
>>> Hi,
>>>
>>> In Fedora, glibc started building itself with -march=i686 flags to
>>> binutils as an "optimization." This exposes issues on the Geode, which
>>> is i686, but for long nops, since they are apparently not an architected
>>> part of the i686 ISA.
>>>
>>> Clarify this by only enabling long nops if we're generating 64-bit code
>>> (as far as I can tell, all x86_64 cpus support this) or explicitly
>>> generating code for the pentiumpro and above.
>>>
>>> Using this patch prevents people from overambitiously optimizing and
>>> breaking the Geode.
>>>
>>> Signed-off-by: Kyle McMartin <kyle@redhat.com>
>>
>> There is no ChangeLog. Please add CpuNop to i386-opc.h and use it
>> to determine when to generate nops.
>>
>> Thanks.
>
> Kyle, I was working on a similar patch. ?Here it is for previewing.
>
> It has a ChangeLog entry but without test cases. ?I will post with the
> test cases as soon as I get a clean "make check" .

+  { STRING_COMMA_LEN (".Nop"), PROCESSOR_UNKNOWN,
+    CPU_NOP_FLAGS, 0 },
+  { STRING_COMMA_LEN (".noNop"), PROCESSOR_UNKNOWN,
+    CPU_NOP_FLAGS, 0 },

All the others use lower case. Please use ".nop".  I don't think ".noNop"
is correct since it is treated the same as ".nop".  Please leave it out.  We
can figure something else out later if we really need to turn off NOP.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]