ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
386-GCC.h
Go to the documentation of this file.
1 
54 #include "etiss/jit/types.h"
55 
56 /*----------------------------------------------------------------------------
57 | One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined.
58 *----------------------------------------------------------------------------*/
59 #define LITTLEENDIAN
60 
61 /*----------------------------------------------------------------------------
62 | The macro `BITS64' can be defined to indicate that 64-bit integer types are
63 | supported by the compiler.
64 *----------------------------------------------------------------------------*/
65 #define BITS64
66 
67 /*----------------------------------------------------------------------------
68 | Each of the following `typedef's defines the most convenient type that holds
69 | integers of at least as many bits as specified. For example, `uint8' should
70 | be the most convenient type that can hold unsigned integers of as many as
71 | 8 bits. The `flag' type must be able to hold either a 0 or 1. For most
72 | implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
73 | to the same as `int'.
74 *----------------------------------------------------------------------------*/
75 typedef char flag;
77 typedef etiss_int8 int8;
84 
85 /*----------------------------------------------------------------------------
86 | Each of the following `typedef's defines a type that holds integers
87 | of _exactly_ the number of bits specified. For instance, for most
88 | implementation of C, `bits16' and `sbits16' should be `typedef'ed to
89 | `unsigned short int' and `signed short int' (or `short int'), respectively.
90 *----------------------------------------------------------------------------*/
99 
100 #define LIT64(a) a##LL
101 
102 /*----------------------------------------------------------------------------
103 | The macro `INLINE' can be used before functions that should be inlined. If
104 | a compiler does not support explicit inlining, this macro should be defined
105 | to be `static'.
106 *----------------------------------------------------------------------------*/
107 #define INLINE extern inline
etiss_int64 sbits64
Definition: 386-GCC.h:98
etiss_int16 sbits16
Definition: 386-GCC.h:94
etiss_uint8 uint8
Definition: 386-GCC.h:76
etiss_uint8 bits8
Definition: 386-GCC.h:91
etiss_uint32 bits32
Definition: 386-GCC.h:95
etiss_int32 int32
Definition: 386-GCC.h:81
etiss_int64 int64
Definition: 386-GCC.h:83
etiss_int32 sbits32
Definition: 386-GCC.h:96
etiss_int8 int8
Definition: 386-GCC.h:77
etiss_uint32 uint32
Definition: 386-GCC.h:80
char flag
Definition: 386-GCC.h:75
etiss_int16 int16
Definition: 386-GCC.h:79
etiss_uint16 uint16
Definition: 386-GCC.h:78
etiss_uint16 bits16
Definition: 386-GCC.h:93
etiss_uint64 bits64
Definition: 386-GCC.h:97
etiss_uint64 uint64
Definition: 386-GCC.h:82
etiss_int8 sbits8
Definition: 386-GCC.h:92
int16_t etiss_int16
Definition: types.h:89
uint64_t etiss_uint64
Definition: types.h:96
uint32_t etiss_uint32
Definition: types.h:93
int64_t etiss_int64
Definition: types.h:95
int8_t etiss_int8
Definition: types.h:86
uint8_t etiss_uint8
Definition: types.h:87
int32_t etiss_int32
Definition: types.h:92
uint16_t etiss_uint16
Definition: types.h:90