default.amd64.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. /* Parameters derived from machine and compiler architecture. */
  10. /* This file is generated mechanically by genarch.c. */
  11. /* ---------------- Scalar alignments ---------------- */
  12. #define ARCH_ALIGN_SHORT_MOD 2
  13. #define ARCH_ALIGN_INT_MOD 4
  14. #define ARCH_ALIGN_LONG_MOD 4
  15. #define ARCH_ALIGN_PTR_MOD 8
  16. #define ARCH_ALIGN_FLOAT_MOD 4
  17. #define ARCH_ALIGN_DOUBLE_MOD 8
  18. #define ARCH_ALIGN_STRUCT_MOD 4
  19. /* ---------------- Scalar sizes ---------------- */
  20. #define ARCH_LOG2_SIZEOF_CHAR 0
  21. #define ARCH_LOG2_SIZEOF_SHORT 1
  22. #define ARCH_LOG2_SIZEOF_INT 2
  23. #define ARCH_LOG2_SIZEOF_LONG 2
  24. #define ARCH_LOG2_SIZEOF_LONG_LONG 3
  25. #define ARCH_SIZEOF_PTR 8
  26. #define ARCH_SIZEOF_FLOAT 4
  27. #define ARCH_SIZEOF_DOUBLE 8
  28. #define ARCH_FLOAT_MANTISSA_BITS 24
  29. #define ARCH_DOUBLE_MANTISSA_BITS 53
  30. /* ---------------- Unsigned max values ---------------- */
  31. #define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
  32. #define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
  33. #define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
  34. #define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
  35. /* ---------------- Cache sizes ---------------- */
  36. #define ARCH_CACHE1_SIZE 4096
  37. #define ARCH_CACHE2_SIZE 4194304
  38. /* ---------------- Miscellaneous ---------------- */
  39. #define ARCH_IS_BIG_ENDIAN 0
  40. #define ARCH_PTRS_ARE_SIGNED 0
  41. #define ARCH_FLOATS_ARE_IEEE 1
  42. #define ARCH_ARITH_RSHIFT 2
  43. #define ARCH_CAN_SHIFT_FULL_LONG 0
  44. #define ARCH_DIV_NEG_POS_TRUNCATES 1