gcc using clobbered register as input with inline assembly
Timur Tabi
ttabi@interactivesi.com
Mon Mar 26 11:08:00 GMT 2001
** Reply to message from "Zack Weinberg" <zackw@stanford.edu> on Mon, 26 Mar
2001 10:20:21 -0800
> > According to the documentation, because I specified eax and edx as
> > clobbered registers, gcc should not be using them as inputs or outputs.
> > But that's exactly what's happening in my case.
>
> Clobbers happen *after* the asm completes. You have to do the moves
> separately, or let the compiler do them for you, e.g:
I don't understand this. What good is it to specify clobbers if they happen
after the assembly? I have no control over what happens outside the assembly
code! I thought the point behind clobbers was to inform the compiler of
specific registers that my assembly code modifies.
--
Timur Tabi - ttabi@interactivesi.com
Interactive Silicon - http://www.interactivesi.com
When replying to a mailing-list message, please direct the reply to the mailing list only. Don't send another copy to me.
More information about the Gcc-bugs
mailing list