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]

inline asm clobbers


Why does gcc allow you to specify clobbers using numbers:

   asm ("" : : "r" (var) : "0"); // i386: clobbers eax

How is this better than using register names?

This makes even less sense when you realize that (apparently) the indices of registers aren't fixed. Which means there is no way to know which register you have clobbered in order to use it in the template.

Having just seen someone trying (unsuccessfully) to use this, it seems like there is no practical way you can.

Which makes me wonder why it's there.  And whether it still should be.

dw


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