Lines Matching refs:oldval
9 #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \
17 : "+r" (r8), "=r" (oldval) \
23 #define __futex_atomic_op2(insn, ret, oldval, uaddr, oparg) \
38 : "+r" (r8), "=r" (val), "=&r" (oldval), \
44 } while (unlikely (val != oldval)); \
55 int oldval = 0, ret;
66 __futex_atomic_op1("xchg4 %1=[%2],%3", ret, oldval, uaddr,
70 __futex_atomic_op2("add %3=%3,%5", ret, oldval, uaddr, oparg);
73 __futex_atomic_op2("or %3=%3,%5", ret, oldval, uaddr, oparg);
76 __futex_atomic_op2("and %3=%3,%5", ret, oldval, uaddr,
80 __futex_atomic_op2("xor %3=%3,%5", ret, oldval, uaddr, oparg);
90 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break;
91 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break;
92 case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break;
93 case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break;
94 case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break;
95 case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break;
103 futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval)
118 "rO" ((long) (unsigned) oldval)