tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
libitm.h
Go to the documentation of this file.
1 /**
2  * Copyright (C) 2011
3  * University of Rochester Department of Computer Science
4  * and
5  * Lehigh University Department of Computer Science and Engineering
6  *
7  * License: Modified BSD
8  * Please see the file LICENSE.RSTM for licensing information
9  */
10 
11 // -----------------------------------------------------------------------------
12 // Our definitions of the Intel TM ABI as described in
13 // docs/Intel+TM+ABI+1_0_1.pdf, available from
14 // software.intel.com/en-us/articles/intel-c-stm-compiler-prototype-edition/.
15 // -----------------------------------------------------------------------------
16 #ifndef STM_ITM2STM_LIBITM_H
17 #define STM_ITM2STM_LIBITM_H
18 
19 #include <itm/itm.h> // 5.1 is public
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 #include <stdint.h> // uint32_t
26 #include <stdbool.h> // bool for tryCommitTransaction
27 #ifndef __AVX__
29 #else
30 # include <immintrin.h> // sse-specific type __m256, __m128, __m64
31 #endif
32 
33 // -----------------------------------------------------------------------------
34 // 4 Types and macro list -----------------------------------------------------
35 // -----------------------------------------------------------------------------
36 #define _ITM_VERSION "0.9 (October 1, 2008)"
37 #define _ITM_VERSION_NO 90
38 #define _ITM_NoTransactionId 0
39 
40 #define _ITM_NORETURN NORETURN
41 
42 /* Values used as arguments to abort. */
43 typedef enum {
44  userAbort = 1,
45  userRetry = 2,
49 
50 /* Arguments to changeTransactionMode */
51 typedef enum {
54 
55 /* Results from inTransaction */
56 typedef enum {
57  outsideTransaction = 0, /* So "if (inTransaction(td))" works */
61 
62 /* Values to describe properties of code, passed in to startTransaction */
63 typedef enum {
68  pr_hasNoAbort = 0x0008,
69  pr_hasNoRetry = 0x0010,
75  pr_undoLogCode = 0x0400,
78  pr_hasElse = 0x2000
80 
81 /* Result from startTransaction that describes what actions to take. */
82 typedef enum {
88 } _ITM_actions;
89 
90 typedef struct {
91  uint32_t reserved_1;
92  uint32_t flags;
93  uint32_t reserved_2;
94  uint32_t reserved_3;
95  const char* psource;
97 
99 typedef uint32_t _ITM_transactionId_t;
100 typedef void (*_ITM_userUndoFunction)(void*);
101 typedef void (*_ITM_userCommitFunction)(void*);
102 
103 // -----------------------------------------------------------------------------
104 // 5.2 Version checking -------------------------------------------------------
105 // -----------------------------------------------------------------------------
107 const char* _ITM_FASTCALL _ITM_libraryVersion(void);
108 
109 // -----------------------------------------------------------------------------
110 // 5.3 Error reporting --------------------------------------------------------
111 // -----------------------------------------------------------------------------
112 void _ITM_FASTCALL _ITM_NORETURN _ITM_error(const _ITM_srcLocation*, int errorCode);
113 
114 // -----------------------------------------------------------------------------
115 // 5.4 inTransaction call -----------------------------------------------------
116 // -----------------------------------------------------------------------------
118 
119 // -----------------------------------------------------------------------------
120 // 5.5 State manipulation functions -------------------------------------------
121 // -----------------------------------------------------------------------------
124 
125 // -----------------------------------------------------------------------------
126 // 5.6 Source locations -------------------------------------------------------
127 // -----------------------------------------------------------------------------
128 
129 // -----------------------------------------------------------------------------
130 // 5.7 Starting a transaction -------------------------------------------------
131 // -----------------------------------------------------------------------------
133 
134 // -----------------------------------------------------------------------------
135 // 5.8 Aborting a transaction -------------------------------------------------
136 // -----------------------------------------------------------------------------
139 
140 // -----------------------------------------------------------------------------
141 // 5.9 Committing a transaction -----------------------------------------------
142 // -----------------------------------------------------------------------------
145 void _ITM_FASTCALL _ITM_commitTransactionToId(_ITM_transaction*, const _ITM_transactionId_t, const _ITM_srcLocation*);
146 
147 // -----------------------------------------------------------------------------
148 // 5.10 Exception handling support --------------------------------------------
149 // -----------------------------------------------------------------------------
150 void _ITM_FASTCALL _ITM_registerThrownObject(_ITM_transaction*, const void*, size_t);
151 
152 // -----------------------------------------------------------------------------
153 // 5.11 Transition to serial irrevocable mode ---------------------------------
154 // -----------------------------------------------------------------------------
156 
157 // -----------------------------------------------------------------------------
158 // 5.12 Data transfer functions -----------------------------------------------
159 // -----------------------------------------------------------------------------
160 uint8_t _ITM_FASTCALL _ITM_RU1(_ITM_transaction*, const uint8_t*);
161 uint8_t _ITM_FASTCALL _ITM_RaRU1(_ITM_transaction*, const uint8_t*);
162 uint8_t _ITM_FASTCALL _ITM_RaWU1(_ITM_transaction*, const uint8_t*);
163 uint8_t _ITM_FASTCALL _ITM_RfWU1(_ITM_transaction*, const uint8_t*);
164 
165 void _ITM_FASTCALL _ITM_WU1(_ITM_transaction*, uint8_t*, uint8_t);
166 void _ITM_FASTCALL _ITM_WaRU1(_ITM_transaction*, uint8_t*, uint8_t);
167 void _ITM_FASTCALL _ITM_WaWU1(_ITM_transaction*, uint8_t*, uint8_t);
168 
169 uint16_t _ITM_FASTCALL _ITM_RU2(_ITM_transaction*, const uint16_t*);
170 uint16_t _ITM_FASTCALL _ITM_RaRU2(_ITM_transaction*, const uint16_t*);
171 uint16_t _ITM_FASTCALL _ITM_RaWU2(_ITM_transaction*, const uint16_t*);
172 uint16_t _ITM_FASTCALL _ITM_RfWU2 (_ITM_transaction*, const uint16_t*);
173 
174 void _ITM_FASTCALL _ITM_WU2(_ITM_transaction*, uint16_t*, uint16_t);
175 void _ITM_FASTCALL _ITM_WaRU2(_ITM_transaction*, uint16_t*, uint16_t);
176 void _ITM_FASTCALL _ITM_WaWU2(_ITM_transaction*, uint16_t*, uint16_t);
177 
178 uint32_t _ITM_FASTCALL _ITM_RU4(_ITM_transaction*, const uint32_t*);
179 uint32_t _ITM_FASTCALL _ITM_RaRU4(_ITM_transaction*, const uint32_t*);
180 uint32_t _ITM_FASTCALL _ITM_RaWU4(_ITM_transaction*, const uint32_t*);
181 uint32_t _ITM_FASTCALL _ITM_RfWU4(_ITM_transaction*, const uint32_t*);
182 
183 void _ITM_FASTCALL _ITM_WU4(_ITM_transaction*, uint32_t*, uint32_t);
184 void _ITM_FASTCALL _ITM_WaRU4(_ITM_transaction*, uint32_t*, uint32_t);
185 void _ITM_FASTCALL _ITM_WaWU4(_ITM_transaction*, uint32_t*, uint32_t);
186 
187 uint64_t _ITM_FASTCALL _ITM_RU8(_ITM_transaction*, const uint64_t*);
188 uint64_t _ITM_FASTCALL _ITM_RaRU8(_ITM_transaction*, const uint64_t*);
189 uint64_t _ITM_FASTCALL _ITM_RaWU8(_ITM_transaction*, const uint64_t*);
190 uint64_t _ITM_FASTCALL _ITM_RfWU8(_ITM_transaction*, const uint64_t*);
191 
192 void _ITM_FASTCALL _ITM_WU8(_ITM_transaction*, uint64_t*, uint64_t);
193 void _ITM_FASTCALL _ITM_WaRU8(_ITM_transaction*, uint64_t*, uint64_t);
194 void _ITM_FASTCALL _ITM_WaWU8(_ITM_transaction*, uint64_t*, uint64_t);
195 
196 float _ITM_FASTCALL _ITM_RF(_ITM_transaction*, const float*);
197 float _ITM_FASTCALL _ITM_RaRF(_ITM_transaction*, const float*);
198 float _ITM_FASTCALL _ITM_RaWF(_ITM_transaction*, const float*);
199 float _ITM_FASTCALL _ITM_RfWF (_ITM_transaction*, const float*);
200 
201 void _ITM_FASTCALL _ITM_WF(_ITM_transaction*, float*, float);
202 void _ITM_FASTCALL _ITM_WaRF(_ITM_transaction*, float*, float);
203 void _ITM_FASTCALL _ITM_WaWF(_ITM_transaction*, float*, float);
204 
205 double _ITM_FASTCALL _ITM_RD(_ITM_transaction*, const double*);
206 double _ITM_FASTCALL _ITM_RaRD(_ITM_transaction*, const double*);
207 double _ITM_FASTCALL _ITM_RaWD (_ITM_transaction*, const double*);
208 double _ITM_FASTCALL _ITM_RfWD (_ITM_transaction*, const double*);
209 
210 void _ITM_FASTCALL _ITM_WD(_ITM_transaction*, double*, double);
211 void _ITM_FASTCALL _ITM_WaRD(_ITM_transaction*, double*, double);
212 void _ITM_FASTCALL _ITM_WaWD(_ITM_transaction*, double*, double);
213 
214 long double _ITM_FASTCALL _ITM_RE(_ITM_transaction*, const long double*);
215 long double _ITM_FASTCALL _ITM_RaRE(_ITM_transaction*, const long double*);
216 long double _ITM_FASTCALL _ITM_RaWE(_ITM_transaction*, const long double*);
217 long double _ITM_FASTCALL _ITM_RfWE(_ITM_transaction*, const long double*);
218 
219 void _ITM_FASTCALL _ITM_WE(_ITM_transaction*, long double*, long double);
220 void _ITM_FASTCALL _ITM_WaRE(_ITM_transaction*, long double*, long double);
221 void _ITM_FASTCALL _ITM_WaWE(_ITM_transaction*, long double*, long double);
222 
223 __m64 _ITM_FASTCALL _ITM_RM64(_ITM_transaction*, const __m64*);
224 __m64 _ITM_FASTCALL _ITM_RaRM64(_ITM_transaction*, const __m64*);
225 __m64 _ITM_FASTCALL _ITM_RaWM64(_ITM_transaction*, const __m64*);
226 __m64 _ITM_FASTCALL _ITM_RfWM64(_ITM_transaction*, const __m64*);
227 
228 void _ITM_FASTCALL _ITM_WM64(_ITM_transaction*, __m64*, __m64);
229 void _ITM_FASTCALL _ITM_WaRM64(_ITM_transaction*, __m64*, __m64);
230 void _ITM_FASTCALL _ITM_WaWM64(_ITM_transaction*, __m64*, __m64);
231 
232 __m128 _ITM_FASTCALL _ITM_RM128(_ITM_transaction*, const __m128*);
233 __m128 _ITM_FASTCALL _ITM_RaRM128(_ITM_transaction*, const __m128*);
234 __m128 _ITM_FASTCALL _ITM_RaWM128(_ITM_transaction*, const __m128*);
235 __m128 _ITM_FASTCALL _ITM_RfWM128(_ITM_transaction*, const __m128*);
236 
237 void _ITM_FASTCALL _ITM_WM128(_ITM_transaction*, __m128*, __m128);
238 void _ITM_FASTCALL _ITM_WaRM128(_ITM_transaction*, __m128*, __m128);
239 void _ITM_FASTCALL _ITM_WaWM128(_ITM_transaction*, __m128*, __m128);
240 
245 
249 
250 _Complex float _ITM_FASTCALL _ITM_RCF(_ITM_transaction*, const _Complex float*);
251 _Complex float _ITM_FASTCALL _ITM_RaRCF(_ITM_transaction*, const _Complex float*);
252 _Complex float _ITM_FASTCALL _ITM_RaWCF(_ITM_transaction*, const _Complex float*);
253 _Complex float _ITM_FASTCALL _ITM_RfWCF(_ITM_transaction*, const _Complex float*);
254 
255 void _ITM_FASTCALL _ITM_WCF(_ITM_transaction*, _Complex float*, _Complex float);
256 void _ITM_FASTCALL _ITM_WaRCF(_ITM_transaction*, _Complex float*, _Complex float);
257 void _ITM_FASTCALL _ITM_WaWCF(_ITM_transaction*, _Complex float*, _Complex float);
258 
259 _Complex double _ITM_FASTCALL _ITM_RCD(_ITM_transaction*, const _Complex double*);
260 _Complex double _ITM_FASTCALL _ITM_RaRCD(_ITM_transaction*, const _Complex double*);
261 _Complex double _ITM_FASTCALL _ITM_RaWCD(_ITM_transaction*, const _Complex double*);
262 _Complex double _ITM_FASTCALL _ITM_RfWCD(_ITM_transaction*, const _Complex double*);
263 
264 void _ITM_FASTCALL _ITM_WCD(_ITM_transaction*, _Complex double*, _Complex double);
265 void _ITM_FASTCALL _ITM_WaRCD(_ITM_transaction*, _Complex double*, _Complex double);
266 void _ITM_FASTCALL _ITM_WaWCD(_ITM_transaction*, _Complex double*, _Complex double);
267 
268 _Complex long double _ITM_FASTCALL _ITM_RCE(_ITM_transaction*, const _Complex long double*);
269 _Complex long double _ITM_FASTCALL _ITM_RaRCE(_ITM_transaction*, const _Complex long double*);
270 _Complex long double _ITM_FASTCALL _ITM_RaWCE(_ITM_transaction*, const _Complex long double*);
271 _Complex long double _ITM_FASTCALL _ITM_RfWCE(_ITM_transaction*, const _Complex long double*);
272 
273 void _ITM_FASTCALL _ITM_WCE(_ITM_transaction*, _Complex long double*, _Complex long double);
274 void _ITM_FASTCALL _ITM_WaRCE(_ITM_transaction*, _Complex long double*, _Complex long double);
275 void _ITM_FASTCALL _ITM_WaWCE(_ITM_transaction*, _Complex long double*, _Complex long double);
276 
277 // -----------------------------------------------------------------------------
278 // 5.13 Transactional memory copies -------------------------------------------
279 // -----------------------------------------------------------------------------
280 void _ITM_FASTCALL _ITM_memcpyRnWt(_ITM_transaction*, void*, const void*, size_t);
281 void _ITM_FASTCALL _ITM_memcpyRnWtaR(_ITM_transaction*, void*, const void*, size_t);
282 void _ITM_FASTCALL _ITM_memcpyRnWtaW(_ITM_transaction*, void*, const void*, size_t);
283 void _ITM_FASTCALL _ITM_memcpyRtWn(_ITM_transaction*, void*, const void*, size_t);
284 void _ITM_FASTCALL _ITM_memcpyRtWt(_ITM_transaction*, void*, const void*, size_t);
285 void _ITM_FASTCALL _ITM_memcpyRtWtaR(_ITM_transaction*, void*, const void*, size_t);
286 void _ITM_FASTCALL _ITM_memcpyRtWtaW(_ITM_transaction*, void*, const void*, size_t);
287 void _ITM_FASTCALL _ITM_memcpyRtaRWn(_ITM_transaction*, void*, const void*, size_t);
288 void _ITM_FASTCALL _ITM_memcpyRtaRWt(_ITM_transaction*, void*, const void*, size_t);
289 void _ITM_FASTCALL _ITM_memcpyRtaRWtaR(_ITM_transaction*, void*, const void*, size_t);
290 void _ITM_FASTCALL _ITM_memcpyRtaRWtaW(_ITM_transaction*, void*, const void*, size_t);
291 void _ITM_FASTCALL _ITM_memcpyRtaWWn(_ITM_transaction*, void*, const void*, size_t);
292 void _ITM_FASTCALL _ITM_memcpyRtaWWt(_ITM_transaction*, void*, const void*, size_t);
293 void _ITM_FASTCALL _ITM_memcpyRtaWWtaR(_ITM_transaction*, void*, const void*, size_t);
294 void _ITM_FASTCALL _ITM_memcpyRtaWWtaW(_ITM_transaction*, void*, const void*, size_t);
295 
296 // -----------------------------------------------------------------------------
297 // 5.14 Transactional versions of memmove -------------------------------------
298 // -----------------------------------------------------------------------------
299 void _ITM_FASTCALL _ITM_memmoveRnWt(_ITM_transaction*, void*, const void*, size_t);
300 void _ITM_FASTCALL _ITM_memmoveRnWtaR(_ITM_transaction*, void*, const void*, size_t);
301 void _ITM_FASTCALL _ITM_memmoveRnWtaW(_ITM_transaction*, void*, const void*, size_t);
302 void _ITM_FASTCALL _ITM_memmoveRtWn(_ITM_transaction*, void*, const void*, size_t);
303 void _ITM_FASTCALL _ITM_memmoveRtWt(_ITM_transaction*, void*, const void*, size_t);
304 void _ITM_FASTCALL _ITM_memmoveRtWtaR(_ITM_transaction*, void*, const void*, size_t);
305 void _ITM_FASTCALL _ITM_memmoveRtWtaW(_ITM_transaction*, void*, const void*, size_t);
306 void _ITM_FASTCALL _ITM_memmoveRtaRWn(_ITM_transaction*, void*, const void*, size_t);
307 void _ITM_FASTCALL _ITM_memmoveRtaRWt(_ITM_transaction*, void*, const void*, size_t);
308 void _ITM_FASTCALL _ITM_memmoveRtaRWtaR(_ITM_transaction*, void*, const void*, size_t);
309 void _ITM_FASTCALL _ITM_memmoveRtaRWtaW(_ITM_transaction*, void*, const void*, size_t);
310 void _ITM_FASTCALL _ITM_memmoveRtaWWn(_ITM_transaction*, void*, const void*, size_t);
311 void _ITM_FASTCALL _ITM_memmoveRtaWWt(_ITM_transaction*, void*, const void*, size_t);
312 void _ITM_FASTCALL _ITM_memmoveRtaWWtaR(_ITM_transaction*, void*, const void*, size_t);
313 void _ITM_FASTCALL _ITM_memmoveRtaWWtaW(_ITM_transaction*, void*, const void*, size_t);
314 
315 // -----------------------------------------------------------------------------
316 // 5.15 Transactional versions of memset --------------------------------------
317 // -----------------------------------------------------------------------------
318 void _ITM_FASTCALL _ITM_memsetW(_ITM_transaction*, void*, int, size_t);
319 void _ITM_FASTCALL _ITM_memsetWaR(_ITM_transaction*, void*, int, size_t);
320 void _ITM_FASTCALL _ITM_memsetWaW(_ITM_transaction*, void*, int, size_t);
321 
322 // -----------------------------------------------------------------------------
323 // 5.16 Logging functions -----------------------------------------------------
324 // -----------------------------------------------------------------------------
325 void _ITM_FASTCALL _ITM_LU1(_ITM_transaction*, const uint8_t*);
326 void _ITM_FASTCALL _ITM_LU2(_ITM_transaction*, const uint16_t*);
327 void _ITM_FASTCALL _ITM_LU4(_ITM_transaction*, const uint32_t*);
328 void _ITM_FASTCALL _ITM_LU8(_ITM_transaction*, const uint64_t*);
329 void _ITM_FASTCALL _ITM_LF(_ITM_transaction*, const float*);
330 void _ITM_FASTCALL _ITM_LD(_ITM_transaction*, const double*);
331 void _ITM_FASTCALL _ITM_LE(_ITM_transaction*, const long double*);
332 void _ITM_FASTCALL _ITM_LM64(_ITM_transaction*, const __m64*);
333 void _ITM_FASTCALL _ITM_LM128(_ITM_transaction*, const __m128*);
335 void _ITM_FASTCALL _ITM_LCF(_ITM_transaction*, const _Complex float*);
336 void _ITM_FASTCALL _ITM_LCD(_ITM_transaction*, const _Complex double*);
337 void _ITM_FASTCALL _ITM_LCE(_ITM_transaction*, const _Complex long double*);
338 void _ITM_FASTCALL _ITM_LB(_ITM_transaction*, const void*, size_t);
339 
340 // -----------------------------------------------------------------------------
341 // 5.17 User registered commit and undo actions --------------------------------
342 // -----------------------------------------------------------------------------
346 
347 #ifdef __cplusplus
348 } // extern "C"
349 #endif
350 
351 #endif // STM_ITM2STM_LIBITM_H
long double _ITM_FASTCALL _ITM_RfWE(_ITM_transaction *, const long double *)
void _ITM_FASTCALL _ITM_WE(_ITM_transaction *, long double *, long double)
void _ITM_FASTCALL _ITM_WaRU1(_ITM_transaction *, uint8_t *, uint8_t)
Definition: libitm.h:66
void _ITM_FASTCALL _ITM_WaRD(_ITM_transaction *, double *, double)
uint64_t _ITM_FASTCALL _ITM_RU8(_ITM_transaction *, const uint64_t *)
void _ITM_FASTCALL _ITM_memmoveRtaWWtaR(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:448
void _ITM_FASTCALL _ITM_memmoveRtaWWn(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:413
void _ITM_FASTCALL _ITM_LM128(_ITM_transaction *, const __m128 *)
void _ITM_FASTCALL _ITM_WM64(_ITM_transaction *, __m64 *, __m64)
Definition: libitm.h:78
_Complex double _ITM_FASTCALL _ITM_RaWCD(_ITM_transaction *, const _Complex double *)
void _ITM_FASTCALL _ITM_LB(_ITM_transaction *, const void *, size_t)
Definition: libitm-5.16.cpp:42
void _ITM_FASTCALL _ITM_WaWU1(_ITM_transaction *, uint8_t *, uint8_t)
_ITM_howExecuting _ITM_FASTCALL _ITM_inTransaction(_ITM_transaction *)
Definition: libitm-5.4.cpp:18
void _ITM_FASTCALL _ITM_LU1(_ITM_transaction *, const uint8_t *)
double _ITM_FASTCALL _ITM_RfWD(_ITM_transaction *, const double *)
#define _ITM_NORETURN
Definition: libitm.h:40
_ITM_codeProperties
Definition: libitm.h:63
uint8_t _ITM_FASTCALL _ITM_RaWU1(_ITM_transaction *, const uint8_t *)
void _ITM_FASTCALL _ITM_NORETURN _ITM_abortTransaction(_ITM_transaction *, _ITM_abortReason, const _ITM_srcLocation *)
Definition: libitm-5.8.cpp:141
double _ITM_FASTCALL _ITM_RaRD(_ITM_transaction *, const double *)
void _ITM_FASTCALL _ITM_memmoveRtaRWtaW(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:395
__m64 _ITM_FASTCALL _ITM_RaWM64(_ITM_transaction *, const __m64 *)
void _ITM_FASTCALL _ITM_WaRF(_ITM_transaction *, float *, float)
_Complex float _ITM_FASTCALL _ITM_RaWCF(_ITM_transaction *, const _Complex float *)
void _ITM_FASTCALL _ITM_memmoveRtWt(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:288
uint32_t _ITM_transactionId_t
Definition: libitm.h:99
void _ITM_FASTCALL _ITM_WaWU4(_ITM_transaction *, uint32_t *, uint32_t)
void _ITM_FASTCALL _ITM_memcpyRtaRWn(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:155
void _ITM_FASTCALL _ITM_WaRCF(_ITM_transaction *, _Complex float *, _Complex float)
void _ITM_FASTCALL _ITM_WU2(_ITM_transaction *, uint16_t *, uint16_t)
const char *_ITM_FASTCALL _ITM_libraryVersion(void)
Definition: libitm-5.2.cpp:21
_Complex double _ITM_FASTCALL _ITM_RfWCD(_ITM_transaction *, const _Complex double *)
void _ITM_FASTCALL _ITM_WU1(_ITM_transaction *, uint8_t *, uint8_t)
void _ITM_FASTCALL _ITM_LU2(_ITM_transaction *, const uint16_t *)
Definition: libitm.h:72
_ITM_actions
Definition: libitm.h:82
void _ITM_FASTCALL _ITM_memmoveRnWt(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:220
Definition: libitm.h:58
void _ITM_FASTCALL _ITM_memsetWaR(_ITM_transaction *, void *, int, size_t)
Definition: libitm-5.15.cpp:25
uint64_t _ITM_FASTCALL _ITM_RaWU8(_ITM_transaction *, const uint64_t *)
Definition: libitm.h:86
Definition: libitm.h:87
void _ITM_FASTCALL _ITM_memmoveRtaRWtaR(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:377
__m64 _ITM_FASTCALL _ITM_RaRM64(_ITM_transaction *, const __m64 *)
const char * psource
Definition: libitm.h:95
void _ITM_FASTCALL _ITM_LCF(_ITM_transaction *, const _Complex float *)
void _ITM_FASTCALL _ITM_dropReferences(_ITM_transaction *, void *, size_t)
Definition: libitm-5.17.cpp:48
void _ITM_FASTCALL _ITM_addUserCommitAction(_ITM_transaction *, _ITM_userCommitFunction, _ITM_transactionId_t, void *)
Definition: libitm-5.17.cpp:36
_ITM_transaction *_ITM_FASTCALL _ITM_getTransaction(void)
Definition: libitm-5.1,5.cpp:89
void _ITM_FASTCALL _ITM_WaRCE(_ITM_transaction *, _Complex long double *, _Complex long double)
void _ITM_FASTCALL _ITM_memmoveRnWtaR(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:237
Definition: libitm.h:44
float _ITM_FASTCALL _ITM_RfWF(_ITM_transaction *, const float *)
__m256 _ITM_FASTCALL _ITM_RM256(_ITM_transaction *, const __m256 *)
_Complex float _ITM_FASTCALL _ITM_RaRCF(_ITM_transaction *, const _Complex float *)
void _ITM_FASTCALL _ITM_WaWU8(_ITM_transaction *, uint64_t *, uint64_t)
bool _ITM_FASTCALL _ITM_tryCommitTransaction(_ITM_transaction *, const _ITM_srcLocation *)
Definition: libitm-5.9.cpp:90
float _ITM_FASTCALL _ITM_RF(_ITM_transaction *, const float *)
void _ITM_FASTCALL _ITM_memsetWaW(_ITM_transaction *, void *, int, size_t)
Definition: libitm-5.15.cpp:31
Definition: libitm.h:52
_Complex float _ITM_FASTCALL _ITM_RfWCF(_ITM_transaction *, const _Complex float *)
void _ITM_FASTCALL _ITM_rollbackTransaction(_ITM_transaction *, const _ITM_srcLocation *)
Definition: libitm-5.8.cpp:147
void _ITM_FASTCALL _ITM_memcpyRtWtaR(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:139
_ITM_transactionState
Definition: libitm.h:51
Definition: libitm.h:90
void _ITM_FASTCALL _ITM_memcpyRtaWWtaR(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:201
uint32_t reserved_3
Definition: libitm.h:94
void _ITM_FASTCALL _ITM_memmoveRtWtaR(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:306
void _ITM_FASTCALL _ITM_NORETURN _ITM_error(const _ITM_srcLocation *, int errorCode)
Definition: libitm-5.3.cpp:18
void _ITM_FASTCALL _ITM_memmoveRnWtaW(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:254
uint16_t _ITM_FASTCALL _ITM_RU2(_ITM_transaction *, const uint16_t *)
void _ITM_FASTCALL _ITM_WaWCF(_ITM_transaction *, _Complex float *, _Complex float)
Definition: libitm.h:74
long double _ITM_FASTCALL _ITM_RaWE(_ITM_transaction *, const long double *)
void _ITM_FASTCALL _ITM_memcpyRnWtaW(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:117
_ITM_transactionId_t _ITM_FASTCALL _ITM_getTransactionId(_ITM_transaction *)
Definition: libitm-5.1,5.cpp:98
void _ITM_FASTCALL _ITM_LD(_ITM_transaction *, const double *)
void _ITM_FASTCALL _ITM_WaRCD(_ITM_transaction *, _Complex double *, _Complex double)
__m64 _ITM_FASTCALL _ITM_RM64(_ITM_transaction *, const __m64 *)
struct _ITM_transaction _ITM_transaction
Definition: libitm.h:98
void _ITM_FASTCALL _ITM_WaWCD(_ITM_transaction *, _Complex double *, _Complex double)
void _ITM_FASTCALL _ITM_memsetW(_ITM_transaction *, void *, int, size_t)
Definition: libitm-5.15.cpp:19
void _ITM_FASTCALL _ITM_WaRM256(_ITM_transaction *, __m256 *, __m256)
float _ITM_FASTCALL _ITM_RaRF(_ITM_transaction *, const float *)
Definition: libitm.h:84
void _ITM_FASTCALL _ITM_memcpyRtaRWtaR(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:170
void(* _ITM_userUndoFunction)(void *)
Definition: libitm.h:100
void _ITM_FASTCALL _ITM_WM128(_ITM_transaction *, __m128 *, __m128)
void _ITM_FASTCALL _ITM_LU4(_ITM_transaction *, const uint32_t *)
_Complex double _ITM_FASTCALL _ITM_RaRCD(_ITM_transaction *, const _Complex double *)
void _ITM_FASTCALL _ITM_memcpyRtaRWt(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:162
Definition: libitm.h:67
_Complex double _ITM_FASTCALL _ITM_RCD(_ITM_transaction *, const _Complex double *)
void _ITM_FASTCALL _ITM_memmoveRtWn(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:271
void _ITM_FASTCALL _ITM_LCD(_ITM_transaction *, const _Complex double *)
Definition: libitm.h:68
Definition: libitm.h:69
#define __m256
Definition: avxintrin_emu.h:837
void _ITM_FASTCALL _ITM_memmoveRtWtaW(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:324
__m256 _ITM_FASTCALL _ITM_RfWM256(_ITM_transaction *, const __m256 *)
void _ITM_FASTCALL _ITM_memmoveRtaWWt(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:430
long double _ITM_FASTCALL _ITM_RaRE(_ITM_transaction *, const long double *)
uint16_t _ITM_FASTCALL _ITM_RaRU2(_ITM_transaction *, const uint16_t *)
void _ITM_FASTCALL _ITM_WaRU8(_ITM_transaction *, uint64_t *, uint64_t)
float _ITM_FASTCALL _ITM_RaWF(_ITM_transaction *, const float *)
Definition: libitm.h:73
__m256 _ITM_FASTCALL _ITM_RaRM256(_ITM_transaction *, const __m256 *)
void _ITM_FASTCALL _ITM_LCE(_ITM_transaction *, const _Complex long double *)
void _ITM_FASTCALL _ITM_commitTransaction(_ITM_transaction *, const _ITM_srcLocation *)
Definition: libitm-5.9.cpp:85
void _ITM_FASTCALL _ITM_LM64(_ITM_transaction *, const __m64 *)
void _ITM_FASTCALL _ITM_memmoveRtaWWtaW(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:466
uint32_t _ITM_FASTCALL _ITM_beginTransaction(_ITM_transaction *, uint32_t, _ITM_srcLocation *)
void _ITM_FASTCALL _ITM_WaWF(_ITM_transaction *, float *, float)
Definition: libitm.h:59
__m128 _ITM_FASTCALL _ITM_RaWM128(_ITM_transaction *, const __m128 *)
Definition: libitm.h:64
#define _ITM_FASTCALL
Definition: itm.h:28
uint8_t _ITM_FASTCALL _ITM_RaRU1(_ITM_transaction *, const uint8_t *)
void _ITM_FASTCALL _ITM_WaWM128(_ITM_transaction *, __m128 *, __m128)
void _ITM_FASTCALL _ITM_addUserUndoAction(_ITM_transaction *, _ITM_userUndoFunction, void *)
Definition: libitm-5.17.cpp:42
Definition: libitm.h:70
void _ITM_FASTCALL _ITM_WU4(_ITM_transaction *, uint32_t *, uint32_t)
void _ITM_FASTCALL _ITM_WaWM64(_ITM_transaction *, __m64 *, __m64)
double _ITM_FASTCALL _ITM_RaWD(_ITM_transaction *, const double *)
void _ITM_FASTCALL _ITM_WU8(_ITM_transaction *, uint64_t *, uint64_t)
void _ITM_FASTCALL _ITM_WaRM64(_ITM_transaction *, __m64 *, __m64)
void _ITM_FASTCALL _ITM_memcpyRtaWWn(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:186
Definition: libitm.h:75
uint32_t _ITM_FASTCALL _ITM_RaWU4(_ITM_transaction *, const uint32_t *)
Definition: libitm.h:47
void _ITM_FASTCALL _ITM_WaRU4(_ITM_transaction *, uint32_t *, uint32_t)
__m256 _ITM_FASTCALL _ITM_RaWM256(_ITM_transaction *, const __m256 *)
Definition: libitm.h:77
void _ITM_FASTCALL _ITM_memcpyRnWtaR(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:110
void(* _ITM_userCommitFunction)(void *)
Definition: libitm.h:101
uint32_t _ITM_FASTCALL _ITM_RaRU4(_ITM_transaction *, const uint32_t *)
long double _ITM_FASTCALL _ITM_RE(_ITM_transaction *, const long double *)
uint64_t _ITM_FASTCALL _ITM_RaRU8(_ITM_transaction *, const uint64_t *)
_Complex long double _ITM_FASTCALL _ITM_RaRCE(_ITM_transaction *, const _Complex long double *)
void _ITM_FASTCALL _ITM_LE(_ITM_transaction *, const long double *)
void _ITM_FASTCALL _ITM_memmoveRtaRWn(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:342
void _ITM_FASTCALL _ITM_WCD(_ITM_transaction *, _Complex double *, _Complex double)
_Complex long double _ITM_FASTCALL _ITM_RaWCE(_ITM_transaction *, const _Complex long double *)
double _ITM_FASTCALL _ITM_RD(_ITM_transaction *, const double *)
uint32_t reserved_2
Definition: libitm.h:93
void _ITM_FASTCALL _ITM_WaRU2(_ITM_transaction *, uint16_t *, uint16_t)
Definition: libitm.h:65
void _ITM_FASTCALL _ITM_memmoveRtaRWt(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:359
void _ITM_FASTCALL _ITM_WCF(_ITM_transaction *, _Complex float *, _Complex float)
void _ITM_FASTCALL _ITM_WaRM128(_ITM_transaction *, __m128 *, __m128)
Definition: libitm.h:85
uint16_t _ITM_FASTCALL _ITM_RfWU2(_ITM_transaction *, const uint16_t *)
void _ITM_FASTCALL _ITM_WF(_ITM_transaction *, float *, float)
void _ITM_FASTCALL _ITM_WaWCE(_ITM_transaction *, _Complex long double *, _Complex long double)
uint32_t _ITM_FASTCALL _ITM_RfWU4(_ITM_transaction *, const uint32_t *)
void _ITM_FASTCALL _ITM_LM256(_ITM_transaction *, const __m256 *)
void _ITM_FASTCALL _ITM_WM256(_ITM_transaction *, __m256 *, __m256)
int _ITM_FASTCALL _ITM_versionCompatible(int)
Definition: libitm-5.2.cpp:16
void _ITM_FASTCALL _ITM_registerThrownObject(_ITM_transaction *, const void *, size_t)
Definition: libitm-5.10.cpp:17
void _ITM_FASTCALL _ITM_WD(_ITM_transaction *, double *, double)
Definition: libitm.h:71
void _ITM_FASTCALL _ITM_WCE(_ITM_transaction *, _Complex long double *, _Complex long double)
_Complex long double _ITM_FASTCALL _ITM_RCE(_ITM_transaction *, const _Complex long double *)
_Complex float _ITM_FASTCALL _ITM_RCF(_ITM_transaction *, const _Complex float *)
void _ITM_FASTCALL _ITM_memcpyRtWn(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:124
uint16_t _ITM_FASTCALL _ITM_RaWU2(_ITM_transaction *, const uint16_t *)
void _ITM_FASTCALL _ITM_commitTransactionToId(_ITM_transaction *, const _ITM_transactionId_t, const _ITM_srcLocation *)
Definition: libitm-5.9.cpp:95
uint32_t flags
Definition: libitm.h:92
void _ITM_FASTCALL _ITM_memcpyRnWt(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:103
void _ITM_FASTCALL _ITM_changeTransactionMode(_ITM_transaction *, _ITM_transactionState, const _ITM_srcLocation *)
Definition: libitm-5.11.cpp:17
_ITM_howExecuting
Definition: libitm.h:56
Definition: libitm.h:46
void _ITM_FASTCALL _ITM_memcpyRtWtaW(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:147
uint8_t _ITM_FASTCALL _ITM_RfWU1(_ITM_transaction *, const uint8_t *)
__m64 _ITM_FASTCALL _ITM_RfWM64(_ITM_transaction *, const __m64 *)
Definition: libitm.h:45
void _ITM_FASTCALL _ITM_LU8(_ITM_transaction *, const uint64_t *)
void _ITM_FASTCALL _ITM_WaWD(_ITM_transaction *, double *, double)
void _ITM_FASTCALL _ITM_memcpyRtWt(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:131
void _ITM_FASTCALL _ITM_WaWE(_ITM_transaction *, long double *, long double)
uint32_t _ITM_FASTCALL _ITM_RU4(_ITM_transaction *, const uint32_t *)
void _ITM_FASTCALL _ITM_memcpyRtaRWtaW(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:178
Definition: libitm.h:76
void _ITM_FASTCALL _ITM_WaWM256(_ITM_transaction *, __m256 *, __m256)
uint32_t reserved_1
Definition: libitm.h:91
_ITM_abortReason
Definition: libitm.h:43
Definition: libitm.h:83
Definition: libitm.h:57
void _ITM_FASTCALL _ITM_memcpyRtaWWt(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:193
__m128 _ITM_FASTCALL _ITM_RM128(_ITM_transaction *, const __m128 *)
void _ITM_FASTCALL _ITM_WaWU2(_ITM_transaction *, uint16_t *, uint16_t)
void _ITM_FASTCALL _ITM_memcpyRtaWWtaW(_ITM_transaction *, void *, const void *, size_t)
Definition: libitm-5.13,14.cpp:209
__m128 _ITM_FASTCALL _ITM_RfWM128(_ITM_transaction *, const __m128 *)
uint64_t _ITM_FASTCALL _ITM_RfWU8(_ITM_transaction *, const uint64_t *)
void _ITM_FASTCALL _ITM_WaRE(_ITM_transaction *, long double *, long double)
__m128 _ITM_FASTCALL _ITM_RaRM128(_ITM_transaction *, const __m128 *)
uint8_t _ITM_FASTCALL _ITM_RU1(_ITM_transaction *, const uint8_t *)
void _ITM_FASTCALL _ITM_LF(_ITM_transaction *, const float *)
_Complex long double _ITM_FASTCALL _ITM_RfWCE(_ITM_transaction *, const _Complex long double *)