Lines Matching full:val
17 int val; in __atomic_read() local
20 " l %[val],%[ptr]\n" in __atomic_read()
21 : [val] "=d" (val) : [ptr] "R" (*ptr)); in __atomic_read()
22 return val; in __atomic_read()
25 static __always_inline void __atomic_set(int *ptr, int val) in __atomic_set() argument
27 if (__builtin_constant_p(val) && val >= S16_MIN && val <= S16_MAX) { in __atomic_set()
29 " mvhi %[ptr],%[val]\n" in __atomic_set()
30 : [ptr] "=Q" (*ptr) : [val] "K" (val)); in __atomic_set()
33 " st %[val],%[ptr]\n" in __atomic_set()
34 : [ptr] "=R" (*ptr) : [val] "d" (val)); in __atomic_set()
40 long val; in __atomic64_read() local
43 " lg %[val],%[ptr]\n" in __atomic64_read()
44 : [val] "=d" (val) : [ptr] "RT" (*ptr)); in __atomic64_read()
45 return val; in __atomic64_read()
48 static __always_inline void __atomic64_set(long *ptr, long val) in __atomic64_set() argument
50 if (__builtin_constant_p(val) && val >= S16_MIN && val <= S16_MAX) { in __atomic64_set()
52 " mvghi %[ptr],%[val]\n" in __atomic64_set()
53 : [ptr] "=Q" (*ptr) : [val] "K" (val)); in __atomic64_set()
56 " stg %[val],%[ptr]\n" in __atomic64_set()
57 : [ptr] "=RT" (*ptr) : [val] "d" (val)); in __atomic64_set()
64 static __always_inline op_type op_name(op_type val, op_type *ptr) \
69 op_string " %[old],%[val],%[ptr]\n" \
72 : [val] "d" (val) : "cc", "memory"); \
94 static __always_inline void op_name(op_type val, op_type *ptr) \
97 op_string " %[ptr],%[val]\n" \
99 : [ptr] "+QS" (*ptr) : [val] "i" (val) : "cc", "memory");\
115 static __always_inline int op_name(int val, int *ptr) \
121 op_string " %[new],%[val]\n" \
125 : [val] "d" (val), "0" (*ptr) : "cc", "memory"); \
141 static __always_inline long op_name(long val, long *ptr) \
147 op_string " %[new],%[val]\n" \
151 : [val] "d" (val), "0" (*ptr) : "cc", "memory"); \
166 #define __atomic_add_const(val, ptr) __atomic_add(val, ptr)
167 #define __atomic_add_const_barrier(val, ptr) __atomic_add(val, ptr)
168 #define __atomic64_add_const(val, ptr) __atomic64_add(val, ptr)
169 #define __atomic64_add_const_barrier(val, ptr) __atomic64_add(val, ptr)
176 static __always_inline bool op_name(op_type val, op_type *ptr) \
182 op_string " %[tmp],%[val],%[ptr]\n" \
185 : [val] "d" (val) \
201 static __always_inline bool op_name(op_type val, op_type *ptr) \
206 op_string " %[ptr],%[val]\n" \
209 : [val] "i" (val) \
227 static __always_inline bool op_name(op_type val, op_type *ptr) \
229 return op_func(val, ptr) == -val; \