ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
types.h
Go to the documentation of this file.
1 
57 #ifndef ETISS_INCLUDE_TYPES_H_
58 #define ETISS_INCLUDE_TYPES_H_
59 
60 // TODO: move to special header provided by compiler
61 //_________________________________________________________________
62 //#ifdef _MSC_VER
63 //#include "etiss/jit/msvc_stdint.h"
64 //#else
65 #include <stdint.h>
66 //#endif
67 //#include <stdbool.h> // removed since it may not be available
68 
69 #ifdef __GNUC__
70 #define likely(x) __builtin_expect(!!(x), 1)
71 #define unlikely(x) __builtin_expect(!!(x), 0)
72 #else
73 #define likely(x) (x)
74 #define unlikely(x) (x)
75 #endif
76 
77 //_________________________________________________________________
78 
79 #define stream_code_info "\t{ File: " << __FILE__ << "\tLine: " << __LINE__ << "}"
80 
81 #ifdef __cplusplus
82 extern "C"
83 {
84 #endif
85 
86  typedef int8_t etiss_int8;
88 
91 
94 
95  typedef int64_t etiss_int64;
97 
100 
101 #ifdef __GNUC__
102  typedef __int128_t etiss_int128;
103  typedef __uint128_t etiss_uint128;
104 #endif
105 
106 #ifdef __cplusplus
107 }
108 #endif
109 
110 #ifdef __cplusplus
111 namespace etiss
112 {
113 
114 typedef etiss_int8 int8;
115 typedef etiss_uint8 uint8;
116 
117 typedef etiss_int16 int16;
118 typedef etiss_uint16 uint16;
119 
120 typedef etiss_int32 int32;
121 typedef etiss_uint32 uint32;
122 
123 typedef etiss_int64 int64;
124 typedef etiss_uint64 uint64;
125 
126 typedef etiss_intMax intMax;
127 typedef etiss_uintMax uintMax;
128 
129 #ifdef __GNUC__
130 typedef __int128_t etiss_int128;
131 typedef __uint128_t etiss_uint128;
132 #endif
133 
134 } // namespace etiss
135 #endif
136 
137 #endif
etiss_uint8 uint8
Definition: 386-GCC.h:76
etiss_int32 int32
Definition: 386-GCC.h:81
etiss_int64 int64
Definition: 386-GCC.h:83
etiss_int8 int8
Definition: 386-GCC.h:77
etiss_uint32 uint32
Definition: 386-GCC.h:80
etiss_int16 int16
Definition: 386-GCC.h:79
etiss_uint16 uint16
Definition: 386-GCC.h:78
etiss_uint64 uint64
Definition: 386-GCC.h:82
static __inline__ uint32_t
Definition: arm_cde.h:25
static __inline__ uint64_t
Definition: arm_cde.h:31
static __inline__ int32_t
Definition: arm_mve.h:51
static __inline__ int8_t
Definition: arm_mve.h:311
static __inline__ uint8_t
Definition: arm_mve.h:323
static __inline__ int16_t
Definition: arm_mve.h:303
static __inline__ uint16_t
Definition: arm_mve.h:315
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
etiss_uint64 etiss_uintMax
Definition: types.h:99
int8_t etiss_int8
Definition: types.h:86
etiss_int64 etiss_intMax
Definition: types.h:98
uint8_t etiss_uint8
Definition: types.h:87
int32_t etiss_int32
Definition: types.h:92
uint16_t etiss_uint16
Definition: types.h:90
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.
Definition: Benchmark.h:53