basic asm and memory clobbers

David Wohlferd dw@LimeGreenSocks.com
Fri Nov 20 23:56:00 GMT 2015


On 11/20/2015 8:14 AM, Richard Henderson wrote:
> On 11/20/2015 04:34 PM, Jakub Jelinek wrote:
>> Isn't that going to break too much code though?  I mean, e.g. including
>> libgcc...
>
> I don't know.  My suspicion is very little.
>
> But that's actually what I'd like to know before we start adjusting 
> code in other ways wrt basic asms.

I can provide a little data here.

In an effort to gain some perspective, I've been looking at inline asm 
usage in the linux kernel (4.3).  Clearly this isn't "typical usage," 
but it is probably one of the biggest users of inline asm, and likely 
has the best justifications for doing so (being an OS and all).

There are ~5,711 instances of inline asm in use.  Of those, ~4,833 are 
extended and ~878 are basic.

I don't have any numbers about how many are top level vs in function, 
but let me see what I can do.

A quick look at libgcc shows that there are 109 extended and 45 basic 
asm statements.  I'll see how many end up being top-level, but it looks 
like most of them.

dw



More information about the Gcc mailing list