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