1 1.19 rin /* $NetBSD: cdefs.h,v 1.19 2020/12/01 02:43:14 rin Exp $ */ 2 1.1 bjh21 3 1.8 matt #ifndef _ARM_CDEFS_H_ 4 1.8 matt #define _ARM_CDEFS_H_ 5 1.1 bjh21 6 1.15 christos #ifndef __lint__ 7 1.12 matt #if (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || __GNUC__ < 4 8 1.11 matt #error GCC 4.1 or compatible required. 9 1.11 matt #endif 10 1.15 christos #endif 11 1.11 matt 12 1.17 skrll 13 1.18 skrll #if defined (__ARM_ARCH_8A__) || defined (__ARM_ARCH_8A) || \ 14 1.18 skrll __ARM_ARCH == 8 15 1.17 skrll /* __ARM_ARCH_8A__ is a typo */ 16 1.17 skrll #define _ARM_ARCH_8 17 1.10 matt #endif 18 1.10 matt 19 1.10 matt #if defined (_ARM_ARCH_8) || defined (__ARM_ARCH_7__) || \ 20 1.10 matt defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \ 21 1.10 matt defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__) 22 1.10 matt /* 7R, 7M, 7EM are for non MMU arms */ 23 1.5 matt #define _ARM_ARCH_7 24 1.5 matt #endif 25 1.5 matt 26 1.8 matt #if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__) 27 1.8 matt #define _ARM_ARCH_T2 /* Thumb2 */ 28 1.8 matt #endif 29 1.8 matt 30 1.8 matt #if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \ 31 1.16 joerg defined (__ARM_ARCH_6J__) || \ 32 1.16 joerg defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6KZ__) || \ 33 1.5 matt defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \ 34 1.8 matt defined (__ARM_ARCH_6ZM__) 35 1.2 matt #define _ARM_ARCH_6 36 1.2 matt #endif 37 1.2 matt 38 1.9 matt #if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \ 39 1.9 matt defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) 40 1.9 matt #define _ARM_ARCH_5T 41 1.9 matt #endif 42 1.9 matt 43 1.9 matt #if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__) 44 1.2 matt #define _ARM_ARCH_5 45 1.2 matt #endif 46 1.2 matt 47 1.2 matt #if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__) 48 1.2 matt #define _ARM_ARCH_4T 49 1.2 matt #endif 50 1.1 bjh21 51 1.8 matt #if defined (_ARM_ARCH_T2) || \ 52 1.8 matt (!defined (__thumb__) && \ 53 1.8 matt (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \ 54 1.8 matt defined (__ARM_ARCH_5TEJ__))) 55 1.7 matt #define _ARM_ARCH_DWORD_OK 56 1.7 matt #endif 57 1.7 matt 58 1.19 rin #if defined (__ARMEB__) && defined (_ARM_ARCH_6) 59 1.19 rin #define _ARM_ARCH_BE8 60 1.19 rin #endif 61 1.19 rin 62 1.14 matt #if defined(__ARM_PCS_AAPCS64) 63 1.14 matt #define __ALIGNBYTES (sizeof(__int128_t) - 1) 64 1.14 matt #elif defined(__ARM_EABI__) 65 1.14 matt #define __ALIGNBYTES (sizeof(long long) - 1) 66 1.6 matt #else 67 1.4 joerg #define __ALIGNBYTES (sizeof(int) - 1) 68 1.6 matt #endif 69 1.4 joerg 70 1.8 matt #endif /* !_ARM_CDEFS_H_ */ 71