OSDN Git Service

x86, asm: define CC_SET() and CC_OUT() macros
authorH. Peter Anvin <hpa@zytor.com>
Wed, 8 Jun 2016 19:38:40 +0000 (12:38 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Wed, 8 Jun 2016 19:41:20 +0000 (12:41 -0700)
commitff3554b409b82d349f71e9d7082648b7b0a1a5bb
treebf0166f5e2be0455efb82ba62c1532baa6e41555
parent18fe58229d80c7f4f138a07e84ba608e1ebd232b
x86, asm: define CC_SET() and CC_OUT() macros

The CC_SET() and CC_OUT() macros can be used together to take
advantage of the new __GCC_ASM_FLAG_OUTPUTS__ feature in gcc 6+ while
remaining backwards compatible.  CC_SET() generates a SET instruction
on older compilers; CC_OUT() makes sure the output is received in the
correct variable.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Link: http://lkml.kernel.org/r/1465414726-197858-5-git-send-email-hpa@linux.intel.com
Reviewed-by: Andy Lutomirski <luto@kernel.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
arch/x86/include/asm/asm.h