提交 992b9592 编写于 作者: H Harvey Harrison 提交者: Ingo Molnar

x86: fix asm memory constraints in local_64.h

Use the shorter +m form rather than =m and m.
Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 4ad02718
...@@ -5,32 +5,30 @@ static inline void local_inc(local_t *l) ...@@ -5,32 +5,30 @@ static inline void local_inc(local_t *l)
{ {
__asm__ __volatile__( __asm__ __volatile__(
"incq %0" "incq %0"
:"=m" (l->a.counter) :"+m" (l->a.counter));
:"m" (l->a.counter));
} }
static inline void local_dec(local_t *l) static inline void local_dec(local_t *l)
{ {
__asm__ __volatile__( __asm__ __volatile__(
"decq %0" "decq %0"
:"=m" (l->a.counter) :"+m" (l->a.counter));
:"m" (l->a.counter));
} }
static inline void local_add(long i, local_t *l) static inline void local_add(long i, local_t *l)
{ {
__asm__ __volatile__( __asm__ __volatile__(
"addq %1,%0" "addq %1,%0"
:"=m" (l->a.counter) :"+m" (l->a.counter)
:"ir" (i), "m" (l->a.counter)); :"ir" (i));
} }
static inline void local_sub(long i, local_t *l) static inline void local_sub(long i, local_t *l)
{ {
__asm__ __volatile__( __asm__ __volatile__(
"subq %1,%0" "subq %1,%0"
:"=m" (l->a.counter) :"+m" (l->a.counter)
:"ir" (i), "m" (l->a.counter)); :"ir" (i));
} }
/** /**
...@@ -48,8 +46,8 @@ static inline int local_sub_and_test(long i, local_t *l) ...@@ -48,8 +46,8 @@ static inline int local_sub_and_test(long i, local_t *l)
__asm__ __volatile__( __asm__ __volatile__(
"subq %2,%0; sete %1" "subq %2,%0; sete %1"
:"=m" (l->a.counter), "=qm" (c) :"+m" (l->a.counter), "=qm" (c)
:"ir" (i), "m" (l->a.counter) : "memory"); :"ir" (i) : "memory");
return c; return c;
} }
...@@ -67,8 +65,8 @@ static inline int local_dec_and_test(local_t *l) ...@@ -67,8 +65,8 @@ static inline int local_dec_and_test(local_t *l)
__asm__ __volatile__( __asm__ __volatile__(
"decq %0; sete %1" "decq %0; sete %1"
:"=m" (l->a.counter), "=qm" (c) :"+m" (l->a.counter), "=qm" (c)
:"m" (l->a.counter) : "memory"); : : "memory");
return c != 0; return c != 0;
} }
...@@ -86,8 +84,8 @@ static inline int local_inc_and_test(local_t *l) ...@@ -86,8 +84,8 @@ static inline int local_inc_and_test(local_t *l)
__asm__ __volatile__( __asm__ __volatile__(
"incq %0; sete %1" "incq %0; sete %1"
:"=m" (l->a.counter), "=qm" (c) :"+m" (l->a.counter), "=qm" (c)
:"m" (l->a.counter) : "memory"); : : "memory");
return c != 0; return c != 0;
} }
...@@ -106,8 +104,8 @@ static inline int local_add_negative(long i, local_t *l) ...@@ -106,8 +104,8 @@ static inline int local_add_negative(long i, local_t *l)
__asm__ __volatile__( __asm__ __volatile__(
"addq %2,%0; sets %1" "addq %2,%0; sets %1"
:"=m" (l->a.counter), "=qm" (c) :"+m" (l->a.counter), "=qm" (c)
:"ir" (i), "m" (l->a.counter) : "memory"); :"ir" (i) : "memory");
return c; return c;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册