On Thu, Mar 12, 2015 at 02:02:37PM -0700, David Wohlferd wrote:
To wrap this up:
Like Ian said, the order of registers here apparently never changes. I read
more into that comment than I should have. For good luck, I experimented
with -fomit-frame-pointer, -ffixed-, etc, and nothing has any impact here.
The list is the list.
In fact, it turns out you can use this same format with register variables:
register int x asm("3"); // i386: ebx
On some architectures, like e.g. powerpc, people often just use numbers
instead of say r<number> at least for the general purpose registers and
usually the internal register numbering matches it.
So, while using asm ("3") on x86 is something very unusual, on other targets
it can be quite common.