]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-x86/local_64.h
x86: fix asm memory constraints in local_64.h
[linux-2.6-omap-h63xx.git] / include / asm-x86 / local_64.h
index 92330f8135f8b2c93ecce5e1a45aab9d0088a447..50e99eddd6284202bd08e9acaa6b7c18499d5217 100644 (file)
@@ -5,32 +5,30 @@ static inline void local_inc(local_t *l)
 {
        __asm__ __volatile__(
                "incq %0"
-               :"=m" (l->a.counter)
-               :"m" (l->a.counter));
+               :"+m" (l->a.counter));
 }
 
 static inline void local_dec(local_t *l)
 {
        __asm__ __volatile__(
                "decq %0"
-               :"=m" (l->a.counter)
-               :"m" (l->a.counter));
+               :"+m" (l->a.counter));
 }
 
 static inline void local_add(long i, local_t *l)
 {
        __asm__ __volatile__(
                "addq %1,%0"
-               :"=m" (l->a.counter)
-               :"ir" (i), "m" (l->a.counter));
+               :"+m" (l->a.counter)
+               :"ir" (i));
 }
 
 static inline void local_sub(long i, local_t *l)
 {
        __asm__ __volatile__(
                "subq %1,%0"
-               :"=m" (l->a.counter)
-               :"ir" (i), "m" (l->a.counter));
+               :"+m" (l->a.counter)
+               :"ir" (i));
 }
 
 /**
@@ -48,8 +46,8 @@ static inline int local_sub_and_test(long i, local_t *l)
 
        __asm__ __volatile__(
                "subq %2,%0; sete %1"
-               :"=m" (l->a.counter), "=qm" (c)
-               :"ir" (i), "m" (l->a.counter) : "memory");
+               :"+m" (l->a.counter), "=qm" (c)
+               :"ir" (i) : "memory");
        return c;
 }
 
@@ -67,8 +65,8 @@ static inline int local_dec_and_test(local_t *l)
 
        __asm__ __volatile__(
                "decq %0; sete %1"
-               :"=m" (l->a.counter), "=qm" (c)
-               :"m" (l->a.counter) : "memory");
+               :"+m" (l->a.counter), "=qm" (c)
+               : : "memory");
        return c != 0;
 }
 
@@ -86,8 +84,8 @@ static inline int local_inc_and_test(local_t *l)
 
        __asm__ __volatile__(
                "incq %0; sete %1"
-               :"=m" (l->a.counter), "=qm" (c)
-               :"m" (l->a.counter) : "memory");
+               :"+m" (l->a.counter), "=qm" (c)
+               : : "memory");
        return c != 0;
 }
 
@@ -106,8 +104,8 @@ static inline int local_add_negative(long i, local_t *l)
 
        __asm__ __volatile__(
                "addq %2,%0; sets %1"
-               :"=m" (l->a.counter), "=qm" (c)
-               :"ir" (i), "m" (l->a.counter) : "memory");
+               :"+m" (l->a.counter), "=qm" (c)
+               :"ir" (i) : "memory");
        return c;
 }