瀏覽代碼

x86/asm: Use CC_SET()/CC_OUT() in __gen_sigismember()

Replace open-coded set instructions with CC_SET()/CC_OUT().

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20180814165951.13538-1-ubizjak@gmail.com
Uros Bizjak 7 年之前
父節點
當前提交
26e609eccd
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      arch/x86/include/asm/signal.h

+ 4 - 3
arch/x86/include/asm/signal.h

@@ -39,6 +39,7 @@ extern void do_signal(struct pt_regs *regs);
 
 
 #define __ARCH_HAS_SA_RESTORER
 #define __ARCH_HAS_SA_RESTORER
 
 
+#include <asm/asm.h>
 #include <uapi/asm/sigcontext.h>
 #include <uapi/asm/sigcontext.h>
 
 
 #ifdef __i386__
 #ifdef __i386__
@@ -86,9 +87,9 @@ static inline int __const_sigismember(sigset_t *set, int _sig)
 
 
 static inline int __gen_sigismember(sigset_t *set, int _sig)
 static inline int __gen_sigismember(sigset_t *set, int _sig)
 {
 {
-	unsigned char ret;
-	asm("btl %2,%1\n\tsetc %0"
-	    : "=qm"(ret) : "m"(*set), "Ir"(_sig-1) : "cc");
+	bool ret;
+	asm("btl %2,%1" CC_SET(c)
+	    : CC_OUT(c) (ret) : "m"(*set), "Ir"(_sig-1));
 	return ret;
 	return ret;
 }
 }