|
@@ -450,9 +450,10 @@ do { \
|
|
|
bool __ret; \
|
|
|
typeof(pcp1) __o1 = (o1), __n1 = (n1); \
|
|
|
typeof(pcp2) __o2 = (o2), __n2 = (n2); \
|
|
|
- asm volatile("cmpxchg8b "__percpu_arg(1)"\n\tsetz %0\n\t" \
|
|
|
- : "=a" (__ret), "+m" (pcp1), "+m" (pcp2), "+d" (__o2) \
|
|
|
- : "b" (__n1), "c" (__n2), "a" (__o1)); \
|
|
|
+ asm volatile("cmpxchg8b "__percpu_arg(1) \
|
|
|
+ CC_SET(z) \
|
|
|
+ : CC_OUT(z) (__ret), "+m" (pcp1), "+m" (pcp2), "+a" (__o1), "+d" (__o2) \
|
|
|
+ : "b" (__n1), "c" (__n2)); \
|
|
|
__ret; \
|
|
|
})
|
|
|
|