xref: /OK3568_Linux_fs/kernel/arch/powerpc/include/asm/asm-const.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #ifndef _ASM_POWERPC_ASM_CONST_H
2*4882a593Smuzhiyun #define _ASM_POWERPC_ASM_CONST_H
3*4882a593Smuzhiyun 
4*4882a593Smuzhiyun #ifdef __ASSEMBLY__
5*4882a593Smuzhiyun #  define stringify_in_c(...)	__VA_ARGS__
6*4882a593Smuzhiyun #  define ASM_CONST(x)		x
7*4882a593Smuzhiyun #else
8*4882a593Smuzhiyun /* This version of stringify will deal with commas... */
9*4882a593Smuzhiyun #  define __stringify_in_c(...)	#__VA_ARGS__
10*4882a593Smuzhiyun #  define stringify_in_c(...)	__stringify_in_c(__VA_ARGS__) " "
11*4882a593Smuzhiyun #  define __ASM_CONST(x)	x##UL
12*4882a593Smuzhiyun #  define ASM_CONST(x)		__ASM_CONST(x)
13*4882a593Smuzhiyun #endif
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun /*
16*4882a593Smuzhiyun  * Inline assembly memory constraint
17*4882a593Smuzhiyun  *
18*4882a593Smuzhiyun  * GCC 4.9 doesn't properly handle pre update memory constraint "m<>"
19*4882a593Smuzhiyun  *
20*4882a593Smuzhiyun  */
21*4882a593Smuzhiyun #if defined(GCC_VERSION) && GCC_VERSION < 50000
22*4882a593Smuzhiyun #define UPD_CONSTR ""
23*4882a593Smuzhiyun #else
24*4882a593Smuzhiyun #define UPD_CONSTR "<>"
25*4882a593Smuzhiyun #endif
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun #endif /* _ASM_POWERPC_ASM_CONST_H */
28