arm.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* Parameters derived from machine and compiler architecture */
  2. /* ---------------- Scalar alignments ---------------- */
  3. #define ARCH_ALIGN_SHORT_MOD 2
  4. #define ARCH_ALIGN_INT_MOD 4
  5. #define ARCH_ALIGN_LONG_MOD 4
  6. #define ARCH_ALIGN_PTR_MOD 4
  7. #define ARCH_ALIGN_FLOAT_MOD 4
  8. #define ARCH_ALIGN_DOUBLE_MOD 4
  9. #define ARCH_ALIGN_STRUCT_MOD 4
  10. /* ---------------- Scalar sizes ---------------- */
  11. #define ARCH_LOG2_SIZEOF_SHORT 1
  12. #define ARCH_LOG2_SIZEOF_INT 2
  13. #define ARCH_LOG2_SIZEOF_LONG 2
  14. #define ARCH_LOG2_SIZEOF_LONG_LONG 3
  15. #define ARCH_SIZEOF_PTR 4
  16. #define ARCH_SIZEOF_FLOAT 4
  17. #define ARCH_SIZEOF_DOUBLE 8
  18. #define ARCH_FLOAT_MANTISSA_BITS 24
  19. #define ARCH_DOUBLE_MANTISSA_BITS 53
  20. /* ---------------- Unsigned max values ---------------- */
  21. #define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
  22. #define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
  23. #define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
  24. #define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
  25. /* ---------------- Cache sizes ---------------- */
  26. #define ARCH_CACHE1_SIZE 1048576
  27. #define ARCH_CACHE2_SIZE 1048576
  28. /* ---------------- Miscellaneous ---------------- */
  29. #define ARCH_IS_BIG_ENDIAN 0
  30. #define ARCH_PTRS_ARE_SIGNED 0
  31. #define ARCH_FLOATS_ARE_IEEE 1
  32. #define ARCH_ARITH_RSHIFT 2
  33. #define ARCH_CAN_SHIFT_FULL_LONG 1
  34. #define ARCH_DIV_NEG_POS_TRUNCATES 1