[Bug c/39375] asm with a "=X" output overwrites the output
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Mar 5 10:42:00 GMT 2009
------- Comment #2 from rguenth at gcc dot gnu dot org 2009-03-05 10:42 -------
You need to use a "memory" clobber instead. "=X" (params[1]) says to GCC
that the asm operand 0 should be stored to params[1], which it does
(it allocates %eax to it). Note that plain use of %eax and %dx is a
bad idea as well, instead you should use proper inputs and outputs with
register constraints.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39375
More information about the Gcc-bugs
mailing list