return a_ctz_l(y);
}
-static inline int a_cas_1(volatile int *p, int t, int s)
-{
- register int tmp;
- do {
- __asm__ __volatile__ ("lwx %0, %1, r0"
- : "=r"(tmp) : "r"(p) : "memory");
- if (tmp != t) return tmp;
- __asm__ __volatile__ ("swx %2, %1, r0 ; addic %0, r0, 0"
- : "=r"(tmp) : "r"(p), "r"(s) : "cc", "memory");
- } while (tmp);
- return t;
-}
-
static inline int a_cas(volatile int *p, int t, int s)
{
register int old, tmp;
while (a_cas(p, old, old|v) != old);
}
+static inline void a_or_l(volatile void *p, long v)
+{
+ a_or(p, v);
+}
+
static inline void a_and_64(volatile uint64_t *p, uint64_t v)
{
union { uint64_t v; uint32_t r[2]; } u = { v };