"2:" \
: "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
: "0" (1), "2" (futex) \
- : "cx", "r11", "cc", "memory"); })
+ : "ax", "cx", "r11", "cc", "memory"); })
#define lll_mutex_cond_lock(futex) \
"2:" \
: "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
: "0" (2), "2" (futex) \
- : "cx", "r11", "cc", "memory"); })
+ : "ax", "cx", "r11", "cc", "memory"); })
#define lll_mutex_timedlock(futex, timeout) \
"2:" \
: "=m" (futex), "=&D" (ignore) \
: "0" (futex) \
- : "cx", "r11", "cc", "memory"); })
+ : "ax", "cx", "r11", "cc", "memory"); })
#define lll_mutex_islocked(futex) \
"2:" \
: "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
: "0" (-1), "2" (futex) \
- : "cx", "r11", "cc", "memory"); })
+ : "ax", "cx", "r11", "cc", "memory"); })
# define lll_unlock(futex) \
"2:" \
: "=m" (futex), "=&D" (ignore) \
: "0" (futex) \
- : "cx", "r11", "cc", "memory"); })
+ : "ax", "cx", "r11", "cc", "memory"); })
#else
/* Special versions of the macros for use in libc itself. They avoid
the lock prefix when the thread library is not used.
"2:" \
: "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
: "0" (-1), "2" (futex) \
- : "cx", "r11", "cc", "memory"); })
+ : "ax", "cx", "r11", "cc", "memory"); })
# define lll_unlock(futex) \
"2:" \
: "=m" (futex), "=&D" (ignore) \
: "0" (futex) \
- : "cx", "r11", "cc", "memory"); })
+ : "ax", "cx", "r11", "cc", "memory"); })
#endif