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