aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHarvey Harrison <harvey.harrison@gmail.com>2008-01-30 07:31:26 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:31:26 -0500
commit992b95920a311db3267659ea17160e4812a05830 (patch)
tree55c66597cc8443a9ebcd6342e8aab90041625f94 /include
parent4ad02718345783a3b84bae1895917666b779850d (diff)
x86: fix asm memory constraints in local_64.h
Use the shorter +m form rather than =m and m. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/local_64.h30
1 files changed, 14 insertions, 16 deletions
diff --git a/include/asm-x86/local_64.h b/include/asm-x86/local_64.h
index 92330f8135f8..50e99eddd628 100644
--- a/include/asm-x86/local_64.h
+++ b/include/asm-x86/local_64.h
@@ -5,32 +5,30 @@ static inline void local_inc(local_t *l)
5{ 5{
6 __asm__ __volatile__( 6 __asm__ __volatile__(
7 "incq %0" 7 "incq %0"
8 :"=m" (l->a.counter) 8 :"+m" (l->a.counter));
9 :"m" (l->a.counter));
10} 9}
11 10
12static inline void local_dec(local_t *l) 11static inline void local_dec(local_t *l)
13{ 12{
14 __asm__ __volatile__( 13 __asm__ __volatile__(
15 "decq %0" 14 "decq %0"
16 :"=m" (l->a.counter) 15 :"+m" (l->a.counter));
17 :"m" (l->a.counter));
18} 16}
19 17
20static inline void local_add(long i, local_t *l) 18static inline void local_add(long i, local_t *l)
21{ 19{
22 __asm__ __volatile__( 20 __asm__ __volatile__(
23 "addq %1,%0" 21 "addq %1,%0"
24 :"=m" (l->a.counter) 22 :"+m" (l->a.counter)
25 :"ir" (i), "m" (l->a.counter)); 23 :"ir" (i));
26} 24}
27 25
28static inline void local_sub(long i, local_t *l) 26static inline void local_sub(long i, local_t *l)
29{ 27{
30 __asm__ __volatile__( 28 __asm__ __volatile__(
31 "subq %1,%0" 29 "subq %1,%0"
32 :"=m" (l->a.counter) 30 :"+m" (l->a.counter)
33 :"ir" (i), "m" (l->a.counter)); 31 :"ir" (i));
34} 32}
35 33
36/** 34/**
@@ -48,8 +46,8 @@ static inline int local_sub_and_test(long i, local_t *l)
48 46
49 __asm__ __volatile__( 47 __asm__ __volatile__(
50 "subq %2,%0; sete %1" 48 "subq %2,%0; sete %1"
51 :"=m" (l->a.counter), "=qm" (c) 49 :"+m" (l->a.counter), "=qm" (c)
52 :"ir" (i), "m" (l->a.counter) : "memory"); 50 :"ir" (i) : "memory");
53 return c; 51 return c;
54} 52}
55 53
@@ -67,8 +65,8 @@ static inline int local_dec_and_test(local_t *l)
67 65
68 __asm__ __volatile__( 66 __asm__ __volatile__(
69 "decq %0; sete %1" 67 "decq %0; sete %1"
70 :"=m" (l->a.counter), "=qm" (c) 68 :"+m" (l->a.counter), "=qm" (c)
71 :"m" (l->a.counter) : "memory"); 69 : : "memory");
72 return c != 0; 70 return c != 0;
73} 71}
74 72
@@ -86,8 +84,8 @@ static inline int local_inc_and_test(local_t *l)
86 84
87 __asm__ __volatile__( 85 __asm__ __volatile__(
88 "incq %0; sete %1" 86 "incq %0; sete %1"
89 :"=m" (l->a.counter), "=qm" (c) 87 :"+m" (l->a.counter), "=qm" (c)
90 :"m" (l->a.counter) : "memory"); 88 : : "memory");
91 return c != 0; 89 return c != 0;
92} 90}
93 91
@@ -106,8 +104,8 @@ static inline int local_add_negative(long i, local_t *l)
106 104
107 __asm__ __volatile__( 105 __asm__ __volatile__(
108 "addq %2,%0; sets %1" 106 "addq %2,%0; sets %1"
109 :"=m" (l->a.counter), "=qm" (c) 107 :"+m" (l->a.counter), "=qm" (c)
110 :"ir" (i), "m" (l->a.counter) : "memory"); 108 :"ir" (i) : "memory");
111 return c; 109 return c;
112} 110}
113 111