[Bug inline-asm/57299] Inline assembly memory dependencies produce spurious loads, register pressure, compilation failures
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed May 15 20:16:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57299
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Chris Mihelich from comment #6)
> I agree with your interpretation in this one sense: GCC appears to be
> assigning registers to the "m" and "=m" values as you suggest. That makes
> my test case need six registers (not four) instead of the two it really
> needs. That is the defect I was trying to describe.
Actually it only needs 4 (and not 6) due to holding of the pointer of y and x
can happen with only 2 registers. And you can use the operands of the m inside
the inline-asm which is why it needs to store the pointer in a register.
More information about the Gcc-bugs
mailing list