18c2ecf20Sopenharmony_ci#ifndef _ASM_POWERPC_ASM_CONST_H
28c2ecf20Sopenharmony_ci#define _ASM_POWERPC_ASM_CONST_H
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#ifdef __ASSEMBLY__
58c2ecf20Sopenharmony_ci#  define stringify_in_c(...)	__VA_ARGS__
68c2ecf20Sopenharmony_ci#  define ASM_CONST(x)		x
78c2ecf20Sopenharmony_ci#else
88c2ecf20Sopenharmony_ci/* This version of stringify will deal with commas... */
98c2ecf20Sopenharmony_ci#  define __stringify_in_c(...)	#__VA_ARGS__
108c2ecf20Sopenharmony_ci#  define stringify_in_c(...)	__stringify_in_c(__VA_ARGS__) " "
118c2ecf20Sopenharmony_ci#  define __ASM_CONST(x)	x##UL
128c2ecf20Sopenharmony_ci#  define ASM_CONST(x)		__ASM_CONST(x)
138c2ecf20Sopenharmony_ci#endif
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci/*
168c2ecf20Sopenharmony_ci * Inline assembly memory constraint
178c2ecf20Sopenharmony_ci *
188c2ecf20Sopenharmony_ci * GCC 4.9 doesn't properly handle pre update memory constraint "m<>"
198c2ecf20Sopenharmony_ci *
208c2ecf20Sopenharmony_ci */
218c2ecf20Sopenharmony_ci#if defined(GCC_VERSION) && GCC_VERSION < 50000
228c2ecf20Sopenharmony_ci#define UPD_CONSTR ""
238c2ecf20Sopenharmony_ci#else
248c2ecf20Sopenharmony_ci#define UPD_CONSTR "<>"
258c2ecf20Sopenharmony_ci#endif
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci#endif /* _ASM_POWERPC_ASM_CONST_H */
28