Lines Matching refs:oldval
8 #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \ argument
16 : "+r" (r8), "=r" (oldval) \
22 #define __futex_atomic_op2(insn, ret, oldval, uaddr, oparg) \ argument
37 : "+r" (r8), "=r" (val), "=&r" (oldval), \
43 } while (unlikely (val != oldval)); \
54 int oldval = 0, ret; in futex_atomic_op_inuser() local
65 __futex_atomic_op1("xchg4 %1=[%2],%3", ret, oldval, uaddr, in futex_atomic_op_inuser()
69 __futex_atomic_op2("add %3=%3,%5", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
72 __futex_atomic_op2("or %3=%3,%5", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
75 __futex_atomic_op2("and %3=%3,%5", ret, oldval, uaddr, in futex_atomic_op_inuser()
79 __futex_atomic_op2("xor %3=%3,%5", ret, oldval, uaddr, oparg); in futex_atomic_op_inuser()
89 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
90 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
91 case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break; in futex_atomic_op_inuser()
92 case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break; in futex_atomic_op_inuser()
93 case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break; in futex_atomic_op_inuser()
94 case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break; in futex_atomic_op_inuser()
103 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
119 "rO" ((long) (unsigned) oldval) in futex_atomic_cmpxchg_inatomic()