summaryrefslogblamecommitdiff
path: root/scripts/atomic/fallbacks/try_cmpxchg
blob: 06db0f738e45eb44e5adb56da5852b27d3afedab (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
         
                           
                                                                             

                           
                                                        




                              
cat <<EOF
static __always_inline bool
${arch}${atomic}_try_cmpxchg${order}(${atomic}_t *v, ${int} *old, ${int} new)
{
	${int} r, o = *old;
	r = ${arch}${atomic}_cmpxchg${order}(v, o, new);
	if (unlikely(r != o))
		*old = r;
	return likely(r == o);
}
EOF