Lines Matching refs:oldval

44 __kernel_cmpxchg (unsigned *mem, unsigned oldval, unsigned newval)
47 register unsigned d2 asm("d2") = oldval;
75 unsigned oldval, newval, cmpval = *ptr; \
78 oldval = cmpval; \
79 newval = PFX_OP (oldval INF_OP val); \
80 cmpval = __kernel_cmpxchg (ptr, oldval, newval); \
81 } while (__builtin_expect (oldval != cmpval, 0)); \
91 unsigned int mask, shift, oldval, newval, cmpval, wval; \
99 oldval = cmpval; \
100 newval = PFX_OP (oldval INF_OP wval); \
101 newval = (newval & mask) | (oldval & ~mask); \
102 cmpval = __kernel_cmpxchg (wordptr, oldval, newval); \
103 } while (__builtin_expect (oldval != cmpval, 0)); \
108 WORD_SYNC_OP (add, , +, oldval)
109 WORD_SYNC_OP (sub, , -, oldval)
110 WORD_SYNC_OP (or, , |, oldval)
111 WORD_SYNC_OP (and, , &, oldval)
112 WORD_SYNC_OP (xor, , ^, oldval)
113 WORD_SYNC_OP (nand, ~, &, oldval)
115 SUBWORD_SYNC_OP (add, , +, unsigned short, 2, oldval)
116 SUBWORD_SYNC_OP (sub, , -, unsigned short, 2, oldval)
117 SUBWORD_SYNC_OP (or, , |, unsigned short, 2, oldval)
118 SUBWORD_SYNC_OP (and, , &, unsigned short, 2, oldval)
119 SUBWORD_SYNC_OP (xor, , ^, unsigned short, 2, oldval)
120 SUBWORD_SYNC_OP (nand, ~, &, unsigned short, 2, oldval)
122 SUBWORD_SYNC_OP (add, , +, unsigned char, 1, oldval)
123 SUBWORD_SYNC_OP (sub, , -, unsigned char, 1, oldval)
124 SUBWORD_SYNC_OP (or, , |, unsigned char, 1, oldval)
125 SUBWORD_SYNC_OP (and, , &, unsigned char, 1, oldval)
126 SUBWORD_SYNC_OP (xor, , ^, unsigned char, 1, oldval)
127 SUBWORD_SYNC_OP (nand, ~, &, unsigned char, 1, oldval)
151 __sync_val_compare_and_swap_4 (unsigned *ptr, unsigned oldval, unsigned newval)
153 return __kernel_cmpxchg (ptr, oldval, newval);
157 __sync_bool_compare_and_swap_4 (unsigned *ptr, unsigned oldval,
160 return __kernel_cmpxchg (ptr, oldval, newval) == oldval;
170 unsigned oldval, newval, cmpval; \
179 oldval = cmpval; \
180 if ((oldval & mask) != woldval) \
182 newval = (oldval & ~mask) | wnewval; \
183 cmpval = __kernel_cmpxchg (wordptr, oldval, newval); \
184 } while (__builtin_expect (oldval != cmpval, 0)); \
186 return (oldval >> shift) & MASK_##WIDTH; \
194 __sync_bool_compare_and_swap_##WIDTH (TYPE *ptr, TYPE oldval, \
197 return (__sync_val_compare_and_swap_##WIDTH (ptr, oldval, newval) \
198 == oldval); \
208 WORD_SYNC_OP (test_and_set, , COMMA, oldval)
209 SUBWORD_SYNC_OP (test_and_set, , COMMA, unsigned char, 1, oldval)
210 SUBWORD_SYNC_OP (test_and_set, , COMMA, unsigned short, 2, oldval)