[Bug middle-end/46479] [4.4/4.5/4.6 Regression] "+m" (*regs) : "a" (regs) doesn't use (%eax) for the MEM

law at redhat dot com gcc-bugzilla@gcc.gnu.org
Mon Nov 15 14:40:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46479

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at redhat dot com

--- Comment #1 from Jeffrey A. Law <law at redhat dot com> 2010-11-15 14:34:08 UTC ---
Isn't the "+m" (*regs) is an in/out operand and doesn't it have to be valid
throughout the entire asm and thus its memory address can't be held by %eax
because %eax is used elsewhere in the asm as an input and an output?

I'm not aware of a way to handle the second case where we want to show a memory
read/write effect, but not consume any resources.   I can see how that would be
valuable



More information about the Gcc-bugs mailing list