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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Chris Mihelich from comment #4)
> Yes indeed, x is loaded from the stack into edi, and y is loaded from the
> stack into esi, as the register variable declarations specified.  That's two
> registers.  Where are the other two?

Simple, "m"(*x) cannot use either edi or esi.  Likewise for "m"(*y).  You can
change the *y to *q and *x to *p, it will work.

Reply via email to