Lines Matching refs:w
21 #define __XCHG_CASE(w, sfx, name, sz, mb, nop_lse, acq, acq_lse, rel, cl) \ argument
30 "1: ld" #acq "xr" #sfx "\t%" #w "0, %2\n" \
31 " st" #rel "xr" #sfx "\t%w1, %" #w "3, %2\n" \
35 " swp" #acq_lse #rel #sfx "\t%" #w "3, %" #w "0, %2\n" \
45 __XCHG_CASE(w, b, , 8, , , , , , )
46 __XCHG_CASE(w, h, , 16, , , , , , )
47 __XCHG_CASE(w, , , 32, , , , , , )
49 __XCHG_CASE(w, b, acq_, 8, , , a, a, , "memory")
50 __XCHG_CASE(w, h, acq_, 16, , , a, a, , "memory")
51 __XCHG_CASE(w, , acq_, 32, , , a, a, , "memory")
53 __XCHG_CASE(w, b, rel_, 8, , , , , l, "memory")
54 __XCHG_CASE(w, h, rel_, 16, , , , , l, "memory")
55 __XCHG_CASE(w, , rel_, 32, , , , , l, "memory")
57 __XCHG_CASE(w, b, mb_, 8, dmb ish, nop, , a, l, "memory")
58 __XCHG_CASE(w, h, mb_, 16, dmb ish, nop, , a, l, "memory")
59 __XCHG_CASE(w, , mb_, 32, dmb ish, nop, , a, l, "memory")
211 #define __CMPWAIT_CASE(w, sfx, sz) \ argument
220 " ldxr" #sfx "\t%" #w "[tmp], %[v]\n" \
221 " eor %" #w "[tmp], %" #w "[tmp], %" #w "[val]\n" \
222 " cbnz %" #w "[tmp], 1f\n" \
229 __CMPWAIT_CASE(w, b, 8);
230 __CMPWAIT_CASE(w, h, 16);
231 __CMPWAIT_CASE(w, , 32);