lkml.org 
[lkml]   [2009]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/4] amd64_edac: misc fixes
Andrew Morton wrote:
> On Sat, 30 May 2009 10:19:54 +0200 Borislav Petkov <petkovbb@googlemail.com> wrote:
>
>> Also, I've been thinking about how the old(er)
>> toolchain problem can be addressed and one fairly doable thing would be
>> if I'd query the gas version in the kernel Makefile and define popcnt
>> dependent on it and for older assemblers simply slap in the opcode and
>> fixate the operands in an inline assembly so that it works.
>
> We've done that before. BUG() is one case (for other reasons), I think.
>
> But if we have the code in there which uese the literal opcode, there's
> no need to query gas or to add the conditional.
>
> Is popcnt supported on all CPUs?

Obviously not, since it's a relatively new opcode. However, it is
supported by both Intel and AMD with the opcode F3 0F B8 /r.

The "/r" is the real problem ... it means one can't just mimic it with
hard-coding .byte directives without fixing the arguments (which means a
performance hit.) Furthermore, the 0F B8 opcode is JMPE, which doesn't
take the same arguments either.

We have these kinds of toolchain issues regularly.

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.



\
 
 \ /
  Last update: 2009-05-30 21:25    [W:2.014 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site