https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120284
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
asm volatile("" : "+r"(x));
is the same as:
asm volatile("" : "=r"(x) : "0"(x));
Note the 0 there rather than r. r in the input means any register while 0 means
it needs to match the same register as the 0th operand which in this case is
the output operand.