cdefs.h revision 1.13
1/*	$NetBSD: cdefs.h,v 1.13 2014/03/18 17:11:19 christos Exp $	*/
2
3#ifndef	_ARM_CDEFS_H_
4#define	_ARM_CDEFS_H_
5
6#if (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || __GNUC__ < 4
7#error GCC 4.1 or compatible required.
8#endif
9
10#if defined (__ARM_ARCH_8A__)
11#define _ARM_ARCH_8		/* ARMv8 64-bit in AARCH32 */
12#endif
13
14#if defined (_ARM_ARCH_8) || defined (__ARM_ARCH_7__) || \
15    defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \
16    defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__)
17	/* 7R, 7M, 7EM are for non MMU arms */
18#define _ARM_ARCH_7
19#endif
20
21#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__)
22#define _ARM_ARCH_T2		/* Thumb2 */
23#endif
24
25#if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \
26    defined (__ARM_ARCH_6J__) || defined (__ARM_ARCH_6K__) || \
27    defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \
28    defined (__ARM_ARCH_6ZM__)
29#define _ARM_ARCH_6
30#endif
31
32#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \
33    defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__)
34#define _ARM_ARCH_5T
35#endif
36
37#if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__)
38#define _ARM_ARCH_5
39#endif
40
41#if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__)
42#define _ARM_ARCH_4T
43#endif
44
45#if defined (_ARM_ARCH_T2) || \
46    (!defined (__thumb__) && \
47     (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \
48      defined (__ARM_ARCH_5TEJ__)))
49#define	_ARM_ARCH_DWORD_OK
50#endif
51
52#if defined(__ARM_EABI__) || defined(__ARM_PCS_AAPCS64)
53#define __ALIGNBYTES		((size_t)(8 - 1))
54#else
55#define __ALIGNBYTES		(sizeof(int) - 1)
56#endif
57
58#endif /* !_ARM_CDEFS_H_ */
59