This is the mail archive of the gcc-bugs@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]

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


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.4/4.5/4.6 Regression]    |"+m" (*regs) : "a" (regs)
                   |"+m" (*regs) : "a" (regs)   |doesn't use (%eax) for the
                   |doesn't use (%eax) for the  |MEM
                   |MEM                         |

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-11-15 19:54:23 UTC ---
(In reply to comment #3)
> > In any case, having a way to express some memory is clobbered without actually
> > forcing its address to be passed to the inline asm might be useful too.
> Yea.  I'm assuming that clobbers still force generation of the address?

Clobbers are just strings, so they don't force generation of address, but can't
express that some particular memory is read or written.

> And presumably we can't model the use of a memory location in the 
> clobber which might argue we need a "uses" argument to asms...

Perhaps.


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