* Mark eax as early clobber in atomic_intr_cond_try. This solves a
longstanding and previously conditionalized issue with clang.
Marking it as early clobber avoids it being used as a register
elsewhere, apart from explicit uses.
GCC behaviour is not affected.
Suggested-by: Dale Johannesen <dalej@apple.com>
MPLOCKED "decl %0; " \
"movl $1,%%eax;" \
"2: ;"
- : "+m" (*p), "=a"(ret)
-#ifdef __clang__
- : : "ax", "cx", "dx");
-#else
+ : "+m" (*p), "=&a"(ret)
: : "cx", "dx");
-#endif
return (ret);
}
MPLOCKED "decl %0; " \
"movl $1,%%eax;" \
"2: ;"
- : "+m" (*p), "=a"(ret)
-#ifdef __clang__
- : : "ax", "cx", "dx");
-#else
+ : "+m" (*p), "=&a"(ret)
: : "cx", "dx");
-#endif
return (ret);
}