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