|
@@ -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) \
|