Lines Matching +full:32 +full:m
34 #define __xchg_asm(ld, st, m, val) \ argument
36 __typeof(*(m)) __ret; \
52 : "=&r" (__ret), "=" GCC_OFF_SMALL_ASM() (*m) \
53 : GCC_OFF_SMALL_ASM() (*m), "Jr" (val) \
59 __ret = *m; \
60 *m = val; \
112 #define __cmpxchg_asm(ld, st, m, old, new) \ argument
114 __typeof(*(m)) __ret; \
132 : "=&r" (__ret), "=" GCC_OFF_SMALL_ASM() (*m) \
133 : GCC_OFF_SMALL_ASM() (*m), "Jr" (old), "Jr" (new) \
139 __ret = *m; \
141 *m = new; \
236 * The assembly below has to combine 32 bit values into a 64 bit in __cmpxchg64()
239 * least significant 32 bits of each register & probably clobber the in __cmpxchg64()
240 * most significant 32 bits of the 64 bit values we're using. In order in __cmpxchg64()
256 " dsra %M0, %L0, 32 \n" in __cmpxchg64()
265 * Combine the 32 bit halves from the 2 registers that hold the new in __cmpxchg64()
270 " dins %L1, %M5, 32, 32 \n" in __cmpxchg64()
272 " dsll %L1, %L5, 32 \n" in __cmpxchg64()
273 " dsrl %L1, %L1, 32 \n" in __cmpxchg64()
275 " dsll $at, %M5, 32 \n" in __cmpxchg64()