Rev 2071 | Rev 2192 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2071 | Rev 2082 | ||
---|---|---|---|
Line 51... | Line 51... | ||
51 | uint64_t a, b; |
51 | uint64_t a, b; |
52 | 52 | ||
53 | do { |
53 | do { |
54 | a = val->count; |
54 | a = val->count; |
55 | b = a + i; |
55 | b = a + i; |
56 | __asm__ volatile ("casx %0, %2, %1\n" : "+m" (*val), "+r" (b) : "r" (a)); |
56 | asm volatile ("casx %0, %2, %1\n" : "+m" (*val), "+r" (b) : "r" (a)); |
57 | } while (a != b); |
57 | } while (a != b); |
58 | 58 | ||
59 | return a; |
59 | return a; |
60 | } |
60 | } |
61 | 61 |