Lines Matching refs:oldval
24 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ argument
35 : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
41 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
62 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) in futex_atomic_cmpxchg_inatomic()
75 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ argument
82 : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
88 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
103 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) in futex_atomic_cmpxchg_inatomic()
119 int oldval = 0, ret, tmp; in futex_atomic_op_inuser() local
131 __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
134 __futex_atomic_op("add %0, %1, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
137 __futex_atomic_op("orr %0, %1, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
140 __futex_atomic_op("and %0, %1, %4", ret, oldval, tmp, uaddr, ~oparg); in futex_atomic_op_inuser()
143 __futex_atomic_op("eor %0, %1, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
153 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
154 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
155 case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break; in futex_atomic_op_inuser()
156 case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break; in futex_atomic_op_inuser()
157 case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break; in futex_atomic_op_inuser()
158 case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break; in futex_atomic_op_inuser()