"lock \n\t"\r
"xadd %%eax, %1 \n\t"\r
"inc %%eax \n\t"\r
- : "=a" (Result), // %0\r
+ : "=&a" (Result), // %0\r
"+m" (*Value) // %1\r
: // no inputs that aren't also outputs\r
: "memory",\r
"lock \n\t"\r
"xadd %%eax, %1 \n\t"\r
"dec %%eax \n\t"\r
- : "=a" (Result), // %0\r
+ : "=&a" (Result), // %0\r
"+m" (*Value) // %1\r
: // no inputs that aren't also outputs\r
: "memory",\r