xref: /plan9/sys/src/cmd/gs/alpha.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
17dd7cddfSDavid du Colombier /* Parameters derived from machine and compiler architecture */
27dd7cddfSDavid du Colombier 
37dd7cddfSDavid du Colombier 	 /* ---------------- Scalar alignments ---------------- */
47dd7cddfSDavid du Colombier 
57dd7cddfSDavid du Colombier #define ARCH_ALIGN_SHORT_MOD 2
67dd7cddfSDavid du Colombier #define ARCH_ALIGN_INT_MOD 4
77dd7cddfSDavid du Colombier #define ARCH_ALIGN_LONG_MOD 4
87dd7cddfSDavid du Colombier #define ARCH_ALIGN_PTR_MOD 4
97dd7cddfSDavid du Colombier #define ARCH_ALIGN_FLOAT_MOD 4
107dd7cddfSDavid du Colombier #define ARCH_ALIGN_DOUBLE_MOD 8
11*593dc095SDavid du Colombier #define ARCH_ALIGN_STRUCT_MOD 4
127dd7cddfSDavid du Colombier 
137dd7cddfSDavid du Colombier 	 /* ---------------- Scalar sizes ---------------- */
147dd7cddfSDavid du Colombier 
157dd7cddfSDavid du Colombier #define ARCH_LOG2_SIZEOF_SHORT 1
167dd7cddfSDavid du Colombier #define ARCH_LOG2_SIZEOF_INT 2
177dd7cddfSDavid du Colombier #define ARCH_LOG2_SIZEOF_LONG 2
18*593dc095SDavid du Colombier #define ARCH_LOG2_SIZEOF_LONG_LONG 3
197dd7cddfSDavid du Colombier #define ARCH_SIZEOF_PTR 4
207dd7cddfSDavid du Colombier #define ARCH_SIZEOF_FLOAT 4
217dd7cddfSDavid du Colombier #define ARCH_SIZEOF_DOUBLE 8
227dd7cddfSDavid du Colombier #define ARCH_FLOAT_MANTISSA_BITS 24
237dd7cddfSDavid du Colombier #define ARCH_DOUBLE_MANTISSA_BITS 53
247dd7cddfSDavid du Colombier 
257dd7cddfSDavid du Colombier 	 /* ---------------- Unsigned max values ---------------- */
267dd7cddfSDavid du Colombier 
277dd7cddfSDavid du Colombier #define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0)
287dd7cddfSDavid du Colombier #define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0)
297dd7cddfSDavid du Colombier #define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0)
307dd7cddfSDavid du Colombier #define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0)
317dd7cddfSDavid du Colombier 
327dd7cddfSDavid du Colombier 	 /* ---------------- Cache sizes ---------------- */
337dd7cddfSDavid du Colombier 
347dd7cddfSDavid du Colombier #define ARCH_CACHE1_SIZE 65536
357dd7cddfSDavid du Colombier #define ARCH_CACHE2_SIZE 131072
367dd7cddfSDavid du Colombier 
377dd7cddfSDavid du Colombier 	 /* ---------------- Miscellaneous ---------------- */
387dd7cddfSDavid du Colombier 
397dd7cddfSDavid du Colombier #define ARCH_IS_BIG_ENDIAN 0
407dd7cddfSDavid du Colombier #define ARCH_PTRS_ARE_SIGNED 0
417dd7cddfSDavid du Colombier #define ARCH_FLOATS_ARE_IEEE 1
427dd7cddfSDavid du Colombier #define ARCH_ARITH_RSHIFT 2
437dd7cddfSDavid du Colombier #define ARCH_CAN_SHIFT_FULL_LONG 1
447dd7cddfSDavid du Colombier #define ARCH_DIV_NEG_POS_TRUNCATES 1
45