Home | History | Annotate | Line # | Download | only in include
      1 /*	$NetBSD: cdefs.h,v 1.19 2020/12/01 02:43:14 rin 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 
     13 #if defined (__ARM_ARCH_8A__) || defined (__ARM_ARCH_8A) || \
     14     __ARM_ARCH == 8
     15 	/* __ARM_ARCH_8A__ is a typo */
     16 #define _ARM_ARCH_8
     17 #endif
     18 
     19 #if defined (_ARM_ARCH_8) || defined (__ARM_ARCH_7__) || \
     20     defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \
     21     defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__)
     22 	/* 7R, 7M, 7EM are for non MMU arms */
     23 #define _ARM_ARCH_7
     24 #endif
     25 
     26 #if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__)
     27 #define _ARM_ARCH_T2		/* Thumb2 */
     28 #endif
     29 
     30 #if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \
     31     defined (__ARM_ARCH_6J__) || \
     32     defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6KZ__) || \
     33     defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \
     34     defined (__ARM_ARCH_6ZM__)
     35 #define _ARM_ARCH_6
     36 #endif
     37 
     38 #if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \
     39     defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__)
     40 #define _ARM_ARCH_5T
     41 #endif
     42 
     43 #if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__)
     44 #define _ARM_ARCH_5
     45 #endif
     46 
     47 #if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__)
     48 #define _ARM_ARCH_4T
     49 #endif
     50 
     51 #if defined (_ARM_ARCH_T2) || \
     52     (!defined (__thumb__) && \
     53      (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \
     54       defined (__ARM_ARCH_5TEJ__)))
     55 #define	_ARM_ARCH_DWORD_OK
     56 #endif
     57 
     58 #if defined (__ARMEB__) && defined (_ARM_ARCH_6)
     59 #define	_ARM_ARCH_BE8
     60 #endif
     61 
     62 #if defined(__ARM_PCS_AAPCS64)
     63 #define __ALIGNBYTES		(sizeof(__int128_t) - 1)
     64 #elif defined(__ARM_EABI__)
     65 #define __ALIGNBYTES		(sizeof(long long) - 1)
     66 #else
     67 #define __ALIGNBYTES		(sizeof(int) - 1)
     68 #endif
     69 
     70 #endif /* !_ARM_CDEFS_H_ */
     71