Lines Matching +full:low +full:- +full:g
1 /* SPDX-License-Identifier: GPL-2.0 */
18 * Read an atomic64_t non-atomically.
22 * of unconditional try_cmpxchg() loops, e.g.:
29 * that can break before the atomic operation, e.g.:
40 return __READ_ONCE(v->counter); in arch_atomic64_read_nonatomic()
52 #define __alternative_atomic64(f, g, out, in...) \ argument
55 : [func] "i" (atomic64_##g##_cx8), ## in)
59 #define __alternative_atomic64(f, g, out, in...) \ argument
60 alternative_call(atomic64_##f##_386, atomic64_##g##_cx8, \
93 return arch_cmpxchg64(&v->counter, old, new); in arch_atomic64_cmpxchg()
99 return arch_try_cmpxchg64(&v->counter, old, new); in arch_atomic64_try_cmpxchg()
107 unsigned low = (unsigned)n; in arch_atomic64_xchg() local
109 "S" (v), "b" (low), "c" (high) in arch_atomic64_xchg()
118 unsigned low = (unsigned)i; in arch_atomic64_set() local
120 "S" (v), "b" (low), "c" (high) in arch_atomic64_set()
197 unsigned low = (unsigned)u; in arch_atomic64_add_unless() local
200 ASM_OUTPUT2("+A" (a), "+c" (low), "+D" (high)), in arch_atomic64_add_unless()
288 #define arch_atomic64_fetch_sub(i, v) arch_atomic64_fetch_add(-(i), (v))