Home | History | Annotate | Line # | Download | only in include
cdefs.h revision 1.14
      1  1.14   matt /*	$NetBSD: cdefs.h,v 1.14 2014/03/24 04:45:08 matt 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.12   matt #if (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || __GNUC__ < 4
      7  1.11   matt #error GCC 4.1 or compatible required.
      8  1.11   matt #endif
      9  1.11   matt 
     10  1.10   matt #if defined (__ARM_ARCH_8A__)
     11  1.10   matt #define _ARM_ARCH_8		/* ARMv8 64-bit in AARCH32 */
     12  1.10   matt #endif
     13  1.10   matt 
     14  1.10   matt #if defined (_ARM_ARCH_8) || defined (__ARM_ARCH_7__) || \
     15  1.10   matt     defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \
     16  1.10   matt     defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__)
     17  1.10   matt 	/* 7R, 7M, 7EM are for non MMU arms */
     18   1.5   matt #define _ARM_ARCH_7
     19   1.5   matt #endif
     20   1.5   matt 
     21   1.8   matt #if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__)
     22   1.8   matt #define _ARM_ARCH_T2		/* Thumb2 */
     23   1.8   matt #endif
     24   1.8   matt 
     25   1.8   matt #if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \
     26   1.5   matt     defined (__ARM_ARCH_6J__) || defined (__ARM_ARCH_6K__) || \
     27   1.5   matt     defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \
     28   1.8   matt     defined (__ARM_ARCH_6ZM__)
     29   1.2   matt #define _ARM_ARCH_6
     30   1.2   matt #endif
     31   1.2   matt 
     32   1.9   matt #if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \
     33   1.9   matt     defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__)
     34   1.9   matt #define _ARM_ARCH_5T
     35   1.9   matt #endif
     36   1.9   matt 
     37   1.9   matt #if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__)
     38   1.2   matt #define _ARM_ARCH_5
     39   1.2   matt #endif
     40   1.2   matt 
     41   1.2   matt #if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__)
     42   1.2   matt #define _ARM_ARCH_4T
     43   1.2   matt #endif
     44   1.1  bjh21 
     45   1.8   matt #if defined (_ARM_ARCH_T2) || \
     46   1.8   matt     (!defined (__thumb__) && \
     47   1.8   matt      (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \
     48   1.8   matt       defined (__ARM_ARCH_5TEJ__)))
     49   1.7   matt #define	_ARM_ARCH_DWORD_OK
     50   1.7   matt #endif
     51   1.7   matt 
     52  1.14   matt #if defined(__ARM_PCS_AAPCS64)
     53  1.14   matt #define __ALIGNBYTES		(sizeof(__int128_t) - 1)
     54  1.14   matt #elif defined(__ARM_EABI__)
     55  1.14   matt #define __ALIGNBYTES		(sizeof(long long) - 1)
     56   1.6   matt #else
     57   1.4  joerg #define __ALIGNBYTES		(sizeof(int) - 1)
     58   1.6   matt #endif
     59   1.4  joerg 
     60   1.8   matt #endif /* !_ARM_CDEFS_H_ */
     61