summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/asm.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-07-15 11:26:04 +0300
committerIngo Molnar <mingo@kernel.org>2016-07-15 11:26:04 +0300
commit38452af2424dc99854c78523d74b260fa8a984f0 (patch)
tree0dc49c27e1a58a0b35c23db05d85d2e8571ea471 /arch/x86/include/asm/asm.h
parentdcb32d9913b7ed527b135a7e221f8d14b67bb952 (diff)
parentbe8a18e2e98e04a5def5887d913b267865562448 (diff)
downloadlinux-38452af2424dc99854c78523d74b260fa8a984f0.tar.xz
Merge branch 'x86/asm' into x86/mm, to resolve conflicts
Conflicts: tools/testing/selftests/x86/Makefile Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/asm.h')
-rw-r--r--arch/x86/include/asm/asm.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/include/asm/asm.h b/arch/x86/include/asm/asm.h
index f5063b6659eb..7acb51c49fec 100644
--- a/arch/x86/include/asm/asm.h
+++ b/arch/x86/include/asm/asm.h
@@ -42,6 +42,18 @@
#define _ASM_SI __ASM_REG(si)
#define _ASM_DI __ASM_REG(di)
+/*
+ * Macros to generate condition code outputs from inline assembly,
+ * The output operand must be type "bool".
+ */
+#ifdef __GCC_ASM_FLAG_OUTPUTS__
+# define CC_SET(c) "\n\t/* output condition code " #c "*/\n"
+# define CC_OUT(c) "=@cc" #c
+#else
+# define CC_SET(c) "\n\tset" #c " %[_cc_" #c "]\n"
+# define CC_OUT(c) [_cc_ ## c] "=qm"
+#endif
+
/* Exception table entry */
#ifdef __ASSEMBLY__
# define _ASM_EXTABLE_HANDLE(from, to, handler) \