linux/arch/x86/include/asm/rmwcc.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_X86_RMWcc
#define _ASM_X86_RMWcc

#include <linux/args.h>

#define __CLOBBERS_MEM(clb...)

#ifndef __GCC_ASM_FLAG_OUTPUTS__

/* Use asm goto */

#define __GEN_RMWcc

#else /* defined(__GCC_ASM_FLAG_OUTPUTS__) */

/* Use flags output or a set instruction */

#define __GEN_RMWcc(fullop, _var, cc, clobbers, ...)

#endif /* defined(__GCC_ASM_FLAG_OUTPUTS__) */

#define GEN_UNARY_RMWcc_4(op, var, cc, arg0)

#define GEN_UNARY_RMWcc_3(op, var, cc)

#define GEN_UNARY_RMWcc(X...)

#define GEN_BINARY_RMWcc_6(op, var, cc, vcon, _val, arg0)

#define GEN_BINARY_RMWcc_5(op, var, cc, vcon, val)

#define GEN_BINARY_RMWcc(X...)

#define GEN_UNARY_SUFFIXED_RMWcc(op, suffix, var, cc, clobbers...)

#define GEN_BINARY_SUFFIXED_RMWcc(op, suffix, var, cc, vcon, _val, clobbers...)

#endif /* _ASM_X86_RMWcc */