[CRIU] [PATCH 02/13] bitopts: add a size sufix for ambiguous instructions

Andrey Vagin avagin at openvz.org
Wed Apr 3 13:31:01 EDT 2013


clang requires that.

In file included from arch/x86/cpu.c:9:
arch/x86/include/asm/bitops.h:24:15: error: ambiguous instructions
require an explicit suffix (could be 'btsw', 'btsl', or 'btsq')
        asm volatile("bts %1,%0" : ADDR : "Ir" (nr) : "memory");

Signed-off-by: Andrey Vagin <avagin at openvz.org>
---
 arch/x86/include/asm/bitops.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/bitops.h b/arch/x86/include/asm/bitops.h
index 3571f26..7d62831 100644
--- a/arch/x86/include/asm/bitops.h
+++ b/arch/x86/include/asm/bitops.h
@@ -21,12 +21,12 @@
 
 static inline void set_bit(int nr, volatile unsigned long *addr)
 {
-	asm volatile("bts %1,%0" : ADDR : "Ir" (nr) : "memory");
+	asm volatile("btsl %1,%0" : ADDR : "Ir" (nr) : "memory");
 }
 
 static inline void change_bit(int nr, volatile unsigned long *addr)
 {
-	asm volatile("btc %1,%0" : ADDR : "Ir" (nr));
+	asm volatile("btcl %1,%0" : ADDR : "Ir" (nr));
 }
 
 static inline int test_bit(int nr, volatile const unsigned long *addr)
@@ -43,7 +43,7 @@ static inline int test_bit(int nr, volatile const unsigned long *addr)
 
 static inline void clear_bit(int nr, volatile unsigned long *addr)
 {
-	asm volatile("btr %1,%0" : ADDR : "Ir" (nr));
+	asm volatile("btrl %1,%0" : ADDR : "Ir" (nr));
 }
 
 /**
-- 
1.7.11.7



More information about the CRIU mailing list