1*c9945492SAndroid Build Coastguard Worker #define a_cas a_cas
a_cas(volatile int * p,int t,int s)2*c9945492SAndroid Build Coastguard Worker static inline int a_cas(volatile int *p, int t, int s)
3*c9945492SAndroid Build Coastguard Worker {
4*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ (
5*c9945492SAndroid Build Coastguard Worker "cs %0, %2, %1"
6*c9945492SAndroid Build Coastguard Worker : "+d"(t), "+Q"(*p) : "d"(s) : "memory", "cc");
7*c9945492SAndroid Build Coastguard Worker return t;
8*c9945492SAndroid Build Coastguard Worker }
9*c9945492SAndroid Build Coastguard Worker
10*c9945492SAndroid Build Coastguard Worker #define a_cas_p a_cas_p
a_cas_p(volatile void * p,void * t,void * s)11*c9945492SAndroid Build Coastguard Worker static inline void *a_cas_p(volatile void *p, void *t, void *s)
12*c9945492SAndroid Build Coastguard Worker {
13*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ (
14*c9945492SAndroid Build Coastguard Worker "csg %0, %2, %1"
15*c9945492SAndroid Build Coastguard Worker : "+d"(t), "+Q"(*(void *volatile *)p) : "d"(s)
16*c9945492SAndroid Build Coastguard Worker : "memory", "cc");
17*c9945492SAndroid Build Coastguard Worker return t;
18*c9945492SAndroid Build Coastguard Worker }
19*c9945492SAndroid Build Coastguard Worker
20*c9945492SAndroid Build Coastguard Worker #define a_barrier a_barrier
a_barrier()21*c9945492SAndroid Build Coastguard Worker static inline void a_barrier()
22*c9945492SAndroid Build Coastguard Worker {
23*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ ("bcr 15,0" : : : "memory");
24*c9945492SAndroid Build Coastguard Worker }
25*c9945492SAndroid Build Coastguard Worker
26*c9945492SAndroid Build Coastguard Worker #define a_crash a_crash
a_crash()27*c9945492SAndroid Build Coastguard Worker static inline void a_crash()
28*c9945492SAndroid Build Coastguard Worker {
29*c9945492SAndroid Build Coastguard Worker __asm__ __volatile__ (".insn e,0");
30*c9945492SAndroid Build Coastguard Worker }
31