This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: inline asm clobbers


On 03/12/15 15:26, Jakub Jelinek wrote:
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.
Yup. And as common as it may be, I find it makes reading the resulting assembly code far more difficult than it ought to be :(

But I won't start a rant on that issue right now ;-)

Jeff


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