Lines Matching refs:oldval
24 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ argument
38 : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
46 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
69 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) in futex_atomic_cmpxchg_inatomic()
83 #define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg) \ argument
92 : "=&r" (ret), "=&r" (oldval), "=&r" (tmp) \
100 u32 oldval, u32 newval) in futex_atomic_cmpxchg_inatomic() argument
118 : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) in futex_atomic_cmpxchg_inatomic()
137 int oldval = 0, ret, tmp; in futex_atomic_op_inuser() local
152 __futex_atomic_op("mov %0, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
155 __futex_atomic_op("add %0, %1, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
158 __futex_atomic_op("orr %0, %1, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
161 __futex_atomic_op("and %0, %1, %4", ret, oldval, tmp, uaddr, ~oparg); in futex_atomic_op_inuser()
164 __futex_atomic_op("eor %0, %1, %4", ret, oldval, tmp, uaddr, oparg); in futex_atomic_op_inuser()
177 case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; in futex_atomic_op_inuser()
178 case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; in futex_atomic_op_inuser()
179 case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break; in futex_atomic_op_inuser()
180 case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break; in futex_atomic_op_inuser()
181 case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break; in futex_atomic_op_inuser()
182 case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break; in futex_atomic_op_inuser()