cdefs.h revision 1.15
1243791Sdim/*	$NetBSD: cdefs.h,v 1.15 2014/06/23 03:40:57 christos Exp $	*/
2243791Sdim
3243791Sdim#ifndef	_ARM_CDEFS_H_
4243791Sdim#define	_ARM_CDEFS_H_
5243791Sdim
6243791Sdim#ifndef __lint__
7243791Sdim#if (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || __GNUC__ < 4
8243791Sdim#error GCC 4.1 or compatible required.
9243791Sdim#endif
10243791Sdim#endif
11243791Sdim
12243791Sdim#if defined (__ARM_ARCH_8A__)
13243791Sdim#define _ARM_ARCH_8		/* ARMv8 64-bit in AARCH32 */
14243791Sdim#endif
15243791Sdim
16243791Sdim#if defined (_ARM_ARCH_8) || defined (__ARM_ARCH_7__) || \
17243791Sdim    defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \
18243791Sdim    defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__)
19243791Sdim	/* 7R, 7M, 7EM are for non MMU arms */
20243791Sdim#define _ARM_ARCH_7
21243791Sdim#endif
22243791Sdim
23243791Sdim#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__)
24243791Sdim#define _ARM_ARCH_T2		/* Thumb2 */
25243791Sdim#endif
26243791Sdim
27243791Sdim#if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \
28243791Sdim    defined (__ARM_ARCH_6J__) || defined (__ARM_ARCH_6K__) || \
29243791Sdim    defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \
30243791Sdim    defined (__ARM_ARCH_6ZM__)
31251662Sdim#define _ARM_ARCH_6
32243791Sdim#endif
33243791Sdim
34249423Sdim#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \
35249423Sdim    defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__)
36243791Sdim#define _ARM_ARCH_5T
37243791Sdim#endif
38243791Sdim
39243791Sdim#if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__)
40243791Sdim#define _ARM_ARCH_5
41243791Sdim#endif
42243791Sdim
43243791Sdim#if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__)
44243791Sdim#define _ARM_ARCH_4T
45243791Sdim#endif
46249423Sdim
47243791Sdim#if defined (_ARM_ARCH_T2) || \
48243791Sdim    (!defined (__thumb__) && \
49243791Sdim     (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \
50243791Sdim      defined (__ARM_ARCH_5TEJ__)))
51243791Sdim#define	_ARM_ARCH_DWORD_OK
52243791Sdim#endif
53243791Sdim
54243791Sdim#if defined(__ARM_PCS_AAPCS64)
55243791Sdim#define __ALIGNBYTES		(sizeof(__int128_t) - 1)
56249423Sdim#elif defined(__ARM_EABI__)
57249423Sdim#define __ALIGNBYTES		(sizeof(long long) - 1)
58243791Sdim#else
59243791Sdim#define __ALIGNBYTES		(sizeof(int) - 1)
60243791Sdim#endif
61243791Sdim
62243791Sdim#endif /* !_ARM_CDEFS_H_ */
63243791Sdim