> From: Andrew Pinski <pins...@gmail.com> > To: Jamie Prescott <jpre...@yahoo.com> > Cc: gcc@gcc.gnu.org > Sent: Saturday, May 16, 2009 8:04:59 AM > Subject: Re: Extending constraints using register subclasses > > On Sat, May 16, 2009 at 7:57 AM, Jamie Prescott wrote: > > Now I managed to have the approach based on register subclasses working. > > The > above > > works too, but I somehow found it less clear and more "global" than inline > assembly > > constraints. > > It is not global as the register variables don't escape out of the > scope. If you use them in inline functions, it makes them less global > and also easier to read too.
And how would you cleanly solve a case like this? int swi_open_file(char const *path, int mode) { int error; asm ("swi 32\n\t" : "=r0" (error) : "r0" (path), "r1" (mode)); return error; } - Jamie