int oldval; int newval;  lll_compare_and_swap (futex, oldval, newval, "lr %2,%1; ahi %2,1"); if (oldval > 0) ___lll_mutex_lock (futex, newval);
if (atomic_compare_and_exchange_bool_acq (futex, 1, 0) != 0) __lll_lock_wait (futex);
__lll_mutex_lock (int *futex){  int oldval;  int newval;  lll_compare_and_swap (futex, oldval, newval, "lr %2,%1; ahi %2,1");  if (oldval > 0)    ___lll_mutex_lock (futex, newval);}