Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: src/trusted/validator_ragel/gen/validator_x86_32.c

Issue 11000033: Move validator_x86_XX.rl out of unreviewed. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* native_client/src/trusted/validator_ragel/gen/validator_x86_32.c 1 /* native_client/src/trusted/validator_ragel/gen/validator_x86_32.c
2 * THIS FILE IS AUTO-GENERATED. DO NOT EDIT. 2 * THIS FILE IS AUTO-GENERATED. DO NOT EDIT.
3 * Compiled for ia32 mode. 3 * Compiled for ia32 mode.
4 */ 4 */
5 5
6 /* 6 /*
7 * This is the core of ia32-mode validator. Please note that this file 7 * This is the core of ia32-mode validator. Please note that this file
8 * combines ragel machine description and C language actions. Please read 8 * combines ragel machine description and C language actions. Please read
9 * validator_internals.html first to understand how the whole thing is built: 9 * validator_internals.html first to understand how the whole thing is built:
10 * it explains how the byte sequences are constructed, what constructs like 10 * it explains how the byte sequences are constructed, what constructs like
11 * "@{}" or "REX_WRX?" mean, etc. 11 * "@{}" or "REX_WRX?" mean, etc.
12 */ 12 */
13 13
14 #include <assert.h> 14 #include <assert.h>
15 #include <errno.h> 15 #include <errno.h>
16 #include <stddef.h> 16 #include <stddef.h>
17 #include <stdio.h> 17 #include <stdio.h>
18 #include <stdlib.h> 18 #include <stdlib.h>
19 #include <string.h> 19 #include <string.h>
20 20
21 #include "native_client/src/trusted/validator_ragel/bitmap.h" 21 #include "native_client/src/trusted/validator_ragel/bitmap.h"
22 #include "native_client/src/trusted/validator_ragel/unreviewed/validator_interna l.h" 22 #include "native_client/src/trusted/validator_ragel/validator_internal.h"
23 23
24 /* Ignore this information: it's not used by security model in IA32 mode. */ 24 /* Ignore this information: it's not used by security model in IA32 mode. */
25 /* TODO(khim): change gen_dfa to remove needs for these lines. */
25 #undef GET_VEX_PREFIX3 26 #undef GET_VEX_PREFIX3
26 #define GET_VEX_PREFIX3 0 27 #define GET_VEX_PREFIX3 0
27 #undef SET_VEX_PREFIX3 28 #undef SET_VEX_PREFIX3
28 #define SET_VEX_PREFIX3(P) 29 #define SET_VEX_PREFIX3(PREFIX_BYTE)
29 30
30 31
31 32
32 33
34 /*
35 * The "write data" statement causes Ragel to emit the constant static data
36 * needed by the ragel machine.
37 */
33 38
34 static const int x86_32_validator_start = 233; 39 static const int x86_32_validator_start = 218;
35 static const int x86_32_validator_first_final = 233; 40 static const int x86_32_validator_first_final = 218;
36 static const int x86_32_validator_error = 0; 41 static const int x86_32_validator_error = 0;
37 42
38 static const int x86_32_validator_en_main = 233; 43 static const int x86_32_validator_en_main = 218;
39 44
40 45
41 46
42 47 Bool ValidateChunkIA32(const uint8_t codeblock[],
43 Bool ValidateChunkIA32(const uint8_t *data, size_t size, 48 size_t size,
44 uint32_t options, 49 uint32_t options,
45 const NaClCPUFeaturesX86 *cpu_features, 50 const NaClCPUFeaturesX86 *cpu_features,
46 ValidationCallbackFunc user_callback, 51 ValidationCallbackFunc user_callback,
47 void *callback_data) { 52 void *callback_data) {
48 bitmap_word valid_targets_small; 53 bitmap_word valid_targets_small;
49 bitmap_word jump_dests_small; 54 bitmap_word jump_dests_small;
50 bitmap_word *valid_targets; 55 bitmap_word *valid_targets;
51 bitmap_word *jump_dests; 56 bitmap_word *jump_dests;
52 const uint8_t *current_position; 57 const uint8_t *current_position;
53 const uint8_t *end_of_bundle; 58 const uint8_t *end_of_bundle;
(...skipping 15 matching lines...) Expand all
69 free(jump_dests); 74 free(jump_dests);
70 free(valid_targets); 75 free(valid_targets);
71 errno = ENOMEM; 76 errno = ENOMEM;
72 return FALSE; 77 return FALSE;
73 } 78 }
74 } 79 }
75 80
76 /* 81 /*
77 * This option is usually used in tests: we will process the whole chunk 82 * This option is usually used in tests: we will process the whole chunk
78 * in one pass. Usually each bundle is processed separately which means 83 * in one pass. Usually each bundle is processed separately which means
79 * instructions (and super-instructions) can not cross borders of the bundle. 84 * instructions (and "superinstructions") can not cross borders of the bundle.
80 */ 85 */
81 if (options & PROCESS_CHUNK_AS_A_CONTIGUOUS_STREAM) 86 if (options & PROCESS_CHUNK_AS_A_CONTIGUOUS_STREAM)
82 end_of_bundle = data + size; 87 end_of_bundle = codeblock + size;
83 else 88 else
84 end_of_bundle = data + kBundleSize; 89 end_of_bundle = codeblock + kBundleSize;
85 90
86 /* 91 /*
87 * Main loop. Here we process the data array bundle-after-bundle. 92 * Main loop. Here we process the data array bundle-after-bundle.
88 * Ragel-produced DFA does all the checks with one exception: direct jumps. 93 * Ragel-produced DFA does all the checks with one exception: direct jumps.
89 * It collects the two arrays: valid_targets and jump_dests which are used 94 * It collects the two arrays: valid_targets and jump_dests which are used
90 * to test direct jumps later. 95 * to test direct jumps later.
91 */ 96 */
92 for (current_position = data; 97 for (current_position = codeblock;
93 current_position < data + size; 98 current_position < codeblock + size;
94 current_position = end_of_bundle, 99 current_position = end_of_bundle,
95 end_of_bundle = current_position + kBundleSize) { 100 end_of_bundle = current_position + kBundleSize) {
96 /* Start of the instruction being processed. */ 101 /* Start of the instruction being processed. */
97 const uint8_t *instruction_begin = current_position; 102 const uint8_t *instruction_begin = current_position;
98 /* Only used locally in the end_of_instruction_cleanup action. */ 103 /* Only used locally in the end_of_instruction_cleanup action. */
99 const uint8_t *instruction_end; 104 const uint8_t *instruction_end;
100 uint32_t instruction_info_collected = 0; 105 uint32_t instruction_info_collected = 0;
101 int current_state; 106 int current_state;
102 107
108 /*
109 * The "write init" statement causes Ragel to emit initialization code.
110 * This should be executed once before the ragel machine is started.
111 */
103 112
104 { 113 {
105 ( current_state) = x86_32_validator_start; 114 ( current_state) = x86_32_validator_start;
106 } 115 }
107 116
117 /*
118 * The "write exec" statement causes Ragel to emit the ragel machine's
119 * execution code.
120 */
108 121
109 { 122 {
110 if ( ( current_position) == ( end_of_bundle) ) 123 if ( ( current_position) == ( end_of_bundle) )
111 goto _test_eof; 124 goto _test_eof;
112 switch ( ( current_state) ) 125 switch ( ( current_state) )
113 { 126 {
114 tr0: 127 tr0:
115 { 128 {
116 /* Mark start of this instruction as a valid target for jump. */ 129 /* Mark start of this instruction as a valid target for jump. */
117 MarkValidJumpTarget(instruction_begin - data, valid_targets); 130 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
118 131
119 /* Call user-supplied callback. */ 132 /* Call user-supplied callback. */
120 instruction_end = current_position + 1; 133 instruction_end = current_position + 1;
121 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 134 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
122 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 135 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
123 result &= user_callback(instruction_begin, instruction_end, 136 result &= user_callback(instruction_begin, instruction_end,
124 instruction_info_collected, callback_data); 137 instruction_info_collected, callback_data);
125 } 138 }
126 139
127 /* On successful match the instruction_begin must point to the next byte 140 /*
128 * to be able to report the new offset as the start of instruction 141 * We may set instruction_begin at the first byte of the instruction instead
129 * causing error. */ 142 * of here but in the case of incorrect one byte instructions user callback
143 * may be called before instruction_begin is set.
144 */
130 instruction_begin = instruction_end; 145 instruction_begin = instruction_end;
131 146
132 /* Clear variables (well, one variable currently). */ 147 /* Clear variables (well, one variable currently). */
133 instruction_info_collected = 0; 148 instruction_info_collected = 0;
134 } 149 }
135 » goto st233; 150 » goto st218;
136 tr9: 151 tr9:
137 { 152 {
138 SET_DISP_TYPE(DISP32); 153 SET_DISPLACEMENT_FORMAT(DISP32);
139 SET_DISP_PTR(current_position - 3); 154 SET_DISPLACEMENT_POINTER(current_position - 3);
140 } 155 }
141 {} 156 {}
142 { 157 {
143 /* Mark start of this instruction as a valid target for jump. */ 158 /* Mark start of this instruction as a valid target for jump. */
144 MarkValidJumpTarget(instruction_begin - data, valid_targets); 159 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
145 160
146 /* Call user-supplied callback. */ 161 /* Call user-supplied callback. */
147 instruction_end = current_position + 1; 162 instruction_end = current_position + 1;
148 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 163 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
149 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 164 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
150 result &= user_callback(instruction_begin, instruction_end, 165 result &= user_callback(instruction_begin, instruction_end,
151 instruction_info_collected, callback_data); 166 instruction_info_collected, callback_data);
152 } 167 }
153 168
154 /* On successful match the instruction_begin must point to the next byte 169 /*
155 * to be able to report the new offset as the start of instruction 170 * We may set instruction_begin at the first byte of the instruction instead
156 * causing error. */ 171 * of here but in the case of incorrect one byte instructions user callback
172 * may be called before instruction_begin is set.
173 */
157 instruction_begin = instruction_end; 174 instruction_begin = instruction_end;
158 175
159 /* Clear variables (well, one variable currently). */ 176 /* Clear variables (well, one variable currently). */
160 instruction_info_collected = 0; 177 instruction_info_collected = 0;
161 } 178 }
162 » goto st233; 179 » goto st218;
163 tr10: 180 tr10:
164 { 181 {
165 SET_DISP_TYPE(DISP8); 182 SET_DISPLACEMENT_FORMAT(DISP8);
166 SET_DISP_PTR(current_position); 183 SET_DISPLACEMENT_POINTER(current_position);
167 } 184 }
168 {} 185 {}
169 { 186 {
170 /* Mark start of this instruction as a valid target for jump. */ 187 /* Mark start of this instruction as a valid target for jump. */
171 MarkValidJumpTarget(instruction_begin - data, valid_targets); 188 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
172 189
173 /* Call user-supplied callback. */ 190 /* Call user-supplied callback. */
174 instruction_end = current_position + 1; 191 instruction_end = current_position + 1;
175 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 192 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
176 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 193 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
177 result &= user_callback(instruction_begin, instruction_end, 194 result &= user_callback(instruction_begin, instruction_end,
178 instruction_info_collected, callback_data); 195 instruction_info_collected, callback_data);
179 } 196 }
180 197
181 /* On successful match the instruction_begin must point to the next byte 198 /*
182 * to be able to report the new offset as the start of instruction 199 * We may set instruction_begin at the first byte of the instruction instead
183 * causing error. */ 200 * of here but in the case of incorrect one byte instructions user callback
201 * may be called before instruction_begin is set.
202 */
184 instruction_begin = instruction_end; 203 instruction_begin = instruction_end;
185 204
186 /* Clear variables (well, one variable currently). */ 205 /* Clear variables (well, one variable currently). */
187 instruction_info_collected = 0; 206 instruction_info_collected = 0;
188 } 207 }
189 » goto st233; 208 » goto st218;
190 tr11: 209 tr11:
191 { 210 {
192 SET_IMM_TYPE(IMM8); 211 SET_IMMEDIATE_FORMAT(IMM8);
193 SET_IMM_PTR(current_position); 212 SET_IMMEDIATE_POINTER(current_position);
194 } 213 }
195 {} 214 {}
196 { 215 {
197 /* Mark start of this instruction as a valid target for jump. */ 216 /* Mark start of this instruction as a valid target for jump. */
198 MarkValidJumpTarget(instruction_begin - data, valid_targets); 217 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
199 218
200 /* Call user-supplied callback. */ 219 /* Call user-supplied callback. */
201 instruction_end = current_position + 1; 220 instruction_end = current_position + 1;
202 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 221 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
203 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 222 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
204 result &= user_callback(instruction_begin, instruction_end, 223 result &= user_callback(instruction_begin, instruction_end,
205 instruction_info_collected, callback_data); 224 instruction_info_collected, callback_data);
206 } 225 }
207 226
208 /* On successful match the instruction_begin must point to the next byte 227 /*
209 * to be able to report the new offset as the start of instruction 228 * We may set instruction_begin at the first byte of the instruction instead
210 * causing error. */ 229 * of here but in the case of incorrect one byte instructions user callback
230 * may be called before instruction_begin is set.
231 */
211 instruction_begin = instruction_end; 232 instruction_begin = instruction_end;
212 233
213 /* Clear variables (well, one variable currently). */ 234 /* Clear variables (well, one variable currently). */
214 instruction_info_collected = 0; 235 instruction_info_collected = 0;
215 } 236 }
216 » goto st233; 237 » goto st218;
217 tr15: 238 tr15:
218 { 239 {
219 SET_IMM_TYPE(IMM32); 240 SET_IMMEDIATE_FORMAT(IMM32);
220 SET_IMM_PTR(current_position - 3); 241 SET_IMMEDIATE_POINTER(current_position - 3);
221 } 242 }
222 {} 243 {}
223 { 244 {
224 /* Mark start of this instruction as a valid target for jump. */ 245 /* Mark start of this instruction as a valid target for jump. */
225 MarkValidJumpTarget(instruction_begin - data, valid_targets); 246 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
226 247
227 /* Call user-supplied callback. */ 248 /* Call user-supplied callback. */
228 instruction_end = current_position + 1; 249 instruction_end = current_position + 1;
229 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 250 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
230 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 251 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
231 result &= user_callback(instruction_begin, instruction_end, 252 result &= user_callback(instruction_begin, instruction_end,
232 instruction_info_collected, callback_data); 253 instruction_info_collected, callback_data);
233 } 254 }
234 255
235 /* On successful match the instruction_begin must point to the next byte 256 /*
236 * to be able to report the new offset as the start of instruction 257 * We may set instruction_begin at the first byte of the instruction instead
237 * causing error. */ 258 * of here but in the case of incorrect one byte instructions user callback
259 * may be called before instruction_begin is set.
260 */
238 instruction_begin = instruction_end; 261 instruction_begin = instruction_end;
239 262
240 /* Clear variables (well, one variable currently). */ 263 /* Clear variables (well, one variable currently). */
241 instruction_info_collected = 0; 264 instruction_info_collected = 0;
242 } 265 }
243 » goto st233; 266 » goto st218;
244 tr19: 267 tr19:
245 { SET_CPU_FEATURE(CPUFeature_3DNOW); } 268 { SET_CPU_FEATURE(CPUFeature_3DNOW); }
246 { 269 {
247 /* Mark start of this instruction as a valid target for jump. */ 270 /* Mark start of this instruction as a valid target for jump. */
248 MarkValidJumpTarget(instruction_begin - data, valid_targets); 271 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
249 272
250 /* Call user-supplied callback. */ 273 /* Call user-supplied callback. */
251 instruction_end = current_position + 1; 274 instruction_end = current_position + 1;
252 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 275 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
253 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 276 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
254 result &= user_callback(instruction_begin, instruction_end, 277 result &= user_callback(instruction_begin, instruction_end,
255 instruction_info_collected, callback_data); 278 instruction_info_collected, callback_data);
256 } 279 }
257 280
258 /* On successful match the instruction_begin must point to the next byte 281 /*
259 * to be able to report the new offset as the start of instruction 282 * We may set instruction_begin at the first byte of the instruction instead
260 * causing error. */ 283 * of here but in the case of incorrect one byte instructions user callback
284 * may be called before instruction_begin is set.
285 */
261 instruction_begin = instruction_end; 286 instruction_begin = instruction_end;
262 287
263 /* Clear variables (well, one variable currently). */ 288 /* Clear variables (well, one variable currently). */
264 instruction_info_collected = 0; 289 instruction_info_collected = 0;
265 } 290 }
266 » goto st233; 291 » goto st218;
267 tr26: 292 tr26:
268 { SET_CPU_FEATURE(CPUFeature_TSC); } 293 { SET_CPU_FEATURE(CPUFeature_TSC); }
269 { 294 {
270 /* Mark start of this instruction as a valid target for jump. */ 295 /* Mark start of this instruction as a valid target for jump. */
271 MarkValidJumpTarget(instruction_begin - data, valid_targets); 296 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
272 297
273 /* Call user-supplied callback. */ 298 /* Call user-supplied callback. */
274 instruction_end = current_position + 1; 299 instruction_end = current_position + 1;
275 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 300 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
276 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 301 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
277 result &= user_callback(instruction_begin, instruction_end, 302 result &= user_callback(instruction_begin, instruction_end,
278 instruction_info_collected, callback_data); 303 instruction_info_collected, callback_data);
279 } 304 }
280 305
281 /* On successful match the instruction_begin must point to the next byte 306 /*
282 * to be able to report the new offset as the start of instruction 307 * We may set instruction_begin at the first byte of the instruction instead
283 * causing error. */ 308 * of here but in the case of incorrect one byte instructions user callback
309 * may be called before instruction_begin is set.
310 */
284 instruction_begin = instruction_end; 311 instruction_begin = instruction_end;
285 312
286 /* Clear variables (well, one variable currently). */ 313 /* Clear variables (well, one variable currently). */
287 instruction_info_collected = 0; 314 instruction_info_collected = 0;
288 } 315 }
289 » goto st233; 316 » goto st218;
290 tr35: 317 tr35:
291 { SET_CPU_FEATURE(CPUFeature_MMX); } 318 { SET_CPU_FEATURE(CPUFeature_MMX); }
292 { 319 {
293 /* Mark start of this instruction as a valid target for jump. */ 320 /* Mark start of this instruction as a valid target for jump. */
294 MarkValidJumpTarget(instruction_begin - data, valid_targets); 321 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
295 322
296 /* Call user-supplied callback. */ 323 /* Call user-supplied callback. */
297 instruction_end = current_position + 1; 324 instruction_end = current_position + 1;
298 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 325 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
299 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 326 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
300 result &= user_callback(instruction_begin, instruction_end, 327 result &= user_callback(instruction_begin, instruction_end,
301 instruction_info_collected, callback_data); 328 instruction_info_collected, callback_data);
302 } 329 }
303 330
304 /* On successful match the instruction_begin must point to the next byte 331 /*
305 * to be able to report the new offset as the start of instruction 332 * We may set instruction_begin at the first byte of the instruction instead
306 * causing error. */ 333 * of here but in the case of incorrect one byte instructions user callback
334 * may be called before instruction_begin is set.
335 */
307 instruction_begin = instruction_end; 336 instruction_begin = instruction_end;
308 337
309 /* Clear variables (well, one variable currently). */ 338 /* Clear variables (well, one variable currently). */
310 instruction_info_collected = 0; 339 instruction_info_collected = 0;
311 } 340 }
312 » goto st233; 341 » goto st218;
313 tr47: 342 tr47:
314 { SET_CPU_FEATURE(CPUFeature_MON); } 343 { SET_CPU_FEATURE(CPUFeature_MON); }
315 { 344 {
316 /* Mark start of this instruction as a valid target for jump. */ 345 /* Mark start of this instruction as a valid target for jump. */
317 MarkValidJumpTarget(instruction_begin - data, valid_targets); 346 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
318 347
319 /* Call user-supplied callback. */ 348 /* Call user-supplied callback. */
320 instruction_end = current_position + 1; 349 instruction_end = current_position + 1;
321 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 350 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
322 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 351 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
323 result &= user_callback(instruction_begin, instruction_end, 352 result &= user_callback(instruction_begin, instruction_end,
324 instruction_info_collected, callback_data); 353 instruction_info_collected, callback_data);
325 } 354 }
326 355
327 /* On successful match the instruction_begin must point to the next byte 356 /*
328 * to be able to report the new offset as the start of instruction 357 * We may set instruction_begin at the first byte of the instruction instead
329 * causing error. */ 358 * of here but in the case of incorrect one byte instructions user callback
359 * may be called before instruction_begin is set.
360 */
330 instruction_begin = instruction_end; 361 instruction_begin = instruction_end;
331 362
332 /* Clear variables (well, one variable currently). */ 363 /* Clear variables (well, one variable currently). */
333 instruction_info_collected = 0; 364 instruction_info_collected = 0;
334 } 365 }
335 » goto st233; 366 » goto st218;
336 tr48: 367 tr48:
337 { SET_CPU_FEATURE(CPUFeature_FXSR); } 368 { SET_CPU_FEATURE(CPUFeature_FXSR); }
338 { 369 {
339 /* Mark start of this instruction as a valid target for jump. */ 370 /* Mark start of this instruction as a valid target for jump. */
340 MarkValidJumpTarget(instruction_begin - data, valid_targets); 371 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
341 372
342 /* Call user-supplied callback. */ 373 /* Call user-supplied callback. */
343 instruction_end = current_position + 1; 374 instruction_end = current_position + 1;
344 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 375 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
345 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 376 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
346 result &= user_callback(instruction_begin, instruction_end, 377 result &= user_callback(instruction_begin, instruction_end,
347 instruction_info_collected, callback_data); 378 instruction_info_collected, callback_data);
348 } 379 }
349 380
350 /* On successful match the instruction_begin must point to the next byte 381 /*
351 * to be able to report the new offset as the start of instruction 382 * We may set instruction_begin at the first byte of the instruction instead
352 * causing error. */ 383 * of here but in the case of incorrect one byte instructions user callback
384 * may be called before instruction_begin is set.
385 */
353 instruction_begin = instruction_end; 386 instruction_begin = instruction_end;
354 387
355 /* Clear variables (well, one variable currently). */ 388 /* Clear variables (well, one variable currently). */
356 instruction_info_collected = 0; 389 instruction_info_collected = 0;
357 } 390 }
358 » goto st233; 391 » goto st218;
359 tr49: 392 tr49:
360 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } 393 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); }
361 { 394 {
362 /* Mark start of this instruction as a valid target for jump. */ 395 /* Mark start of this instruction as a valid target for jump. */
363 MarkValidJumpTarget(instruction_begin - data, valid_targets); 396 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
364 397
365 /* Call user-supplied callback. */ 398 /* Call user-supplied callback. */
366 instruction_end = current_position + 1; 399 instruction_end = current_position + 1;
367 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 400 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
368 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 401 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
369 result &= user_callback(instruction_begin, instruction_end, 402 result &= user_callback(instruction_begin, instruction_end,
370 instruction_info_collected, callback_data); 403 instruction_info_collected, callback_data);
371 } 404 }
372 405
373 /* On successful match the instruction_begin must point to the next byte 406 /*
374 * to be able to report the new offset as the start of instruction 407 * We may set instruction_begin at the first byte of the instruction instead
375 * causing error. */ 408 * of here but in the case of incorrect one byte instructions user callback
409 * may be called before instruction_begin is set.
410 */
376 instruction_begin = instruction_end; 411 instruction_begin = instruction_end;
377 412
378 /* Clear variables (well, one variable currently). */ 413 /* Clear variables (well, one variable currently). */
379 instruction_info_collected = 0; 414 instruction_info_collected = 0;
380 } 415 }
381 » goto st233; 416 » goto st218;
382 tr61: 417 tr61:
383 { 418 {
384 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE; 419 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE;
385 } 420 }
386 { SET_CPU_FEATURE(CPUFeature_E3DNOW); } 421 { SET_CPU_FEATURE(CPUFeature_E3DNOW); }
387 { 422 {
388 /* Mark start of this instruction as a valid target for jump. */ 423 /* Mark start of this instruction as a valid target for jump. */
389 MarkValidJumpTarget(instruction_begin - data, valid_targets); 424 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
390 425
391 /* Call user-supplied callback. */ 426 /* Call user-supplied callback. */
392 instruction_end = current_position + 1; 427 instruction_end = current_position + 1;
393 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 428 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
394 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 429 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
395 result &= user_callback(instruction_begin, instruction_end, 430 result &= user_callback(instruction_begin, instruction_end,
396 instruction_info_collected, callback_data); 431 instruction_info_collected, callback_data);
397 } 432 }
398 433
399 /* On successful match the instruction_begin must point to the next byte 434 /*
400 * to be able to report the new offset as the start of instruction 435 * We may set instruction_begin at the first byte of the instruction instead
401 * causing error. */ 436 * of here but in the case of incorrect one byte instructions user callback
437 * may be called before instruction_begin is set.
438 */
402 instruction_begin = instruction_end; 439 instruction_begin = instruction_end;
403 440
404 /* Clear variables (well, one variable currently). */ 441 /* Clear variables (well, one variable currently). */
405 instruction_info_collected = 0; 442 instruction_info_collected = 0;
406 } 443 }
407 » goto st233; 444 » goto st218;
408 tr62: 445 tr62:
409 { 446 {
410 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE; 447 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE;
411 } 448 }
412 { SET_CPU_FEATURE(CPUFeature_3DNOW); } 449 { SET_CPU_FEATURE(CPUFeature_3DNOW); }
413 { 450 {
414 /* Mark start of this instruction as a valid target for jump. */ 451 /* Mark start of this instruction as a valid target for jump. */
415 MarkValidJumpTarget(instruction_begin - data, valid_targets); 452 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
416 453
417 /* Call user-supplied callback. */ 454 /* Call user-supplied callback. */
418 instruction_end = current_position + 1; 455 instruction_end = current_position + 1;
419 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 456 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
420 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 457 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
421 result &= user_callback(instruction_begin, instruction_end, 458 result &= user_callback(instruction_begin, instruction_end,
422 instruction_info_collected, callback_data); 459 instruction_info_collected, callback_data);
423 } 460 }
424 461
425 /* On successful match the instruction_begin must point to the next byte 462 /*
426 * to be able to report the new offset as the start of instruction 463 * We may set instruction_begin at the first byte of the instruction instead
427 * causing error. */ 464 * of here but in the case of incorrect one byte instructions user callback
465 * may be called before instruction_begin is set.
466 */
428 instruction_begin = instruction_end; 467 instruction_begin = instruction_end;
429 468
430 /* Clear variables (well, one variable currently). */ 469 /* Clear variables (well, one variable currently). */
431 instruction_info_collected = 0; 470 instruction_info_collected = 0;
432 } 471 }
433 » goto st233; 472 » goto st218;
434 tr68: 473 tr68:
435 { SET_CPU_FEATURE(CPUFeature_SSE); } 474 { SET_CPU_FEATURE(CPUFeature_SSE); }
436 { 475 {
437 /* Mark start of this instruction as a valid target for jump. */ 476 /* Mark start of this instruction as a valid target for jump. */
438 MarkValidJumpTarget(instruction_begin - data, valid_targets); 477 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
439 478
440 /* Call user-supplied callback. */ 479 /* Call user-supplied callback. */
441 instruction_end = current_position + 1; 480 instruction_end = current_position + 1;
442 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 481 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
443 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 482 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
444 result &= user_callback(instruction_begin, instruction_end, 483 result &= user_callback(instruction_begin, instruction_end,
445 instruction_info_collected, callback_data); 484 instruction_info_collected, callback_data);
446 } 485 }
447 486
448 /* On successful match the instruction_begin must point to the next byte 487 /*
449 * to be able to report the new offset as the start of instruction 488 * We may set instruction_begin at the first byte of the instruction instead
450 * causing error. */ 489 * of here but in the case of incorrect one byte instructions user callback
490 * may be called before instruction_begin is set.
491 */
451 instruction_begin = instruction_end; 492 instruction_begin = instruction_end;
452 493
453 /* Clear variables (well, one variable currently). */ 494 /* Clear variables (well, one variable currently). */
454 instruction_info_collected = 0; 495 instruction_info_collected = 0;
455 } 496 }
456 » goto st233; 497 » goto st218;
457 tr74: 498 tr74:
458 { SET_CPU_FEATURE(CPUFeature_SSE2); } 499 { SET_CPU_FEATURE(CPUFeature_SSE2); }
459 { 500 {
460 /* Mark start of this instruction as a valid target for jump. */ 501 /* Mark start of this instruction as a valid target for jump. */
461 MarkValidJumpTarget(instruction_begin - data, valid_targets); 502 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
462 503
463 /* Call user-supplied callback. */ 504 /* Call user-supplied callback. */
464 instruction_end = current_position + 1; 505 instruction_end = current_position + 1;
465 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 506 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
466 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 507 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
467 result &= user_callback(instruction_begin, instruction_end, 508 result &= user_callback(instruction_begin, instruction_end,
468 instruction_info_collected, callback_data); 509 instruction_info_collected, callback_data);
469 } 510 }
470 511
471 /* On successful match the instruction_begin must point to the next byte 512 /*
472 * to be able to report the new offset as the start of instruction 513 * We may set instruction_begin at the first byte of the instruction instead
473 * causing error. */ 514 * of here but in the case of incorrect one byte instructions user callback
515 * may be called before instruction_begin is set.
516 */
474 instruction_begin = instruction_end; 517 instruction_begin = instruction_end;
475 518
476 /* Clear variables (well, one variable currently). */ 519 /* Clear variables (well, one variable currently). */
477 instruction_info_collected = 0; 520 instruction_info_collected = 0;
478 } 521 }
479 » goto st233; 522 » goto st218;
480 tr82: 523 tr82:
481 { SET_CPU_FEATURE(CPUFeature_SSSE3); } 524 { SET_CPU_FEATURE(CPUFeature_SSSE3); }
482 { 525 {
483 /* Mark start of this instruction as a valid target for jump. */ 526 /* Mark start of this instruction as a valid target for jump. */
484 MarkValidJumpTarget(instruction_begin - data, valid_targets); 527 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
485 528
486 /* Call user-supplied callback. */ 529 /* Call user-supplied callback. */
487 instruction_end = current_position + 1; 530 instruction_end = current_position + 1;
488 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 531 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
489 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 532 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
490 result &= user_callback(instruction_begin, instruction_end, 533 result &= user_callback(instruction_begin, instruction_end,
491 instruction_info_collected, callback_data); 534 instruction_info_collected, callback_data);
492 } 535 }
493 536
494 /* On successful match the instruction_begin must point to the next byte 537 /*
495 * to be able to report the new offset as the start of instruction 538 * We may set instruction_begin at the first byte of the instruction instead
496 * causing error. */ 539 * of here but in the case of incorrect one byte instructions user callback
540 * may be called before instruction_begin is set.
541 */
497 instruction_begin = instruction_end; 542 instruction_begin = instruction_end;
498 543
499 /* Clear variables (well, one variable currently). */ 544 /* Clear variables (well, one variable currently). */
500 instruction_info_collected = 0; 545 instruction_info_collected = 0;
501 } 546 }
502 » goto st233; 547 » goto st218;
503 tr93: 548 tr93:
504 { SET_CPU_FEATURE(CPUFeature_MOVBE); } 549 { SET_CPU_FEATURE(CPUFeature_MOVBE); }
505 { 550 {
506 /* Mark start of this instruction as a valid target for jump. */ 551 /* Mark start of this instruction as a valid target for jump. */
507 MarkValidJumpTarget(instruction_begin - data, valid_targets); 552 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
508 553
509 /* Call user-supplied callback. */ 554 /* Call user-supplied callback. */
510 instruction_end = current_position + 1; 555 instruction_end = current_position + 1;
511 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 556 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
512 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 557 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
513 result &= user_callback(instruction_begin, instruction_end, 558 result &= user_callback(instruction_begin, instruction_end,
514 instruction_info_collected, callback_data); 559 instruction_info_collected, callback_data);
515 } 560 }
516 561
517 /* On successful match the instruction_begin must point to the next byte 562 /*
518 * to be able to report the new offset as the start of instruction 563 * We may set instruction_begin at the first byte of the instruction instead
519 * causing error. */ 564 * of here but in the case of incorrect one byte instructions user callback
565 * may be called before instruction_begin is set.
566 */
520 instruction_begin = instruction_end; 567 instruction_begin = instruction_end;
521 568
522 /* Clear variables (well, one variable currently). */ 569 /* Clear variables (well, one variable currently). */
523 instruction_info_collected = 0; 570 instruction_info_collected = 0;
524 } 571 }
525 » goto st233; 572 » goto st218;
526 tr114: 573 tr114:
527 { SET_CPU_FEATURE(CPUFeature_CMOV); } 574 { SET_CPU_FEATURE(CPUFeature_CMOV); }
528 { 575 {
529 /* Mark start of this instruction as a valid target for jump. */ 576 /* Mark start of this instruction as a valid target for jump. */
530 MarkValidJumpTarget(instruction_begin - data, valid_targets); 577 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
531 578
532 /* Call user-supplied callback. */ 579 /* Call user-supplied callback. */
533 instruction_end = current_position + 1; 580 instruction_end = current_position + 1;
534 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 581 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
535 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 582 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
536 result &= user_callback(instruction_begin, instruction_end, 583 result &= user_callback(instruction_begin, instruction_end,
537 instruction_info_collected, callback_data); 584 instruction_info_collected, callback_data);
538 } 585 }
539 586
540 /* On successful match the instruction_begin must point to the next byte 587 /*
541 * to be able to report the new offset as the start of instruction 588 * We may set instruction_begin at the first byte of the instruction instead
542 * causing error. */ 589 * of here but in the case of incorrect one byte instructions user callback
590 * may be called before instruction_begin is set.
591 */
543 instruction_begin = instruction_end; 592 instruction_begin = instruction_end;
544 593
545 /* Clear variables (well, one variable currently). */ 594 /* Clear variables (well, one variable currently). */
546 instruction_info_collected = 0; 595 instruction_info_collected = 0;
547 } 596 }
548 » goto st233; 597 » goto st218;
549 tr130: 598 tr130:
550 { 599 {
551 Rel32Operand(current_position + 1, data, jump_dests, size, 600 Rel32Operand(current_position + 1, codeblock, jump_dests, size,
552 &instruction_info_collected); 601 &instruction_info_collected);
553 } 602 }
554 {} 603 {}
555 { 604 {
556 /* Mark start of this instruction as a valid target for jump. */ 605 /* Mark start of this instruction as a valid target for jump. */
557 MarkValidJumpTarget(instruction_begin - data, valid_targets); 606 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
558 607
559 /* Call user-supplied callback. */ 608 /* Call user-supplied callback. */
560 instruction_end = current_position + 1; 609 instruction_end = current_position + 1;
561 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 610 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
562 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 611 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
563 result &= user_callback(instruction_begin, instruction_end, 612 result &= user_callback(instruction_begin, instruction_end,
564 instruction_info_collected, callback_data); 613 instruction_info_collected, callback_data);
565 } 614 }
566 615
567 /* On successful match the instruction_begin must point to the next byte 616 /*
568 * to be able to report the new offset as the start of instruction 617 * We may set instruction_begin at the first byte of the instruction instead
569 * causing error. */ 618 * of here but in the case of incorrect one byte instructions user callback
619 * may be called before instruction_begin is set.
620 */
570 instruction_begin = instruction_end; 621 instruction_begin = instruction_end;
571 622
572 /* Clear variables (well, one variable currently). */ 623 /* Clear variables (well, one variable currently). */
573 instruction_info_collected = 0; 624 instruction_info_collected = 0;
574 } 625 }
575 » goto st233; 626 » goto st218;
576 tr136: 627 tr136:
577 { SET_CPU_FEATURE(CPUFeature_CLFLUSH); } 628 { SET_CPU_FEATURE(CPUFeature_CLFLUSH); }
578 { 629 {
579 /* Mark start of this instruction as a valid target for jump. */ 630 /* Mark start of this instruction as a valid target for jump. */
580 MarkValidJumpTarget(instruction_begin - data, valid_targets); 631 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
581 632
582 /* Call user-supplied callback. */ 633 /* Call user-supplied callback. */
583 instruction_end = current_position + 1; 634 instruction_end = current_position + 1;
584 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 635 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
585 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 636 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
586 result &= user_callback(instruction_begin, instruction_end, 637 result &= user_callback(instruction_begin, instruction_end,
587 instruction_info_collected, callback_data); 638 instruction_info_collected, callback_data);
588 } 639 }
589 640
590 /* On successful match the instruction_begin must point to the next byte 641 /*
591 * to be able to report the new offset as the start of instruction 642 * We may set instruction_begin at the first byte of the instruction instead
592 * causing error. */ 643 * of here but in the case of incorrect one byte instructions user callback
644 * may be called before instruction_begin is set.
645 */
593 instruction_begin = instruction_end; 646 instruction_begin = instruction_end;
594 647
595 /* Clear variables (well, one variable currently). */ 648 /* Clear variables (well, one variable currently). */
596 instruction_info_collected = 0; 649 instruction_info_collected = 0;
597 } 650 }
598 » goto st233; 651 » goto st218;
599 tr145: 652 tr145:
600 { SET_CPU_FEATURE(CPUFeature_EMMXSSE); } 653 { SET_CPU_FEATURE(CPUFeature_EMMXSSE); }
601 { 654 {
602 /* Mark start of this instruction as a valid target for jump. */ 655 /* Mark start of this instruction as a valid target for jump. */
603 MarkValidJumpTarget(instruction_begin - data, valid_targets); 656 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
604 657
605 /* Call user-supplied callback. */ 658 /* Call user-supplied callback. */
606 instruction_end = current_position + 1; 659 instruction_end = current_position + 1;
607 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 660 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
608 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 661 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
609 result &= user_callback(instruction_begin, instruction_end, 662 result &= user_callback(instruction_begin, instruction_end,
610 instruction_info_collected, callback_data); 663 instruction_info_collected, callback_data);
611 } 664 }
612 665
613 /* On successful match the instruction_begin must point to the next byte 666 /*
614 * to be able to report the new offset as the start of instruction 667 * We may set instruction_begin at the first byte of the instruction instead
615 * causing error. */ 668 * of here but in the case of incorrect one byte instructions user callback
669 * may be called before instruction_begin is set.
670 */
616 instruction_begin = instruction_end; 671 instruction_begin = instruction_end;
617 672
618 /* Clear variables (well, one variable currently). */ 673 /* Clear variables (well, one variable currently). */
619 instruction_info_collected = 0; 674 instruction_info_collected = 0;
620 } 675 }
621 » goto st233; 676 » goto st218;
622 tr152: 677 tr152:
623 { SET_CPU_FEATURE(CPUFeature_CX8); } 678 { SET_CPU_FEATURE(CPUFeature_CX8); }
624 { 679 {
625 /* Mark start of this instruction as a valid target for jump. */ 680 /* Mark start of this instruction as a valid target for jump. */
626 MarkValidJumpTarget(instruction_begin - data, valid_targets); 681 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
627 682
628 /* Call user-supplied callback. */ 683 /* Call user-supplied callback. */
629 instruction_end = current_position + 1; 684 instruction_end = current_position + 1;
630 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 685 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
631 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 686 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
632 result &= user_callback(instruction_begin, instruction_end, 687 result &= user_callback(instruction_begin, instruction_end,
633 instruction_info_collected, callback_data); 688 instruction_info_collected, callback_data);
634 } 689 }
635 690
636 /* On successful match the instruction_begin must point to the next byte 691 /*
637 * to be able to report the new offset as the start of instruction 692 * We may set instruction_begin at the first byte of the instruction instead
638 * causing error. */ 693 * of here but in the case of incorrect one byte instructions user callback
694 * may be called before instruction_begin is set.
695 */
639 instruction_begin = instruction_end; 696 instruction_begin = instruction_end;
640 697
641 /* Clear variables (well, one variable currently). */ 698 /* Clear variables (well, one variable currently). */
642 instruction_info_collected = 0; 699 instruction_info_collected = 0;
643 } 700 }
644 » goto st233; 701 » goto st218;
645 tr165: 702 tr165:
646 { 703 {
647 Rel8Operand(current_position + 1, data, jump_dests, size, 704 Rel8Operand(current_position + 1, codeblock, jump_dests, size,
648 &instruction_info_collected); 705 &instruction_info_collected);
649 } 706 }
650 {} 707 {}
651 { 708 {
652 /* Mark start of this instruction as a valid target for jump. */ 709 /* Mark start of this instruction as a valid target for jump. */
653 MarkValidJumpTarget(instruction_begin - data, valid_targets); 710 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
654 711
655 /* Call user-supplied callback. */ 712 /* Call user-supplied callback. */
656 instruction_end = current_position + 1; 713 instruction_end = current_position + 1;
657 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 714 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
658 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 715 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
659 result &= user_callback(instruction_begin, instruction_end, 716 result &= user_callback(instruction_begin, instruction_end,
660 instruction_info_collected, callback_data); 717 instruction_info_collected, callback_data);
661 } 718 }
662 719
663 /* On successful match the instruction_begin must point to the next byte 720 /*
664 * to be able to report the new offset as the start of instruction 721 * We may set instruction_begin at the first byte of the instruction instead
665 * causing error. */ 722 * of here but in the case of incorrect one byte instructions user callback
723 * may be called before instruction_begin is set.
724 */
666 instruction_begin = instruction_end; 725 instruction_begin = instruction_end;
667 726
668 /* Clear variables (well, one variable currently). */ 727 /* Clear variables (well, one variable currently). */
669 instruction_info_collected = 0; 728 instruction_info_collected = 0;
670 } 729 }
671 » goto st233; 730 » goto st218;
672 tr186: 731 tr186:
673 { 732 {
674 SET_IMM_TYPE(IMM16); 733 SET_IMMEDIATE_FORMAT(IMM16);
675 SET_IMM_PTR(current_position - 1); 734 SET_IMMEDIATE_POINTER(current_position - 1);
676 } 735 }
677 {} 736 {}
678 { 737 {
679 /* Mark start of this instruction as a valid target for jump. */ 738 /* Mark start of this instruction as a valid target for jump. */
680 MarkValidJumpTarget(instruction_begin - data, valid_targets); 739 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
681 740
682 /* Call user-supplied callback. */ 741 /* Call user-supplied callback. */
683 instruction_end = current_position + 1; 742 instruction_end = current_position + 1;
684 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 743 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
685 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 744 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
686 result &= user_callback(instruction_begin, instruction_end, 745 result &= user_callback(instruction_begin, instruction_end,
687 instruction_info_collected, callback_data); 746 instruction_info_collected, callback_data);
688 } 747 }
689 748
690 /* On successful match the instruction_begin must point to the next byte 749 /*
691 * to be able to report the new offset as the start of instruction 750 * We may set instruction_begin at the first byte of the instruction instead
692 * causing error. */ 751 * of here but in the case of incorrect one byte instructions user callback
752 * may be called before instruction_begin is set.
753 */
693 instruction_begin = instruction_end; 754 instruction_begin = instruction_end;
694 755
695 /* Clear variables (well, one variable currently). */ 756 /* Clear variables (well, one variable currently). */
696 instruction_info_collected = 0; 757 instruction_info_collected = 0;
697 } 758 }
698 » goto st233; 759 » goto st218;
699 tr203: 760 tr203:
700 { SET_CPU_FEATURE(CPUFeature_SSE41); } 761 { SET_CPU_FEATURE(CPUFeature_SSE41); }
701 { 762 {
702 /* Mark start of this instruction as a valid target for jump. */ 763 /* Mark start of this instruction as a valid target for jump. */
703 MarkValidJumpTarget(instruction_begin - data, valid_targets); 764 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
704 765
705 /* Call user-supplied callback. */ 766 /* Call user-supplied callback. */
706 instruction_end = current_position + 1; 767 instruction_end = current_position + 1;
707 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 768 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
708 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 769 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
709 result &= user_callback(instruction_begin, instruction_end, 770 result &= user_callback(instruction_begin, instruction_end,
710 instruction_info_collected, callback_data); 771 instruction_info_collected, callback_data);
711 } 772 }
712 773
713 /* On successful match the instruction_begin must point to the next byte 774 /*
714 * to be able to report the new offset as the start of instruction 775 * We may set instruction_begin at the first byte of the instruction instead
715 * causing error. */ 776 * of here but in the case of incorrect one byte instructions user callback
777 * may be called before instruction_begin is set.
778 */
716 instruction_begin = instruction_end; 779 instruction_begin = instruction_end;
717 780
718 /* Clear variables (well, one variable currently). */ 781 /* Clear variables (well, one variable currently). */
719 instruction_info_collected = 0; 782 instruction_info_collected = 0;
720 } 783 }
721 » goto st233; 784 » goto st218;
722 tr209: 785 tr209:
723 { SET_CPU_FEATURE(CPUFeature_SSE42); } 786 { SET_CPU_FEATURE(CPUFeature_SSE42); }
724 { 787 {
725 /* Mark start of this instruction as a valid target for jump. */ 788 /* Mark start of this instruction as a valid target for jump. */
726 MarkValidJumpTarget(instruction_begin - data, valid_targets); 789 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
727 790
728 /* Call user-supplied callback. */ 791 /* Call user-supplied callback. */
729 instruction_end = current_position + 1; 792 instruction_end = current_position + 1;
730 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 793 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
731 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 794 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
732 result &= user_callback(instruction_begin, instruction_end, 795 result &= user_callback(instruction_begin, instruction_end,
733 instruction_info_collected, callback_data); 796 instruction_info_collected, callback_data);
734 } 797 }
735 798
736 /* On successful match the instruction_begin must point to the next byte 799 /*
737 * to be able to report the new offset as the start of instruction 800 * We may set instruction_begin at the first byte of the instruction instead
738 * causing error. */ 801 * of here but in the case of incorrect one byte instructions user callback
802 * may be called before instruction_begin is set.
803 */
739 instruction_begin = instruction_end; 804 instruction_begin = instruction_end;
740 805
741 /* Clear variables (well, one variable currently). */ 806 /* Clear variables (well, one variable currently). */
742 instruction_info_collected = 0; 807 instruction_info_collected = 0;
743 } 808 }
744 » goto st233; 809 » goto st218;
745 tr215: 810 tr215:
746 { SET_CPU_FEATURE(CPUFeature_AES); } 811 { SET_CPU_FEATURE(CPUFeature_AES); }
747 { 812 {
748 /* Mark start of this instruction as a valid target for jump. */ 813 /* Mark start of this instruction as a valid target for jump. */
749 MarkValidJumpTarget(instruction_begin - data, valid_targets); 814 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
750 815
751 /* Call user-supplied callback. */ 816 /* Call user-supplied callback. */
752 instruction_end = current_position + 1; 817 instruction_end = current_position + 1;
753 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 818 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
754 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 819 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
755 result &= user_callback(instruction_begin, instruction_end, 820 result &= user_callback(instruction_begin, instruction_end,
756 instruction_info_collected, callback_data); 821 instruction_info_collected, callback_data);
757 } 822 }
758 823
759 /* On successful match the instruction_begin must point to the next byte 824 /*
760 * to be able to report the new offset as the start of instruction 825 * We may set instruction_begin at the first byte of the instruction instead
761 * causing error. */ 826 * of here but in the case of incorrect one byte instructions user callback
827 * may be called before instruction_begin is set.
828 */
762 instruction_begin = instruction_end; 829 instruction_begin = instruction_end;
763 830
764 /* Clear variables (well, one variable currently). */ 831 /* Clear variables (well, one variable currently). */
765 instruction_info_collected = 0; 832 instruction_info_collected = 0;
766 } 833 }
767 » goto st233; 834 » goto st218;
768 tr255: 835 tr255:
769 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 836 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
770 { 837 {
771 /* Mark start of this instruction as a valid target for jump. */ 838 /* Mark start of this instruction as a valid target for jump. */
772 MarkValidJumpTarget(instruction_begin - data, valid_targets); 839 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
773 840
774 /* Call user-supplied callback. */ 841 /* Call user-supplied callback. */
775 instruction_end = current_position + 1; 842 instruction_end = current_position + 1;
776 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 843 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
777 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 844 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
778 result &= user_callback(instruction_begin, instruction_end, 845 result &= user_callback(instruction_begin, instruction_end,
779 instruction_info_collected, callback_data); 846 instruction_info_collected, callback_data);
780 } 847 }
781 848
782 /* On successful match the instruction_begin must point to the next byte 849 /*
783 * to be able to report the new offset as the start of instruction 850 * We may set instruction_begin at the first byte of the instruction instead
784 * causing error. */ 851 * of here but in the case of incorrect one byte instructions user callback
852 * may be called before instruction_begin is set.
853 */
785 instruction_begin = instruction_end; 854 instruction_begin = instruction_end;
786 855
787 /* Clear variables (well, one variable currently). */ 856 /* Clear variables (well, one variable currently). */
788 instruction_info_collected = 0; 857 instruction_info_collected = 0;
789 } 858 }
790 » goto st233; 859 » goto st218;
791 tr256: 860 tr256:
792 { SET_CPU_FEATURE(CPUFeature_SSE3); } 861 { SET_CPU_FEATURE(CPUFeature_SSE3); }
793 { 862 {
794 /* Mark start of this instruction as a valid target for jump. */ 863 /* Mark start of this instruction as a valid target for jump. */
795 MarkValidJumpTarget(instruction_begin - data, valid_targets); 864 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
796 865
797 /* Call user-supplied callback. */ 866 /* Call user-supplied callback. */
798 instruction_end = current_position + 1; 867 instruction_end = current_position + 1;
799 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 868 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
800 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 869 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
801 result &= user_callback(instruction_begin, instruction_end, 870 result &= user_callback(instruction_begin, instruction_end,
802 instruction_info_collected, callback_data); 871 instruction_info_collected, callback_data);
803 } 872 }
804 873
805 /* On successful match the instruction_begin must point to the next byte 874 /*
806 * to be able to report the new offset as the start of instruction 875 * We may set instruction_begin at the first byte of the instruction instead
807 * causing error. */ 876 * of here but in the case of incorrect one byte instructions user callback
877 * may be called before instruction_begin is set.
878 */
808 instruction_begin = instruction_end; 879 instruction_begin = instruction_end;
809 880
810 /* Clear variables (well, one variable currently). */ 881 /* Clear variables (well, one variable currently). */
811 instruction_info_collected = 0; 882 instruction_info_collected = 0;
812 } 883 }
813 » goto st233; 884 » goto st218;
814 tr310: 885 tr310:
815 { SET_CPU_FEATURE(CPUFeature_TBM); } 886 { SET_CPU_FEATURE(CPUFeature_TBM); }
816 { 887 {
817 /* Mark start of this instruction as a valid target for jump. */ 888 /* Mark start of this instruction as a valid target for jump. */
818 MarkValidJumpTarget(instruction_begin - data, valid_targets); 889 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
819 890
820 /* Call user-supplied callback. */ 891 /* Call user-supplied callback. */
821 instruction_end = current_position + 1; 892 instruction_end = current_position + 1;
822 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 893 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
823 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 894 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
824 result &= user_callback(instruction_begin, instruction_end, 895 result &= user_callback(instruction_begin, instruction_end,
825 instruction_info_collected, callback_data); 896 instruction_info_collected, callback_data);
826 } 897 }
827 898
828 /* On successful match the instruction_begin must point to the next byte 899 /*
829 * to be able to report the new offset as the start of instruction 900 * We may set instruction_begin at the first byte of the instruction instead
830 * causing error. */ 901 * of here but in the case of incorrect one byte instructions user callback
902 * may be called before instruction_begin is set.
903 */
831 instruction_begin = instruction_end; 904 instruction_begin = instruction_end;
832 905
833 /* Clear variables (well, one variable currently). */ 906 /* Clear variables (well, one variable currently). */
834 instruction_info_collected = 0; 907 instruction_info_collected = 0;
835 } 908 }
836 » goto st233; 909 » goto st218;
837 tr317: 910 tr317:
838 { SET_CPU_FEATURE(CPUFeature_LWP); } 911 { SET_CPU_FEATURE(CPUFeature_LWP); }
839 { 912 {
840 /* Mark start of this instruction as a valid target for jump. */ 913 /* Mark start of this instruction as a valid target for jump. */
841 MarkValidJumpTarget(instruction_begin - data, valid_targets); 914 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
842 915
843 /* Call user-supplied callback. */ 916 /* Call user-supplied callback. */
844 instruction_end = current_position + 1; 917 instruction_end = current_position + 1;
845 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 918 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
846 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 919 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
847 result &= user_callback(instruction_begin, instruction_end, 920 result &= user_callback(instruction_begin, instruction_end,
848 instruction_info_collected, callback_data); 921 instruction_info_collected, callback_data);
849 } 922 }
850 923
851 /* On successful match the instruction_begin must point to the next byte 924 /*
852 * to be able to report the new offset as the start of instruction 925 * We may set instruction_begin at the first byte of the instruction instead
853 * causing error. */ 926 * of here but in the case of incorrect one byte instructions user callback
927 * may be called before instruction_begin is set.
928 */
854 instruction_begin = instruction_end; 929 instruction_begin = instruction_end;
855 930
856 /* Clear variables (well, one variable currently). */ 931 /* Clear variables (well, one variable currently). */
857 instruction_info_collected = 0; 932 instruction_info_collected = 0;
858 } 933 }
859 » goto st233; 934 » goto st218;
860 tr344: 935 tr342:
861 { SET_CPU_FEATURE(CPUFeature_BMI1); } 936 { SET_CPU_FEATURE(CPUFeature_BMI1); }
862 { 937 {
863 /* Mark start of this instruction as a valid target for jump. */ 938 /* Mark start of this instruction as a valid target for jump. */
864 MarkValidJumpTarget(instruction_begin - data, valid_targets); 939 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
865 940
866 /* Call user-supplied callback. */ 941 /* Call user-supplied callback. */
867 instruction_end = current_position + 1; 942 instruction_end = current_position + 1;
868 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 943 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
869 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 944 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
870 result &= user_callback(instruction_begin, instruction_end, 945 result &= user_callback(instruction_begin, instruction_end,
871 instruction_info_collected, callback_data); 946 instruction_info_collected, callback_data);
872 } 947 }
873 948
874 /* On successful match the instruction_begin must point to the next byte 949 /*
875 * to be able to report the new offset as the start of instruction 950 * We may set instruction_begin at the first byte of the instruction instead
876 * causing error. */ 951 * of here but in the case of incorrect one byte instructions user callback
952 * may be called before instruction_begin is set.
953 */
877 instruction_begin = instruction_end; 954 instruction_begin = instruction_end;
878 955
879 /* Clear variables (well, one variable currently). */ 956 /* Clear variables (well, one variable currently). */
880 instruction_info_collected = 0; 957 instruction_info_collected = 0;
881 } 958 }
882 » goto st233; 959 » goto st218;
883 tr352: 960 tr349:
884 » { SET_CPU_FEATURE(CPUFeature_FMA); } 961 » { SET_CPU_FEATURE(CPUFeature_AESAVX); }
885 { 962 {
886 /* Mark start of this instruction as a valid target for jump. */ 963 /* Mark start of this instruction as a valid target for jump. */
887 MarkValidJumpTarget(instruction_begin - data, valid_targets); 964 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
888 965
889 /* Call user-supplied callback. */ 966 /* Call user-supplied callback. */
890 instruction_end = current_position + 1; 967 instruction_end = current_position + 1;
891 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
892 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
893 result &= user_callback(instruction_begin, instruction_end,
894 instruction_info_collected, callback_data);
895 }
896
897 /* On successful match the instruction_begin must point to the next byte
898 * to be able to report the new offset as the start of instruction
899 * causing error. */
900 instruction_begin = instruction_end;
901
902 /* Clear variables (well, one variable currently). */
903 instruction_info_collected = 0;
904 }
905 goto st233;
906 tr358:
907 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
908 {
909 /* Mark start of this instruction as a valid target for jump. */
910 MarkValidJumpTarget(instruction_begin - data, valid_targets);
911
912 /* Call user-supplied callback. */
913 instruction_end = current_position + 1;
914 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 968 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
915 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 969 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
916 result &= user_callback(instruction_begin, instruction_end, 970 result &= user_callback(instruction_begin, instruction_end,
917 instruction_info_collected, callback_data); 971 instruction_info_collected, callback_data);
918 } 972 }
919 973
920 /* On successful match the instruction_begin must point to the next byte 974 /*
921 * to be able to report the new offset as the start of instruction 975 * We may set instruction_begin at the first byte of the instruction instead
922 * causing error. */ 976 * of here but in the case of incorrect one byte instructions user callback
977 * may be called before instruction_begin is set.
978 */
923 instruction_begin = instruction_end; 979 instruction_begin = instruction_end;
924 980
925 /* Clear variables (well, one variable currently). */ 981 /* Clear variables (well, one variable currently). */
926 instruction_info_collected = 0; 982 instruction_info_collected = 0;
927 } 983 }
928 » goto st233; 984 » goto st218;
929 tr365: 985 tr356:
930 { SET_CPU_FEATURE(CPUFeature_F16C); } 986 { SET_CPU_FEATURE(CPUFeature_F16C); }
931 { 987 {
932 /* Mark start of this instruction as a valid target for jump. */ 988 /* Mark start of this instruction as a valid target for jump. */
933 MarkValidJumpTarget(instruction_begin - data, valid_targets); 989 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
934 990
935 /* Call user-supplied callback. */ 991 /* Call user-supplied callback. */
936 instruction_end = current_position + 1; 992 instruction_end = current_position + 1;
937 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 993 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
938 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 994 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
939 result &= user_callback(instruction_begin, instruction_end, 995 result &= user_callback(instruction_begin, instruction_end,
940 instruction_info_collected, callback_data); 996 instruction_info_collected, callback_data);
941 } 997 }
942 998
943 /* On successful match the instruction_begin must point to the next byte 999 /*
944 * to be able to report the new offset as the start of instruction 1000 * We may set instruction_begin at the first byte of the instruction instead
945 * causing error. */ 1001 * of here but in the case of incorrect one byte instructions user callback
1002 * may be called before instruction_begin is set.
1003 */
946 instruction_begin = instruction_end; 1004 instruction_begin = instruction_end;
947 1005
948 /* Clear variables (well, one variable currently). */ 1006 /* Clear variables (well, one variable currently). */
949 instruction_info_collected = 0; 1007 instruction_info_collected = 0;
950 } 1008 }
951 » goto st233; 1009 » goto st218;
952 tr391: 1010 tr386:
953 » { 1011 » { SET_CPU_FEATURE(CPUFeature_x87); }
954 instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE;
955 }
956 { 1012 {
957 /* Mark start of this instruction as a valid target for jump. */ 1013 /* Mark start of this instruction as a valid target for jump. */
958 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1014 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
959 1015
960 /* Call user-supplied callback. */ 1016 /* Call user-supplied callback. */
961 instruction_end = current_position + 1; 1017 instruction_end = current_position + 1;
962 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
963 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
964 result &= user_callback(instruction_begin, instruction_end,
965 instruction_info_collected, callback_data);
966 }
967
968 /* On successful match the instruction_begin must point to the next byte
969 * to be able to report the new offset as the start of instruction
970 * causing error. */
971 instruction_begin = instruction_end;
972
973 /* Clear variables (well, one variable currently). */
974 instruction_info_collected = 0;
975 }
976 goto st233;
977 tr413:
978 { SET_CPU_FEATURE(CPUFeature_x87); }
979 {
980 /* Mark start of this instruction as a valid target for jump. */
981 MarkValidJumpTarget(instruction_begin - data, valid_targets);
982
983 /* Call user-supplied callback. */
984 instruction_end = current_position + 1;
985 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1018 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
986 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1019 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
987 result &= user_callback(instruction_begin, instruction_end, 1020 result &= user_callback(instruction_begin, instruction_end,
988 instruction_info_collected, callback_data); 1021 instruction_info_collected, callback_data);
989 } 1022 }
990 1023
991 /* On successful match the instruction_begin must point to the next byte 1024 /*
992 * to be able to report the new offset as the start of instruction 1025 * We may set instruction_begin at the first byte of the instruction instead
993 * causing error. */ 1026 * of here but in the case of incorrect one byte instructions user callback
1027 * may be called before instruction_begin is set.
1028 */
994 instruction_begin = instruction_end; 1029 instruction_begin = instruction_end;
995 1030
996 /* Clear variables (well, one variable currently). */ 1031 /* Clear variables (well, one variable currently). */
997 instruction_info_collected = 0; 1032 instruction_info_collected = 0;
998 } 1033 }
999 » goto st233; 1034 » goto st218;
1000 tr419: 1035 tr392:
1001 { SET_CPU_FEATURE(CPUFeature_CMOVx87); } 1036 { SET_CPU_FEATURE(CPUFeature_CMOVx87); }
1002 { 1037 {
1003 /* Mark start of this instruction as a valid target for jump. */ 1038 /* Mark start of this instruction as a valid target for jump. */
1004 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1039 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
1005 1040
1006 /* Call user-supplied callback. */ 1041 /* Call user-supplied callback. */
1007 instruction_end = current_position + 1; 1042 instruction_end = current_position + 1;
1008 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1043 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
1009 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1044 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
1010 result &= user_callback(instruction_begin, instruction_end, 1045 result &= user_callback(instruction_begin, instruction_end,
1011 instruction_info_collected, callback_data); 1046 instruction_info_collected, callback_data);
1012 } 1047 }
1013 1048
1014 /* On successful match the instruction_begin must point to the next byte 1049 /*
1015 * to be able to report the new offset as the start of instruction 1050 * We may set instruction_begin at the first byte of the instruction instead
1016 * causing error. */ 1051 * of here but in the case of incorrect one byte instructions user callback
1052 * may be called before instruction_begin is set.
1053 */
1017 instruction_begin = instruction_end; 1054 instruction_begin = instruction_end;
1018 1055
1019 /* Clear variables (well, one variable currently). */ 1056 /* Clear variables (well, one variable currently). */
1020 instruction_info_collected = 0; 1057 instruction_info_collected = 0;
1021 } 1058 }
1022 » goto st233; 1059 » goto st218;
1023 tr423: 1060 tr396:
1024 { 1061 {
1025 Rel32Operand(current_position + 1, data, jump_dests, size, 1062 Rel32Operand(current_position + 1, codeblock, jump_dests, size,
1026 &instruction_info_collected); 1063 &instruction_info_collected);
1027 } 1064 }
1028 {} 1065 {}
1029 { 1066 {
1030 if (((current_position - data) & kBundleMask) != kBundleMask) 1067 if (((current_position - codeblock) & kBundleMask) != kBundleMask)
1031 instruction_info_collected |= BAD_CALL_ALIGNMENT; 1068 instruction_info_collected |= BAD_CALL_ALIGNMENT;
1032 } 1069 }
1033 { 1070 {
1034 /* Mark start of this instruction as a valid target for jump. */ 1071 /* Mark start of this instruction as a valid target for jump. */
1035 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1072 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
1036 1073
1037 /* Call user-supplied callback. */ 1074 /* Call user-supplied callback. */
1038 instruction_end = current_position + 1; 1075 instruction_end = current_position + 1;
1039 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1076 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
1040 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1077 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
1041 result &= user_callback(instruction_begin, instruction_end, 1078 result &= user_callback(instruction_begin, instruction_end,
1042 instruction_info_collected, callback_data); 1079 instruction_info_collected, callback_data);
1043 } 1080 }
1044 1081
1045 /* On successful match the instruction_begin must point to the next byte 1082 /*
1046 * to be able to report the new offset as the start of instruction 1083 * We may set instruction_begin at the first byte of the instruction instead
1047 * causing error. */ 1084 * of here but in the case of incorrect one byte instructions user callback
1085 * may be called before instruction_begin is set.
1086 */
1048 instruction_begin = instruction_end; 1087 instruction_begin = instruction_end;
1049 1088
1050 /* Clear variables (well, one variable currently). */ 1089 /* Clear variables (well, one variable currently). */
1051 instruction_info_collected = 0; 1090 instruction_info_collected = 0;
1052 } 1091 }
1053 » goto st233; 1092 » goto st218;
1054 tr438: 1093 tr411:
1055 { 1094 {
1056 SET_IMM2_TYPE(IMM8); 1095 SET_SECOND_IMMEDIATE_FORMAT(IMM8);
1057 SET_IMM2_PTR(current_position); 1096 SET_SECOND_IMMEDIATE_POINTER(current_position);
1058 } 1097 }
1059 {} 1098 {}
1060 { 1099 {
1061 /* Mark start of this instruction as a valid target for jump. */ 1100 /* Mark start of this instruction as a valid target for jump. */
1062 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1101 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
1063 1102
1064 /* Call user-supplied callback. */ 1103 /* Call user-supplied callback. */
1065 instruction_end = current_position + 1; 1104 instruction_end = current_position + 1;
1066 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1105 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
1067 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1106 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
1068 result &= user_callback(instruction_begin, instruction_end, 1107 result &= user_callback(instruction_begin, instruction_end,
1069 instruction_info_collected, callback_data); 1108 instruction_info_collected, callback_data);
1070 } 1109 }
1071 1110
1072 /* On successful match the instruction_begin must point to the next byte 1111 /*
1073 * to be able to report the new offset as the start of instruction 1112 * We may set instruction_begin at the first byte of the instruction instead
1074 * causing error. */ 1113 * of here but in the case of incorrect one byte instructions user callback
1114 * may be called before instruction_begin is set.
1115 */
1075 instruction_begin = instruction_end; 1116 instruction_begin = instruction_end;
1076 1117
1077 /* Clear variables (well, one variable currently). */ 1118 /* Clear variables (well, one variable currently). */
1078 instruction_info_collected = 0; 1119 instruction_info_collected = 0;
1079 } 1120 }
1080 » goto st233; 1121 » goto st218;
1081 tr443: 1122 tr416:
1082 { SET_CPU_FEATURE(CPUFeature_POPCNT); } 1123 { SET_CPU_FEATURE(CPUFeature_POPCNT); }
1083 { 1124 {
1084 /* Mark start of this instruction as a valid target for jump. */ 1125 /* Mark start of this instruction as a valid target for jump. */
1085 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1126 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
1086 1127
1087 /* Call user-supplied callback. */ 1128 /* Call user-supplied callback. */
1088 instruction_end = current_position + 1; 1129 instruction_end = current_position + 1;
1089 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1130 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
1090 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1131 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
1091 result &= user_callback(instruction_begin, instruction_end, 1132 result &= user_callback(instruction_begin, instruction_end,
1092 instruction_info_collected, callback_data); 1133 instruction_info_collected, callback_data);
1093 } 1134 }
1094 1135
1095 /* On successful match the instruction_begin must point to the next byte 1136 /*
1096 * to be able to report the new offset as the start of instruction 1137 * We may set instruction_begin at the first byte of the instruction instead
1097 * causing error. */ 1138 * of here but in the case of incorrect one byte instructions user callback
1139 * may be called before instruction_begin is set.
1140 */
1098 instruction_begin = instruction_end; 1141 instruction_begin = instruction_end;
1099 1142
1100 /* Clear variables (well, one variable currently). */ 1143 /* Clear variables (well, one variable currently). */
1101 instruction_info_collected = 0; 1144 instruction_info_collected = 0;
1102 } 1145 }
1103 » goto st233; 1146 » goto st218;
1104 tr449: 1147 tr422:
1105 { SET_CPU_FEATURE(CPUFeature_TZCNT); } 1148 { SET_CPU_FEATURE(CPUFeature_TZCNT); }
1106 { 1149 {
1107 /* Mark start of this instruction as a valid target for jump. */ 1150 /* Mark start of this instruction as a valid target for jump. */
1108 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1151 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
1109 1152
1110 /* Call user-supplied callback. */ 1153 /* Call user-supplied callback. */
1111 instruction_end = current_position + 1; 1154 instruction_end = current_position + 1;
1112 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1155 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
1113 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1156 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
1114 result &= user_callback(instruction_begin, instruction_end, 1157 result &= user_callback(instruction_begin, instruction_end,
1115 instruction_info_collected, callback_data); 1158 instruction_info_collected, callback_data);
1116 } 1159 }
1117 1160
1118 /* On successful match the instruction_begin must point to the next byte 1161 /*
1119 * to be able to report the new offset as the start of instruction 1162 * We may set instruction_begin at the first byte of the instruction instead
1120 * causing error. */ 1163 * of here but in the case of incorrect one byte instructions user callback
1164 * may be called before instruction_begin is set.
1165 */
1121 instruction_begin = instruction_end; 1166 instruction_begin = instruction_end;
1122 1167
1123 /* Clear variables (well, one variable currently). */ 1168 /* Clear variables (well, one variable currently). */
1124 instruction_info_collected = 0; 1169 instruction_info_collected = 0;
1125 } 1170 }
1126 » goto st233; 1171 » goto st218;
1127 tr455: 1172 tr428:
1128 { SET_CPU_FEATURE(CPUFeature_LZCNT); } 1173 { SET_CPU_FEATURE(CPUFeature_LZCNT); }
1129 { 1174 {
1130 /* Mark start of this instruction as a valid target for jump. */ 1175 /* Mark start of this instruction as a valid target for jump. */
1131 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1176 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
1132 1177
1133 /* Call user-supplied callback. */ 1178 /* Call user-supplied callback. */
1134 instruction_end = current_position + 1; 1179 instruction_end = current_position + 1;
1135 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1180 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
1136 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1181 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
1137 result &= user_callback(instruction_begin, instruction_end, 1182 result &= user_callback(instruction_begin, instruction_end,
1138 instruction_info_collected, callback_data); 1183 instruction_info_collected, callback_data);
1139 } 1184 }
1140 1185
1141 /* On successful match the instruction_begin must point to the next byte 1186 /*
1142 * to be able to report the new offset as the start of instruction 1187 * We may set instruction_begin at the first byte of the instruction instead
1143 * causing error. */ 1188 * of here but in the case of incorrect one byte instructions user callback
1189 * may be called before instruction_begin is set.
1190 */
1144 instruction_begin = instruction_end; 1191 instruction_begin = instruction_end;
1145 1192
1146 /* Clear variables (well, one variable currently). */ 1193 /* Clear variables (well, one variable currently). */
1147 instruction_info_collected = 0; 1194 instruction_info_collected = 0;
1148 } 1195 }
1149 » goto st233; 1196 » goto st218;
1150 tr461: 1197 tr434:
1151 { 1198 {
1152 UnmarkValidJumpTarget((current_position - data) - 1, valid_targets); 1199 UnmarkValidJumpTarget((current_position - codeblock) - 1, valid_targets);
1153 instruction_begin -= 3; 1200 instruction_begin -= 3;
1154 instruction_info_collected |= SPECIAL_INSTRUCTION; 1201 instruction_info_collected |= SPECIAL_INSTRUCTION;
1155 } 1202 }
1156 { 1203 {
1157 if (((current_position - data) & kBundleMask) != kBundleMask) 1204 if (((current_position - codeblock) & kBundleMask) != kBundleMask)
1158 instruction_info_collected |= BAD_CALL_ALIGNMENT; 1205 instruction_info_collected |= BAD_CALL_ALIGNMENT;
1159 } 1206 }
1160 { 1207 {
1161 /* Mark start of this instruction as a valid target for jump. */ 1208 /* Mark start of this instruction as a valid target for jump. */
1162 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1209 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
1163 1210
1164 /* Call user-supplied callback. */ 1211 /* Call user-supplied callback. */
1165 instruction_end = current_position + 1; 1212 instruction_end = current_position + 1;
1166 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1213 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
1167 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1214 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
1168 result &= user_callback(instruction_begin, instruction_end, 1215 result &= user_callback(instruction_begin, instruction_end,
1169 instruction_info_collected, callback_data); 1216 instruction_info_collected, callback_data);
1170 } 1217 }
1171 1218
1172 /* On successful match the instruction_begin must point to the next byte 1219 /*
1173 * to be able to report the new offset as the start of instruction 1220 * We may set instruction_begin at the first byte of the instruction instead
1174 * causing error. */ 1221 * of here but in the case of incorrect one byte instructions user callback
1222 * may be called before instruction_begin is set.
1223 */
1175 instruction_begin = instruction_end; 1224 instruction_begin = instruction_end;
1176 1225
1177 /* Clear variables (well, one variable currently). */ 1226 /* Clear variables (well, one variable currently). */
1178 instruction_info_collected = 0; 1227 instruction_info_collected = 0;
1179 } 1228 }
1180 » goto st233; 1229 » goto st218;
1181 tr462: 1230 tr435:
1182 { 1231 {
1183 UnmarkValidJumpTarget((current_position - data) - 1, valid_targets); 1232 UnmarkValidJumpTarget((current_position - codeblock) - 1, valid_targets);
1184 instruction_begin -= 3; 1233 instruction_begin -= 3;
1185 instruction_info_collected |= SPECIAL_INSTRUCTION; 1234 instruction_info_collected |= SPECIAL_INSTRUCTION;
1186 } 1235 }
1187 { 1236 {
1188 /* Mark start of this instruction as a valid target for jump. */ 1237 /* Mark start of this instruction as a valid target for jump. */
1189 MarkValidJumpTarget(instruction_begin - data, valid_targets); 1238 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
1190 1239
1191 /* Call user-supplied callback. */ 1240 /* Call user-supplied callback. */
1192 instruction_end = current_position + 1; 1241 instruction_end = current_position + 1;
1193 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 1242 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
1194 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 1243 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
1195 result &= user_callback(instruction_begin, instruction_end, 1244 result &= user_callback(instruction_begin, instruction_end,
1196 instruction_info_collected, callback_data); 1245 instruction_info_collected, callback_data);
1197 } 1246 }
1198 1247
1199 /* On successful match the instruction_begin must point to the next byte 1248 /*
1200 * to be able to report the new offset as the start of instruction 1249 * We may set instruction_begin at the first byte of the instruction instead
1201 * causing error. */ 1250 * of here but in the case of incorrect one byte instructions user callback
1251 * may be called before instruction_begin is set.
1252 */
1202 instruction_begin = instruction_end; 1253 instruction_begin = instruction_end;
1203 1254
1204 /* Clear variables (well, one variable currently). */ 1255 /* Clear variables (well, one variable currently). */
1205 instruction_info_collected = 0; 1256 instruction_info_collected = 0;
1206 } 1257 }
1207 » goto st233; 1258 » goto st218;
1208 st233: 1259 st218:
1209 if ( ++( current_position) == ( end_of_bundle) ) 1260 if ( ++( current_position) == ( end_of_bundle) )
1210 » » goto _test_eof233; 1261 » » goto _test_eof218;
1211 case 233: 1262 case 218:
1212 switch( (*( current_position)) ) { 1263 switch( (*( current_position)) ) {
1213 case 4u: goto st10; 1264 case 4u: goto st10;
1214 case 5u: goto st11; 1265 case 5u: goto st11;
1215 case 12u: goto st10; 1266 case 12u: goto st10;
1216 case 13u: goto st11; 1267 case 13u: goto st11;
1217 case 15u: goto st15; 1268 case 15u: goto st15;
1218 case 20u: goto st10; 1269 case 20u: goto st10;
1219 case 21u: goto st11; 1270 case 21u: goto st11;
1220 case 28u: goto st10; 1271 case 28u: goto st10;
1221 case 29u: goto st11; 1272 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
1233 case 102u: goto st74; 1284 case 102u: goto st74;
1234 case 104u: goto st11; 1285 case 104u: goto st11;
1235 case 105u: goto st130; 1286 case 105u: goto st130;
1236 case 106u: goto st10; 1287 case 106u: goto st10;
1237 case 107u: goto st56; 1288 case 107u: goto st56;
1238 case 128u: goto st56; 1289 case 128u: goto st56;
1239 case 129u: goto st130; 1290 case 129u: goto st130;
1240 case 131u: goto st139; 1291 case 131u: goto st139;
1241 case 141u: goto st115; 1292 case 141u: goto st115;
1242 case 143u: goto st141; 1293 case 143u: goto st141;
1243 » » case 155u: goto tr413; 1294 » » case 155u: goto tr386;
1244 case 168u: goto st10; 1295 case 168u: goto st10;
1245 case 169u: goto st11; 1296 case 169u: goto st11;
1246 case 196u: goto st153; 1297 case 196u: goto st153;
1247 » » case 198u: goto st185; 1298 » » case 198u: goto st170;
1248 » » case 199u: goto st186; 1299 » » case 199u: goto st171;
1249 case 201u: goto tr0; 1300 case 201u: goto tr0;
1250 » » case 216u: goto st187; 1301 » » case 216u: goto st172;
1251 » » case 217u: goto st188; 1302 » » case 217u: goto st173;
1252 » » case 218u: goto st189; 1303 » » case 218u: goto st174;
1253 » » case 219u: goto st190; 1304 » » case 219u: goto st175;
1254 » » case 220u: goto st191; 1305 » » case 220u: goto st176;
1255 » » case 221u: goto st192; 1306 » » case 221u: goto st177;
1256 » » case 222u: goto st193; 1307 » » case 222u: goto st178;
1257 » » case 223u: goto st194; 1308 » » case 223u: goto st179;
1258 » » case 232u: goto st195; 1309 » » case 232u: goto st180;
1259 case 233u: goto st52; 1310 case 233u: goto st52;
1260 case 235u: goto st67; 1311 case 235u: goto st67;
1261 » » case 240u: goto st199; 1312 » » case 240u: goto st184;
1262 » » case 242u: goto st202; 1313 » » case 242u: goto st187;
1263 » » case 243u: goto st210; 1314 » » case 243u: goto st195;
1264 » » case 246u: goto st215; 1315 » » case 246u: goto st200;
1265 » » case 247u: goto st216; 1316 » » case 247u: goto st201;
1266 » » case 254u: goto st217; 1317 » » case 254u: goto st202;
1267 case 255u: goto st129; 1318 case 255u: goto st129;
1268 } 1319 }
1269 if ( (*( current_position)) < 132u ) { 1320 if ( (*( current_position)) < 132u ) {
1270 if ( (*( current_position)) < 32u ) { 1321 if ( (*( current_position)) < 32u ) {
1271 if ( (*( current_position)) < 8u ) { 1322 if ( (*( current_position)) < 8u ) {
1272 if ( (*( current_position)) <= 3u ) 1323 if ( (*( current_position)) <= 3u )
1273 goto st1; 1324 goto st1;
1274 } else if ( (*( current_position)) > 11u ) { 1325 } else if ( (*( current_position)) > 11u ) {
1275 if ( (*( current_position)) > 19u ) { 1326 if ( (*( current_position)) > 19u ) {
1276 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 1327 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 goto st2; 1468 goto st2;
1418 tr216: 1469 tr216:
1419 { SET_CPU_FEATURE(CPUFeature_AES); } 1470 { SET_CPU_FEATURE(CPUFeature_AES); }
1420 goto st2; 1471 goto st2;
1421 tr257: 1472 tr257:
1422 { SET_CPU_FEATURE(CPUFeature_SSE3); } 1473 { SET_CPU_FEATURE(CPUFeature_SSE3); }
1423 goto st2; 1474 goto st2;
1424 tr311: 1475 tr311:
1425 { SET_CPU_FEATURE(CPUFeature_TBM); } 1476 { SET_CPU_FEATURE(CPUFeature_TBM); }
1426 goto st2; 1477 goto st2;
1427 tr345: 1478 tr343:
1428 { SET_CPU_FEATURE(CPUFeature_BMI1); } 1479 { SET_CPU_FEATURE(CPUFeature_BMI1); }
1429 goto st2; 1480 goto st2;
1430 tr353: 1481 tr350:
1431 » { SET_CPU_FEATURE(CPUFeature_FMA); }
1432 » goto st2;
1433 tr359:
1434 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 1482 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
1435 goto st2; 1483 goto st2;
1436 tr366: 1484 tr357:
1437 { SET_CPU_FEATURE(CPUFeature_F16C); } 1485 { SET_CPU_FEATURE(CPUFeature_F16C); }
1438 goto st2; 1486 goto st2;
1439 tr414: 1487 tr387:
1440 { SET_CPU_FEATURE(CPUFeature_x87); } 1488 { SET_CPU_FEATURE(CPUFeature_x87); }
1441 goto st2; 1489 goto st2;
1442 tr431: 1490 tr404:
1443 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 1491 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
1444 goto st2; 1492 goto st2;
1445 tr444: 1493 tr417:
1446 { SET_CPU_FEATURE(CPUFeature_POPCNT); } 1494 { SET_CPU_FEATURE(CPUFeature_POPCNT); }
1447 goto st2; 1495 goto st2;
1448 tr450: 1496 tr423:
1449 { SET_CPU_FEATURE(CPUFeature_TZCNT); } 1497 { SET_CPU_FEATURE(CPUFeature_TZCNT); }
1450 goto st2; 1498 goto st2;
1451 tr456: 1499 tr429:
1452 { SET_CPU_FEATURE(CPUFeature_LZCNT); } 1500 { SET_CPU_FEATURE(CPUFeature_LZCNT); }
1453 goto st2; 1501 goto st2;
1454 st2: 1502 st2:
1455 if ( ++( current_position) == ( end_of_bundle) ) 1503 if ( ++( current_position) == ( end_of_bundle) )
1456 goto _test_eof2; 1504 goto _test_eof2;
1457 case 2: 1505 case 2:
1458 switch( (*( current_position)) ) { 1506 switch( (*( current_position)) ) {
1459 case 5u: goto st3; 1507 case 5u: goto st3;
1460 case 13u: goto st3; 1508 case 13u: goto st3;
1461 case 21u: goto st3; 1509 case 21u: goto st3;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1531 goto st3; 1579 goto st3;
1532 tr217: 1580 tr217:
1533 { SET_CPU_FEATURE(CPUFeature_AES); } 1581 { SET_CPU_FEATURE(CPUFeature_AES); }
1534 goto st3; 1582 goto st3;
1535 tr258: 1583 tr258:
1536 { SET_CPU_FEATURE(CPUFeature_SSE3); } 1584 { SET_CPU_FEATURE(CPUFeature_SSE3); }
1537 goto st3; 1585 goto st3;
1538 tr312: 1586 tr312:
1539 { SET_CPU_FEATURE(CPUFeature_TBM); } 1587 { SET_CPU_FEATURE(CPUFeature_TBM); }
1540 goto st3; 1588 goto st3;
1541 tr346: 1589 tr344:
1542 { SET_CPU_FEATURE(CPUFeature_BMI1); } 1590 { SET_CPU_FEATURE(CPUFeature_BMI1); }
1543 goto st3; 1591 goto st3;
1544 tr354: 1592 tr351:
1545 » { SET_CPU_FEATURE(CPUFeature_FMA); }
1546 » goto st3;
1547 tr360:
1548 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 1593 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
1549 goto st3; 1594 goto st3;
1550 tr367: 1595 tr358:
1551 { SET_CPU_FEATURE(CPUFeature_F16C); } 1596 { SET_CPU_FEATURE(CPUFeature_F16C); }
1552 goto st3; 1597 goto st3;
1553 tr415: 1598 tr388:
1554 { SET_CPU_FEATURE(CPUFeature_x87); } 1599 { SET_CPU_FEATURE(CPUFeature_x87); }
1555 goto st3; 1600 goto st3;
1556 tr432: 1601 tr405:
1557 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 1602 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
1558 goto st3; 1603 goto st3;
1559 tr445: 1604 tr418:
1560 { SET_CPU_FEATURE(CPUFeature_POPCNT); } 1605 { SET_CPU_FEATURE(CPUFeature_POPCNT); }
1561 goto st3; 1606 goto st3;
1562 tr451: 1607 tr424:
1563 { SET_CPU_FEATURE(CPUFeature_TZCNT); } 1608 { SET_CPU_FEATURE(CPUFeature_TZCNT); }
1564 goto st3; 1609 goto st3;
1565 tr457: 1610 tr430:
1566 { SET_CPU_FEATURE(CPUFeature_LZCNT); } 1611 { SET_CPU_FEATURE(CPUFeature_LZCNT); }
1567 goto st3; 1612 goto st3;
1568 st3: 1613 st3:
1569 if ( ++( current_position) == ( end_of_bundle) ) 1614 if ( ++( current_position) == ( end_of_bundle) )
1570 goto _test_eof3; 1615 goto _test_eof3;
1571 case 3: 1616 case 3:
1572 goto tr6; 1617 goto tr6;
1573 tr6: 1618 tr6:
1574 {} 1619 {}
1575 goto st4; 1620 goto st4;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1635 goto st7; 1680 goto st7;
1636 tr218: 1681 tr218:
1637 { SET_CPU_FEATURE(CPUFeature_AES); } 1682 { SET_CPU_FEATURE(CPUFeature_AES); }
1638 goto st7; 1683 goto st7;
1639 tr259: 1684 tr259:
1640 { SET_CPU_FEATURE(CPUFeature_SSE3); } 1685 { SET_CPU_FEATURE(CPUFeature_SSE3); }
1641 goto st7; 1686 goto st7;
1642 tr313: 1687 tr313:
1643 { SET_CPU_FEATURE(CPUFeature_TBM); } 1688 { SET_CPU_FEATURE(CPUFeature_TBM); }
1644 goto st7; 1689 goto st7;
1645 tr347: 1690 tr345:
1646 { SET_CPU_FEATURE(CPUFeature_BMI1); } 1691 { SET_CPU_FEATURE(CPUFeature_BMI1); }
1647 goto st7; 1692 goto st7;
1648 tr355: 1693 tr352:
1649 » { SET_CPU_FEATURE(CPUFeature_FMA); }
1650 » goto st7;
1651 tr361:
1652 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 1694 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
1653 goto st7; 1695 goto st7;
1654 tr368: 1696 tr359:
1655 { SET_CPU_FEATURE(CPUFeature_F16C); } 1697 { SET_CPU_FEATURE(CPUFeature_F16C); }
1656 goto st7; 1698 goto st7;
1657 tr416: 1699 tr389:
1658 { SET_CPU_FEATURE(CPUFeature_x87); } 1700 { SET_CPU_FEATURE(CPUFeature_x87); }
1659 goto st7; 1701 goto st7;
1660 tr433: 1702 tr406:
1661 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 1703 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
1662 goto st7; 1704 goto st7;
1663 tr446: 1705 tr419:
1664 { SET_CPU_FEATURE(CPUFeature_POPCNT); } 1706 { SET_CPU_FEATURE(CPUFeature_POPCNT); }
1665 goto st7; 1707 goto st7;
1666 tr452: 1708 tr425:
1667 { SET_CPU_FEATURE(CPUFeature_TZCNT); } 1709 { SET_CPU_FEATURE(CPUFeature_TZCNT); }
1668 goto st7; 1710 goto st7;
1669 tr458: 1711 tr431:
1670 { SET_CPU_FEATURE(CPUFeature_LZCNT); } 1712 { SET_CPU_FEATURE(CPUFeature_LZCNT); }
1671 goto st7; 1713 goto st7;
1672 st7: 1714 st7:
1673 if ( ++( current_position) == ( end_of_bundle) ) 1715 if ( ++( current_position) == ( end_of_bundle) )
1674 goto _test_eof7; 1716 goto _test_eof7;
1675 case 7: 1717 case 7:
1676 goto tr10; 1718 goto tr10;
1677 tr53: 1719 tr53:
1678 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } 1720 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); }
1679 goto st8; 1721 goto st8;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1715 goto st8; 1757 goto st8;
1716 tr219: 1758 tr219:
1717 { SET_CPU_FEATURE(CPUFeature_AES); } 1759 { SET_CPU_FEATURE(CPUFeature_AES); }
1718 goto st8; 1760 goto st8;
1719 tr260: 1761 tr260:
1720 { SET_CPU_FEATURE(CPUFeature_SSE3); } 1762 { SET_CPU_FEATURE(CPUFeature_SSE3); }
1721 goto st8; 1763 goto st8;
1722 tr314: 1764 tr314:
1723 { SET_CPU_FEATURE(CPUFeature_TBM); } 1765 { SET_CPU_FEATURE(CPUFeature_TBM); }
1724 goto st8; 1766 goto st8;
1725 tr348: 1767 tr346:
1726 { SET_CPU_FEATURE(CPUFeature_BMI1); } 1768 { SET_CPU_FEATURE(CPUFeature_BMI1); }
1727 goto st8; 1769 goto st8;
1728 tr356: 1770 tr353:
1729 » { SET_CPU_FEATURE(CPUFeature_FMA); }
1730 » goto st8;
1731 tr362:
1732 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 1771 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
1733 goto st8; 1772 goto st8;
1734 tr369: 1773 tr360:
1735 { SET_CPU_FEATURE(CPUFeature_F16C); } 1774 { SET_CPU_FEATURE(CPUFeature_F16C); }
1736 goto st8; 1775 goto st8;
1737 tr417: 1776 tr390:
1738 { SET_CPU_FEATURE(CPUFeature_x87); } 1777 { SET_CPU_FEATURE(CPUFeature_x87); }
1739 goto st8; 1778 goto st8;
1740 tr434: 1779 tr407:
1741 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 1780 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
1742 goto st8; 1781 goto st8;
1743 tr447: 1782 tr420:
1744 { SET_CPU_FEATURE(CPUFeature_POPCNT); } 1783 { SET_CPU_FEATURE(CPUFeature_POPCNT); }
1745 goto st8; 1784 goto st8;
1746 tr453: 1785 tr426:
1747 { SET_CPU_FEATURE(CPUFeature_TZCNT); } 1786 { SET_CPU_FEATURE(CPUFeature_TZCNT); }
1748 goto st8; 1787 goto st8;
1749 tr459: 1788 tr432:
1750 { SET_CPU_FEATURE(CPUFeature_LZCNT); } 1789 { SET_CPU_FEATURE(CPUFeature_LZCNT); }
1751 goto st8; 1790 goto st8;
1752 st8: 1791 st8:
1753 if ( ++( current_position) == ( end_of_bundle) ) 1792 if ( ++( current_position) == ( end_of_bundle) )
1754 goto _test_eof8; 1793 goto _test_eof8;
1755 case 8: 1794 case 8:
1756 goto st7; 1795 goto st7;
1757 tr54: 1796 tr54:
1758 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); } 1797 { SET_CPU_FEATURE(CPUFeature_3DPRFTCH); }
1759 goto st9; 1798 goto st9;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1795 goto st9; 1834 goto st9;
1796 tr220: 1835 tr220:
1797 { SET_CPU_FEATURE(CPUFeature_AES); } 1836 { SET_CPU_FEATURE(CPUFeature_AES); }
1798 goto st9; 1837 goto st9;
1799 tr261: 1838 tr261:
1800 { SET_CPU_FEATURE(CPUFeature_SSE3); } 1839 { SET_CPU_FEATURE(CPUFeature_SSE3); }
1801 goto st9; 1840 goto st9;
1802 tr315: 1841 tr315:
1803 { SET_CPU_FEATURE(CPUFeature_TBM); } 1842 { SET_CPU_FEATURE(CPUFeature_TBM); }
1804 goto st9; 1843 goto st9;
1805 tr349: 1844 tr347:
1806 { SET_CPU_FEATURE(CPUFeature_BMI1); } 1845 { SET_CPU_FEATURE(CPUFeature_BMI1); }
1807 goto st9; 1846 goto st9;
1808 tr357: 1847 tr354:
1809 » { SET_CPU_FEATURE(CPUFeature_FMA); }
1810 » goto st9;
1811 tr363:
1812 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 1848 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
1813 goto st9; 1849 goto st9;
1814 tr370: 1850 tr361:
1815 { SET_CPU_FEATURE(CPUFeature_F16C); } 1851 { SET_CPU_FEATURE(CPUFeature_F16C); }
1816 goto st9; 1852 goto st9;
1817 tr418: 1853 tr391:
1818 { SET_CPU_FEATURE(CPUFeature_x87); } 1854 { SET_CPU_FEATURE(CPUFeature_x87); }
1819 goto st9; 1855 goto st9;
1820 tr435: 1856 tr408:
1821 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 1857 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
1822 goto st9; 1858 goto st9;
1823 tr448: 1859 tr421:
1824 { SET_CPU_FEATURE(CPUFeature_POPCNT); } 1860 { SET_CPU_FEATURE(CPUFeature_POPCNT); }
1825 goto st9; 1861 goto st9;
1826 tr454: 1862 tr427:
1827 { SET_CPU_FEATURE(CPUFeature_TZCNT); } 1863 { SET_CPU_FEATURE(CPUFeature_TZCNT); }
1828 goto st9; 1864 goto st9;
1829 tr460: 1865 tr433:
1830 { SET_CPU_FEATURE(CPUFeature_LZCNT); } 1866 { SET_CPU_FEATURE(CPUFeature_LZCNT); }
1831 goto st9; 1867 goto st9;
1832 st9: 1868 st9:
1833 if ( ++( current_position) == ( end_of_bundle) ) 1869 if ( ++( current_position) == ( end_of_bundle) )
1834 goto _test_eof9; 1870 goto _test_eof9;
1835 case 9: 1871 case 9:
1836 goto st3; 1872 goto st3;
1837 tr111: 1873 tr111:
1838 { 1874 {
1839 SET_DISP_TYPE(DISP32); 1875 SET_DISPLACEMENT_FORMAT(DISP32);
1840 SET_DISP_PTR(current_position - 3); 1876 SET_DISPLACEMENT_POINTER(current_position - 3);
1841 } 1877 }
1842 {} 1878 {}
1843 goto st10; 1879 goto st10;
1844 tr112: 1880 tr112:
1845 { 1881 {
1846 SET_DISP_TYPE(DISP8); 1882 SET_DISPLACEMENT_FORMAT(DISP8);
1847 SET_DISP_PTR(current_position); 1883 SET_DISPLACEMENT_POINTER(current_position);
1848 } 1884 }
1849 {} 1885 {}
1850 goto st10; 1886 goto st10;
1851 tr146: 1887 tr146:
1852 { SET_CPU_FEATURE(CPUFeature_SSE); } 1888 { SET_CPU_FEATURE(CPUFeature_SSE); }
1853 goto st10; 1889 goto st10;
1854 tr249: 1890 tr249:
1855 { SET_CPU_FEATURE(CPUFeature_SSE2); } 1891 { SET_CPU_FEATURE(CPUFeature_SSE2); }
1856 goto st10; 1892 goto st10;
1857 tr100: 1893 tr100:
(...skipping 10 matching lines...) Expand all
1868 goto st10; 1904 goto st10;
1869 tr237: 1905 tr237:
1870 { SET_CPU_FEATURE(CPUFeature_SSE42); } 1906 { SET_CPU_FEATURE(CPUFeature_SSE42); }
1871 goto st10; 1907 goto st10;
1872 tr243: 1908 tr243:
1873 { SET_CPU_FEATURE(CPUFeature_AES); } 1909 { SET_CPU_FEATURE(CPUFeature_AES); }
1874 goto st10; 1910 goto st10;
1875 tr231: 1911 tr231:
1876 { SET_CPU_FEATURE(CPUFeature_CLMUL); } 1912 { SET_CPU_FEATURE(CPUFeature_CLMUL); }
1877 goto st10; 1913 goto st10;
1878 tr400: 1914 tr373:
1879 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 1915 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
1880 goto st10; 1916 goto st10;
1881 tr407: 1917 tr380:
1882 { SET_CPU_FEATURE(CPUFeature_F16C); } 1918 { SET_CPU_FEATURE(CPUFeature_F16C); }
1883 goto st10; 1919 goto st10;
1884 tr379: 1920 tr367:
1885 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } 1921 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); }
1886 goto st10; 1922 goto st10;
1887 st10: 1923 st10:
1888 if ( ++( current_position) == ( end_of_bundle) ) 1924 if ( ++( current_position) == ( end_of_bundle) )
1889 goto _test_eof10; 1925 goto _test_eof10;
1890 case 10: 1926 case 10:
1891 goto tr11; 1927 goto tr11;
1892 tr293: 1928 tr293:
1893 { 1929 {
1894 SET_DISP_TYPE(DISP32); 1930 SET_DISPLACEMENT_FORMAT(DISP32);
1895 SET_DISP_PTR(current_position - 3); 1931 SET_DISPLACEMENT_POINTER(current_position - 3);
1896 } 1932 }
1897 {} 1933 {}
1898 goto st11; 1934 goto st11;
1899 tr294: 1935 tr294:
1900 { 1936 {
1901 SET_DISP_TYPE(DISP8); 1937 SET_DISPLACEMENT_FORMAT(DISP8);
1902 SET_DISP_PTR(current_position); 1938 SET_DISPLACEMENT_POINTER(current_position);
1903 } 1939 }
1904 {} 1940 {}
1905 goto st11; 1941 goto st11;
1906 tr321: 1942 tr321:
1907 { SET_CPU_FEATURE(CPUFeature_LWP); } 1943 { SET_CPU_FEATURE(CPUFeature_LWP); }
1908 goto st11; 1944 goto st11;
1909 tr328: 1945 tr328:
1910 { SET_CPU_FEATURE(CPUFeature_BMI1); } 1946 { SET_CPU_FEATURE(CPUFeature_BMI1); }
1911 goto st11; 1947 goto st11;
1912 st11: 1948 st11:
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
2147 case 188u: goto st27; 2183 case 188u: goto st27;
2148 } 2184 }
2149 if ( (*( current_position)) > 127u ) { 2185 if ( (*( current_position)) > 127u ) {
2150 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 2186 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
2151 goto st21; 2187 goto st21;
2152 } else if ( (*( current_position)) >= 64u ) 2188 } else if ( (*( current_position)) >= 64u )
2153 goto st25; 2189 goto st25;
2154 goto st19; 2190 goto st19;
2155 tr66: 2191 tr66:
2156 { 2192 {
2157 SET_DISP_TYPE(DISP32); 2193 SET_DISPLACEMENT_FORMAT(DISP32);
2158 SET_DISP_PTR(current_position - 3); 2194 SET_DISPLACEMENT_POINTER(current_position - 3);
2159 } 2195 }
2160 {} 2196 {}
2161 goto st19; 2197 goto st19;
2162 tr67: 2198 tr67:
2163 { 2199 {
2164 SET_DISP_TYPE(DISP8); 2200 SET_DISPLACEMENT_FORMAT(DISP8);
2165 SET_DISP_PTR(current_position); 2201 SET_DISPLACEMENT_POINTER(current_position);
2166 } 2202 }
2167 {} 2203 {}
2168 goto st19; 2204 goto st19;
2169 st19: 2205 st19:
2170 if ( ++( current_position) == ( end_of_bundle) ) 2206 if ( ++( current_position) == ( end_of_bundle) )
2171 goto _test_eof19; 2207 goto _test_eof19;
2172 case 19: 2208 case 19:
2173 switch( (*( current_position)) ) { 2209 switch( (*( current_position)) ) {
2174 case 12u: goto tr61; 2210 case 12u: goto tr61;
2175 case 13u: goto tr62; 2211 case 13u: goto tr62;
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after
2720 goto st39; 2756 goto st39;
2721 tr238: 2757 tr238:
2722 { SET_CPU_FEATURE(CPUFeature_SSE42); } 2758 { SET_CPU_FEATURE(CPUFeature_SSE42); }
2723 goto st39; 2759 goto st39;
2724 tr244: 2760 tr244:
2725 { SET_CPU_FEATURE(CPUFeature_AES); } 2761 { SET_CPU_FEATURE(CPUFeature_AES); }
2726 goto st39; 2762 goto st39;
2727 tr232: 2763 tr232:
2728 { SET_CPU_FEATURE(CPUFeature_CLMUL); } 2764 { SET_CPU_FEATURE(CPUFeature_CLMUL); }
2729 goto st39; 2765 goto st39;
2730 tr401: 2766 tr374:
2731 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 2767 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
2732 goto st39; 2768 goto st39;
2733 tr408: 2769 tr381:
2734 { SET_CPU_FEATURE(CPUFeature_F16C); } 2770 { SET_CPU_FEATURE(CPUFeature_F16C); }
2735 goto st39; 2771 goto st39;
2736 tr380: 2772 tr368:
2737 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } 2773 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); }
2738 goto st39; 2774 goto st39;
2739 st39: 2775 st39:
2740 if ( ++( current_position) == ( end_of_bundle) ) 2776 if ( ++( current_position) == ( end_of_bundle) )
2741 goto _test_eof39; 2777 goto _test_eof39;
2742 case 39: 2778 case 39:
2743 switch( (*( current_position)) ) { 2779 switch( (*( current_position)) ) {
2744 case 5u: goto st40; 2780 case 5u: goto st40;
2745 case 13u: goto st40; 2781 case 13u: goto st40;
2746 case 21u: goto st40; 2782 case 21u: goto st40;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
2792 goto st40; 2828 goto st40;
2793 tr239: 2829 tr239:
2794 { SET_CPU_FEATURE(CPUFeature_SSE42); } 2830 { SET_CPU_FEATURE(CPUFeature_SSE42); }
2795 goto st40; 2831 goto st40;
2796 tr245: 2832 tr245:
2797 { SET_CPU_FEATURE(CPUFeature_AES); } 2833 { SET_CPU_FEATURE(CPUFeature_AES); }
2798 goto st40; 2834 goto st40;
2799 tr233: 2835 tr233:
2800 { SET_CPU_FEATURE(CPUFeature_CLMUL); } 2836 { SET_CPU_FEATURE(CPUFeature_CLMUL); }
2801 goto st40; 2837 goto st40;
2802 tr402: 2838 tr375:
2803 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 2839 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
2804 goto st40; 2840 goto st40;
2805 tr409: 2841 tr382:
2806 { SET_CPU_FEATURE(CPUFeature_F16C); } 2842 { SET_CPU_FEATURE(CPUFeature_F16C); }
2807 goto st40; 2843 goto st40;
2808 tr381: 2844 tr369:
2809 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } 2845 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); }
2810 goto st40; 2846 goto st40;
2811 st40: 2847 st40:
2812 if ( ++( current_position) == ( end_of_bundle) ) 2848 if ( ++( current_position) == ( end_of_bundle) )
2813 goto _test_eof40; 2849 goto _test_eof40;
2814 case 40: 2850 case 40:
2815 goto tr108; 2851 goto tr108;
2816 tr108: 2852 tr108:
2817 {} 2853 {}
2818 goto st41; 2854 goto st41;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
2854 goto st44; 2890 goto st44;
2855 tr240: 2891 tr240:
2856 { SET_CPU_FEATURE(CPUFeature_SSE42); } 2892 { SET_CPU_FEATURE(CPUFeature_SSE42); }
2857 goto st44; 2893 goto st44;
2858 tr246: 2894 tr246:
2859 { SET_CPU_FEATURE(CPUFeature_AES); } 2895 { SET_CPU_FEATURE(CPUFeature_AES); }
2860 goto st44; 2896 goto st44;
2861 tr234: 2897 tr234:
2862 { SET_CPU_FEATURE(CPUFeature_CLMUL); } 2898 { SET_CPU_FEATURE(CPUFeature_CLMUL); }
2863 goto st44; 2899 goto st44;
2864 tr403: 2900 tr376:
2865 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 2901 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
2866 goto st44; 2902 goto st44;
2867 tr410: 2903 tr383:
2868 { SET_CPU_FEATURE(CPUFeature_F16C); } 2904 { SET_CPU_FEATURE(CPUFeature_F16C); }
2869 goto st44; 2905 goto st44;
2870 tr382: 2906 tr370:
2871 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } 2907 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); }
2872 goto st44; 2908 goto st44;
2873 st44: 2909 st44:
2874 if ( ++( current_position) == ( end_of_bundle) ) 2910 if ( ++( current_position) == ( end_of_bundle) )
2875 goto _test_eof44; 2911 goto _test_eof44;
2876 case 44: 2912 case 44:
2877 goto tr112; 2913 goto tr112;
2878 tr150: 2914 tr150:
2879 { SET_CPU_FEATURE(CPUFeature_SSE); } 2915 { SET_CPU_FEATURE(CPUFeature_SSE); }
2880 goto st45; 2916 goto st45;
(...skipping 11 matching lines...) Expand all
2892 goto st45; 2928 goto st45;
2893 tr241: 2929 tr241:
2894 { SET_CPU_FEATURE(CPUFeature_SSE42); } 2930 { SET_CPU_FEATURE(CPUFeature_SSE42); }
2895 goto st45; 2931 goto st45;
2896 tr247: 2932 tr247:
2897 { SET_CPU_FEATURE(CPUFeature_AES); } 2933 { SET_CPU_FEATURE(CPUFeature_AES); }
2898 goto st45; 2934 goto st45;
2899 tr235: 2935 tr235:
2900 { SET_CPU_FEATURE(CPUFeature_CLMUL); } 2936 { SET_CPU_FEATURE(CPUFeature_CLMUL); }
2901 goto st45; 2937 goto st45;
2902 tr404: 2938 tr377:
2903 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 2939 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
2904 goto st45; 2940 goto st45;
2905 tr411: 2941 tr384:
2906 { SET_CPU_FEATURE(CPUFeature_F16C); } 2942 { SET_CPU_FEATURE(CPUFeature_F16C); }
2907 goto st45; 2943 goto st45;
2908 tr383: 2944 tr371:
2909 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } 2945 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); }
2910 goto st45; 2946 goto st45;
2911 st45: 2947 st45:
2912 if ( ++( current_position) == ( end_of_bundle) ) 2948 if ( ++( current_position) == ( end_of_bundle) )
2913 goto _test_eof45; 2949 goto _test_eof45;
2914 case 45: 2950 case 45:
2915 goto st44; 2951 goto st44;
2916 tr151: 2952 tr151:
2917 { SET_CPU_FEATURE(CPUFeature_SSE); } 2953 { SET_CPU_FEATURE(CPUFeature_SSE); }
2918 goto st46; 2954 goto st46;
(...skipping 11 matching lines...) Expand all
2930 goto st46; 2966 goto st46;
2931 tr242: 2967 tr242:
2932 { SET_CPU_FEATURE(CPUFeature_SSE42); } 2968 { SET_CPU_FEATURE(CPUFeature_SSE42); }
2933 goto st46; 2969 goto st46;
2934 tr248: 2970 tr248:
2935 { SET_CPU_FEATURE(CPUFeature_AES); } 2971 { SET_CPU_FEATURE(CPUFeature_AES); }
2936 goto st46; 2972 goto st46;
2937 tr236: 2973 tr236:
2938 { SET_CPU_FEATURE(CPUFeature_CLMUL); } 2974 { SET_CPU_FEATURE(CPUFeature_CLMUL); }
2939 goto st46; 2975 goto st46;
2940 tr405: 2976 tr378:
2941 { SET_CPU_FEATURE(CPUFeature_AESAVX); } 2977 { SET_CPU_FEATURE(CPUFeature_AESAVX); }
2942 goto st46; 2978 goto st46;
2943 tr412: 2979 tr385:
2944 { SET_CPU_FEATURE(CPUFeature_F16C); } 2980 { SET_CPU_FEATURE(CPUFeature_F16C); }
2945 goto st46; 2981 goto st46;
2946 tr384: 2982 tr372:
2947 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); } 2983 { SET_CPU_FEATURE(CPUFeature_CLMULAVX); }
2948 goto st46; 2984 goto st46;
2949 st46: 2985 st46:
2950 if ( ++( current_position) == ( end_of_bundle) ) 2986 if ( ++( current_position) == ( end_of_bundle) )
2951 goto _test_eof46; 2987 goto _test_eof46;
2952 case 46: 2988 case 46:
2953 goto st40; 2989 goto st40;
2954 st47: 2990 st47:
2955 if ( ++( current_position) == ( end_of_bundle) ) 2991 if ( ++( current_position) == ( end_of_bundle) )
2956 goto _test_eof47; 2992 goto _test_eof47;
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after
3605 if ( 64u <= (*( current_position)) && (*( current_position)) <= 95u ) 3641 if ( 64u <= (*( current_position)) && (*( current_position)) <= 95u )
3606 goto tr0; 3642 goto tr0;
3607 } else if ( (*( current_position)) > 153u ) { 3643 } else if ( (*( current_position)) > 153u ) {
3608 if ( 184u <= (*( current_position)) && (*( current_position)) <= 191u ) 3644 if ( 184u <= (*( current_position)) && (*( current_position)) <= 191u )
3609 goto st75; 3645 goto st75;
3610 } else 3646 } else
3611 goto tr0; 3647 goto tr0;
3612 goto tr16; 3648 goto tr16;
3613 tr276: 3649 tr276:
3614 { 3650 {
3615 SET_DISP_TYPE(DISP32); 3651 SET_DISPLACEMENT_FORMAT(DISP32);
3616 SET_DISP_PTR(current_position - 3); 3652 SET_DISPLACEMENT_POINTER(current_position - 3);
3617 } 3653 }
3618 {} 3654 {}
3619 goto st75; 3655 goto st75;
3620 tr277: 3656 tr277:
3621 { 3657 {
3622 SET_DISP_TYPE(DISP8); 3658 SET_DISPLACEMENT_FORMAT(DISP8);
3623 SET_DISP_PTR(current_position); 3659 SET_DISPLACEMENT_POINTER(current_position);
3624 } 3660 }
3625 {} 3661 {}
3626 goto st75; 3662 goto st75;
3627 st75: 3663 st75:
3628 if ( ++( current_position) == ( end_of_bundle) ) 3664 if ( ++( current_position) == ( end_of_bundle) )
3629 goto _test_eof75; 3665 goto _test_eof75;
3630 case 75: 3666 case 75:
3631 goto tr185; 3667 goto tr185;
3632 tr185: 3668 tr185:
3633 {} 3669 {}
(...skipping 1527 matching lines...) Expand 10 before | Expand all | Expand 10 after
5161 case 124u: goto st45; 5197 case 124u: goto st45;
5162 case 132u: goto st46; 5198 case 132u: goto st46;
5163 case 140u: goto st46; 5199 case 140u: goto st46;
5164 case 148u: goto st46; 5200 case 148u: goto st46;
5165 case 156u: goto st46; 5201 case 156u: goto st46;
5166 case 164u: goto st46; 5202 case 164u: goto st46;
5167 case 172u: goto st46; 5203 case 172u: goto st46;
5168 case 180u: goto st46; 5204 case 180u: goto st46;
5169 case 188u: goto st46; 5205 case 188u: goto st46;
5170 case 224u: goto st140; 5206 case 224u: goto st140;
5171 » » case 225u: goto st219; 5207 » » case 225u: goto st204;
5172 » » case 226u: goto st221; 5208 » » case 226u: goto st206;
5173 » » case 227u: goto st223; 5209 » » case 227u: goto st208;
5174 » » case 228u: goto st225; 5210 » » case 228u: goto st210;
5175 » » case 229u: goto st227; 5211 » » case 229u: goto st212;
5176 » » case 230u: goto st229; 5212 » » case 230u: goto st214;
5177 » » case 231u: goto st231; 5213 » » case 231u: goto st216;
5178 } 5214 }
5179 if ( (*( current_position)) > 127u ) { 5215 if ( (*( current_position)) > 127u ) {
5180 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 5216 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
5181 goto st40; 5217 goto st40;
5182 } else if ( (*( current_position)) >= 64u ) 5218 } else if ( (*( current_position)) >= 64u )
5183 goto st44; 5219 goto st44;
5184 goto st10; 5220 goto st10;
5185 st140: 5221 st140:
5186 if ( ++( current_position) == ( end_of_bundle) ) 5222 if ( ++( current_position) == ( end_of_bundle) )
5187 goto _test_eof140; 5223 goto _test_eof140;
5188 case 140: 5224 case 140:
5189 if ( (*( current_position)) == 224u ) 5225 if ( (*( current_position)) == 224u )
5190 goto tr303; 5226 goto tr303;
5191 goto tr11; 5227 goto tr11;
5192 tr303: 5228 tr303:
5193 { 5229 {
5194 SET_IMM_TYPE(IMM8); 5230 SET_IMMEDIATE_FORMAT(IMM8);
5195 SET_IMM_PTR(current_position); 5231 SET_IMMEDIATE_POINTER(current_position);
5196 } 5232 }
5197 {} 5233 {}
5198 { 5234 {
5199 /* Mark start of this instruction as a valid target for jump. */ 5235 /* Mark start of this instruction as a valid target for jump. */
5200 MarkValidJumpTarget(instruction_begin - data, valid_targets); 5236 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
5201 5237
5202 /* Call user-supplied callback. */ 5238 /* Call user-supplied callback. */
5203 instruction_end = current_position + 1; 5239 instruction_end = current_position + 1;
5204 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 5240 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
5205 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 5241 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
5206 result &= user_callback(instruction_begin, instruction_end, 5242 result &= user_callback(instruction_begin, instruction_end,
5207 instruction_info_collected, callback_data); 5243 instruction_info_collected, callback_data);
5208 } 5244 }
5209 5245
5210 /* On successful match the instruction_begin must point to the next byte 5246 /*
5211 * to be able to report the new offset as the start of instruction 5247 * We may set instruction_begin at the first byte of the instruction instead
5212 * causing error. */ 5248 * of here but in the case of incorrect one byte instructions user callback
5249 * may be called before instruction_begin is set.
5250 */
5213 instruction_begin = instruction_end; 5251 instruction_begin = instruction_end;
5214 5252
5215 /* Clear variables (well, one variable currently). */ 5253 /* Clear variables (well, one variable currently). */
5216 instruction_info_collected = 0; 5254 instruction_info_collected = 0;
5217 } 5255 }
5218 » goto st234; 5256 » goto st219;
5219 st234: 5257 st219:
5220 if ( ++( current_position) == ( end_of_bundle) ) 5258 if ( ++( current_position) == ( end_of_bundle) )
5221 » » goto _test_eof234; 5259 » » goto _test_eof219;
5222 case 234: 5260 case 219:
5223 switch( (*( current_position)) ) { 5261 switch( (*( current_position)) ) {
5224 case 4u: goto st10; 5262 case 4u: goto st10;
5225 case 5u: goto st11; 5263 case 5u: goto st11;
5226 case 12u: goto st10; 5264 case 12u: goto st10;
5227 case 13u: goto st11; 5265 case 13u: goto st11;
5228 case 15u: goto st15; 5266 case 15u: goto st15;
5229 case 20u: goto st10; 5267 case 20u: goto st10;
5230 case 21u: goto st11; 5268 case 21u: goto st11;
5231 case 28u: goto st10; 5269 case 28u: goto st10;
5232 case 29u: goto st11; 5270 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
5244 case 102u: goto st74; 5282 case 102u: goto st74;
5245 case 104u: goto st11; 5283 case 104u: goto st11;
5246 case 105u: goto st130; 5284 case 105u: goto st130;
5247 case 106u: goto st10; 5285 case 106u: goto st10;
5248 case 107u: goto st56; 5286 case 107u: goto st56;
5249 case 128u: goto st56; 5287 case 128u: goto st56;
5250 case 129u: goto st130; 5288 case 129u: goto st130;
5251 case 131u: goto st139; 5289 case 131u: goto st139;
5252 case 141u: goto st115; 5290 case 141u: goto st115;
5253 case 143u: goto st141; 5291 case 143u: goto st141;
5254 » » case 155u: goto tr413; 5292 » » case 155u: goto tr386;
5255 case 168u: goto st10; 5293 case 168u: goto st10;
5256 case 169u: goto st11; 5294 case 169u: goto st11;
5257 case 196u: goto st153; 5295 case 196u: goto st153;
5258 » » case 198u: goto st185; 5296 » » case 198u: goto st170;
5259 » » case 199u: goto st186; 5297 » » case 199u: goto st171;
5260 case 201u: goto tr0; 5298 case 201u: goto tr0;
5261 » » case 216u: goto st187; 5299 » » case 216u: goto st172;
5262 » » case 217u: goto st188; 5300 » » case 217u: goto st173;
5263 » » case 218u: goto st189; 5301 » » case 218u: goto st174;
5264 » » case 219u: goto st190; 5302 » » case 219u: goto st175;
5265 » » case 220u: goto st191; 5303 » » case 220u: goto st176;
5266 » » case 221u: goto st192; 5304 » » case 221u: goto st177;
5267 » » case 222u: goto st193; 5305 » » case 222u: goto st178;
5268 » » case 223u: goto st194; 5306 » » case 223u: goto st179;
5269 » » case 232u: goto st195; 5307 » » case 232u: goto st180;
5270 case 233u: goto st52; 5308 case 233u: goto st52;
5271 case 235u: goto st67; 5309 case 235u: goto st67;
5272 » » case 240u: goto st199; 5310 » » case 240u: goto st184;
5273 » » case 242u: goto st202; 5311 » » case 242u: goto st187;
5274 » » case 243u: goto st210; 5312 » » case 243u: goto st195;
5275 » » case 246u: goto st215; 5313 » » case 246u: goto st200;
5276 » » case 247u: goto st216; 5314 » » case 247u: goto st201;
5277 » » case 254u: goto st217; 5315 » » case 254u: goto st202;
5278 » » case 255u: goto st218; 5316 » » case 255u: goto st203;
5279 } 5317 }
5280 if ( (*( current_position)) < 132u ) { 5318 if ( (*( current_position)) < 132u ) {
5281 if ( (*( current_position)) < 32u ) { 5319 if ( (*( current_position)) < 32u ) {
5282 if ( (*( current_position)) < 8u ) { 5320 if ( (*( current_position)) < 8u ) {
5283 if ( (*( current_position)) <= 3u ) 5321 if ( (*( current_position)) <= 3u )
5284 goto st1; 5322 goto st1;
5285 } else if ( (*( current_position)) > 11u ) { 5323 } else if ( (*( current_position)) > 11u ) {
5286 if ( (*( current_position)) > 19u ) { 5324 if ( (*( current_position)) > 19u ) {
5287 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 5325 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
5288 goto st1; 5326 goto st1;
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
5618 goto tr330; 5656 goto tr330;
5619 } else if ( (*( current_position)) >= 64u ) 5657 } else if ( (*( current_position)) >= 64u )
5620 goto tr331; 5658 goto tr331;
5621 goto tr328; 5659 goto tr328;
5622 st153: 5660 st153:
5623 if ( ++( current_position) == ( end_of_bundle) ) 5661 if ( ++( current_position) == ( end_of_bundle) )
5624 goto _test_eof153; 5662 goto _test_eof153;
5625 case 153: 5663 case 153:
5626 switch( (*( current_position)) ) { 5664 switch( (*( current_position)) ) {
5627 case 226u: goto st154; 5665 case 226u: goto st154;
5628 » » case 227u: goto st166; 5666 » » case 227u: goto st163;
5629 } 5667 }
5630 goto tr16; 5668 goto tr16;
5631 st154: 5669 st154:
5632 if ( ++( current_position) == ( end_of_bundle) ) 5670 if ( ++( current_position) == ( end_of_bundle) )
5633 goto _test_eof154; 5671 goto _test_eof154;
5634 case 154: 5672 case 154:
5635 switch( (*( current_position)) ) { 5673 switch( (*( current_position)) ) {
5636 case 64u: goto tr336; 5674 case 64u: goto tr336;
5637 case 65u: goto tr337; 5675 case 65u: goto tr337;
5638 case 69u: goto tr338;
5639 case 72u: goto tr336; 5676 case 72u: goto tr336;
5640 case 73u: goto tr337; 5677 case 73u: goto tr337;
5641 case 77u: goto tr338;
5642 case 80u: goto tr336; 5678 case 80u: goto tr336;
5643 case 81u: goto tr337; 5679 case 81u: goto tr337;
5644 case 85u: goto tr338;
5645 case 88u: goto tr336; 5680 case 88u: goto tr336;
5646 case 89u: goto tr337; 5681 case 89u: goto tr337;
5647 case 93u: goto tr338;
5648 case 96u: goto tr336; 5682 case 96u: goto tr336;
5649 case 97u: goto tr337; 5683 case 97u: goto tr337;
5650 case 101u: goto tr338;
5651 case 104u: goto tr336; 5684 case 104u: goto tr336;
5652 case 105u: goto tr337; 5685 case 105u: goto tr337;
5653 case 109u: goto tr338;
5654 case 112u: goto tr336; 5686 case 112u: goto tr336;
5655 case 113u: goto tr337; 5687 case 113u: goto tr337;
5656 case 117u: goto tr338;
5657 case 120u: goto tr336; 5688 case 120u: goto tr336;
5658 » » case 121u: goto tr339; 5689 » » case 121u: goto tr338;
5659 » » case 125u: goto tr340; 5690 » » case 125u: goto tr339;
5660 » » case 193u: goto tr341;
5661 » » case 197u: goto tr338;
5662 » » case 201u: goto tr341;
5663 » » case 205u: goto tr338;
5664 » » case 209u: goto tr341;
5665 » » case 213u: goto tr338;
5666 » » case 217u: goto tr341;
5667 » » case 221u: goto tr338;
5668 » » case 225u: goto tr341;
5669 » » case 229u: goto tr338;
5670 » » case 233u: goto tr341;
5671 » » case 237u: goto tr338;
5672 » » case 241u: goto tr341;
5673 » » case 245u: goto tr338;
5674 » » case 249u: goto tr341;
5675 » » case 253u: goto tr338;
5676 } 5691 }
5677 goto tr16; 5692 goto tr16;
5678 tr336: 5693 tr336:
5679 { 5694 {
5680 SET_VEX_PREFIX3(*current_position); 5695 SET_VEX_PREFIX3(*current_position);
5681 } 5696 }
5682 goto st155; 5697 goto st155;
5683 st155: 5698 st155:
5684 if ( ++( current_position) == ( end_of_bundle) ) 5699 if ( ++( current_position) == ( end_of_bundle) )
5685 goto _test_eof155; 5700 goto _test_eof155;
5686 case 155: 5701 case 155:
5687 switch( (*( current_position)) ) { 5702 switch( (*( current_position)) ) {
5688 case 242u: goto st156; 5703 case 242u: goto st156;
5689 case 243u: goto st157; 5704 case 243u: goto st157;
5690 case 247u: goto st156; 5705 case 247u: goto st156;
5691 } 5706 }
5692 goto tr16; 5707 goto tr16;
5693 st156: 5708 st156:
5694 if ( ++( current_position) == ( end_of_bundle) ) 5709 if ( ++( current_position) == ( end_of_bundle) )
5695 goto _test_eof156; 5710 goto _test_eof156;
5696 case 156: 5711 case 156:
5697 switch( (*( current_position)) ) { 5712 switch( (*( current_position)) ) {
5698 » » case 4u: goto tr345; 5713 » » case 4u: goto tr343;
5699 » » case 5u: goto tr346; 5714 » » case 5u: goto tr344;
5700 » » case 12u: goto tr345; 5715 » » case 12u: goto tr343;
5701 » » case 13u: goto tr346; 5716 » » case 13u: goto tr344;
5702 » » case 20u: goto tr345; 5717 » » case 20u: goto tr343;
5703 » » case 21u: goto tr346; 5718 » » case 21u: goto tr344;
5704 » » case 28u: goto tr345; 5719 » » case 28u: goto tr343;
5705 » » case 29u: goto tr346; 5720 » » case 29u: goto tr344;
5706 » » case 36u: goto tr345; 5721 » » case 36u: goto tr343;
5707 » » case 37u: goto tr346; 5722 » » case 37u: goto tr344;
5708 » » case 44u: goto tr345; 5723 » » case 44u: goto tr343;
5709 » » case 45u: goto tr346; 5724 » » case 45u: goto tr344;
5710 » » case 52u: goto tr345; 5725 » » case 52u: goto tr343;
5711 » » case 53u: goto tr346; 5726 » » case 53u: goto tr344;
5712 » » case 60u: goto tr345; 5727 » » case 60u: goto tr343;
5713 » » case 61u: goto tr346; 5728 » » case 61u: goto tr344;
5714 » » case 68u: goto tr348; 5729 » » case 68u: goto tr346;
5715 » » case 76u: goto tr348; 5730 » » case 76u: goto tr346;
5716 » » case 84u: goto tr348; 5731 » » case 84u: goto tr346;
5717 » » case 92u: goto tr348; 5732 » » case 92u: goto tr346;
5718 » » case 100u: goto tr348; 5733 » » case 100u: goto tr346;
5719 » » case 108u: goto tr348; 5734 » » case 108u: goto tr346;
5720 » » case 116u: goto tr348; 5735 » » case 116u: goto tr346;
5721 » » case 124u: goto tr348; 5736 » » case 124u: goto tr346;
5722 » » case 132u: goto tr349; 5737 » » case 132u: goto tr347;
5723 » » case 140u: goto tr349; 5738 » » case 140u: goto tr347;
5724 » » case 148u: goto tr349; 5739 » » case 148u: goto tr347;
5725 » » case 156u: goto tr349; 5740 » » case 156u: goto tr347;
5726 » » case 164u: goto tr349; 5741 » » case 164u: goto tr347;
5727 » » case 172u: goto tr349; 5742 » » case 172u: goto tr347;
5728 » » case 180u: goto tr349; 5743 » » case 180u: goto tr347;
5729 » » case 188u: goto tr349; 5744 » » case 188u: goto tr347;
5730 } 5745 }
5731 if ( (*( current_position)) > 127u ) { 5746 if ( (*( current_position)) > 127u ) {
5732 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 5747 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
5733 » » » goto tr346; 5748 » » » goto tr344;
5734 } else if ( (*( current_position)) >= 64u ) 5749 } else if ( (*( current_position)) >= 64u )
5735 » » goto tr347; 5750 » » goto tr345;
5736 » goto tr344; 5751 » goto tr342;
5737 st157: 5752 st157:
5738 if ( ++( current_position) == ( end_of_bundle) ) 5753 if ( ++( current_position) == ( end_of_bundle) )
5739 goto _test_eof157; 5754 goto _test_eof157;
5740 case 157: 5755 case 157:
5741 switch( (*( current_position)) ) { 5756 switch( (*( current_position)) ) {
5742 » » case 12u: goto tr345; 5757 » » case 12u: goto tr343;
5743 » » case 13u: goto tr346; 5758 » » case 13u: goto tr344;
5744 » » case 20u: goto tr345; 5759 » » case 20u: goto tr343;
5745 » » case 21u: goto tr346; 5760 » » case 21u: goto tr344;
5746 » » case 28u: goto tr345; 5761 » » case 28u: goto tr343;
5747 » » case 29u: goto tr346; 5762 » » case 29u: goto tr344;
5748 » » case 76u: goto tr348; 5763 » » case 76u: goto tr346;
5749 » » case 84u: goto tr348; 5764 » » case 84u: goto tr346;
5750 » » case 92u: goto tr348; 5765 » » case 92u: goto tr346;
5751 » » case 140u: goto tr349; 5766 » » case 140u: goto tr347;
5752 » » case 148u: goto tr349; 5767 » » case 148u: goto tr347;
5753 » » case 156u: goto tr349; 5768 » » case 156u: goto tr347;
5754 } 5769 }
5755 if ( (*( current_position)) < 72u ) { 5770 if ( (*( current_position)) < 72u ) {
5756 if ( 8u <= (*( current_position)) && (*( current_position)) <= 3 1u ) 5771 if ( 8u <= (*( current_position)) && (*( current_position)) <= 3 1u )
5757 » » » goto tr344; 5772 » » » goto tr342;
5758 } else if ( (*( current_position)) > 95u ) { 5773 } else if ( (*( current_position)) > 95u ) {
5759 if ( (*( current_position)) > 159u ) { 5774 if ( (*( current_position)) > 159u ) {
5760 if ( 200u <= (*( current_position)) && (*( current_posit ion)) <= 223u ) 5775 if ( 200u <= (*( current_position)) && (*( current_posit ion)) <= 223u )
5761 » » » » goto tr344; 5776 » » » » goto tr342;
5762 } else if ( (*( current_position)) >= 136u ) 5777 } else if ( (*( current_position)) >= 136u )
5763 » » » goto tr346; 5778 » » » goto tr344;
5764 } else 5779 } else
5765 » » goto tr347; 5780 » » goto tr345;
5766 goto tr16; 5781 goto tr16;
5767 tr337: 5782 tr337:
5768 { 5783 {
5769 SET_VEX_PREFIX3(*current_position); 5784 SET_VEX_PREFIX3(*current_position);
5770 } 5785 }
5771 goto st158; 5786 goto st158;
5772 st158: 5787 st158:
5773 if ( ++( current_position) == ( end_of_bundle) ) 5788 if ( ++( current_position) == ( end_of_bundle) )
5774 goto _test_eof158; 5789 goto _test_eof158;
5775 case 158: 5790 case 158:
5776 » if ( (*( current_position)) < 166u ) { 5791 » if ( 219u <= (*( current_position)) && (*( current_position)) <= 223u )
5777 » » if ( 150u <= (*( current_position)) && (*( current_position)) <= 159u )
5778 » » » goto st159;
5779 » } else if ( (*( current_position)) > 175u ) {
5780 » » if ( (*( current_position)) > 191u ) {
5781 » » » if ( 219u <= (*( current_position)) && (*( current_posit ion)) <= 223u )
5782 » » » » goto st160;
5783 » » } else if ( (*( current_position)) >= 182u )
5784 » » » goto st159;
5785 » } else
5786 goto st159; 5792 goto st159;
5787 goto tr16; 5793 goto tr16;
5788 st159: 5794 st159:
5789 if ( ++( current_position) == ( end_of_bundle) ) 5795 if ( ++( current_position) == ( end_of_bundle) )
5790 goto _test_eof159; 5796 goto _test_eof159;
5791 case 159: 5797 case 159:
5792 switch( (*( current_position)) ) { 5798 switch( (*( current_position)) ) {
5793 » » case 4u: goto tr353; 5799 » » case 4u: goto tr350;
5794 » » case 5u: goto tr354; 5800 » » case 5u: goto tr351;
5795 » » case 12u: goto tr353; 5801 » » case 12u: goto tr350;
5796 » » case 13u: goto tr354; 5802 » » case 13u: goto tr351;
5797 » » case 20u: goto tr353; 5803 » » case 20u: goto tr350;
5798 » » case 21u: goto tr354; 5804 » » case 21u: goto tr351;
5799 » » case 28u: goto tr353; 5805 » » case 28u: goto tr350;
5800 » » case 29u: goto tr354; 5806 » » case 29u: goto tr351;
5801 » » case 36u: goto tr353; 5807 » » case 36u: goto tr350;
5802 » » case 37u: goto tr354; 5808 » » case 37u: goto tr351;
5803 » » case 44u: goto tr353; 5809 » » case 44u: goto tr350;
5804 » » case 45u: goto tr354; 5810 » » case 45u: goto tr351;
5805 » » case 52u: goto tr353; 5811 » » case 52u: goto tr350;
5806 » » case 53u: goto tr354; 5812 » » case 53u: goto tr351;
5807 » » case 60u: goto tr353; 5813 » » case 60u: goto tr350;
5808 » » case 61u: goto tr354; 5814 » » case 61u: goto tr351;
5809 » » case 68u: goto tr356; 5815 » » case 68u: goto tr353;
5810 » » case 76u: goto tr356; 5816 » » case 76u: goto tr353;
5811 » » case 84u: goto tr356; 5817 » » case 84u: goto tr353;
5812 » » case 92u: goto tr356; 5818 » » case 92u: goto tr353;
5813 » » case 100u: goto tr356; 5819 » » case 100u: goto tr353;
5814 » » case 108u: goto tr356; 5820 » » case 108u: goto tr353;
5815 » » case 116u: goto tr356; 5821 » » case 116u: goto tr353;
5816 » » case 124u: goto tr356; 5822 » » case 124u: goto tr353;
5817 » » case 132u: goto tr357; 5823 » » case 132u: goto tr354;
5818 » » case 140u: goto tr357; 5824 » » case 140u: goto tr354;
5819 » » case 148u: goto tr357; 5825 » » case 148u: goto tr354;
5820 » » case 156u: goto tr357; 5826 » » case 156u: goto tr354;
5821 » » case 164u: goto tr357; 5827 » » case 164u: goto tr354;
5822 » » case 172u: goto tr357; 5828 » » case 172u: goto tr354;
5823 » » case 180u: goto tr357; 5829 » » case 180u: goto tr354;
5824 » » case 188u: goto tr357; 5830 » » case 188u: goto tr354;
5825 } 5831 }
5826 if ( (*( current_position)) > 127u ) { 5832 if ( (*( current_position)) > 127u ) {
5827 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 5833 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
5828 » » » goto tr354; 5834 » » » goto tr351;
5829 } else if ( (*( current_position)) >= 64u ) 5835 } else if ( (*( current_position)) >= 64u )
5830 » » goto tr355; 5836 » » goto tr352;
5831 » goto tr352; 5837 » goto tr349;
5838 tr338:
5839 » {
5840 SET_VEX_PREFIX3(*current_position);
5841 }
5842 » goto st160;
5832 st160: 5843 st160:
5833 if ( ++( current_position) == ( end_of_bundle) ) 5844 if ( ++( current_position) == ( end_of_bundle) )
5834 goto _test_eof160; 5845 goto _test_eof160;
5835 case 160: 5846 case 160:
5836 » switch( (*( current_position)) ) { 5847 » if ( (*( current_position)) == 19u )
5837 » » case 4u: goto tr359; 5848 » » goto st161;
5838 » » case 5u: goto tr360; 5849 » if ( 219u <= (*( current_position)) && (*( current_position)) <= 223u )
5839 » » case 12u: goto tr359; 5850 » » goto st159;
5840 » » case 13u: goto tr360; 5851 » goto tr16;
5841 » » case 20u: goto tr359;
5842 » » case 21u: goto tr360;
5843 » » case 28u: goto tr359;
5844 » » case 29u: goto tr360;
5845 » » case 36u: goto tr359;
5846 » » case 37u: goto tr360;
5847 » » case 44u: goto tr359;
5848 » » case 45u: goto tr360;
5849 » » case 52u: goto tr359;
5850 » » case 53u: goto tr360;
5851 » » case 60u: goto tr359;
5852 » » case 61u: goto tr360;
5853 » » case 68u: goto tr362;
5854 » » case 76u: goto tr362;
5855 » » case 84u: goto tr362;
5856 » » case 92u: goto tr362;
5857 » » case 100u: goto tr362;
5858 » » case 108u: goto tr362;
5859 » » case 116u: goto tr362;
5860 » » case 124u: goto tr362;
5861 » » case 132u: goto tr363;
5862 » » case 140u: goto tr363;
5863 » » case 148u: goto tr363;
5864 » » case 156u: goto tr363;
5865 » » case 164u: goto tr363;
5866 » » case 172u: goto tr363;
5867 » » case 180u: goto tr363;
5868 » » case 188u: goto tr363;
5869 » }
5870 » if ( (*( current_position)) > 127u ) {
5871 » » if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
5872 » » » goto tr360;
5873 » } else if ( (*( current_position)) >= 64u )
5874 » » goto tr361;
5875 » goto tr358;
5876 tr338:
5877 » {
5878 SET_VEX_PREFIX3(*current_position);
5879 }
5880 » goto st161;
5881 st161: 5852 st161:
5882 if ( ++( current_position) == ( end_of_bundle) ) 5853 if ( ++( current_position) == ( end_of_bundle) )
5883 goto _test_eof161; 5854 goto _test_eof161;
5884 case 161: 5855 case 161:
5885 switch( (*( current_position)) ) { 5856 switch( (*( current_position)) ) {
5886 » » case 154u: goto st159; 5857 » » case 4u: goto tr357;
5887 » » case 156u: goto st159; 5858 » » case 5u: goto tr358;
5888 » » case 158u: goto st159; 5859 » » case 12u: goto tr357;
5889 » » case 170u: goto st159; 5860 » » case 13u: goto tr358;
5890 » » case 172u: goto st159; 5861 » » case 20u: goto tr357;
5891 » » case 174u: goto st159; 5862 » » case 21u: goto tr358;
5892 » » case 186u: goto st159; 5863 » » case 28u: goto tr357;
5893 » » case 188u: goto st159; 5864 » » case 29u: goto tr358;
5894 » » case 190u: goto st159; 5865 » » case 36u: goto tr357;
5866 » » case 37u: goto tr358;
5867 » » case 44u: goto tr357;
5868 » » case 45u: goto tr358;
5869 » » case 52u: goto tr357;
5870 » » case 53u: goto tr358;
5871 » » case 60u: goto tr357;
5872 » » case 61u: goto tr358;
5873 » » case 68u: goto tr360;
5874 » » case 76u: goto tr360;
5875 » » case 84u: goto tr360;
5876 » » case 92u: goto tr360;
5877 » » case 100u: goto tr360;
5878 » » case 108u: goto tr360;
5879 » » case 116u: goto tr360;
5880 » » case 124u: goto tr360;
5881 » » case 132u: goto tr361;
5882 » » case 140u: goto tr361;
5883 » » case 148u: goto tr361;
5884 » » case 156u: goto tr361;
5885 » » case 164u: goto tr361;
5886 » » case 172u: goto tr361;
5887 » » case 180u: goto tr361;
5888 » » case 188u: goto tr361;
5895 } 5889 }
5896 » if ( (*( current_position)) < 166u ) { 5890 » if ( (*( current_position)) > 127u ) {
5897 » » if ( 150u <= (*( current_position)) && (*( current_position)) <= 152u ) 5891 » » if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
5898 » » » goto st159; 5892 » » » goto tr358;
5899 » } else if ( (*( current_position)) > 168u ) { 5893 » } else if ( (*( current_position)) >= 64u )
5900 » » if ( 182u <= (*( current_position)) && (*( current_position)) <= 184u ) 5894 » » goto tr359;
5901 » » » goto st159; 5895 » goto tr356;
5902 » } else
5903 » » goto st159;
5904 » goto tr16;
5905 tr339: 5896 tr339:
5906 { 5897 {
5907 SET_VEX_PREFIX3(*current_position); 5898 SET_VEX_PREFIX3(*current_position);
5908 } 5899 }
5909 goto st162; 5900 goto st162;
5910 st162: 5901 st162:
5911 if ( ++( current_position) == ( end_of_bundle) ) 5902 if ( ++( current_position) == ( end_of_bundle) )
5912 goto _test_eof162; 5903 goto _test_eof162;
5913 case 162: 5904 case 162:
5914 if ( (*( current_position)) == 19u ) 5905 if ( (*( current_position)) == 19u )
5915 » » goto st163; 5906 » » goto st161;
5916 » if ( (*( current_position)) < 166u ) {
5917 » » if ( 150u <= (*( current_position)) && (*( current_position)) <= 159u )
5918 » » » goto st159;
5919 » } else if ( (*( current_position)) > 175u ) {
5920 » » if ( (*( current_position)) > 191u ) {
5921 » » » if ( 219u <= (*( current_position)) && (*( current_posit ion)) <= 223u )
5922 » » » » goto st160;
5923 » » } else if ( (*( current_position)) >= 182u )
5924 » » » goto st159;
5925 » } else
5926 » » goto st159;
5927 goto tr16; 5907 goto tr16;
5928 st163: 5908 st163:
5929 if ( ++( current_position) == ( end_of_bundle) ) 5909 if ( ++( current_position) == ( end_of_bundle) )
5930 goto _test_eof163; 5910 goto _test_eof163;
5931 case 163: 5911 case 163:
5932 switch( (*( current_position)) ) { 5912 switch( (*( current_position)) ) {
5933 » » case 4u: goto tr366; 5913 » » case 65u: goto tr362;
5934 » » case 5u: goto tr367; 5914 » » case 73u: goto tr362;
5935 » » case 12u: goto tr366; 5915 » » case 81u: goto tr362;
5936 » » case 13u: goto tr367; 5916 » » case 89u: goto tr362;
5937 » » case 20u: goto tr366; 5917 » » case 97u: goto tr362;
5938 » » case 21u: goto tr367; 5918 » » case 105u: goto tr362;
5939 » » case 28u: goto tr366; 5919 » » case 113u: goto tr362;
5940 » » case 29u: goto tr367; 5920 » » case 121u: goto tr363;
5941 » » case 36u: goto tr366; 5921 » » case 125u: goto tr364;
5942 » » case 37u: goto tr367;
5943 » » case 44u: goto tr366;
5944 » » case 45u: goto tr367;
5945 » » case 52u: goto tr366;
5946 » » case 53u: goto tr367;
5947 » » case 60u: goto tr366;
5948 » » case 61u: goto tr367;
5949 » » case 68u: goto tr369;
5950 » » case 76u: goto tr369;
5951 » » case 84u: goto tr369;
5952 » » case 92u: goto tr369;
5953 » » case 100u: goto tr369;
5954 » » case 108u: goto tr369;
5955 » » case 116u: goto tr369;
5956 » » case 124u: goto tr369;
5957 » » case 132u: goto tr370;
5958 » » case 140u: goto tr370;
5959 » » case 148u: goto tr370;
5960 » » case 156u: goto tr370;
5961 » » case 164u: goto tr370;
5962 » » case 172u: goto tr370;
5963 » » case 180u: goto tr370;
5964 » » case 188u: goto tr370;
5965 } 5922 }
5966 » if ( (*( current_position)) > 127u ) { 5923 » goto tr16;
5967 » » if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 5924 tr362:
5968 » » » goto tr367;
5969 » } else if ( (*( current_position)) >= 64u )
5970 » » goto tr368;
5971 » goto tr365;
5972 tr340:
5973 { 5925 {
5974 SET_VEX_PREFIX3(*current_position); 5926 SET_VEX_PREFIX3(*current_position);
5975 } 5927 }
5976 goto st164; 5928 goto st164;
5977 st164: 5929 st164:
5978 if ( ++( current_position) == ( end_of_bundle) ) 5930 if ( ++( current_position) == ( end_of_bundle) )
5979 goto _test_eof164; 5931 goto _test_eof164;
5980 case 164: 5932 case 164:
5981 switch( (*( current_position)) ) { 5933 switch( (*( current_position)) ) {
5982 » » case 19u: goto st163; 5934 » » case 68u: goto st165;
5983 » » case 154u: goto st159; 5935 » » case 223u: goto st166;
5984 » » case 156u: goto st159;
5985 » » case 158u: goto st159;
5986 » » case 170u: goto st159;
5987 » » case 172u: goto st159;
5988 » » case 174u: goto st159;
5989 » » case 186u: goto st159;
5990 » » case 188u: goto st159;
5991 » » case 190u: goto st159;
5992 } 5936 }
5993 if ( (*( current_position)) < 166u ) {
5994 if ( 150u <= (*( current_position)) && (*( current_position)) <= 152u )
5995 goto st159;
5996 } else if ( (*( current_position)) > 168u ) {
5997 if ( 182u <= (*( current_position)) && (*( current_position)) <= 184u )
5998 goto st159;
5999 } else
6000 goto st159;
6001 goto tr16; 5937 goto tr16;
6002 tr341:
6003 {
6004 SET_VEX_PREFIX3(*current_position);
6005 }
6006 goto st165;
6007 st165: 5938 st165:
6008 if ( ++( current_position) == ( end_of_bundle) ) 5939 if ( ++( current_position) == ( end_of_bundle) )
6009 goto _test_eof165; 5940 goto _test_eof165;
6010 case 165: 5941 case 165:
6011 » if ( (*( current_position)) < 166u ) { 5942 » switch( (*( current_position)) ) {
6012 » » if ( 150u <= (*( current_position)) && (*( current_position)) <= 159u ) 5943 » » case 4u: goto tr368;
6013 » » » goto st159; 5944 » » case 5u: goto tr369;
6014 » } else if ( (*( current_position)) > 175u ) { 5945 » » case 12u: goto tr368;
6015 » » if ( 182u <= (*( current_position)) && (*( current_position)) <= 191u ) 5946 » » case 13u: goto tr369;
6016 » » » goto st159; 5947 » » case 20u: goto tr368;
6017 » } else 5948 » » case 21u: goto tr369;
6018 » » goto st159; 5949 » » case 28u: goto tr368;
6019 » goto tr16; 5950 » » case 29u: goto tr369;
5951 » » case 36u: goto tr368;
5952 » » case 37u: goto tr369;
5953 » » case 44u: goto tr368;
5954 » » case 45u: goto tr369;
5955 » » case 52u: goto tr368;
5956 » » case 53u: goto tr369;
5957 » » case 60u: goto tr368;
5958 » » case 61u: goto tr369;
5959 » » case 68u: goto tr371;
5960 » » case 76u: goto tr371;
5961 » » case 84u: goto tr371;
5962 » » case 92u: goto tr371;
5963 » » case 100u: goto tr371;
5964 » » case 108u: goto tr371;
5965 » » case 116u: goto tr371;
5966 » » case 124u: goto tr371;
5967 » » case 132u: goto tr372;
5968 » » case 140u: goto tr372;
5969 » » case 148u: goto tr372;
5970 » » case 156u: goto tr372;
5971 » » case 164u: goto tr372;
5972 » » case 172u: goto tr372;
5973 » » case 180u: goto tr372;
5974 » » case 188u: goto tr372;
5975 » }
5976 » if ( (*( current_position)) > 127u ) {
5977 » » if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
5978 » » » goto tr369;
5979 » } else if ( (*( current_position)) >= 64u )
5980 » » goto tr370;
5981 » goto tr367;
6020 st166: 5982 st166:
6021 if ( ++( current_position) == ( end_of_bundle) ) 5983 if ( ++( current_position) == ( end_of_bundle) )
6022 goto _test_eof166; 5984 goto _test_eof166;
6023 case 166: 5985 case 166:
6024 switch( (*( current_position)) ) { 5986 switch( (*( current_position)) ) {
6025 » » case 65u: goto tr371; 5987 » » case 4u: goto tr374;
6026 » » case 69u: goto tr372; 5988 » » case 5u: goto tr375;
6027 » » case 73u: goto tr371; 5989 » » case 12u: goto tr374;
6028 » » case 77u: goto tr372; 5990 » » case 13u: goto tr375;
6029 » » case 81u: goto tr371; 5991 » » case 20u: goto tr374;
6030 » » case 85u: goto tr372; 5992 » » case 21u: goto tr375;
6031 » » case 89u: goto tr371; 5993 » » case 28u: goto tr374;
6032 » » case 93u: goto tr372; 5994 » » case 29u: goto tr375;
6033 » » case 97u: goto tr371; 5995 » » case 36u: goto tr374;
6034 » » case 101u: goto tr372; 5996 » » case 37u: goto tr375;
6035 » » case 105u: goto tr371; 5997 » » case 44u: goto tr374;
6036 » » case 109u: goto tr372; 5998 » » case 45u: goto tr375;
6037 » » case 113u: goto tr371; 5999 » » case 52u: goto tr374;
6038 » » case 117u: goto tr372; 6000 » » case 53u: goto tr375;
6039 » » case 121u: goto tr373; 6001 » » case 60u: goto tr374;
6040 » » case 125u: goto tr374; 6002 » » case 61u: goto tr375;
6041 » » case 193u: goto tr375; 6003 » » case 68u: goto tr377;
6042 » » case 197u: goto tr372; 6004 » » case 76u: goto tr377;
6043 » » case 201u: goto tr375; 6005 » » case 84u: goto tr377;
6044 » » case 205u: goto tr372; 6006 » » case 92u: goto tr377;
6045 » » case 209u: goto tr375; 6007 » » case 100u: goto tr377;
6046 » » case 213u: goto tr372; 6008 » » case 108u: goto tr377;
6047 » » case 217u: goto tr375; 6009 » » case 116u: goto tr377;
6048 » » case 221u: goto tr372; 6010 » » case 124u: goto tr377;
6049 » » case 225u: goto tr375; 6011 » » case 132u: goto tr378;
6050 » » case 229u: goto tr372; 6012 » » case 140u: goto tr378;
6051 » » case 233u: goto tr375; 6013 » » case 148u: goto tr378;
6052 » » case 237u: goto tr372; 6014 » » case 156u: goto tr378;
6053 » » case 241u: goto tr375; 6015 » » case 164u: goto tr378;
6054 » » case 245u: goto tr372; 6016 » » case 172u: goto tr378;
6055 » » case 249u: goto tr375; 6017 » » case 180u: goto tr378;
6056 » » case 253u: goto tr372; 6018 » » case 188u: goto tr378;
6057 } 6019 }
6058 » goto tr16; 6020 » if ( (*( current_position)) > 127u ) {
6059 tr371: 6021 » » if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
6022 » » » goto tr375;
6023 » } else if ( (*( current_position)) >= 64u )
6024 » » goto tr376;
6025 » goto tr373;
6026 tr363:
6060 { 6027 {
6061 SET_VEX_PREFIX3(*current_position); 6028 SET_VEX_PREFIX3(*current_position);
6062 } 6029 }
6063 goto st167; 6030 goto st167;
6064 st167: 6031 st167:
6065 if ( ++( current_position) == ( end_of_bundle) ) 6032 if ( ++( current_position) == ( end_of_bundle) )
6066 goto _test_eof167; 6033 goto _test_eof167;
6067 case 167: 6034 case 167:
6068 switch( (*( current_position)) ) { 6035 switch( (*( current_position)) ) {
6069 » » case 68u: goto st168; 6036 » » case 29u: goto st168;
6070 » » case 223u: goto st179; 6037 » » case 68u: goto st165;
6038 » » case 223u: goto st166;
6071 } 6039 }
6072 if ( (*( current_position)) < 104u ) {
6073 if ( 92u <= (*( current_position)) && (*( current_position)) <= 95u )
6074 goto st169;
6075 } else if ( (*( current_position)) > 111u ) {
6076 if ( 120u <= (*( current_position)) && (*( current_position)) <= 127u )
6077 goto st169;
6078 } else
6079 goto st169;
6080 goto tr16; 6040 goto tr16;
6081 st168: 6041 st168:
6082 if ( ++( current_position) == ( end_of_bundle) ) 6042 if ( ++( current_position) == ( end_of_bundle) )
6083 goto _test_eof168; 6043 goto _test_eof168;
6084 case 168: 6044 case 168:
6085 switch( (*( current_position)) ) { 6045 switch( (*( current_position)) ) {
6086 » » case 4u: goto tr380; 6046 » » case 4u: goto tr381;
6087 » » case 5u: goto tr381; 6047 » » case 5u: goto tr382;
6088 » » case 12u: goto tr380; 6048 » » case 12u: goto tr381;
6089 » » case 13u: goto tr381; 6049 » » case 13u: goto tr382;
6090 » » case 20u: goto tr380; 6050 » » case 20u: goto tr381;
6091 » » case 21u: goto tr381; 6051 » » case 21u: goto tr382;
6092 » » case 28u: goto tr380; 6052 » » case 28u: goto tr381;
6093 » » case 29u: goto tr381; 6053 » » case 29u: goto tr382;
6094 » » case 36u: goto tr380; 6054 » » case 36u: goto tr381;
6095 » » case 37u: goto tr381; 6055 » » case 37u: goto tr382;
6096 » » case 44u: goto tr380; 6056 » » case 44u: goto tr381;
6097 » » case 45u: goto tr381; 6057 » » case 45u: goto tr382;
6098 » » case 52u: goto tr380; 6058 » » case 52u: goto tr381;
6099 » » case 53u: goto tr381; 6059 » » case 53u: goto tr382;
6100 » » case 60u: goto tr380; 6060 » » case 60u: goto tr381;
6101 » » case 61u: goto tr381; 6061 » » case 61u: goto tr382;
6102 » » case 68u: goto tr383; 6062 » » case 68u: goto tr384;
6103 » » case 76u: goto tr383; 6063 » » case 76u: goto tr384;
6104 » » case 84u: goto tr383; 6064 » » case 84u: goto tr384;
6105 » » case 92u: goto tr383; 6065 » » case 92u: goto tr384;
6106 » » case 100u: goto tr383; 6066 » » case 100u: goto tr384;
6107 » » case 108u: goto tr383; 6067 » » case 108u: goto tr384;
6108 » » case 116u: goto tr383; 6068 » » case 116u: goto tr384;
6109 » » case 124u: goto tr383; 6069 » » case 124u: goto tr384;
6110 » » case 132u: goto tr384; 6070 » » case 132u: goto tr385;
6111 » » case 140u: goto tr384; 6071 » » case 140u: goto tr385;
6112 » » case 148u: goto tr384; 6072 » » case 148u: goto tr385;
6113 » » case 156u: goto tr384; 6073 » » case 156u: goto tr385;
6114 » » case 164u: goto tr384; 6074 » » case 164u: goto tr385;
6115 » » case 172u: goto tr384; 6075 » » case 172u: goto tr385;
6116 » » case 180u: goto tr384; 6076 » » case 180u: goto tr385;
6117 » » case 188u: goto tr384; 6077 » » case 188u: goto tr385;
6118 } 6078 }
6119 if ( (*( current_position)) > 127u ) { 6079 if ( (*( current_position)) > 127u ) {
6120 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 6080 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
6121 » » » goto tr381; 6081 » » » goto tr382;
6122 } else if ( (*( current_position)) >= 64u ) 6082 } else if ( (*( current_position)) >= 64u )
6123 » » goto tr382; 6083 » » goto tr383;
6124 » goto tr379; 6084 » goto tr380;
6085 tr364:
6086 » {
6087 SET_VEX_PREFIX3(*current_position);
6088 }
6089 » goto st169;
6125 st169: 6090 st169:
6126 if ( ++( current_position) == ( end_of_bundle) ) 6091 if ( ++( current_position) == ( end_of_bundle) )
6127 goto _test_eof169; 6092 goto _test_eof169;
6128 case 169: 6093 case 169:
6129 » switch( (*( current_position)) ) { 6094 » if ( (*( current_position)) == 29u )
6130 » » case 4u: goto tr386; 6095 » » goto st168;
6131 » » case 5u: goto tr387; 6096 » goto tr16;
6132 » » case 12u: goto tr386;
6133 » » case 13u: goto tr387;
6134 » » case 20u: goto tr386;
6135 » » case 21u: goto tr387;
6136 » » case 28u: goto tr386;
6137 » » case 29u: goto tr387;
6138 » » case 36u: goto tr386;
6139 » » case 37u: goto tr387;
6140 » » case 44u: goto tr386;
6141 » » case 45u: goto tr387;
6142 » » case 52u: goto tr386;
6143 » » case 53u: goto tr387;
6144 » » case 60u: goto tr386;
6145 » » case 61u: goto tr387;
6146 » » case 68u: goto tr389;
6147 » » case 76u: goto tr389;
6148 » » case 84u: goto tr389;
6149 » » case 92u: goto tr389;
6150 » » case 100u: goto tr389;
6151 » » case 108u: goto tr389;
6152 » » case 116u: goto tr389;
6153 » » case 124u: goto tr389;
6154 » » case 132u: goto tr390;
6155 » » case 140u: goto tr390;
6156 » » case 148u: goto tr390;
6157 » » case 156u: goto tr390;
6158 » » case 164u: goto tr390;
6159 » » case 172u: goto tr390;
6160 » » case 180u: goto tr390;
6161 » » case 188u: goto tr390;
6162 » }
6163 » if ( (*( current_position)) > 127u ) {
6164 » » if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
6165 » » » goto tr387;
6166 » } else if ( (*( current_position)) >= 64u )
6167 » » goto tr388;
6168 » goto tr385;
6169 tr397:
6170 » {
6171 SET_DISP_TYPE(DISP32);
6172 SET_DISP_PTR(current_position - 3);
6173 }
6174 » {}
6175 » goto st170;
6176 tr398:
6177 » {
6178 SET_DISP_TYPE(DISP8);
6179 SET_DISP_PTR(current_position);
6180 }
6181 » {}
6182 » goto st170;
6183 tr385:
6184 » { SET_CPU_FEATURE(CPUFeature_FMA4); }
6185 » goto st170;
6186 st170: 6097 st170:
6187 if ( ++( current_position) == ( end_of_bundle) ) 6098 if ( ++( current_position) == ( end_of_bundle) )
6188 goto _test_eof170; 6099 goto _test_eof170;
6189 case 170: 6100 case 170:
6190 switch( (*( current_position)) ) { 6101 switch( (*( current_position)) ) {
6191 case 0u: goto tr391;
6192 case 16u: goto tr391;
6193 case 32u: goto tr391;
6194 case 48u: goto tr391;
6195 case 64u: goto tr391;
6196 case 80u: goto tr391;
6197 case 96u: goto tr391;
6198 case 112u: goto tr391;
6199 }
6200 goto tr16;
6201 tr386:
6202 { SET_CPU_FEATURE(CPUFeature_FMA4); }
6203 goto st171;
6204 st171:
6205 if ( ++( current_position) == ( end_of_bundle) )
6206 goto _test_eof171;
6207 case 171:
6208 switch( (*( current_position)) ) {
6209 case 5u: goto st172;
6210 case 13u: goto st172;
6211 case 21u: goto st172;
6212 case 29u: goto st172;
6213 case 37u: goto st172;
6214 case 45u: goto st172;
6215 case 53u: goto st172;
6216 case 61u: goto st172;
6217 case 69u: goto st172;
6218 case 77u: goto st172;
6219 case 85u: goto st172;
6220 case 93u: goto st172;
6221 case 101u: goto st172;
6222 case 109u: goto st172;
6223 case 117u: goto st172;
6224 case 125u: goto st172;
6225 case 133u: goto st172;
6226 case 141u: goto st172;
6227 case 149u: goto st172;
6228 case 157u: goto st172;
6229 case 165u: goto st172;
6230 case 173u: goto st172;
6231 case 181u: goto st172;
6232 case 189u: goto st172;
6233 case 197u: goto st172;
6234 case 205u: goto st172;
6235 case 213u: goto st172;
6236 case 221u: goto st172;
6237 case 229u: goto st172;
6238 case 237u: goto st172;
6239 case 245u: goto st172;
6240 case 253u: goto st172;
6241 }
6242 goto st170;
6243 tr387:
6244 { SET_CPU_FEATURE(CPUFeature_FMA4); }
6245 goto st172;
6246 st172:
6247 if ( ++( current_position) == ( end_of_bundle) )
6248 goto _test_eof172;
6249 case 172:
6250 goto tr394;
6251 tr394:
6252 {}
6253 goto st173;
6254 st173:
6255 if ( ++( current_position) == ( end_of_bundle) )
6256 goto _test_eof173;
6257 case 173:
6258 goto tr395;
6259 tr395:
6260 {}
6261 goto st174;
6262 st174:
6263 if ( ++( current_position) == ( end_of_bundle) )
6264 goto _test_eof174;
6265 case 174:
6266 goto tr396;
6267 tr396:
6268 {}
6269 goto st175;
6270 st175:
6271 if ( ++( current_position) == ( end_of_bundle) )
6272 goto _test_eof175;
6273 case 175:
6274 goto tr397;
6275 tr388:
6276 { SET_CPU_FEATURE(CPUFeature_FMA4); }
6277 goto st176;
6278 st176:
6279 if ( ++( current_position) == ( end_of_bundle) )
6280 goto _test_eof176;
6281 case 176:
6282 goto tr398;
6283 tr389:
6284 { SET_CPU_FEATURE(CPUFeature_FMA4); }
6285 goto st177;
6286 st177:
6287 if ( ++( current_position) == ( end_of_bundle) )
6288 goto _test_eof177;
6289 case 177:
6290 goto st176;
6291 tr390:
6292 { SET_CPU_FEATURE(CPUFeature_FMA4); }
6293 goto st178;
6294 st178:
6295 if ( ++( current_position) == ( end_of_bundle) )
6296 goto _test_eof178;
6297 case 178:
6298 goto st172;
6299 st179:
6300 if ( ++( current_position) == ( end_of_bundle) )
6301 goto _test_eof179;
6302 case 179:
6303 switch( (*( current_position)) ) {
6304 case 4u: goto tr401;
6305 case 5u: goto tr402;
6306 case 12u: goto tr401;
6307 case 13u: goto tr402;
6308 case 20u: goto tr401;
6309 case 21u: goto tr402;
6310 case 28u: goto tr401;
6311 case 29u: goto tr402;
6312 case 36u: goto tr401;
6313 case 37u: goto tr402;
6314 case 44u: goto tr401;
6315 case 45u: goto tr402;
6316 case 52u: goto tr401;
6317 case 53u: goto tr402;
6318 case 60u: goto tr401;
6319 case 61u: goto tr402;
6320 case 68u: goto tr404;
6321 case 76u: goto tr404;
6322 case 84u: goto tr404;
6323 case 92u: goto tr404;
6324 case 100u: goto tr404;
6325 case 108u: goto tr404;
6326 case 116u: goto tr404;
6327 case 124u: goto tr404;
6328 case 132u: goto tr405;
6329 case 140u: goto tr405;
6330 case 148u: goto tr405;
6331 case 156u: goto tr405;
6332 case 164u: goto tr405;
6333 case 172u: goto tr405;
6334 case 180u: goto tr405;
6335 case 188u: goto tr405;
6336 }
6337 if ( (*( current_position)) > 127u ) {
6338 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
6339 goto tr402;
6340 } else if ( (*( current_position)) >= 64u )
6341 goto tr403;
6342 goto tr400;
6343 tr372:
6344 {
6345 SET_VEX_PREFIX3(*current_position);
6346 }
6347 goto st180;
6348 st180:
6349 if ( ++( current_position) == ( end_of_bundle) )
6350 goto _test_eof180;
6351 case 180:
6352 if ( (*( current_position)) < 108u ) {
6353 if ( (*( current_position)) > 95u ) {
6354 if ( 104u <= (*( current_position)) && (*( current_posit ion)) <= 105u )
6355 goto st169;
6356 } else if ( (*( current_position)) >= 92u )
6357 goto st169;
6358 } else if ( (*( current_position)) > 109u ) {
6359 if ( (*( current_position)) > 121u ) {
6360 if ( 124u <= (*( current_position)) && (*( current_posit ion)) <= 125u )
6361 goto st169;
6362 } else if ( (*( current_position)) >= 120u )
6363 goto st169;
6364 } else
6365 goto st169;
6366 goto tr16;
6367 tr373:
6368 {
6369 SET_VEX_PREFIX3(*current_position);
6370 }
6371 goto st181;
6372 st181:
6373 if ( ++( current_position) == ( end_of_bundle) )
6374 goto _test_eof181;
6375 case 181:
6376 switch( (*( current_position)) ) {
6377 case 29u: goto st182;
6378 case 68u: goto st168;
6379 case 223u: goto st179;
6380 }
6381 if ( (*( current_position)) < 104u ) {
6382 if ( 92u <= (*( current_position)) && (*( current_position)) <= 95u )
6383 goto st169;
6384 } else if ( (*( current_position)) > 111u ) {
6385 if ( 120u <= (*( current_position)) && (*( current_position)) <= 127u )
6386 goto st169;
6387 } else
6388 goto st169;
6389 goto tr16;
6390 st182:
6391 if ( ++( current_position) == ( end_of_bundle) )
6392 goto _test_eof182;
6393 case 182:
6394 switch( (*( current_position)) ) {
6395 case 4u: goto tr408;
6396 case 5u: goto tr409;
6397 case 12u: goto tr408;
6398 case 13u: goto tr409;
6399 case 20u: goto tr408;
6400 case 21u: goto tr409;
6401 case 28u: goto tr408;
6402 case 29u: goto tr409;
6403 case 36u: goto tr408;
6404 case 37u: goto tr409;
6405 case 44u: goto tr408;
6406 case 45u: goto tr409;
6407 case 52u: goto tr408;
6408 case 53u: goto tr409;
6409 case 60u: goto tr408;
6410 case 61u: goto tr409;
6411 case 68u: goto tr411;
6412 case 76u: goto tr411;
6413 case 84u: goto tr411;
6414 case 92u: goto tr411;
6415 case 100u: goto tr411;
6416 case 108u: goto tr411;
6417 case 116u: goto tr411;
6418 case 124u: goto tr411;
6419 case 132u: goto tr412;
6420 case 140u: goto tr412;
6421 case 148u: goto tr412;
6422 case 156u: goto tr412;
6423 case 164u: goto tr412;
6424 case 172u: goto tr412;
6425 case 180u: goto tr412;
6426 case 188u: goto tr412;
6427 }
6428 if ( (*( current_position)) > 127u ) {
6429 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
6430 goto tr409;
6431 } else if ( (*( current_position)) >= 64u )
6432 goto tr410;
6433 goto tr407;
6434 tr374:
6435 {
6436 SET_VEX_PREFIX3(*current_position);
6437 }
6438 goto st183;
6439 st183:
6440 if ( ++( current_position) == ( end_of_bundle) )
6441 goto _test_eof183;
6442 case 183:
6443 if ( (*( current_position)) == 29u )
6444 goto st182;
6445 if ( (*( current_position)) < 108u ) {
6446 if ( (*( current_position)) > 95u ) {
6447 if ( 104u <= (*( current_position)) && (*( current_posit ion)) <= 105u )
6448 goto st169;
6449 } else if ( (*( current_position)) >= 92u )
6450 goto st169;
6451 } else if ( (*( current_position)) > 109u ) {
6452 if ( (*( current_position)) > 121u ) {
6453 if ( 124u <= (*( current_position)) && (*( current_posit ion)) <= 125u )
6454 goto st169;
6455 } else if ( (*( current_position)) >= 120u )
6456 goto st169;
6457 } else
6458 goto st169;
6459 goto tr16;
6460 tr375:
6461 {
6462 SET_VEX_PREFIX3(*current_position);
6463 }
6464 goto st184;
6465 st184:
6466 if ( ++( current_position) == ( end_of_bundle) )
6467 goto _test_eof184;
6468 case 184:
6469 if ( (*( current_position)) < 104u ) {
6470 if ( 92u <= (*( current_position)) && (*( current_position)) <= 95u )
6471 goto st169;
6472 } else if ( (*( current_position)) > 111u ) {
6473 if ( 120u <= (*( current_position)) && (*( current_position)) <= 127u )
6474 goto st169;
6475 } else
6476 goto st169;
6477 goto tr16;
6478 st185:
6479 if ( ++( current_position) == ( end_of_bundle) )
6480 goto _test_eof185;
6481 case 185:
6482 switch( (*( current_position)) ) {
6483 case 4u: goto st39; 6102 case 4u: goto st39;
6484 case 5u: goto st40; 6103 case 5u: goto st40;
6485 case 68u: goto st45; 6104 case 68u: goto st45;
6486 case 132u: goto st46; 6105 case 132u: goto st46;
6487 } 6106 }
6488 if ( (*( current_position)) < 64u ) { 6107 if ( (*( current_position)) < 64u ) {
6489 if ( (*( current_position)) <= 7u ) 6108 if ( (*( current_position)) <= 7u )
6490 goto st10; 6109 goto st10;
6491 } else if ( (*( current_position)) > 71u ) { 6110 } else if ( (*( current_position)) > 71u ) {
6492 if ( (*( current_position)) > 135u ) { 6111 if ( (*( current_position)) > 135u ) {
6493 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u ) 6112 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u )
6494 goto st10; 6113 goto st10;
6495 } else if ( (*( current_position)) >= 128u ) 6114 } else if ( (*( current_position)) >= 128u )
6496 goto st40; 6115 goto st40;
6497 } else 6116 } else
6498 goto st44; 6117 goto st44;
6499 goto tr16; 6118 goto tr16;
6500 st186: 6119 st171:
6501 if ( ++( current_position) == ( end_of_bundle) ) 6120 if ( ++( current_position) == ( end_of_bundle) )
6502 » » goto _test_eof186; 6121 » » goto _test_eof171;
6503 case 186: 6122 case 171:
6504 switch( (*( current_position)) ) { 6123 switch( (*( current_position)) ) {
6505 case 4u: goto st131; 6124 case 4u: goto st131;
6506 case 5u: goto st132; 6125 case 5u: goto st132;
6507 case 68u: goto st137; 6126 case 68u: goto st137;
6508 case 132u: goto st138; 6127 case 132u: goto st138;
6509 } 6128 }
6510 if ( (*( current_position)) < 64u ) { 6129 if ( (*( current_position)) < 64u ) {
6511 if ( (*( current_position)) <= 7u ) 6130 if ( (*( current_position)) <= 7u )
6512 goto st11; 6131 goto st11;
6513 } else if ( (*( current_position)) > 71u ) { 6132 } else if ( (*( current_position)) > 71u ) {
6514 if ( (*( current_position)) > 135u ) { 6133 if ( (*( current_position)) > 135u ) {
6515 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u ) 6134 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 199u )
6516 goto st11; 6135 goto st11;
6517 } else if ( (*( current_position)) >= 128u ) 6136 } else if ( (*( current_position)) >= 128u )
6518 goto st132; 6137 goto st132;
6519 } else 6138 } else
6520 goto st136; 6139 goto st136;
6521 goto tr16; 6140 goto tr16;
6522 st187: 6141 st172:
6523 if ( ++( current_position) == ( end_of_bundle) ) 6142 if ( ++( current_position) == ( end_of_bundle) )
6524 » » goto _test_eof187; 6143 » » goto _test_eof172;
6525 case 187: 6144 case 172:
6526 switch( (*( current_position)) ) { 6145 switch( (*( current_position)) ) {
6527 » » case 4u: goto tr414; 6146 » » case 4u: goto tr387;
6528 » » case 5u: goto tr415; 6147 » » case 5u: goto tr388;
6529 » » case 12u: goto tr414; 6148 » » case 12u: goto tr387;
6530 » » case 13u: goto tr415; 6149 » » case 13u: goto tr388;
6531 » » case 20u: goto tr414; 6150 » » case 20u: goto tr387;
6532 » » case 21u: goto tr415; 6151 » » case 21u: goto tr388;
6533 » » case 28u: goto tr414; 6152 » » case 28u: goto tr387;
6534 » » case 29u: goto tr415; 6153 » » case 29u: goto tr388;
6535 » » case 36u: goto tr414; 6154 » » case 36u: goto tr387;
6536 » » case 37u: goto tr415; 6155 » » case 37u: goto tr388;
6537 » » case 44u: goto tr414; 6156 » » case 44u: goto tr387;
6538 » » case 45u: goto tr415; 6157 » » case 45u: goto tr388;
6539 » » case 52u: goto tr414; 6158 » » case 52u: goto tr387;
6540 » » case 53u: goto tr415; 6159 » » case 53u: goto tr388;
6541 » » case 60u: goto tr414; 6160 » » case 60u: goto tr387;
6542 » » case 61u: goto tr415; 6161 » » case 61u: goto tr388;
6543 » » case 68u: goto tr417; 6162 » » case 68u: goto tr390;
6544 » » case 76u: goto tr417; 6163 » » case 76u: goto tr390;
6545 » » case 84u: goto tr417; 6164 » » case 84u: goto tr390;
6546 » » case 92u: goto tr417; 6165 » » case 92u: goto tr390;
6547 » » case 100u: goto tr417; 6166 » » case 100u: goto tr390;
6548 » » case 108u: goto tr417; 6167 » » case 108u: goto tr390;
6549 » » case 116u: goto tr417; 6168 » » case 116u: goto tr390;
6550 » » case 124u: goto tr417; 6169 » » case 124u: goto tr390;
6551 » » case 132u: goto tr418; 6170 » » case 132u: goto tr391;
6552 » » case 140u: goto tr418; 6171 » » case 140u: goto tr391;
6553 » » case 148u: goto tr418; 6172 » » case 148u: goto tr391;
6554 » » case 156u: goto tr418; 6173 » » case 156u: goto tr391;
6555 » » case 164u: goto tr418; 6174 » » case 164u: goto tr391;
6556 » » case 172u: goto tr418; 6175 » » case 172u: goto tr391;
6557 » » case 180u: goto tr418; 6176 » » case 180u: goto tr391;
6558 » » case 188u: goto tr418; 6177 » » case 188u: goto tr391;
6559 } 6178 }
6560 if ( (*( current_position)) > 127u ) { 6179 if ( (*( current_position)) > 127u ) {
6561 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 6180 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
6562 » » » goto tr415; 6181 » » » goto tr388;
6563 } else if ( (*( current_position)) >= 64u ) 6182 } else if ( (*( current_position)) >= 64u )
6564 » » goto tr416; 6183 » » goto tr389;
6565 » goto tr413; 6184 » goto tr386;
6566 st188: 6185 st173:
6567 if ( ++( current_position) == ( end_of_bundle) ) 6186 if ( ++( current_position) == ( end_of_bundle) )
6568 » » goto _test_eof188; 6187 » » goto _test_eof173;
6569 case 188: 6188 case 173:
6570 switch( (*( current_position)) ) { 6189 switch( (*( current_position)) ) {
6571 » » case 4u: goto tr414; 6190 » » case 4u: goto tr387;
6572 » » case 5u: goto tr415; 6191 » » case 5u: goto tr388;
6573 » » case 20u: goto tr414; 6192 » » case 20u: goto tr387;
6574 » » case 21u: goto tr415; 6193 » » case 21u: goto tr388;
6575 » » case 28u: goto tr414; 6194 » » case 28u: goto tr387;
6576 » » case 29u: goto tr415; 6195 » » case 29u: goto tr388;
6577 » » case 36u: goto tr414; 6196 » » case 36u: goto tr387;
6578 » » case 37u: goto tr415; 6197 » » case 37u: goto tr388;
6579 » » case 44u: goto tr414; 6198 » » case 44u: goto tr387;
6580 » » case 45u: goto tr415; 6199 » » case 45u: goto tr388;
6581 » » case 52u: goto tr414; 6200 » » case 52u: goto tr387;
6582 » » case 53u: goto tr415; 6201 » » case 53u: goto tr388;
6583 » » case 60u: goto tr414; 6202 » » case 60u: goto tr387;
6584 » » case 61u: goto tr415; 6203 » » case 61u: goto tr388;
6585 » » case 68u: goto tr417; 6204 » » case 68u: goto tr390;
6586 » » case 84u: goto tr417; 6205 » » case 84u: goto tr390;
6587 » » case 92u: goto tr417; 6206 » » case 92u: goto tr390;
6588 » » case 100u: goto tr417; 6207 » » case 100u: goto tr390;
6589 » » case 108u: goto tr417; 6208 » » case 108u: goto tr390;
6590 » » case 116u: goto tr417; 6209 » » case 116u: goto tr390;
6591 » » case 124u: goto tr417; 6210 » » case 124u: goto tr390;
6592 » » case 132u: goto tr418; 6211 » » case 132u: goto tr391;
6593 » » case 148u: goto tr418; 6212 » » case 148u: goto tr391;
6594 » » case 156u: goto tr418; 6213 » » case 156u: goto tr391;
6595 » » case 164u: goto tr418; 6214 » » case 164u: goto tr391;
6596 » » case 172u: goto tr418; 6215 » » case 172u: goto tr391;
6597 » » case 180u: goto tr418; 6216 » » case 180u: goto tr391;
6598 » » case 188u: goto tr418; 6217 » » case 188u: goto tr391;
6599 case 239u: goto tr16; 6218 case 239u: goto tr16;
6600 } 6219 }
6601 if ( (*( current_position)) < 128u ) { 6220 if ( (*( current_position)) < 128u ) {
6602 if ( (*( current_position)) < 64u ) { 6221 if ( (*( current_position)) < 64u ) {
6603 if ( 8u <= (*( current_position)) && (*( current_positio n)) <= 15u ) 6222 if ( 8u <= (*( current_position)) && (*( current_positio n)) <= 15u )
6604 goto tr16; 6223 goto tr16;
6605 } else if ( (*( current_position)) > 71u ) { 6224 } else if ( (*( current_position)) > 71u ) {
6606 if ( (*( current_position)) > 79u ) { 6225 if ( (*( current_position)) > 79u ) {
6607 if ( 80u <= (*( current_position)) && (*( curren t_position)) <= 127u ) 6226 if ( 80u <= (*( current_position)) && (*( curren t_position)) <= 127u )
6608 » » » » » goto tr416; 6227 » » » » » goto tr389;
6609 } else if ( (*( current_position)) >= 72u ) 6228 } else if ( (*( current_position)) >= 72u )
6610 goto tr16; 6229 goto tr16;
6611 } else 6230 } else
6612 » » » goto tr416; 6231 » » » goto tr389;
6613 } else if ( (*( current_position)) > 135u ) { 6232 } else if ( (*( current_position)) > 135u ) {
6614 if ( (*( current_position)) < 209u ) { 6233 if ( (*( current_position)) < 209u ) {
6615 if ( (*( current_position)) > 143u ) { 6234 if ( (*( current_position)) > 143u ) {
6616 if ( 144u <= (*( current_position)) && (*( curre nt_position)) <= 191u ) 6235 if ( 144u <= (*( current_position)) && (*( curre nt_position)) <= 191u )
6617 » » » » » goto tr415; 6236 » » » » » goto tr388;
6618 } else if ( (*( current_position)) >= 136u ) 6237 } else if ( (*( current_position)) >= 136u )
6619 goto tr16; 6238 goto tr16;
6620 } else if ( (*( current_position)) > 223u ) { 6239 } else if ( (*( current_position)) > 223u ) {
6621 if ( (*( current_position)) > 227u ) { 6240 if ( (*( current_position)) > 227u ) {
6622 if ( 230u <= (*( current_position)) && (*( curre nt_position)) <= 231u ) 6241 if ( 230u <= (*( current_position)) && (*( curre nt_position)) <= 231u )
6623 goto tr16; 6242 goto tr16;
6624 } else if ( (*( current_position)) >= 226u ) 6243 } else if ( (*( current_position)) >= 226u )
6625 goto tr16; 6244 goto tr16;
6626 } else 6245 } else
6627 goto tr16; 6246 goto tr16;
6628 } else 6247 } else
6629 » » goto tr415; 6248 » » goto tr388;
6630 » goto tr413; 6249 » goto tr386;
6631 st189: 6250 st174:
6632 » if ( ++( current_position) == ( end_of_bundle) ) 6251 » if ( ++( current_position) == ( end_of_bundle) )
6633 » » goto _test_eof189; 6252 » » goto _test_eof174;
6634 case 189: 6253 case 174:
6635 » switch( (*( current_position)) ) { 6254 » switch( (*( current_position)) ) {
6636 » » case 4u: goto tr414; 6255 » » case 4u: goto tr387;
6637 » » case 12u: goto tr414; 6256 » » case 12u: goto tr387;
6638 » » case 20u: goto tr414; 6257 » » case 20u: goto tr387;
6639 » » case 28u: goto tr414; 6258 » » case 28u: goto tr387;
6640 » » case 36u: goto tr414; 6259 » » case 36u: goto tr387;
6641 » » case 44u: goto tr414; 6260 » » case 44u: goto tr387;
6642 » » case 52u: goto tr414; 6261 » » case 52u: goto tr387;
6643 » » case 60u: goto tr414; 6262 » » case 60u: goto tr387;
6644 » » case 68u: goto tr417; 6263 » » case 68u: goto tr390;
6645 » » case 76u: goto tr417; 6264 » » case 76u: goto tr390;
6646 » » case 84u: goto tr417; 6265 » » case 84u: goto tr390;
6647 » » case 92u: goto tr417; 6266 » » case 92u: goto tr390;
6648 » » case 100u: goto tr417; 6267 » » case 100u: goto tr390;
6649 » » case 108u: goto tr417; 6268 » » case 108u: goto tr390;
6650 » » case 116u: goto tr417; 6269 » » case 116u: goto tr390;
6651 » » case 124u: goto tr417; 6270 » » case 124u: goto tr390;
6652 » » case 132u: goto tr418; 6271 » » case 132u: goto tr391;
6653 » » case 140u: goto tr418; 6272 » » case 140u: goto tr391;
6654 » » case 148u: goto tr418; 6273 » » case 148u: goto tr391;
6655 » » case 156u: goto tr418; 6274 » » case 156u: goto tr391;
6656 » » case 164u: goto tr418; 6275 » » case 164u: goto tr391;
6657 » » case 172u: goto tr418; 6276 » » case 172u: goto tr391;
6658 » » case 180u: goto tr418; 6277 » » case 180u: goto tr391;
6659 » » case 188u: goto tr418; 6278 » » case 188u: goto tr391;
6660 » » case 233u: goto tr413; 6279 » » case 233u: goto tr386;
6661 } 6280 }
6662 if ( (*( current_position)) < 38u ) { 6281 if ( (*( current_position)) < 38u ) {
6663 if ( (*( current_position)) < 14u ) { 6282 if ( (*( current_position)) < 14u ) {
6664 if ( (*( current_position)) > 3u ) { 6283 if ( (*( current_position)) > 3u ) {
6665 if ( 6u <= (*( current_position)) && (*( current _position)) <= 11u ) 6284 if ( 6u <= (*( current_position)) && (*( current _position)) <= 11u )
6666 » » » » » goto tr413; 6285 » » » » » goto tr386;
6667 » » » } else 6286 » » » } else
6668 » » » » goto tr413; 6287 » » » » goto tr386;
6669 } else if ( (*( current_position)) > 19u ) { 6288 } else if ( (*( current_position)) > 19u ) {
6670 if ( (*( current_position)) > 27u ) { 6289 if ( (*( current_position)) > 27u ) {
6671 if ( 30u <= (*( current_position)) && (*( curren t_position)) <= 35u ) 6290 if ( 30u <= (*( current_position)) && (*( curren t_position)) <= 35u )
6672 » » » » » goto tr413; 6291 » » » » » goto tr386;
6673 } else if ( (*( current_position)) >= 22u ) 6292 } else if ( (*( current_position)) >= 22u )
6674 » » » » goto tr413; 6293 » » » » goto tr386;
6675 » » } else 6294 » » } else
6676 » » » goto tr413; 6295 » » » goto tr386;
6677 } else if ( (*( current_position)) > 43u ) { 6296 } else if ( (*( current_position)) > 43u ) {
6678 if ( (*( current_position)) < 62u ) { 6297 if ( (*( current_position)) < 62u ) {
6679 if ( (*( current_position)) > 51u ) { 6298 if ( (*( current_position)) > 51u ) {
6680 if ( 54u <= (*( current_position)) && (*( curren t_position)) <= 59u ) 6299 if ( 54u <= (*( current_position)) && (*( curren t_position)) <= 59u )
6681 » » » » » goto tr413; 6300 » » » » » goto tr386;
6682 } else if ( (*( current_position)) >= 46u ) 6301 } else if ( (*( current_position)) >= 46u )
6683 » » » » goto tr413; 6302 » » » » goto tr386;
6684 } else if ( (*( current_position)) > 63u ) { 6303 } else if ( (*( current_position)) > 63u ) {
6685 if ( (*( current_position)) < 192u ) { 6304 if ( (*( current_position)) < 192u ) {
6686 if ( 64u <= (*( current_position)) && (*( curren t_position)) <= 127u ) 6305 if ( 64u <= (*( current_position)) && (*( curren t_position)) <= 127u )
6687 » » » » » goto tr416; 6306 » » » » » goto tr389;
6688 } else if ( (*( current_position)) > 223u ) { 6307 } else if ( (*( current_position)) > 223u ) {
6689 if ( 224u <= (*( current_position)) ) 6308 if ( 224u <= (*( current_position)) )
6690 goto tr16; 6309 goto tr16;
6691 } else 6310 } else
6692 » » » » goto tr419; 6311 » » » » goto tr392;
6693 » » } else 6312 » » } else
6694 » » » goto tr413; 6313 » » » goto tr386;
6695 » } else 6314 » } else
6696 » » goto tr413; 6315 » » goto tr386;
6697 » goto tr415; 6316 » goto tr388;
6698 st190: 6317 st175:
6699 » if ( ++( current_position) == ( end_of_bundle) ) 6318 » if ( ++( current_position) == ( end_of_bundle) )
6700 » » goto _test_eof190; 6319 » » goto _test_eof175;
6701 case 190: 6320 case 175:
6702 » switch( (*( current_position)) ) { 6321 » switch( (*( current_position)) ) {
6703 » » case 4u: goto tr414; 6322 » » case 4u: goto tr387;
6704 » » case 5u: goto tr415; 6323 » » case 5u: goto tr388;
6705 » » case 12u: goto tr414; 6324 » » case 12u: goto tr387;
6706 » » case 13u: goto tr415; 6325 » » case 13u: goto tr388;
6707 » » case 20u: goto tr414; 6326 » » case 20u: goto tr387;
6708 » » case 21u: goto tr415; 6327 » » case 21u: goto tr388;
6709 » » case 28u: goto tr414; 6328 » » case 28u: goto tr387;
6710 » » case 29u: goto tr415; 6329 » » case 29u: goto tr388;
6711 » » case 44u: goto tr414; 6330 » » case 44u: goto tr387;
6712 » » case 45u: goto tr415; 6331 » » case 45u: goto tr388;
6713 » » case 60u: goto tr414; 6332 » » case 60u: goto tr387;
6714 » » case 61u: goto tr415; 6333 » » case 61u: goto tr388;
6715 » » case 68u: goto tr417; 6334 » » case 68u: goto tr390;
6716 » » case 76u: goto tr417; 6335 » » case 76u: goto tr390;
6717 » » case 84u: goto tr417; 6336 » » case 84u: goto tr390;
6718 » » case 92u: goto tr417; 6337 » » case 92u: goto tr390;
6719 » » case 108u: goto tr417; 6338 » » case 108u: goto tr390;
6720 » » case 124u: goto tr417; 6339 » » case 124u: goto tr390;
6721 » » case 132u: goto tr418; 6340 » » case 132u: goto tr391;
6722 » » case 140u: goto tr418; 6341 » » case 140u: goto tr391;
6723 » » case 148u: goto tr418; 6342 » » case 148u: goto tr391;
6724 » » case 156u: goto tr418; 6343 » » case 156u: goto tr391;
6725 » » case 172u: goto tr418; 6344 » » case 172u: goto tr391;
6726 » » case 188u: goto tr418; 6345 » » case 188u: goto tr391;
6727 } 6346 }
6728 if ( (*( current_position)) < 120u ) { 6347 if ( (*( current_position)) < 120u ) {
6729 if ( (*( current_position)) < 56u ) { 6348 if ( (*( current_position)) < 56u ) {
6730 if ( (*( current_position)) > 31u ) { 6349 if ( (*( current_position)) > 31u ) {
6731 if ( 40u <= (*( current_position)) && (*( curren t_position)) <= 47u ) 6350 if ( 40u <= (*( current_position)) && (*( curren t_position)) <= 47u )
6732 » » » » » goto tr413; 6351 » » » » » goto tr386;
6733 » » » } else 6352 » » » } else
6734 » » » » goto tr413; 6353 » » » » goto tr386;
6735 } else if ( (*( current_position)) > 63u ) { 6354 } else if ( (*( current_position)) > 63u ) {
6736 if ( (*( current_position)) > 95u ) { 6355 if ( (*( current_position)) > 95u ) {
6737 if ( 104u <= (*( current_position)) && (*( curre nt_position)) <= 111u ) 6356 if ( 104u <= (*( current_position)) && (*( curre nt_position)) <= 111u )
6738 » » » » » goto tr416; 6357 » » » » » goto tr389;
6739 } else if ( (*( current_position)) >= 64u ) 6358 } else if ( (*( current_position)) >= 64u )
6740 » » » » goto tr416; 6359 » » » » goto tr389;
6741 » » } else 6360 » » } else
6742 » » » goto tr413; 6361 » » » goto tr386;
6743 } else if ( (*( current_position)) > 127u ) { 6362 } else if ( (*( current_position)) > 127u ) {
6744 if ( (*( current_position)) < 184u ) { 6363 if ( (*( current_position)) < 184u ) {
6745 if ( (*( current_position)) > 159u ) { 6364 if ( (*( current_position)) > 159u ) {
6746 if ( 168u <= (*( current_position)) && (*( curre nt_position)) <= 175u ) 6365 if ( 168u <= (*( current_position)) && (*( curre nt_position)) <= 175u )
6747 » » » » » goto tr415; 6366 » » » » » goto tr388;
6748 } else if ( (*( current_position)) >= 128u ) 6367 } else if ( (*( current_position)) >= 128u )
6749 » » » » goto tr415; 6368 » » » » goto tr388;
6750 } else if ( (*( current_position)) > 191u ) { 6369 } else if ( (*( current_position)) > 191u ) {
6751 if ( (*( current_position)) < 226u ) { 6370 if ( (*( current_position)) < 226u ) {
6752 if ( 192u <= (*( current_position)) && (*( curre nt_position)) <= 223u ) 6371 if ( 192u <= (*( current_position)) && (*( curre nt_position)) <= 223u )
6753 » » » » » goto tr419; 6372 » » » » » goto tr392;
6754 } else if ( (*( current_position)) > 227u ) { 6373 } else if ( (*( current_position)) > 227u ) {
6755 if ( 232u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 6374 if ( 232u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
6756 » » » » » goto tr413; 6375 » » » » » goto tr386;
6757 » » » } else 6376 » » » } else
6758 » » » » goto tr413; 6377 » » » » goto tr386;
6759 » » } else 6378 » » } else
6760 » » » goto tr415; 6379 » » » goto tr388;
6761 » } else 6380 » } else
6762 » » goto tr416; 6381 » » goto tr389;
6763 goto tr16; 6382 goto tr16;
6764 st191: 6383 st176:
6765 » if ( ++( current_position) == ( end_of_bundle) ) 6384 » if ( ++( current_position) == ( end_of_bundle) )
6766 » » goto _test_eof191; 6385 » » goto _test_eof176;
6767 case 191: 6386 case 176:
6768 » switch( (*( current_position)) ) { 6387 » switch( (*( current_position)) ) {
6769 » » case 4u: goto tr414; 6388 » » case 4u: goto tr387;
6770 » » case 5u: goto tr415; 6389 » » case 5u: goto tr388;
6771 » » case 12u: goto tr414; 6390 » » case 12u: goto tr387;
6772 » » case 13u: goto tr415; 6391 » » case 13u: goto tr388;
6773 » » case 20u: goto tr414; 6392 » » case 20u: goto tr387;
6774 » » case 21u: goto tr415; 6393 » » case 21u: goto tr388;
6775 » » case 28u: goto tr414; 6394 » » case 28u: goto tr387;
6776 » » case 29u: goto tr415; 6395 » » case 29u: goto tr388;
6777 » » case 36u: goto tr414; 6396 » » case 36u: goto tr387;
6778 » » case 37u: goto tr415; 6397 » » case 37u: goto tr388;
6779 » » case 44u: goto tr414; 6398 » » case 44u: goto tr387;
6780 » » case 45u: goto tr415; 6399 » » case 45u: goto tr388;
6781 » » case 52u: goto tr414; 6400 » » case 52u: goto tr387;
6782 » » case 53u: goto tr415; 6401 » » case 53u: goto tr388;
6783 » » case 60u: goto tr414; 6402 » » case 60u: goto tr387;
6784 » » case 61u: goto tr415; 6403 » » case 61u: goto tr388;
6785 » » case 68u: goto tr417; 6404 » » case 68u: goto tr390;
6786 » » case 76u: goto tr417; 6405 » » case 76u: goto tr390;
6787 » » case 84u: goto tr417; 6406 » » case 84u: goto tr390;
6788 » » case 92u: goto tr417; 6407 » » case 92u: goto tr390;
6789 » » case 100u: goto tr417; 6408 » » case 100u: goto tr390;
6790 » » case 108u: goto tr417; 6409 » » case 108u: goto tr390;
6791 » » case 116u: goto tr417; 6410 » » case 116u: goto tr390;
6792 » » case 124u: goto tr417; 6411 » » case 124u: goto tr390;
6793 » » case 132u: goto tr418; 6412 » » case 132u: goto tr391;
6794 » » case 140u: goto tr418; 6413 » » case 140u: goto tr391;
6795 » » case 148u: goto tr418; 6414 » » case 148u: goto tr391;
6796 » » case 156u: goto tr418; 6415 » » case 156u: goto tr391;
6797 » » case 164u: goto tr418; 6416 » » case 164u: goto tr391;
6798 » » case 172u: goto tr418; 6417 » » case 172u: goto tr391;
6799 » » case 180u: goto tr418; 6418 » » case 180u: goto tr391;
6800 » » case 188u: goto tr418; 6419 » » case 188u: goto tr391;
6801 } 6420 }
6802 if ( (*( current_position)) < 128u ) { 6421 if ( (*( current_position)) < 128u ) {
6803 if ( 64u <= (*( current_position)) && (*( current_position)) <= 127u ) 6422 if ( 64u <= (*( current_position)) && (*( current_position)) <= 127u )
6804 » » » goto tr416; 6423 » » » goto tr389;
6805 } else if ( (*( current_position)) > 191u ) { 6424 } else if ( (*( current_position)) > 191u ) {
6806 if ( 208u <= (*( current_position)) && (*( current_position)) <= 223u ) 6425 if ( 208u <= (*( current_position)) && (*( current_position)) <= 223u )
6807 goto tr16; 6426 goto tr16;
6808 } else 6427 } else
6809 » » goto tr415; 6428 » » goto tr388;
6810 » goto tr413; 6429 » goto tr386;
6811 st192: 6430 st177:
6812 » if ( ++( current_position) == ( end_of_bundle) ) 6431 » if ( ++( current_position) == ( end_of_bundle) )
6813 » » goto _test_eof192; 6432 » » goto _test_eof177;
6814 case 192: 6433 case 177:
6815 » switch( (*( current_position)) ) { 6434 » switch( (*( current_position)) ) {
6816 » » case 4u: goto tr414; 6435 » » case 4u: goto tr387;
6817 » » case 5u: goto tr415; 6436 » » case 5u: goto tr388;
6818 » » case 12u: goto tr414; 6437 » » case 12u: goto tr387;
6819 » » case 13u: goto tr415; 6438 » » case 13u: goto tr388;
6820 » » case 20u: goto tr414; 6439 » » case 20u: goto tr387;
6821 » » case 21u: goto tr415; 6440 » » case 21u: goto tr388;
6822 » » case 28u: goto tr414; 6441 » » case 28u: goto tr387;
6823 » » case 29u: goto tr415; 6442 » » case 29u: goto tr388;
6824 » » case 36u: goto tr414; 6443 » » case 36u: goto tr387;
6825 » » case 37u: goto tr415; 6444 » » case 37u: goto tr388;
6826 » » case 52u: goto tr414; 6445 » » case 52u: goto tr387;
6827 » » case 53u: goto tr415; 6446 » » case 53u: goto tr388;
6828 » » case 60u: goto tr414; 6447 » » case 60u: goto tr387;
6829 » » case 61u: goto tr415; 6448 » » case 61u: goto tr388;
6830 » » case 68u: goto tr417; 6449 » » case 68u: goto tr390;
6831 » » case 76u: goto tr417; 6450 » » case 76u: goto tr390;
6832 » » case 84u: goto tr417; 6451 » » case 84u: goto tr390;
6833 » » case 92u: goto tr417; 6452 » » case 92u: goto tr390;
6834 » » case 100u: goto tr417; 6453 » » case 100u: goto tr390;
6835 » » case 116u: goto tr417; 6454 » » case 116u: goto tr390;
6836 » » case 124u: goto tr417; 6455 » » case 124u: goto tr390;
6837 » » case 132u: goto tr418; 6456 » » case 132u: goto tr391;
6838 » » case 140u: goto tr418; 6457 » » case 140u: goto tr391;
6839 » » case 148u: goto tr418; 6458 » » case 148u: goto tr391;
6840 » » case 156u: goto tr418; 6459 » » case 156u: goto tr391;
6841 » » case 164u: goto tr418; 6460 » » case 164u: goto tr391;
6842 » » case 180u: goto tr418; 6461 » » case 180u: goto tr391;
6843 » » case 188u: goto tr418; 6462 » » case 188u: goto tr391;
6844 } 6463 }
6845 if ( (*( current_position)) < 128u ) { 6464 if ( (*( current_position)) < 128u ) {
6846 if ( (*( current_position)) < 64u ) { 6465 if ( (*( current_position)) < 64u ) {
6847 if ( 40u <= (*( current_position)) && (*( current_positi on)) <= 47u ) 6466 if ( 40u <= (*( current_position)) && (*( current_positi on)) <= 47u )
6848 goto tr16; 6467 goto tr16;
6849 } else if ( (*( current_position)) > 103u ) { 6468 } else if ( (*( current_position)) > 103u ) {
6850 if ( (*( current_position)) > 111u ) { 6469 if ( (*( current_position)) > 111u ) {
6851 if ( 112u <= (*( current_position)) && (*( curre nt_position)) <= 127u ) 6470 if ( 112u <= (*( current_position)) && (*( curre nt_position)) <= 127u )
6852 » » » » » goto tr416; 6471 » » » » » goto tr389;
6853 } else if ( (*( current_position)) >= 104u ) 6472 } else if ( (*( current_position)) >= 104u )
6854 goto tr16; 6473 goto tr16;
6855 } else 6474 } else
6856 » » » goto tr416; 6475 » » » goto tr389;
6857 } else if ( (*( current_position)) > 167u ) { 6476 } else if ( (*( current_position)) > 167u ) {
6858 if ( (*( current_position)) < 176u ) { 6477 if ( (*( current_position)) < 176u ) {
6859 if ( 168u <= (*( current_position)) && (*( current_posit ion)) <= 175u ) 6478 if ( 168u <= (*( current_position)) && (*( current_posit ion)) <= 175u )
6860 goto tr16; 6479 goto tr16;
6861 } else if ( (*( current_position)) > 191u ) { 6480 } else if ( (*( current_position)) > 191u ) {
6862 if ( (*( current_position)) > 207u ) { 6481 if ( (*( current_position)) > 207u ) {
6863 if ( 240u <= (*( current_position)) ) 6482 if ( 240u <= (*( current_position)) )
6864 goto tr16; 6483 goto tr16;
6865 } else if ( (*( current_position)) >= 200u ) 6484 } else if ( (*( current_position)) >= 200u )
6866 goto tr16; 6485 goto tr16;
6867 } else 6486 } else
6868 » » » goto tr415; 6487 » » » goto tr388;
6869 } else 6488 } else
6870 » » goto tr415; 6489 » » goto tr388;
6871 » goto tr413; 6490 » goto tr386;
6872 st193: 6491 st178:
6873 if ( ++( current_position) == ( end_of_bundle) ) 6492 if ( ++( current_position) == ( end_of_bundle) )
6874 » » goto _test_eof193; 6493 » » goto _test_eof178;
6875 case 193: 6494 case 178:
6876 switch( (*( current_position)) ) { 6495 switch( (*( current_position)) ) {
6877 » » case 4u: goto tr414; 6496 » » case 4u: goto tr387;
6878 » » case 5u: goto tr415; 6497 » » case 5u: goto tr388;
6879 » » case 12u: goto tr414; 6498 » » case 12u: goto tr387;
6880 » » case 13u: goto tr415; 6499 » » case 13u: goto tr388;
6881 » » case 20u: goto tr414; 6500 » » case 20u: goto tr387;
6882 » » case 21u: goto tr415; 6501 » » case 21u: goto tr388;
6883 » » case 28u: goto tr414; 6502 » » case 28u: goto tr387;
6884 » » case 29u: goto tr415; 6503 » » case 29u: goto tr388;
6885 » » case 36u: goto tr414; 6504 » » case 36u: goto tr387;
6886 » » case 37u: goto tr415; 6505 » » case 37u: goto tr388;
6887 » » case 44u: goto tr414; 6506 » » case 44u: goto tr387;
6888 » » case 45u: goto tr415; 6507 » » case 45u: goto tr388;
6889 » » case 52u: goto tr414; 6508 » » case 52u: goto tr387;
6890 » » case 53u: goto tr415; 6509 » » case 53u: goto tr388;
6891 » » case 60u: goto tr414; 6510 » » case 60u: goto tr387;
6892 » » case 61u: goto tr415; 6511 » » case 61u: goto tr388;
6893 » » case 68u: goto tr417; 6512 » » case 68u: goto tr390;
6894 » » case 76u: goto tr417; 6513 » » case 76u: goto tr390;
6895 » » case 84u: goto tr417; 6514 » » case 84u: goto tr390;
6896 » » case 92u: goto tr417; 6515 » » case 92u: goto tr390;
6897 » » case 100u: goto tr417; 6516 » » case 100u: goto tr390;
6898 » » case 108u: goto tr417; 6517 » » case 108u: goto tr390;
6899 » » case 116u: goto tr417; 6518 » » case 116u: goto tr390;
6900 » » case 124u: goto tr417; 6519 » » case 124u: goto tr390;
6901 » » case 132u: goto tr418; 6520 » » case 132u: goto tr391;
6902 » » case 140u: goto tr418; 6521 » » case 140u: goto tr391;
6903 » » case 148u: goto tr418; 6522 » » case 148u: goto tr391;
6904 » » case 156u: goto tr418; 6523 » » case 156u: goto tr391;
6905 » » case 164u: goto tr418; 6524 » » case 164u: goto tr391;
6906 » » case 172u: goto tr418; 6525 » » case 172u: goto tr391;
6907 » » case 180u: goto tr418; 6526 » » case 180u: goto tr391;
6908 » » case 188u: goto tr418; 6527 » » case 188u: goto tr391;
6909 } 6528 }
6910 if ( (*( current_position)) < 128u ) { 6529 if ( (*( current_position)) < 128u ) {
6911 if ( 64u <= (*( current_position)) && (*( current_position)) <= 127u ) 6530 if ( 64u <= (*( current_position)) && (*( current_position)) <= 127u )
6912 » » » goto tr416; 6531 » » » goto tr389;
6913 } else if ( (*( current_position)) > 191u ) { 6532 } else if ( (*( current_position)) > 191u ) {
6914 if ( (*( current_position)) > 216u ) { 6533 if ( (*( current_position)) > 216u ) {
6915 if ( 218u <= (*( current_position)) && (*( current_posit ion)) <= 223u ) 6534 if ( 218u <= (*( current_position)) && (*( current_posit ion)) <= 223u )
6916 goto tr16; 6535 goto tr16;
6917 } else if ( (*( current_position)) >= 208u ) 6536 } else if ( (*( current_position)) >= 208u )
6918 goto tr16; 6537 goto tr16;
6919 } else 6538 } else
6920 » » goto tr415; 6539 » » goto tr388;
6921 » goto tr413; 6540 » goto tr386;
6922 st194: 6541 st179:
6923 if ( ++( current_position) == ( end_of_bundle) ) 6542 if ( ++( current_position) == ( end_of_bundle) )
6924 » » goto _test_eof194; 6543 » » goto _test_eof179;
6925 case 194: 6544 case 179:
6926 switch( (*( current_position)) ) { 6545 switch( (*( current_position)) ) {
6927 » » case 4u: goto tr414; 6546 » » case 4u: goto tr387;
6928 » » case 5u: goto tr415; 6547 » » case 5u: goto tr388;
6929 » » case 12u: goto tr414; 6548 » » case 12u: goto tr387;
6930 » » case 13u: goto tr415; 6549 » » case 13u: goto tr388;
6931 » » case 20u: goto tr414; 6550 » » case 20u: goto tr387;
6932 » » case 21u: goto tr415; 6551 » » case 21u: goto tr388;
6933 » » case 28u: goto tr414; 6552 » » case 28u: goto tr387;
6934 » » case 29u: goto tr415; 6553 » » case 29u: goto tr388;
6935 » » case 36u: goto tr414; 6554 » » case 36u: goto tr387;
6936 » » case 37u: goto tr415; 6555 » » case 37u: goto tr388;
6937 » » case 44u: goto tr414; 6556 » » case 44u: goto tr387;
6938 » » case 45u: goto tr415; 6557 » » case 45u: goto tr388;
6939 » » case 52u: goto tr414; 6558 » » case 52u: goto tr387;
6940 » » case 53u: goto tr415; 6559 » » case 53u: goto tr388;
6941 » » case 60u: goto tr414; 6560 » » case 60u: goto tr387;
6942 » » case 61u: goto tr415; 6561 » » case 61u: goto tr388;
6943 » » case 68u: goto tr417; 6562 » » case 68u: goto tr390;
6944 » » case 76u: goto tr417; 6563 » » case 76u: goto tr390;
6945 » » case 84u: goto tr417; 6564 » » case 84u: goto tr390;
6946 » » case 92u: goto tr417; 6565 » » case 92u: goto tr390;
6947 » » case 100u: goto tr417; 6566 » » case 100u: goto tr390;
6948 » » case 108u: goto tr417; 6567 » » case 108u: goto tr390;
6949 » » case 116u: goto tr417; 6568 » » case 116u: goto tr390;
6950 » » case 124u: goto tr417; 6569 » » case 124u: goto tr390;
6951 » » case 132u: goto tr418; 6570 » » case 132u: goto tr391;
6952 » » case 140u: goto tr418; 6571 » » case 140u: goto tr391;
6953 » » case 148u: goto tr418; 6572 » » case 148u: goto tr391;
6954 » » case 156u: goto tr418; 6573 » » case 156u: goto tr391;
6955 » » case 164u: goto tr418; 6574 » » case 164u: goto tr391;
6956 » » case 172u: goto tr418; 6575 » » case 172u: goto tr391;
6957 » » case 180u: goto tr418; 6576 » » case 180u: goto tr391;
6958 » » case 188u: goto tr418; 6577 » » case 188u: goto tr391;
6959 } 6578 }
6960 if ( (*( current_position)) < 192u ) { 6579 if ( (*( current_position)) < 192u ) {
6961 if ( (*( current_position)) > 127u ) { 6580 if ( (*( current_position)) > 127u ) {
6962 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 191u ) 6581 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 191u )
6963 » » » » goto tr415; 6582 » » » » goto tr388;
6964 } else if ( (*( current_position)) >= 64u ) 6583 } else if ( (*( current_position)) >= 64u )
6965 » » » goto tr416; 6584 » » » goto tr389;
6966 } else if ( (*( current_position)) > 223u ) { 6585 } else if ( (*( current_position)) > 223u ) {
6967 if ( (*( current_position)) > 231u ) { 6586 if ( (*( current_position)) > 231u ) {
6968 if ( 248u <= (*( current_position)) ) 6587 if ( 248u <= (*( current_position)) )
6969 goto tr16; 6588 goto tr16;
6970 } else if ( (*( current_position)) >= 225u ) 6589 } else if ( (*( current_position)) >= 225u )
6971 goto tr16; 6590 goto tr16;
6972 } else 6591 } else
6973 goto tr16; 6592 goto tr16;
6974 » goto tr413; 6593 » goto tr386;
6975 st195: 6594 st180:
6976 if ( ++( current_position) == ( end_of_bundle) ) 6595 if ( ++( current_position) == ( end_of_bundle) )
6977 » » goto _test_eof195; 6596 » » goto _test_eof180;
6978 case 195: 6597 case 180:
6979 » goto tr420; 6598 » goto tr393;
6980 tr420: 6599 tr393:
6981 {} 6600 {}
6982 » goto st196; 6601 » goto st181;
6983 st196: 6602 st181:
6984 if ( ++( current_position) == ( end_of_bundle) ) 6603 if ( ++( current_position) == ( end_of_bundle) )
6985 » » goto _test_eof196; 6604 » » goto _test_eof181;
6986 case 196: 6605 case 181:
6987 » goto tr421; 6606 » goto tr394;
6988 tr421: 6607 tr394:
6989 {} 6608 {}
6990 » goto st197; 6609 » goto st182;
6991 st197: 6610 st182:
6992 if ( ++( current_position) == ( end_of_bundle) ) 6611 if ( ++( current_position) == ( end_of_bundle) )
6993 » » goto _test_eof197; 6612 » » goto _test_eof182;
6994 case 197: 6613 case 182:
6995 » goto tr422; 6614 » goto tr395;
6996 tr422: 6615 tr395:
6997 {} 6616 {}
6998 » goto st198; 6617 » goto st183;
6999 st198: 6618 st183:
7000 if ( ++( current_position) == ( end_of_bundle) ) 6619 if ( ++( current_position) == ( end_of_bundle) )
7001 » » goto _test_eof198; 6620 » » goto _test_eof183;
7002 case 198: 6621 case 183:
7003 » goto tr423; 6622 » goto tr396;
7004 st199: 6623 st184:
7005 if ( ++( current_position) == ( end_of_bundle) ) 6624 if ( ++( current_position) == ( end_of_bundle) )
7006 » » goto _test_eof199; 6625 » » goto _test_eof184;
7007 case 199: 6626 case 184:
7008 switch( (*( current_position)) ) { 6627 switch( (*( current_position)) ) {
7009 » » case 15u: goto st200; 6628 » » case 15u: goto st185;
7010 case 102u: goto st119; 6629 case 102u: goto st119;
7011 case 128u: goto st121; 6630 case 128u: goto st121;
7012 » » case 129u: goto st201; 6631 » » case 129u: goto st186;
7013 case 131u: goto st121; 6632 case 131u: goto st121;
7014 } 6633 }
7015 if ( (*( current_position)) < 32u ) { 6634 if ( (*( current_position)) < 32u ) {
7016 if ( (*( current_position)) < 8u ) { 6635 if ( (*( current_position)) < 8u ) {
7017 if ( (*( current_position)) <= 1u ) 6636 if ( (*( current_position)) <= 1u )
7018 goto st115; 6637 goto st115;
7019 } else if ( (*( current_position)) > 9u ) { 6638 } else if ( (*( current_position)) > 9u ) {
7020 if ( (*( current_position)) > 17u ) { 6639 if ( (*( current_position)) > 17u ) {
7021 if ( 24u <= (*( current_position)) && (*( curren t_position)) <= 25u ) 6640 if ( 24u <= (*( current_position)) && (*( curren t_position)) <= 25u )
7022 goto st115; 6641 goto st115;
(...skipping 12 matching lines...) Expand all
7035 if ( (*( current_position)) > 247u ) { 6654 if ( (*( current_position)) > 247u ) {
7036 if ( 254u <= (*( current_position)) ) 6655 if ( 254u <= (*( current_position)) )
7037 goto st123; 6656 goto st123;
7038 } else if ( (*( current_position)) >= 246u ) 6657 } else if ( (*( current_position)) >= 246u )
7039 goto st122; 6658 goto st122;
7040 } else 6659 } else
7041 goto st115; 6660 goto st115;
7042 } else 6661 } else
7043 goto st115; 6662 goto st115;
7044 goto tr16; 6663 goto tr16;
7045 st200: 6664 st185:
7046 if ( ++( current_position) == ( end_of_bundle) ) 6665 if ( ++( current_position) == ( end_of_bundle) )
7047 » » goto _test_eof200; 6666 » » goto _test_eof185;
7048 case 200: 6667 case 185:
7049 if ( (*( current_position)) == 199u ) 6668 if ( (*( current_position)) == 199u )
7050 goto st61; 6669 goto st61;
7051 if ( (*( current_position)) > 177u ) { 6670 if ( (*( current_position)) > 177u ) {
7052 if ( 192u <= (*( current_position)) && (*( current_position)) <= 193u ) 6671 if ( 192u <= (*( current_position)) && (*( current_position)) <= 193u )
7053 goto st115; 6672 goto st115;
7054 } else if ( (*( current_position)) >= 176u ) 6673 } else if ( (*( current_position)) >= 176u )
7055 goto st115; 6674 goto st115;
7056 goto tr16; 6675 goto tr16;
7057 st201: 6676 st186:
7058 if ( ++( current_position) == ( end_of_bundle) ) 6677 if ( ++( current_position) == ( end_of_bundle) )
7059 » » goto _test_eof201; 6678 » » goto _test_eof186;
7060 case 201: 6679 case 186:
7061 switch( (*( current_position)) ) { 6680 switch( (*( current_position)) ) {
7062 case 4u: goto st131; 6681 case 4u: goto st131;
7063 case 5u: goto st132; 6682 case 5u: goto st132;
7064 case 12u: goto st131; 6683 case 12u: goto st131;
7065 case 13u: goto st132; 6684 case 13u: goto st132;
7066 case 20u: goto st131; 6685 case 20u: goto st131;
7067 case 21u: goto st132; 6686 case 21u: goto st132;
7068 case 28u: goto st131; 6687 case 28u: goto st131;
7069 case 29u: goto st132; 6688 case 29u: goto st132;
7070 case 36u: goto st131; 6689 case 36u: goto st131;
(...skipping 19 matching lines...) Expand all
7090 } 6709 }
7091 if ( (*( current_position)) < 64u ) { 6710 if ( (*( current_position)) < 64u ) {
7092 if ( (*( current_position)) <= 55u ) 6711 if ( (*( current_position)) <= 55u )
7093 goto st11; 6712 goto st11;
7094 } else if ( (*( current_position)) > 119u ) { 6713 } else if ( (*( current_position)) > 119u ) {
7095 if ( 128u <= (*( current_position)) && (*( current_position)) <= 183u ) 6714 if ( 128u <= (*( current_position)) && (*( current_position)) <= 183u )
7096 goto st132; 6715 goto st132;
7097 } else 6716 } else
7098 goto st136; 6717 goto st136;
7099 goto tr16; 6718 goto tr16;
7100 st202: 6719 st187:
7101 if ( ++( current_position) == ( end_of_bundle) ) 6720 if ( ++( current_position) == ( end_of_bundle) )
7102 » » goto _test_eof202; 6721 » » goto _test_eof187;
7103 case 202: 6722 case 187:
7104 switch( (*( current_position)) ) { 6723 switch( (*( current_position)) ) {
7105 » » case 15u: goto st203; 6724 » » case 15u: goto st188;
7106 case 102u: goto st124; 6725 case 102u: goto st124;
7107 } 6726 }
7108 if ( (*( current_position)) > 167u ) { 6727 if ( (*( current_position)) > 167u ) {
7109 if ( 174u <= (*( current_position)) && (*( current_position)) <= 175u ) 6728 if ( 174u <= (*( current_position)) && (*( current_position)) <= 175u )
7110 goto tr0; 6729 goto tr0;
7111 } else if ( (*( current_position)) >= 166u ) 6730 } else if ( (*( current_position)) >= 166u )
7112 goto tr0; 6731 goto tr0;
7113 goto tr16; 6732 goto tr16;
7114 st203: 6733 st188:
7115 if ( ++( current_position) == ( end_of_bundle) ) 6734 if ( ++( current_position) == ( end_of_bundle) )
7116 » » goto _test_eof203; 6735 » » goto _test_eof188;
7117 case 203: 6736 case 188:
7118 switch( (*( current_position)) ) { 6737 switch( (*( current_position)) ) {
7119 case 18u: goto st96; 6738 case 18u: goto st96;
7120 » » case 43u: goto st204; 6739 » » case 43u: goto st189;
7121 » » case 56u: goto st205; 6740 » » case 56u: goto st190;
7122 case 81u: goto st32; 6741 case 81u: goto st32;
7123 case 112u: goto st92; 6742 case 112u: goto st92;
7124 » » case 120u: goto st206; 6743 » » case 120u: goto st191;
7125 case 121u: goto st95; 6744 case 121u: goto st95;
7126 case 194u: goto st92; 6745 case 194u: goto st92;
7127 case 208u: goto st28; 6746 case 208u: goto st28;
7128 case 214u: goto st91; 6747 case 214u: goto st91;
7129 case 230u: goto st32; 6748 case 230u: goto st32;
7130 » » case 240u: goto st209; 6749 » » case 240u: goto st194;
7131 } 6750 }
7132 if ( (*( current_position)) < 88u ) { 6751 if ( (*( current_position)) < 88u ) {
7133 if ( (*( current_position)) > 17u ) { 6752 if ( (*( current_position)) > 17u ) {
7134 if ( 42u <= (*( current_position)) && (*( current_positi on)) <= 45u ) 6753 if ( 42u <= (*( current_position)) && (*( current_positi on)) <= 45u )
7135 goto st32; 6754 goto st32;
7136 } else if ( (*( current_position)) >= 16u ) 6755 } else if ( (*( current_position)) >= 16u )
7137 goto st32; 6756 goto st32;
7138 } else if ( (*( current_position)) > 90u ) { 6757 } else if ( (*( current_position)) > 90u ) {
7139 if ( (*( current_position)) > 95u ) { 6758 if ( (*( current_position)) > 95u ) {
7140 if ( 124u <= (*( current_position)) && (*( current_posit ion)) <= 125u ) 6759 if ( 124u <= (*( current_position)) && (*( current_posit ion)) <= 125u )
7141 goto st96; 6760 goto st96;
7142 } else if ( (*( current_position)) >= 92u ) 6761 } else if ( (*( current_position)) >= 92u )
7143 goto st32; 6762 goto st32;
7144 } else 6763 } else
7145 goto st32; 6764 goto st32;
7146 goto tr16; 6765 goto tr16;
7147 st204: 6766 st189:
7148 if ( ++( current_position) == ( end_of_bundle) ) 6767 if ( ++( current_position) == ( end_of_bundle) )
7149 » » goto _test_eof204; 6768 » » goto _test_eof189;
7150 case 204: 6769 case 189:
7151 switch( (*( current_position)) ) { 6770 switch( (*( current_position)) ) {
7152 » » case 4u: goto tr431; 6771 » » case 4u: goto tr404;
7153 » » case 12u: goto tr431; 6772 » » case 12u: goto tr404;
7154 » » case 20u: goto tr431; 6773 » » case 20u: goto tr404;
7155 » » case 28u: goto tr431; 6774 » » case 28u: goto tr404;
7156 » » case 36u: goto tr431; 6775 » » case 36u: goto tr404;
7157 » » case 44u: goto tr431; 6776 » » case 44u: goto tr404;
7158 » » case 52u: goto tr431; 6777 » » case 52u: goto tr404;
7159 » » case 60u: goto tr431; 6778 » » case 60u: goto tr404;
7160 » » case 68u: goto tr434; 6779 » » case 68u: goto tr407;
7161 » » case 76u: goto tr434; 6780 » » case 76u: goto tr407;
7162 » » case 84u: goto tr434; 6781 » » case 84u: goto tr407;
7163 » » case 92u: goto tr434; 6782 » » case 92u: goto tr407;
7164 » » case 100u: goto tr434; 6783 » » case 100u: goto tr407;
7165 » » case 108u: goto tr434; 6784 » » case 108u: goto tr407;
7166 » » case 116u: goto tr434; 6785 » » case 116u: goto tr407;
7167 » » case 124u: goto tr434; 6786 » » case 124u: goto tr407;
7168 » » case 132u: goto tr435; 6787 » » case 132u: goto tr408;
7169 » » case 140u: goto tr435; 6788 » » case 140u: goto tr408;
7170 » » case 148u: goto tr435; 6789 » » case 148u: goto tr408;
7171 » » case 156u: goto tr435; 6790 » » case 156u: goto tr408;
7172 » » case 164u: goto tr435; 6791 » » case 164u: goto tr408;
7173 » » case 172u: goto tr435; 6792 » » case 172u: goto tr408;
7174 » » case 180u: goto tr435; 6793 » » case 180u: goto tr408;
7175 » » case 188u: goto tr435; 6794 » » case 188u: goto tr408;
7176 } 6795 }
7177 if ( (*( current_position)) < 38u ) { 6796 if ( (*( current_position)) < 38u ) {
7178 if ( (*( current_position)) < 14u ) { 6797 if ( (*( current_position)) < 14u ) {
7179 if ( (*( current_position)) > 3u ) { 6798 if ( (*( current_position)) > 3u ) {
7180 if ( 6u <= (*( current_position)) && (*( current _position)) <= 11u ) 6799 if ( 6u <= (*( current_position)) && (*( current _position)) <= 11u )
7181 goto tr255; 6800 goto tr255;
7182 } else 6801 } else
7183 goto tr255; 6802 goto tr255;
7184 } else if ( (*( current_position)) > 19u ) { 6803 } else if ( (*( current_position)) > 19u ) {
7185 if ( (*( current_position)) > 27u ) { 6804 if ( (*( current_position)) > 27u ) {
7186 if ( 30u <= (*( current_position)) && (*( curren t_position)) <= 35u ) 6805 if ( 30u <= (*( current_position)) && (*( curren t_position)) <= 35u )
7187 goto tr255; 6806 goto tr255;
7188 } else if ( (*( current_position)) >= 22u ) 6807 } else if ( (*( current_position)) >= 22u )
7189 goto tr255; 6808 goto tr255;
7190 } else 6809 } else
7191 goto tr255; 6810 goto tr255;
7192 } else if ( (*( current_position)) > 43u ) { 6811 } else if ( (*( current_position)) > 43u ) {
7193 if ( (*( current_position)) < 62u ) { 6812 if ( (*( current_position)) < 62u ) {
7194 if ( (*( current_position)) > 51u ) { 6813 if ( (*( current_position)) > 51u ) {
7195 if ( 54u <= (*( current_position)) && (*( curren t_position)) <= 59u ) 6814 if ( 54u <= (*( current_position)) && (*( curren t_position)) <= 59u )
7196 goto tr255; 6815 goto tr255;
7197 } else if ( (*( current_position)) >= 46u ) 6816 } else if ( (*( current_position)) >= 46u )
7198 goto tr255; 6817 goto tr255;
7199 } else if ( (*( current_position)) > 63u ) { 6818 } else if ( (*( current_position)) > 63u ) {
7200 if ( (*( current_position)) > 127u ) { 6819 if ( (*( current_position)) > 127u ) {
7201 if ( 192u <= (*( current_position)) ) 6820 if ( 192u <= (*( current_position)) )
7202 goto tr16; 6821 goto tr16;
7203 } else if ( (*( current_position)) >= 64u ) 6822 } else if ( (*( current_position)) >= 64u )
7204 » » » » goto tr433; 6823 » » » » goto tr406;
7205 } else 6824 } else
7206 goto tr255; 6825 goto tr255;
7207 } else 6826 } else
7208 goto tr255; 6827 goto tr255;
7209 » goto tr432; 6828 » goto tr405;
7210 st205: 6829 st190:
7211 if ( ++( current_position) == ( end_of_bundle) ) 6830 if ( ++( current_position) == ( end_of_bundle) )
7212 » » goto _test_eof205; 6831 » » goto _test_eof190;
7213 case 205: 6832 case 190:
7214 if ( 240u <= (*( current_position)) && (*( current_position)) <= 241u ) 6833 if ( 240u <= (*( current_position)) && (*( current_position)) <= 241u )
7215 goto st84; 6834 goto st84;
7216 goto tr16; 6835 goto tr16;
7217 st206: 6836 st191:
7218 if ( ++( current_position) == ( end_of_bundle) ) 6837 if ( ++( current_position) == ( end_of_bundle) )
7219 » » goto _test_eof206; 6838 » » goto _test_eof191;
7220 case 206: 6839 case 191:
7221 if ( 192u <= (*( current_position)) ) 6840 if ( 192u <= (*( current_position)) )
7222 » » goto tr436; 6841 » » goto tr409;
7223 goto tr16; 6842 goto tr16;
7224 tr436: 6843 tr409:
7225 { SET_CPU_FEATURE(CPUFeature_SSE4A); } 6844 { SET_CPU_FEATURE(CPUFeature_SSE4A); }
7226 » goto st207; 6845 » goto st192;
7227 st207: 6846 st192:
7228 if ( ++( current_position) == ( end_of_bundle) ) 6847 if ( ++( current_position) == ( end_of_bundle) )
7229 » » goto _test_eof207; 6848 » » goto _test_eof192;
7230 case 207: 6849 case 192:
7231 » goto tr437; 6850 » goto tr410;
7232 tr437: 6851 tr410:
7233 { 6852 {
7234 SET_IMM_TYPE(IMM8); 6853 SET_IMMEDIATE_FORMAT(IMM8);
7235 SET_IMM_PTR(current_position); 6854 SET_IMMEDIATE_POINTER(current_position);
7236 } 6855 }
7237 {} 6856 {}
7238 » goto st208; 6857 » goto st193;
7239 st208: 6858 st193:
7240 if ( ++( current_position) == ( end_of_bundle) ) 6859 if ( ++( current_position) == ( end_of_bundle) )
7241 » » goto _test_eof208; 6860 » » goto _test_eof193;
7242 case 208: 6861 case 193:
7243 » goto tr438; 6862 » goto tr411;
7244 st209: 6863 st194:
7245 if ( ++( current_position) == ( end_of_bundle) ) 6864 if ( ++( current_position) == ( end_of_bundle) )
7246 » » goto _test_eof209; 6865 » » goto _test_eof194;
7247 case 209: 6866 case 194:
7248 switch( (*( current_position)) ) { 6867 switch( (*( current_position)) ) {
7249 case 4u: goto tr257; 6868 case 4u: goto tr257;
7250 case 12u: goto tr257; 6869 case 12u: goto tr257;
7251 case 20u: goto tr257; 6870 case 20u: goto tr257;
7252 case 28u: goto tr257; 6871 case 28u: goto tr257;
7253 case 36u: goto tr257; 6872 case 36u: goto tr257;
7254 case 44u: goto tr257; 6873 case 44u: goto tr257;
7255 case 52u: goto tr257; 6874 case 52u: goto tr257;
7256 case 60u: goto tr257; 6875 case 60u: goto tr257;
7257 case 68u: goto tr260; 6876 case 68u: goto tr260;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
7297 if ( (*( current_position)) > 127u ) { 6916 if ( (*( current_position)) > 127u ) {
7298 if ( 192u <= (*( current_position)) ) 6917 if ( 192u <= (*( current_position)) )
7299 goto tr16; 6918 goto tr16;
7300 } else if ( (*( current_position)) >= 64u ) 6919 } else if ( (*( current_position)) >= 64u )
7301 goto tr259; 6920 goto tr259;
7302 } else 6921 } else
7303 goto tr256; 6922 goto tr256;
7304 } else 6923 } else
7305 goto tr256; 6924 goto tr256;
7306 goto tr258; 6925 goto tr258;
7307 st210: 6926 st195:
7308 if ( ++( current_position) == ( end_of_bundle) ) 6927 if ( ++( current_position) == ( end_of_bundle) )
7309 » » goto _test_eof210; 6928 » » goto _test_eof195;
7310 case 210: 6929 case 195:
7311 switch( (*( current_position)) ) { 6930 switch( (*( current_position)) ) {
7312 » » case 15u: goto st211; 6931 » » case 15u: goto st196;
7313 case 102u: goto st127; 6932 case 102u: goto st127;
7314 case 144u: goto tr0; 6933 case 144u: goto tr0;
7315 } 6934 }
7316 if ( (*( current_position)) < 170u ) { 6935 if ( (*( current_position)) < 170u ) {
7317 if ( 164u <= (*( current_position)) && (*( current_position)) <= 167u ) 6936 if ( 164u <= (*( current_position)) && (*( current_position)) <= 167u )
7318 goto tr0; 6937 goto tr0;
7319 } else if ( (*( current_position)) > 171u ) { 6938 } else if ( (*( current_position)) > 171u ) {
7320 if ( 174u <= (*( current_position)) && (*( current_position)) <= 175u ) 6939 if ( 174u <= (*( current_position)) && (*( current_position)) <= 175u )
7321 goto tr0; 6940 goto tr0;
7322 } else 6941 } else
7323 goto tr0; 6942 goto tr0;
7324 goto tr16; 6943 goto tr16;
7325 st211: 6944 st196:
7326 if ( ++( current_position) == ( end_of_bundle) ) 6945 if ( ++( current_position) == ( end_of_bundle) )
7327 » » goto _test_eof211; 6946 » » goto _test_eof196;
7328 case 211: 6947 case 196:
7329 switch( (*( current_position)) ) { 6948 switch( (*( current_position)) ) {
7330 case 18u: goto st96; 6949 case 18u: goto st96;
7331 case 22u: goto st96; 6950 case 22u: goto st96;
7332 » » case 43u: goto st204; 6951 » » case 43u: goto st189;
7333 case 111u: goto st32; 6952 case 111u: goto st32;
7334 case 112u: goto st92; 6953 case 112u: goto st92;
7335 » » case 184u: goto st212; 6954 » » case 184u: goto st197;
7336 » » case 188u: goto st213; 6955 » » case 188u: goto st198;
7337 » » case 189u: goto st214; 6956 » » case 189u: goto st199;
7338 case 194u: goto st58; 6957 case 194u: goto st58;
7339 case 214u: goto st91; 6958 case 214u: goto st91;
7340 case 230u: goto st32; 6959 case 230u: goto st32;
7341 } 6960 }
7342 if ( (*( current_position)) < 88u ) { 6961 if ( (*( current_position)) < 88u ) {
7343 if ( (*( current_position)) < 42u ) { 6962 if ( (*( current_position)) < 42u ) {
7344 if ( 16u <= (*( current_position)) && (*( current_positi on)) <= 17u ) 6963 if ( 16u <= (*( current_position)) && (*( current_positi on)) <= 17u )
7345 goto st28; 6964 goto st28;
7346 } else if ( (*( current_position)) > 45u ) { 6965 } else if ( (*( current_position)) > 45u ) {
7347 if ( 81u <= (*( current_position)) && (*( current_positi on)) <= 83u ) 6966 if ( 81u <= (*( current_position)) && (*( current_positi on)) <= 83u )
7348 goto st28; 6967 goto st28;
7349 } else 6968 } else
7350 goto st28; 6969 goto st28;
7351 } else if ( (*( current_position)) > 89u ) { 6970 } else if ( (*( current_position)) > 89u ) {
7352 if ( (*( current_position)) < 92u ) { 6971 if ( (*( current_position)) < 92u ) {
7353 if ( 90u <= (*( current_position)) && (*( current_positi on)) <= 91u ) 6972 if ( 90u <= (*( current_position)) && (*( current_positi on)) <= 91u )
7354 goto st32; 6973 goto st32;
7355 } else if ( (*( current_position)) > 95u ) { 6974 } else if ( (*( current_position)) > 95u ) {
7356 if ( 126u <= (*( current_position)) && (*( current_posit ion)) <= 127u ) 6975 if ( 126u <= (*( current_position)) && (*( current_posit ion)) <= 127u )
7357 goto st32; 6976 goto st32;
7358 } else 6977 } else
7359 goto st28; 6978 goto st28;
7360 } else 6979 } else
7361 goto st28; 6980 goto st28;
7362 goto tr16; 6981 goto tr16;
7363 st212: 6982 st197:
7364 if ( ++( current_position) == ( end_of_bundle) ) 6983 if ( ++( current_position) == ( end_of_bundle) )
7365 » » goto _test_eof212; 6984 » » goto _test_eof197;
7366 case 212: 6985 case 197:
7367 switch( (*( current_position)) ) { 6986 switch( (*( current_position)) ) {
7368 » » case 4u: goto tr444; 6987 » » case 4u: goto tr417;
7369 » » case 5u: goto tr445; 6988 » » case 5u: goto tr418;
7370 » » case 12u: goto tr444; 6989 » » case 12u: goto tr417;
7371 » » case 13u: goto tr445; 6990 » » case 13u: goto tr418;
7372 » » case 20u: goto tr444; 6991 » » case 20u: goto tr417;
7373 » » case 21u: goto tr445; 6992 » » case 21u: goto tr418;
7374 » » case 28u: goto tr444; 6993 » » case 28u: goto tr417;
7375 » » case 29u: goto tr445; 6994 » » case 29u: goto tr418;
7376 » » case 36u: goto tr444; 6995 » » case 36u: goto tr417;
7377 » » case 37u: goto tr445; 6996 » » case 37u: goto tr418;
7378 » » case 44u: goto tr444; 6997 » » case 44u: goto tr417;
7379 » » case 45u: goto tr445; 6998 » » case 45u: goto tr418;
7380 » » case 52u: goto tr444; 6999 » » case 52u: goto tr417;
7381 » » case 53u: goto tr445; 7000 » » case 53u: goto tr418;
7382 » » case 60u: goto tr444; 7001 » » case 60u: goto tr417;
7383 » » case 61u: goto tr445; 7002 » » case 61u: goto tr418;
7384 » » case 68u: goto tr447; 7003 » » case 68u: goto tr420;
7385 » » case 76u: goto tr447; 7004 » » case 76u: goto tr420;
7386 » » case 84u: goto tr447; 7005 » » case 84u: goto tr420;
7387 » » case 92u: goto tr447; 7006 » » case 92u: goto tr420;
7388 » » case 100u: goto tr447; 7007 » » case 100u: goto tr420;
7389 » » case 108u: goto tr447; 7008 » » case 108u: goto tr420;
7390 » » case 116u: goto tr447; 7009 » » case 116u: goto tr420;
7391 » » case 124u: goto tr447; 7010 » » case 124u: goto tr420;
7392 » » case 132u: goto tr448; 7011 » » case 132u: goto tr421;
7393 » » case 140u: goto tr448; 7012 » » case 140u: goto tr421;
7394 » » case 148u: goto tr448; 7013 » » case 148u: goto tr421;
7395 » » case 156u: goto tr448; 7014 » » case 156u: goto tr421;
7396 » » case 164u: goto tr448; 7015 » » case 164u: goto tr421;
7397 » » case 172u: goto tr448; 7016 » » case 172u: goto tr421;
7398 » » case 180u: goto tr448; 7017 » » case 180u: goto tr421;
7399 » » case 188u: goto tr448; 7018 » » case 188u: goto tr421;
7400 } 7019 }
7401 if ( (*( current_position)) > 127u ) { 7020 if ( (*( current_position)) > 127u ) {
7402 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 7021 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
7403 » » » goto tr445; 7022 » » » goto tr418;
7404 } else if ( (*( current_position)) >= 64u ) 7023 } else if ( (*( current_position)) >= 64u )
7405 » » goto tr446; 7024 » » goto tr419;
7406 » goto tr443; 7025 » goto tr416;
7407 st213: 7026 st198:
7408 if ( ++( current_position) == ( end_of_bundle) ) 7027 if ( ++( current_position) == ( end_of_bundle) )
7409 » » goto _test_eof213; 7028 » » goto _test_eof198;
7410 case 213: 7029 case 198:
7411 switch( (*( current_position)) ) { 7030 switch( (*( current_position)) ) {
7412 » » case 4u: goto tr450; 7031 » » case 4u: goto tr423;
7413 » » case 5u: goto tr451; 7032 » » case 5u: goto tr424;
7414 » » case 12u: goto tr450; 7033 » » case 12u: goto tr423;
7415 » » case 13u: goto tr451; 7034 » » case 13u: goto tr424;
7416 » » case 20u: goto tr450; 7035 » » case 20u: goto tr423;
7417 » » case 21u: goto tr451; 7036 » » case 21u: goto tr424;
7418 » » case 28u: goto tr450; 7037 » » case 28u: goto tr423;
7419 » » case 29u: goto tr451; 7038 » » case 29u: goto tr424;
7420 » » case 36u: goto tr450; 7039 » » case 36u: goto tr423;
7421 » » case 37u: goto tr451; 7040 » » case 37u: goto tr424;
7422 » » case 44u: goto tr450; 7041 » » case 44u: goto tr423;
7423 » » case 45u: goto tr451; 7042 » » case 45u: goto tr424;
7424 » » case 52u: goto tr450; 7043 » » case 52u: goto tr423;
7425 » » case 53u: goto tr451; 7044 » » case 53u: goto tr424;
7426 » » case 60u: goto tr450; 7045 » » case 60u: goto tr423;
7427 » » case 61u: goto tr451; 7046 » » case 61u: goto tr424;
7428 » » case 68u: goto tr453; 7047 » » case 68u: goto tr426;
7429 » » case 76u: goto tr453; 7048 » » case 76u: goto tr426;
7430 » » case 84u: goto tr453; 7049 » » case 84u: goto tr426;
7431 » » case 92u: goto tr453; 7050 » » case 92u: goto tr426;
7432 » » case 100u: goto tr453; 7051 » » case 100u: goto tr426;
7433 » » case 108u: goto tr453; 7052 » » case 108u: goto tr426;
7434 » » case 116u: goto tr453; 7053 » » case 116u: goto tr426;
7435 » » case 124u: goto tr453; 7054 » » case 124u: goto tr426;
7436 » » case 132u: goto tr454; 7055 » » case 132u: goto tr427;
7437 » » case 140u: goto tr454; 7056 » » case 140u: goto tr427;
7438 » » case 148u: goto tr454; 7057 » » case 148u: goto tr427;
7439 » » case 156u: goto tr454; 7058 » » case 156u: goto tr427;
7440 » » case 164u: goto tr454; 7059 » » case 164u: goto tr427;
7441 » » case 172u: goto tr454; 7060 » » case 172u: goto tr427;
7442 » » case 180u: goto tr454; 7061 » » case 180u: goto tr427;
7443 » » case 188u: goto tr454; 7062 » » case 188u: goto tr427;
7444 } 7063 }
7445 if ( (*( current_position)) > 127u ) { 7064 if ( (*( current_position)) > 127u ) {
7446 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 7065 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
7447 » » » goto tr451; 7066 » » » goto tr424;
7448 } else if ( (*( current_position)) >= 64u ) 7067 } else if ( (*( current_position)) >= 64u )
7449 » » goto tr452; 7068 » » goto tr425;
7450 » goto tr449; 7069 » goto tr422;
7451 st214: 7070 st199:
7452 if ( ++( current_position) == ( end_of_bundle) ) 7071 if ( ++( current_position) == ( end_of_bundle) )
7453 » » goto _test_eof214; 7072 » » goto _test_eof199;
7454 case 214: 7073 case 199:
7455 switch( (*( current_position)) ) { 7074 switch( (*( current_position)) ) {
7456 » » case 4u: goto tr456; 7075 » » case 4u: goto tr429;
7457 » » case 5u: goto tr457; 7076 » » case 5u: goto tr430;
7458 » » case 12u: goto tr456; 7077 » » case 12u: goto tr429;
7459 » » case 13u: goto tr457; 7078 » » case 13u: goto tr430;
7460 » » case 20u: goto tr456; 7079 » » case 20u: goto tr429;
7461 » » case 21u: goto tr457; 7080 » » case 21u: goto tr430;
7462 » » case 28u: goto tr456; 7081 » » case 28u: goto tr429;
7463 » » case 29u: goto tr457; 7082 » » case 29u: goto tr430;
7464 » » case 36u: goto tr456; 7083 » » case 36u: goto tr429;
7465 » » case 37u: goto tr457; 7084 » » case 37u: goto tr430;
7466 » » case 44u: goto tr456; 7085 » » case 44u: goto tr429;
7467 » » case 45u: goto tr457; 7086 » » case 45u: goto tr430;
7468 » » case 52u: goto tr456; 7087 » » case 52u: goto tr429;
7469 » » case 53u: goto tr457; 7088 » » case 53u: goto tr430;
7470 » » case 60u: goto tr456; 7089 » » case 60u: goto tr429;
7471 » » case 61u: goto tr457; 7090 » » case 61u: goto tr430;
7472 » » case 68u: goto tr459; 7091 » » case 68u: goto tr432;
7473 » » case 76u: goto tr459; 7092 » » case 76u: goto tr432;
7474 » » case 84u: goto tr459; 7093 » » case 84u: goto tr432;
7475 » » case 92u: goto tr459; 7094 » » case 92u: goto tr432;
7476 » » case 100u: goto tr459; 7095 » » case 100u: goto tr432;
7477 » » case 108u: goto tr459; 7096 » » case 108u: goto tr432;
7478 » » case 116u: goto tr459; 7097 » » case 116u: goto tr432;
7479 » » case 124u: goto tr459; 7098 » » case 124u: goto tr432;
7480 » » case 132u: goto tr460; 7099 » » case 132u: goto tr433;
7481 » » case 140u: goto tr460; 7100 » » case 140u: goto tr433;
7482 » » case 148u: goto tr460; 7101 » » case 148u: goto tr433;
7483 » » case 156u: goto tr460; 7102 » » case 156u: goto tr433;
7484 » » case 164u: goto tr460; 7103 » » case 164u: goto tr433;
7485 » » case 172u: goto tr460; 7104 » » case 172u: goto tr433;
7486 » » case 180u: goto tr460; 7105 » » case 180u: goto tr433;
7487 » » case 188u: goto tr460; 7106 » » case 188u: goto tr433;
7488 } 7107 }
7489 if ( (*( current_position)) > 127u ) { 7108 if ( (*( current_position)) > 127u ) {
7490 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u ) 7109 if ( 128u <= (*( current_position)) && (*( current_position)) <= 191u )
7491 » » » goto tr457; 7110 » » » goto tr430;
7492 } else if ( (*( current_position)) >= 64u ) 7111 } else if ( (*( current_position)) >= 64u )
7493 » » goto tr458; 7112 » » goto tr431;
7494 » goto tr455; 7113 » goto tr428;
7495 st215: 7114 st200:
7496 if ( ++( current_position) == ( end_of_bundle) ) 7115 if ( ++( current_position) == ( end_of_bundle) )
7497 » » goto _test_eof215; 7116 » » goto _test_eof200;
7498 case 215: 7117 case 200:
7499 switch( (*( current_position)) ) { 7118 switch( (*( current_position)) ) {
7500 case 4u: goto st39; 7119 case 4u: goto st39;
7501 case 5u: goto st40; 7120 case 5u: goto st40;
7502 case 20u: goto st2; 7121 case 20u: goto st2;
7503 case 21u: goto st3; 7122 case 21u: goto st3;
7504 case 28u: goto st2; 7123 case 28u: goto st2;
7505 case 29u: goto st3; 7124 case 29u: goto st3;
7506 case 36u: goto st2; 7125 case 36u: goto st2;
7507 case 37u: goto st3; 7126 case 37u: goto st3;
7508 case 44u: goto st2; 7127 case 44u: goto st2;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
7549 if ( (*( current_position)) > 199u ) { 7168 if ( (*( current_position)) > 199u ) {
7550 if ( 200u <= (*( current_position)) && (*( curre nt_position)) <= 207u ) 7169 if ( 200u <= (*( current_position)) && (*( curre nt_position)) <= 207u )
7551 goto tr16; 7170 goto tr16;
7552 } else if ( (*( current_position)) >= 192u ) 7171 } else if ( (*( current_position)) >= 192u )
7553 goto st10; 7172 goto st10;
7554 } else 7173 } else
7555 goto st3; 7174 goto st3;
7556 } else 7175 } else
7557 goto st7; 7176 goto st7;
7558 goto tr0; 7177 goto tr0;
7559 st216: 7178 st201:
7560 if ( ++( current_position) == ( end_of_bundle) ) 7179 if ( ++( current_position) == ( end_of_bundle) )
7561 » » goto _test_eof216; 7180 » » goto _test_eof201;
7562 case 216: 7181 case 201:
7563 switch( (*( current_position)) ) { 7182 switch( (*( current_position)) ) {
7564 case 4u: goto st131; 7183 case 4u: goto st131;
7565 case 5u: goto st132; 7184 case 5u: goto st132;
7566 case 20u: goto st2; 7185 case 20u: goto st2;
7567 case 21u: goto st3; 7186 case 21u: goto st3;
7568 case 28u: goto st2; 7187 case 28u: goto st2;
7569 case 29u: goto st3; 7188 case 29u: goto st3;
7570 case 36u: goto st2; 7189 case 36u: goto st2;
7571 case 37u: goto st3; 7190 case 37u: goto st3;
7572 case 44u: goto st2; 7191 case 44u: goto st2;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
7613 if ( (*( current_position)) > 199u ) { 7232 if ( (*( current_position)) > 199u ) {
7614 if ( 200u <= (*( current_position)) && (*( curre nt_position)) <= 207u ) 7233 if ( 200u <= (*( current_position)) && (*( curre nt_position)) <= 207u )
7615 goto tr16; 7234 goto tr16;
7616 } else if ( (*( current_position)) >= 192u ) 7235 } else if ( (*( current_position)) >= 192u )
7617 goto st11; 7236 goto st11;
7618 } else 7237 } else
7619 goto st3; 7238 goto st3;
7620 } else 7239 } else
7621 goto st7; 7240 goto st7;
7622 goto tr0; 7241 goto tr0;
7623 st217: 7242 st202:
7624 if ( ++( current_position) == ( end_of_bundle) ) 7243 if ( ++( current_position) == ( end_of_bundle) )
7625 » » goto _test_eof217; 7244 » » goto _test_eof202;
7626 case 217: 7245 case 202:
7627 switch( (*( current_position)) ) { 7246 switch( (*( current_position)) ) {
7628 case 4u: goto st2; 7247 case 4u: goto st2;
7629 case 5u: goto st3; 7248 case 5u: goto st3;
7630 case 12u: goto st2; 7249 case 12u: goto st2;
7631 case 13u: goto st3; 7250 case 13u: goto st3;
7632 case 68u: goto st8; 7251 case 68u: goto st8;
7633 case 76u: goto st8; 7252 case 76u: goto st8;
7634 case 132u: goto st9; 7253 case 132u: goto st9;
7635 case 140u: goto st9; 7254 case 140u: goto st9;
7636 } 7255 }
7637 if ( (*( current_position)) < 64u ) { 7256 if ( (*( current_position)) < 64u ) {
7638 if ( (*( current_position)) <= 15u ) 7257 if ( (*( current_position)) <= 15u )
7639 goto tr0; 7258 goto tr0;
7640 } else if ( (*( current_position)) > 79u ) { 7259 } else if ( (*( current_position)) > 79u ) {
7641 if ( (*( current_position)) > 143u ) { 7260 if ( (*( current_position)) > 143u ) {
7642 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 207u ) 7261 if ( 192u <= (*( current_position)) && (*( current_posit ion)) <= 207u )
7643 goto tr0; 7262 goto tr0;
7644 } else if ( (*( current_position)) >= 128u ) 7263 } else if ( (*( current_position)) >= 128u )
7645 goto st3; 7264 goto st3;
7646 } else 7265 } else
7647 goto st7; 7266 goto st7;
7648 goto tr16; 7267 goto tr16;
7649 st218: 7268 st203:
7650 if ( ++( current_position) == ( end_of_bundle) ) 7269 if ( ++( current_position) == ( end_of_bundle) )
7651 » » goto _test_eof218; 7270 » » goto _test_eof203;
7652 case 218: 7271 case 203:
7653 switch( (*( current_position)) ) { 7272 switch( (*( current_position)) ) {
7654 case 4u: goto st2; 7273 case 4u: goto st2;
7655 case 5u: goto st3; 7274 case 5u: goto st3;
7656 case 12u: goto st2; 7275 case 12u: goto st2;
7657 case 13u: goto st3; 7276 case 13u: goto st3;
7658 case 52u: goto st2; 7277 case 52u: goto st2;
7659 case 53u: goto st3; 7278 case 53u: goto st3;
7660 case 68u: goto st8; 7279 case 68u: goto st8;
7661 case 76u: goto st8; 7280 case 76u: goto st8;
7662 case 116u: goto st8; 7281 case 116u: goto st8;
7663 case 132u: goto st9; 7282 case 132u: goto st9;
7664 case 140u: goto st9; 7283 case 140u: goto st9;
7665 case 180u: goto st9; 7284 case 180u: goto st9;
7666 » » case 208u: goto tr461; 7285 » » case 208u: goto tr434;
7667 » » case 224u: goto tr462; 7286 » » case 224u: goto tr435;
7668 } 7287 }
7669 if ( (*( current_position)) < 112u ) { 7288 if ( (*( current_position)) < 112u ) {
7670 if ( (*( current_position)) < 48u ) { 7289 if ( (*( current_position)) < 48u ) {
7671 if ( (*( current_position)) <= 15u ) 7290 if ( (*( current_position)) <= 15u )
7672 goto tr0; 7291 goto tr0;
7673 } else if ( (*( current_position)) > 55u ) { 7292 } else if ( (*( current_position)) > 55u ) {
7674 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u ) 7293 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u )
7675 goto st7; 7294 goto st7;
7676 } else 7295 } else
7677 goto tr0; 7296 goto tr0;
7678 } else if ( (*( current_position)) > 119u ) { 7297 } else if ( (*( current_position)) > 119u ) {
7679 if ( (*( current_position)) < 176u ) { 7298 if ( (*( current_position)) < 176u ) {
7680 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u ) 7299 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u )
7681 goto st3; 7300 goto st3;
7682 } else if ( (*( current_position)) > 183u ) { 7301 } else if ( (*( current_position)) > 183u ) {
7683 if ( (*( current_position)) > 207u ) { 7302 if ( (*( current_position)) > 207u ) {
7684 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 7303 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
7685 goto tr0; 7304 goto tr0;
7686 } else if ( (*( current_position)) >= 192u ) 7305 } else if ( (*( current_position)) >= 192u )
7687 goto tr0; 7306 goto tr0;
7688 } else 7307 } else
7689 goto st3; 7308 goto st3;
7690 } else 7309 } else
7691 goto st7; 7310 goto st7;
7692 goto tr16; 7311 goto tr16;
7693 st219: 7312 st204:
7694 if ( ++( current_position) == ( end_of_bundle) ) 7313 if ( ++( current_position) == ( end_of_bundle) )
7695 » » goto _test_eof219; 7314 » » goto _test_eof204;
7696 case 219: 7315 case 204:
7697 if ( (*( current_position)) == 224u ) 7316 if ( (*( current_position)) == 224u )
7698 » » goto tr463; 7317 » » goto tr436;
7699 goto tr11; 7318 goto tr11;
7700 tr463: 7319 tr436:
7701 { 7320 {
7702 SET_IMM_TYPE(IMM8); 7321 SET_IMMEDIATE_FORMAT(IMM8);
7703 SET_IMM_PTR(current_position); 7322 SET_IMMEDIATE_POINTER(current_position);
7704 } 7323 }
7705 {} 7324 {}
7706 { 7325 {
7707 /* Mark start of this instruction as a valid target for jump. */ 7326 /* Mark start of this instruction as a valid target for jump. */
7708 MarkValidJumpTarget(instruction_begin - data, valid_targets); 7327 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
7709 7328
7710 /* Call user-supplied callback. */ 7329 /* Call user-supplied callback. */
7711 instruction_end = current_position + 1; 7330 instruction_end = current_position + 1;
7712 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 7331 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
7713 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 7332 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
7714 result &= user_callback(instruction_begin, instruction_end, 7333 result &= user_callback(instruction_begin, instruction_end,
7715 instruction_info_collected, callback_data); 7334 instruction_info_collected, callback_data);
7716 } 7335 }
7717 7336
7718 /* On successful match the instruction_begin must point to the next byte 7337 /*
7719 * to be able to report the new offset as the start of instruction 7338 * We may set instruction_begin at the first byte of the instruction instead
7720 * causing error. */ 7339 * of here but in the case of incorrect one byte instructions user callback
7340 * may be called before instruction_begin is set.
7341 */
7721 instruction_begin = instruction_end; 7342 instruction_begin = instruction_end;
7722 7343
7723 /* Clear variables (well, one variable currently). */ 7344 /* Clear variables (well, one variable currently). */
7724 instruction_info_collected = 0; 7345 instruction_info_collected = 0;
7725 } 7346 }
7726 » goto st235; 7347 » goto st220;
7727 st235: 7348 st220:
7728 if ( ++( current_position) == ( end_of_bundle) ) 7349 if ( ++( current_position) == ( end_of_bundle) )
7729 » » goto _test_eof235; 7350 » » goto _test_eof220;
7730 case 235: 7351 case 220:
7731 switch( (*( current_position)) ) { 7352 switch( (*( current_position)) ) {
7732 case 4u: goto st10; 7353 case 4u: goto st10;
7733 case 5u: goto st11; 7354 case 5u: goto st11;
7734 case 12u: goto st10; 7355 case 12u: goto st10;
7735 case 13u: goto st11; 7356 case 13u: goto st11;
7736 case 15u: goto st15; 7357 case 15u: goto st15;
7737 case 20u: goto st10; 7358 case 20u: goto st10;
7738 case 21u: goto st11; 7359 case 21u: goto st11;
7739 case 28u: goto st10; 7360 case 28u: goto st10;
7740 case 29u: goto st11; 7361 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
7752 case 102u: goto st74; 7373 case 102u: goto st74;
7753 case 104u: goto st11; 7374 case 104u: goto st11;
7754 case 105u: goto st130; 7375 case 105u: goto st130;
7755 case 106u: goto st10; 7376 case 106u: goto st10;
7756 case 107u: goto st56; 7377 case 107u: goto st56;
7757 case 128u: goto st56; 7378 case 128u: goto st56;
7758 case 129u: goto st130; 7379 case 129u: goto st130;
7759 case 131u: goto st139; 7380 case 131u: goto st139;
7760 case 141u: goto st115; 7381 case 141u: goto st115;
7761 case 143u: goto st141; 7382 case 143u: goto st141;
7762 » » case 155u: goto tr413; 7383 » » case 155u: goto tr386;
7763 case 168u: goto st10; 7384 case 168u: goto st10;
7764 case 169u: goto st11; 7385 case 169u: goto st11;
7765 case 196u: goto st153; 7386 case 196u: goto st153;
7766 » » case 198u: goto st185; 7387 » » case 198u: goto st170;
7767 » » case 199u: goto st186; 7388 » » case 199u: goto st171;
7768 case 201u: goto tr0; 7389 case 201u: goto tr0;
7769 » » case 216u: goto st187; 7390 » » case 216u: goto st172;
7770 » » case 217u: goto st188; 7391 » » case 217u: goto st173;
7771 » » case 218u: goto st189; 7392 » » case 218u: goto st174;
7772 » » case 219u: goto st190; 7393 » » case 219u: goto st175;
7773 » » case 220u: goto st191; 7394 » » case 220u: goto st176;
7774 » » case 221u: goto st192; 7395 » » case 221u: goto st177;
7775 » » case 222u: goto st193; 7396 » » case 222u: goto st178;
7776 » » case 223u: goto st194; 7397 » » case 223u: goto st179;
7777 » » case 232u: goto st195; 7398 » » case 232u: goto st180;
7778 case 233u: goto st52; 7399 case 233u: goto st52;
7779 case 235u: goto st67; 7400 case 235u: goto st67;
7780 » » case 240u: goto st199; 7401 » » case 240u: goto st184;
7781 » » case 242u: goto st202; 7402 » » case 242u: goto st187;
7782 » » case 243u: goto st210; 7403 » » case 243u: goto st195;
7783 » » case 246u: goto st215; 7404 » » case 246u: goto st200;
7784 » » case 247u: goto st216; 7405 » » case 247u: goto st201;
7785 » » case 254u: goto st217; 7406 » » case 254u: goto st202;
7786 » » case 255u: goto st220; 7407 » » case 255u: goto st205;
7787 } 7408 }
7788 if ( (*( current_position)) < 132u ) { 7409 if ( (*( current_position)) < 132u ) {
7789 if ( (*( current_position)) < 32u ) { 7410 if ( (*( current_position)) < 32u ) {
7790 if ( (*( current_position)) < 8u ) { 7411 if ( (*( current_position)) < 8u ) {
7791 if ( (*( current_position)) <= 3u ) 7412 if ( (*( current_position)) <= 3u )
7792 goto st1; 7413 goto st1;
7793 } else if ( (*( current_position)) > 11u ) { 7414 } else if ( (*( current_position)) > 11u ) {
7794 if ( (*( current_position)) > 19u ) { 7415 if ( (*( current_position)) > 19u ) {
7795 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 7416 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
7796 goto st1; 7417 goto st1;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
7844 goto tr0; 7465 goto tr0;
7845 } else if ( (*( current_position)) >= 244u ) 7466 } else if ( (*( current_position)) >= 244u )
7846 goto tr0; 7467 goto tr0;
7847 } else 7468 } else
7848 goto st118; 7469 goto st118;
7849 } else 7470 } else
7850 goto st10; 7471 goto st10;
7851 } else 7472 } else
7852 goto st1; 7473 goto st1;
7853 goto tr16; 7474 goto tr16;
7854 st220: 7475 st205:
7855 if ( ++( current_position) == ( end_of_bundle) ) 7476 if ( ++( current_position) == ( end_of_bundle) )
7856 » » goto _test_eof220; 7477 » » goto _test_eof205;
7857 case 220: 7478 case 205:
7858 switch( (*( current_position)) ) { 7479 switch( (*( current_position)) ) {
7859 case 4u: goto st2; 7480 case 4u: goto st2;
7860 case 5u: goto st3; 7481 case 5u: goto st3;
7861 case 12u: goto st2; 7482 case 12u: goto st2;
7862 case 13u: goto st3; 7483 case 13u: goto st3;
7863 case 52u: goto st2; 7484 case 52u: goto st2;
7864 case 53u: goto st3; 7485 case 53u: goto st3;
7865 case 68u: goto st8; 7486 case 68u: goto st8;
7866 case 76u: goto st8; 7487 case 76u: goto st8;
7867 case 116u: goto st8; 7488 case 116u: goto st8;
7868 case 132u: goto st9; 7489 case 132u: goto st9;
7869 case 140u: goto st9; 7490 case 140u: goto st9;
7870 case 180u: goto st9; 7491 case 180u: goto st9;
7871 » » case 209u: goto tr461; 7492 » » case 209u: goto tr434;
7872 » » case 225u: goto tr462; 7493 » » case 225u: goto tr435;
7873 } 7494 }
7874 if ( (*( current_position)) < 112u ) { 7495 if ( (*( current_position)) < 112u ) {
7875 if ( (*( current_position)) < 48u ) { 7496 if ( (*( current_position)) < 48u ) {
7876 if ( (*( current_position)) <= 15u ) 7497 if ( (*( current_position)) <= 15u )
7877 goto tr0; 7498 goto tr0;
7878 } else if ( (*( current_position)) > 55u ) { 7499 } else if ( (*( current_position)) > 55u ) {
7879 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u ) 7500 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u )
7880 goto st7; 7501 goto st7;
7881 } else 7502 } else
7882 goto tr0; 7503 goto tr0;
7883 } else if ( (*( current_position)) > 119u ) { 7504 } else if ( (*( current_position)) > 119u ) {
7884 if ( (*( current_position)) < 176u ) { 7505 if ( (*( current_position)) < 176u ) {
7885 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u ) 7506 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u )
7886 goto st3; 7507 goto st3;
7887 } else if ( (*( current_position)) > 183u ) { 7508 } else if ( (*( current_position)) > 183u ) {
7888 if ( (*( current_position)) > 207u ) { 7509 if ( (*( current_position)) > 207u ) {
7889 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 7510 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
7890 goto tr0; 7511 goto tr0;
7891 } else if ( (*( current_position)) >= 192u ) 7512 } else if ( (*( current_position)) >= 192u )
7892 goto tr0; 7513 goto tr0;
7893 } else 7514 } else
7894 goto st3; 7515 goto st3;
7895 } else 7516 } else
7896 goto st7; 7517 goto st7;
7897 goto tr16; 7518 goto tr16;
7898 st221: 7519 st206:
7899 if ( ++( current_position) == ( end_of_bundle) ) 7520 if ( ++( current_position) == ( end_of_bundle) )
7900 » » goto _test_eof221; 7521 » » goto _test_eof206;
7901 case 221: 7522 case 206:
7902 if ( (*( current_position)) == 224u ) 7523 if ( (*( current_position)) == 224u )
7903 » » goto tr464; 7524 » » goto tr437;
7904 goto tr11; 7525 goto tr11;
7905 tr464: 7526 tr437:
7906 { 7527 {
7907 SET_IMM_TYPE(IMM8); 7528 SET_IMMEDIATE_FORMAT(IMM8);
7908 SET_IMM_PTR(current_position); 7529 SET_IMMEDIATE_POINTER(current_position);
7909 } 7530 }
7910 {} 7531 {}
7911 { 7532 {
7912 /* Mark start of this instruction as a valid target for jump. */ 7533 /* Mark start of this instruction as a valid target for jump. */
7913 MarkValidJumpTarget(instruction_begin - data, valid_targets); 7534 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
7914 7535
7915 /* Call user-supplied callback. */ 7536 /* Call user-supplied callback. */
7916 instruction_end = current_position + 1; 7537 instruction_end = current_position + 1;
7917 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 7538 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
7918 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 7539 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
7919 result &= user_callback(instruction_begin, instruction_end, 7540 result &= user_callback(instruction_begin, instruction_end,
7920 instruction_info_collected, callback_data); 7541 instruction_info_collected, callback_data);
7921 } 7542 }
7922 7543
7923 /* On successful match the instruction_begin must point to the next byte 7544 /*
7924 * to be able to report the new offset as the start of instruction 7545 * We may set instruction_begin at the first byte of the instruction instead
7925 * causing error. */ 7546 * of here but in the case of incorrect one byte instructions user callback
7547 * may be called before instruction_begin is set.
7548 */
7926 instruction_begin = instruction_end; 7549 instruction_begin = instruction_end;
7927 7550
7928 /* Clear variables (well, one variable currently). */ 7551 /* Clear variables (well, one variable currently). */
7929 instruction_info_collected = 0; 7552 instruction_info_collected = 0;
7930 } 7553 }
7931 » goto st236; 7554 » goto st221;
7932 st236: 7555 st221:
7933 if ( ++( current_position) == ( end_of_bundle) ) 7556 if ( ++( current_position) == ( end_of_bundle) )
7934 » » goto _test_eof236; 7557 » » goto _test_eof221;
7935 case 236: 7558 case 221:
7936 switch( (*( current_position)) ) { 7559 switch( (*( current_position)) ) {
7937 case 4u: goto st10; 7560 case 4u: goto st10;
7938 case 5u: goto st11; 7561 case 5u: goto st11;
7939 case 12u: goto st10; 7562 case 12u: goto st10;
7940 case 13u: goto st11; 7563 case 13u: goto st11;
7941 case 15u: goto st15; 7564 case 15u: goto st15;
7942 case 20u: goto st10; 7565 case 20u: goto st10;
7943 case 21u: goto st11; 7566 case 21u: goto st11;
7944 case 28u: goto st10; 7567 case 28u: goto st10;
7945 case 29u: goto st11; 7568 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
7957 case 102u: goto st74; 7580 case 102u: goto st74;
7958 case 104u: goto st11; 7581 case 104u: goto st11;
7959 case 105u: goto st130; 7582 case 105u: goto st130;
7960 case 106u: goto st10; 7583 case 106u: goto st10;
7961 case 107u: goto st56; 7584 case 107u: goto st56;
7962 case 128u: goto st56; 7585 case 128u: goto st56;
7963 case 129u: goto st130; 7586 case 129u: goto st130;
7964 case 131u: goto st139; 7587 case 131u: goto st139;
7965 case 141u: goto st115; 7588 case 141u: goto st115;
7966 case 143u: goto st141; 7589 case 143u: goto st141;
7967 » » case 155u: goto tr413; 7590 » » case 155u: goto tr386;
7968 case 168u: goto st10; 7591 case 168u: goto st10;
7969 case 169u: goto st11; 7592 case 169u: goto st11;
7970 case 196u: goto st153; 7593 case 196u: goto st153;
7971 » » case 198u: goto st185; 7594 » » case 198u: goto st170;
7972 » » case 199u: goto st186; 7595 » » case 199u: goto st171;
7973 case 201u: goto tr0; 7596 case 201u: goto tr0;
7974 » » case 216u: goto st187; 7597 » » case 216u: goto st172;
7975 » » case 217u: goto st188; 7598 » » case 217u: goto st173;
7976 » » case 218u: goto st189; 7599 » » case 218u: goto st174;
7977 » » case 219u: goto st190; 7600 » » case 219u: goto st175;
7978 » » case 220u: goto st191; 7601 » » case 220u: goto st176;
7979 » » case 221u: goto st192; 7602 » » case 221u: goto st177;
7980 » » case 222u: goto st193; 7603 » » case 222u: goto st178;
7981 » » case 223u: goto st194; 7604 » » case 223u: goto st179;
7982 » » case 232u: goto st195; 7605 » » case 232u: goto st180;
7983 case 233u: goto st52; 7606 case 233u: goto st52;
7984 case 235u: goto st67; 7607 case 235u: goto st67;
7985 » » case 240u: goto st199; 7608 » » case 240u: goto st184;
7986 » » case 242u: goto st202; 7609 » » case 242u: goto st187;
7987 » » case 243u: goto st210; 7610 » » case 243u: goto st195;
7988 » » case 246u: goto st215; 7611 » » case 246u: goto st200;
7989 » » case 247u: goto st216; 7612 » » case 247u: goto st201;
7990 » » case 254u: goto st217; 7613 » » case 254u: goto st202;
7991 » » case 255u: goto st222; 7614 » » case 255u: goto st207;
7992 } 7615 }
7993 if ( (*( current_position)) < 132u ) { 7616 if ( (*( current_position)) < 132u ) {
7994 if ( (*( current_position)) < 32u ) { 7617 if ( (*( current_position)) < 32u ) {
7995 if ( (*( current_position)) < 8u ) { 7618 if ( (*( current_position)) < 8u ) {
7996 if ( (*( current_position)) <= 3u ) 7619 if ( (*( current_position)) <= 3u )
7997 goto st1; 7620 goto st1;
7998 } else if ( (*( current_position)) > 11u ) { 7621 } else if ( (*( current_position)) > 11u ) {
7999 if ( (*( current_position)) > 19u ) { 7622 if ( (*( current_position)) > 19u ) {
8000 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 7623 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
8001 goto st1; 7624 goto st1;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
8049 goto tr0; 7672 goto tr0;
8050 } else if ( (*( current_position)) >= 244u ) 7673 } else if ( (*( current_position)) >= 244u )
8051 goto tr0; 7674 goto tr0;
8052 } else 7675 } else
8053 goto st118; 7676 goto st118;
8054 } else 7677 } else
8055 goto st10; 7678 goto st10;
8056 } else 7679 } else
8057 goto st1; 7680 goto st1;
8058 goto tr16; 7681 goto tr16;
8059 st222: 7682 st207:
8060 if ( ++( current_position) == ( end_of_bundle) ) 7683 if ( ++( current_position) == ( end_of_bundle) )
8061 » » goto _test_eof222; 7684 » » goto _test_eof207;
8062 case 222: 7685 case 207:
8063 switch( (*( current_position)) ) { 7686 switch( (*( current_position)) ) {
8064 case 4u: goto st2; 7687 case 4u: goto st2;
8065 case 5u: goto st3; 7688 case 5u: goto st3;
8066 case 12u: goto st2; 7689 case 12u: goto st2;
8067 case 13u: goto st3; 7690 case 13u: goto st3;
8068 case 52u: goto st2; 7691 case 52u: goto st2;
8069 case 53u: goto st3; 7692 case 53u: goto st3;
8070 case 68u: goto st8; 7693 case 68u: goto st8;
8071 case 76u: goto st8; 7694 case 76u: goto st8;
8072 case 116u: goto st8; 7695 case 116u: goto st8;
8073 case 132u: goto st9; 7696 case 132u: goto st9;
8074 case 140u: goto st9; 7697 case 140u: goto st9;
8075 case 180u: goto st9; 7698 case 180u: goto st9;
8076 » » case 210u: goto tr461; 7699 » » case 210u: goto tr434;
8077 » » case 226u: goto tr462; 7700 » » case 226u: goto tr435;
8078 } 7701 }
8079 if ( (*( current_position)) < 112u ) { 7702 if ( (*( current_position)) < 112u ) {
8080 if ( (*( current_position)) < 48u ) { 7703 if ( (*( current_position)) < 48u ) {
8081 if ( (*( current_position)) <= 15u ) 7704 if ( (*( current_position)) <= 15u )
8082 goto tr0; 7705 goto tr0;
8083 } else if ( (*( current_position)) > 55u ) { 7706 } else if ( (*( current_position)) > 55u ) {
8084 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u ) 7707 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u )
8085 goto st7; 7708 goto st7;
8086 } else 7709 } else
8087 goto tr0; 7710 goto tr0;
8088 } else if ( (*( current_position)) > 119u ) { 7711 } else if ( (*( current_position)) > 119u ) {
8089 if ( (*( current_position)) < 176u ) { 7712 if ( (*( current_position)) < 176u ) {
8090 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u ) 7713 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u )
8091 goto st3; 7714 goto st3;
8092 } else if ( (*( current_position)) > 183u ) { 7715 } else if ( (*( current_position)) > 183u ) {
8093 if ( (*( current_position)) > 207u ) { 7716 if ( (*( current_position)) > 207u ) {
8094 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 7717 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
8095 goto tr0; 7718 goto tr0;
8096 } else if ( (*( current_position)) >= 192u ) 7719 } else if ( (*( current_position)) >= 192u )
8097 goto tr0; 7720 goto tr0;
8098 } else 7721 } else
8099 goto st3; 7722 goto st3;
8100 } else 7723 } else
8101 goto st7; 7724 goto st7;
8102 goto tr16; 7725 goto tr16;
8103 st223: 7726 st208:
8104 if ( ++( current_position) == ( end_of_bundle) ) 7727 if ( ++( current_position) == ( end_of_bundle) )
8105 » » goto _test_eof223; 7728 » » goto _test_eof208;
8106 case 223: 7729 case 208:
8107 if ( (*( current_position)) == 224u ) 7730 if ( (*( current_position)) == 224u )
8108 » » goto tr465; 7731 » » goto tr438;
8109 goto tr11; 7732 goto tr11;
8110 tr465: 7733 tr438:
8111 { 7734 {
8112 SET_IMM_TYPE(IMM8); 7735 SET_IMMEDIATE_FORMAT(IMM8);
8113 SET_IMM_PTR(current_position); 7736 SET_IMMEDIATE_POINTER(current_position);
8114 } 7737 }
8115 {} 7738 {}
8116 { 7739 {
8117 /* Mark start of this instruction as a valid target for jump. */ 7740 /* Mark start of this instruction as a valid target for jump. */
8118 MarkValidJumpTarget(instruction_begin - data, valid_targets); 7741 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
8119 7742
8120 /* Call user-supplied callback. */ 7743 /* Call user-supplied callback. */
8121 instruction_end = current_position + 1; 7744 instruction_end = current_position + 1;
8122 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 7745 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
8123 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 7746 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
8124 result &= user_callback(instruction_begin, instruction_end, 7747 result &= user_callback(instruction_begin, instruction_end,
8125 instruction_info_collected, callback_data); 7748 instruction_info_collected, callback_data);
8126 } 7749 }
8127 7750
8128 /* On successful match the instruction_begin must point to the next byte 7751 /*
8129 * to be able to report the new offset as the start of instruction 7752 * We may set instruction_begin at the first byte of the instruction instead
8130 * causing error. */ 7753 * of here but in the case of incorrect one byte instructions user callback
7754 * may be called before instruction_begin is set.
7755 */
8131 instruction_begin = instruction_end; 7756 instruction_begin = instruction_end;
8132 7757
8133 /* Clear variables (well, one variable currently). */ 7758 /* Clear variables (well, one variable currently). */
8134 instruction_info_collected = 0; 7759 instruction_info_collected = 0;
8135 } 7760 }
8136 » goto st237; 7761 » goto st222;
8137 st237: 7762 st222:
8138 if ( ++( current_position) == ( end_of_bundle) ) 7763 if ( ++( current_position) == ( end_of_bundle) )
8139 » » goto _test_eof237; 7764 » » goto _test_eof222;
8140 case 237: 7765 case 222:
8141 switch( (*( current_position)) ) { 7766 switch( (*( current_position)) ) {
8142 case 4u: goto st10; 7767 case 4u: goto st10;
8143 case 5u: goto st11; 7768 case 5u: goto st11;
8144 case 12u: goto st10; 7769 case 12u: goto st10;
8145 case 13u: goto st11; 7770 case 13u: goto st11;
8146 case 15u: goto st15; 7771 case 15u: goto st15;
8147 case 20u: goto st10; 7772 case 20u: goto st10;
8148 case 21u: goto st11; 7773 case 21u: goto st11;
8149 case 28u: goto st10; 7774 case 28u: goto st10;
8150 case 29u: goto st11; 7775 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
8162 case 102u: goto st74; 7787 case 102u: goto st74;
8163 case 104u: goto st11; 7788 case 104u: goto st11;
8164 case 105u: goto st130; 7789 case 105u: goto st130;
8165 case 106u: goto st10; 7790 case 106u: goto st10;
8166 case 107u: goto st56; 7791 case 107u: goto st56;
8167 case 128u: goto st56; 7792 case 128u: goto st56;
8168 case 129u: goto st130; 7793 case 129u: goto st130;
8169 case 131u: goto st139; 7794 case 131u: goto st139;
8170 case 141u: goto st115; 7795 case 141u: goto st115;
8171 case 143u: goto st141; 7796 case 143u: goto st141;
8172 » » case 155u: goto tr413; 7797 » » case 155u: goto tr386;
8173 case 168u: goto st10; 7798 case 168u: goto st10;
8174 case 169u: goto st11; 7799 case 169u: goto st11;
8175 case 196u: goto st153; 7800 case 196u: goto st153;
8176 » » case 198u: goto st185; 7801 » » case 198u: goto st170;
8177 » » case 199u: goto st186; 7802 » » case 199u: goto st171;
8178 case 201u: goto tr0; 7803 case 201u: goto tr0;
8179 » » case 216u: goto st187; 7804 » » case 216u: goto st172;
8180 » » case 217u: goto st188; 7805 » » case 217u: goto st173;
8181 » » case 218u: goto st189; 7806 » » case 218u: goto st174;
8182 » » case 219u: goto st190; 7807 » » case 219u: goto st175;
8183 » » case 220u: goto st191; 7808 » » case 220u: goto st176;
8184 » » case 221u: goto st192; 7809 » » case 221u: goto st177;
8185 » » case 222u: goto st193; 7810 » » case 222u: goto st178;
8186 » » case 223u: goto st194; 7811 » » case 223u: goto st179;
8187 » » case 232u: goto st195; 7812 » » case 232u: goto st180;
8188 case 233u: goto st52; 7813 case 233u: goto st52;
8189 case 235u: goto st67; 7814 case 235u: goto st67;
8190 » » case 240u: goto st199; 7815 » » case 240u: goto st184;
8191 » » case 242u: goto st202; 7816 » » case 242u: goto st187;
8192 » » case 243u: goto st210; 7817 » » case 243u: goto st195;
8193 » » case 246u: goto st215; 7818 » » case 246u: goto st200;
8194 » » case 247u: goto st216; 7819 » » case 247u: goto st201;
8195 » » case 254u: goto st217; 7820 » » case 254u: goto st202;
8196 » » case 255u: goto st224; 7821 » » case 255u: goto st209;
8197 } 7822 }
8198 if ( (*( current_position)) < 132u ) { 7823 if ( (*( current_position)) < 132u ) {
8199 if ( (*( current_position)) < 32u ) { 7824 if ( (*( current_position)) < 32u ) {
8200 if ( (*( current_position)) < 8u ) { 7825 if ( (*( current_position)) < 8u ) {
8201 if ( (*( current_position)) <= 3u ) 7826 if ( (*( current_position)) <= 3u )
8202 goto st1; 7827 goto st1;
8203 } else if ( (*( current_position)) > 11u ) { 7828 } else if ( (*( current_position)) > 11u ) {
8204 if ( (*( current_position)) > 19u ) { 7829 if ( (*( current_position)) > 19u ) {
8205 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 7830 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
8206 goto st1; 7831 goto st1;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
8254 goto tr0; 7879 goto tr0;
8255 } else if ( (*( current_position)) >= 244u ) 7880 } else if ( (*( current_position)) >= 244u )
8256 goto tr0; 7881 goto tr0;
8257 } else 7882 } else
8258 goto st118; 7883 goto st118;
8259 } else 7884 } else
8260 goto st10; 7885 goto st10;
8261 } else 7886 } else
8262 goto st1; 7887 goto st1;
8263 goto tr16; 7888 goto tr16;
8264 st224: 7889 st209:
8265 if ( ++( current_position) == ( end_of_bundle) ) 7890 if ( ++( current_position) == ( end_of_bundle) )
8266 » » goto _test_eof224; 7891 » » goto _test_eof209;
8267 case 224: 7892 case 209:
8268 switch( (*( current_position)) ) { 7893 switch( (*( current_position)) ) {
8269 case 4u: goto st2; 7894 case 4u: goto st2;
8270 case 5u: goto st3; 7895 case 5u: goto st3;
8271 case 12u: goto st2; 7896 case 12u: goto st2;
8272 case 13u: goto st3; 7897 case 13u: goto st3;
8273 case 52u: goto st2; 7898 case 52u: goto st2;
8274 case 53u: goto st3; 7899 case 53u: goto st3;
8275 case 68u: goto st8; 7900 case 68u: goto st8;
8276 case 76u: goto st8; 7901 case 76u: goto st8;
8277 case 116u: goto st8; 7902 case 116u: goto st8;
8278 case 132u: goto st9; 7903 case 132u: goto st9;
8279 case 140u: goto st9; 7904 case 140u: goto st9;
8280 case 180u: goto st9; 7905 case 180u: goto st9;
8281 » » case 211u: goto tr461; 7906 » » case 211u: goto tr434;
8282 » » case 227u: goto tr462; 7907 » » case 227u: goto tr435;
8283 } 7908 }
8284 if ( (*( current_position)) < 112u ) { 7909 if ( (*( current_position)) < 112u ) {
8285 if ( (*( current_position)) < 48u ) { 7910 if ( (*( current_position)) < 48u ) {
8286 if ( (*( current_position)) <= 15u ) 7911 if ( (*( current_position)) <= 15u )
8287 goto tr0; 7912 goto tr0;
8288 } else if ( (*( current_position)) > 55u ) { 7913 } else if ( (*( current_position)) > 55u ) {
8289 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u ) 7914 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u )
8290 goto st7; 7915 goto st7;
8291 } else 7916 } else
8292 goto tr0; 7917 goto tr0;
8293 } else if ( (*( current_position)) > 119u ) { 7918 } else if ( (*( current_position)) > 119u ) {
8294 if ( (*( current_position)) < 176u ) { 7919 if ( (*( current_position)) < 176u ) {
8295 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u ) 7920 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u )
8296 goto st3; 7921 goto st3;
8297 } else if ( (*( current_position)) > 183u ) { 7922 } else if ( (*( current_position)) > 183u ) {
8298 if ( (*( current_position)) > 207u ) { 7923 if ( (*( current_position)) > 207u ) {
8299 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 7924 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
8300 goto tr0; 7925 goto tr0;
8301 } else if ( (*( current_position)) >= 192u ) 7926 } else if ( (*( current_position)) >= 192u )
8302 goto tr0; 7927 goto tr0;
8303 } else 7928 } else
8304 goto st3; 7929 goto st3;
8305 } else 7930 } else
8306 goto st7; 7931 goto st7;
8307 goto tr16; 7932 goto tr16;
8308 st225: 7933 st210:
8309 if ( ++( current_position) == ( end_of_bundle) ) 7934 if ( ++( current_position) == ( end_of_bundle) )
8310 » » goto _test_eof225; 7935 » » goto _test_eof210;
8311 case 225: 7936 case 210:
8312 if ( (*( current_position)) == 224u ) 7937 if ( (*( current_position)) == 224u )
8313 » » goto tr466; 7938 » » goto tr439;
8314 goto tr11; 7939 goto tr11;
8315 tr466: 7940 tr439:
8316 { 7941 {
8317 SET_IMM_TYPE(IMM8); 7942 SET_IMMEDIATE_FORMAT(IMM8);
8318 SET_IMM_PTR(current_position); 7943 SET_IMMEDIATE_POINTER(current_position);
8319 } 7944 }
8320 {} 7945 {}
8321 { 7946 {
8322 /* Mark start of this instruction as a valid target for jump. */ 7947 /* Mark start of this instruction as a valid target for jump. */
8323 MarkValidJumpTarget(instruction_begin - data, valid_targets); 7948 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
8324 7949
8325 /* Call user-supplied callback. */ 7950 /* Call user-supplied callback. */
8326 instruction_end = current_position + 1; 7951 instruction_end = current_position + 1;
8327 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 7952 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
8328 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 7953 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
8329 result &= user_callback(instruction_begin, instruction_end, 7954 result &= user_callback(instruction_begin, instruction_end,
8330 instruction_info_collected, callback_data); 7955 instruction_info_collected, callback_data);
8331 } 7956 }
8332 7957
8333 /* On successful match the instruction_begin must point to the next byte 7958 /*
8334 * to be able to report the new offset as the start of instruction 7959 * We may set instruction_begin at the first byte of the instruction instead
8335 * causing error. */ 7960 * of here but in the case of incorrect one byte instructions user callback
7961 * may be called before instruction_begin is set.
7962 */
8336 instruction_begin = instruction_end; 7963 instruction_begin = instruction_end;
8337 7964
8338 /* Clear variables (well, one variable currently). */ 7965 /* Clear variables (well, one variable currently). */
8339 instruction_info_collected = 0; 7966 instruction_info_collected = 0;
8340 } 7967 }
8341 » goto st238; 7968 » goto st223;
8342 st238: 7969 st223:
8343 if ( ++( current_position) == ( end_of_bundle) ) 7970 if ( ++( current_position) == ( end_of_bundle) )
8344 » » goto _test_eof238; 7971 » » goto _test_eof223;
8345 case 238: 7972 case 223:
8346 switch( (*( current_position)) ) { 7973 switch( (*( current_position)) ) {
8347 case 4u: goto st10; 7974 case 4u: goto st10;
8348 case 5u: goto st11; 7975 case 5u: goto st11;
8349 case 12u: goto st10; 7976 case 12u: goto st10;
8350 case 13u: goto st11; 7977 case 13u: goto st11;
8351 case 15u: goto st15; 7978 case 15u: goto st15;
8352 case 20u: goto st10; 7979 case 20u: goto st10;
8353 case 21u: goto st11; 7980 case 21u: goto st11;
8354 case 28u: goto st10; 7981 case 28u: goto st10;
8355 case 29u: goto st11; 7982 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
8367 case 102u: goto st74; 7994 case 102u: goto st74;
8368 case 104u: goto st11; 7995 case 104u: goto st11;
8369 case 105u: goto st130; 7996 case 105u: goto st130;
8370 case 106u: goto st10; 7997 case 106u: goto st10;
8371 case 107u: goto st56; 7998 case 107u: goto st56;
8372 case 128u: goto st56; 7999 case 128u: goto st56;
8373 case 129u: goto st130; 8000 case 129u: goto st130;
8374 case 131u: goto st139; 8001 case 131u: goto st139;
8375 case 141u: goto st115; 8002 case 141u: goto st115;
8376 case 143u: goto st141; 8003 case 143u: goto st141;
8377 » » case 155u: goto tr413; 8004 » » case 155u: goto tr386;
8378 case 168u: goto st10; 8005 case 168u: goto st10;
8379 case 169u: goto st11; 8006 case 169u: goto st11;
8380 case 196u: goto st153; 8007 case 196u: goto st153;
8381 » » case 198u: goto st185; 8008 » » case 198u: goto st170;
8382 » » case 199u: goto st186; 8009 » » case 199u: goto st171;
8383 case 201u: goto tr0; 8010 case 201u: goto tr0;
8384 » » case 216u: goto st187; 8011 » » case 216u: goto st172;
8385 » » case 217u: goto st188; 8012 » » case 217u: goto st173;
8386 » » case 218u: goto st189; 8013 » » case 218u: goto st174;
8387 » » case 219u: goto st190; 8014 » » case 219u: goto st175;
8388 » » case 220u: goto st191; 8015 » » case 220u: goto st176;
8389 » » case 221u: goto st192; 8016 » » case 221u: goto st177;
8390 » » case 222u: goto st193; 8017 » » case 222u: goto st178;
8391 » » case 223u: goto st194; 8018 » » case 223u: goto st179;
8392 » » case 232u: goto st195; 8019 » » case 232u: goto st180;
8393 case 233u: goto st52; 8020 case 233u: goto st52;
8394 case 235u: goto st67; 8021 case 235u: goto st67;
8395 » » case 240u: goto st199; 8022 » » case 240u: goto st184;
8396 » » case 242u: goto st202; 8023 » » case 242u: goto st187;
8397 » » case 243u: goto st210; 8024 » » case 243u: goto st195;
8398 » » case 246u: goto st215; 8025 » » case 246u: goto st200;
8399 » » case 247u: goto st216; 8026 » » case 247u: goto st201;
8400 » » case 254u: goto st217; 8027 » » case 254u: goto st202;
8401 » » case 255u: goto st226; 8028 » » case 255u: goto st211;
8402 } 8029 }
8403 if ( (*( current_position)) < 132u ) { 8030 if ( (*( current_position)) < 132u ) {
8404 if ( (*( current_position)) < 32u ) { 8031 if ( (*( current_position)) < 32u ) {
8405 if ( (*( current_position)) < 8u ) { 8032 if ( (*( current_position)) < 8u ) {
8406 if ( (*( current_position)) <= 3u ) 8033 if ( (*( current_position)) <= 3u )
8407 goto st1; 8034 goto st1;
8408 } else if ( (*( current_position)) > 11u ) { 8035 } else if ( (*( current_position)) > 11u ) {
8409 if ( (*( current_position)) > 19u ) { 8036 if ( (*( current_position)) > 19u ) {
8410 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 8037 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
8411 goto st1; 8038 goto st1;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
8459 goto tr0; 8086 goto tr0;
8460 } else if ( (*( current_position)) >= 244u ) 8087 } else if ( (*( current_position)) >= 244u )
8461 goto tr0; 8088 goto tr0;
8462 } else 8089 } else
8463 goto st118; 8090 goto st118;
8464 } else 8091 } else
8465 goto st10; 8092 goto st10;
8466 } else 8093 } else
8467 goto st1; 8094 goto st1;
8468 goto tr16; 8095 goto tr16;
8469 st226: 8096 st211:
8470 if ( ++( current_position) == ( end_of_bundle) ) 8097 if ( ++( current_position) == ( end_of_bundle) )
8471 » » goto _test_eof226; 8098 » » goto _test_eof211;
8472 case 226: 8099 case 211:
8473 switch( (*( current_position)) ) { 8100 switch( (*( current_position)) ) {
8474 case 4u: goto st2; 8101 case 4u: goto st2;
8475 case 5u: goto st3; 8102 case 5u: goto st3;
8476 case 12u: goto st2; 8103 case 12u: goto st2;
8477 case 13u: goto st3; 8104 case 13u: goto st3;
8478 case 52u: goto st2; 8105 case 52u: goto st2;
8479 case 53u: goto st3; 8106 case 53u: goto st3;
8480 case 68u: goto st8; 8107 case 68u: goto st8;
8481 case 76u: goto st8; 8108 case 76u: goto st8;
8482 case 116u: goto st8; 8109 case 116u: goto st8;
8483 case 132u: goto st9; 8110 case 132u: goto st9;
8484 case 140u: goto st9; 8111 case 140u: goto st9;
8485 case 180u: goto st9; 8112 case 180u: goto st9;
8486 » » case 212u: goto tr461; 8113 » » case 212u: goto tr434;
8487 » » case 228u: goto tr462; 8114 » » case 228u: goto tr435;
8488 } 8115 }
8489 if ( (*( current_position)) < 112u ) { 8116 if ( (*( current_position)) < 112u ) {
8490 if ( (*( current_position)) < 48u ) { 8117 if ( (*( current_position)) < 48u ) {
8491 if ( (*( current_position)) <= 15u ) 8118 if ( (*( current_position)) <= 15u )
8492 goto tr0; 8119 goto tr0;
8493 } else if ( (*( current_position)) > 55u ) { 8120 } else if ( (*( current_position)) > 55u ) {
8494 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u ) 8121 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u )
8495 goto st7; 8122 goto st7;
8496 } else 8123 } else
8497 goto tr0; 8124 goto tr0;
8498 } else if ( (*( current_position)) > 119u ) { 8125 } else if ( (*( current_position)) > 119u ) {
8499 if ( (*( current_position)) < 176u ) { 8126 if ( (*( current_position)) < 176u ) {
8500 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u ) 8127 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u )
8501 goto st3; 8128 goto st3;
8502 } else if ( (*( current_position)) > 183u ) { 8129 } else if ( (*( current_position)) > 183u ) {
8503 if ( (*( current_position)) > 207u ) { 8130 if ( (*( current_position)) > 207u ) {
8504 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 8131 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
8505 goto tr0; 8132 goto tr0;
8506 } else if ( (*( current_position)) >= 192u ) 8133 } else if ( (*( current_position)) >= 192u )
8507 goto tr0; 8134 goto tr0;
8508 } else 8135 } else
8509 goto st3; 8136 goto st3;
8510 } else 8137 } else
8511 goto st7; 8138 goto st7;
8512 goto tr16; 8139 goto tr16;
8513 st227: 8140 st212:
8514 if ( ++( current_position) == ( end_of_bundle) ) 8141 if ( ++( current_position) == ( end_of_bundle) )
8515 » » goto _test_eof227; 8142 » » goto _test_eof212;
8516 case 227: 8143 case 212:
8517 if ( (*( current_position)) == 224u ) 8144 if ( (*( current_position)) == 224u )
8518 » » goto tr467; 8145 » » goto tr440;
8519 goto tr11; 8146 goto tr11;
8520 tr467: 8147 tr440:
8521 { 8148 {
8522 SET_IMM_TYPE(IMM8); 8149 SET_IMMEDIATE_FORMAT(IMM8);
8523 SET_IMM_PTR(current_position); 8150 SET_IMMEDIATE_POINTER(current_position);
8524 } 8151 }
8525 {} 8152 {}
8526 { 8153 {
8527 /* Mark start of this instruction as a valid target for jump. */ 8154 /* Mark start of this instruction as a valid target for jump. */
8528 MarkValidJumpTarget(instruction_begin - data, valid_targets); 8155 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
8529 8156
8530 /* Call user-supplied callback. */ 8157 /* Call user-supplied callback. */
8531 instruction_end = current_position + 1; 8158 instruction_end = current_position + 1;
8532 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 8159 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
8533 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 8160 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
8534 result &= user_callback(instruction_begin, instruction_end, 8161 result &= user_callback(instruction_begin, instruction_end,
8535 instruction_info_collected, callback_data); 8162 instruction_info_collected, callback_data);
8536 } 8163 }
8537 8164
8538 /* On successful match the instruction_begin must point to the next byte 8165 /*
8539 * to be able to report the new offset as the start of instruction 8166 * We may set instruction_begin at the first byte of the instruction instead
8540 * causing error. */ 8167 * of here but in the case of incorrect one byte instructions user callback
8168 * may be called before instruction_begin is set.
8169 */
8541 instruction_begin = instruction_end; 8170 instruction_begin = instruction_end;
8542 8171
8543 /* Clear variables (well, one variable currently). */ 8172 /* Clear variables (well, one variable currently). */
8544 instruction_info_collected = 0; 8173 instruction_info_collected = 0;
8545 } 8174 }
8546 » goto st239; 8175 » goto st224;
8547 st239: 8176 st224:
8548 if ( ++( current_position) == ( end_of_bundle) ) 8177 if ( ++( current_position) == ( end_of_bundle) )
8549 » » goto _test_eof239; 8178 » » goto _test_eof224;
8550 case 239: 8179 case 224:
8551 switch( (*( current_position)) ) { 8180 switch( (*( current_position)) ) {
8552 case 4u: goto st10; 8181 case 4u: goto st10;
8553 case 5u: goto st11; 8182 case 5u: goto st11;
8554 case 12u: goto st10; 8183 case 12u: goto st10;
8555 case 13u: goto st11; 8184 case 13u: goto st11;
8556 case 15u: goto st15; 8185 case 15u: goto st15;
8557 case 20u: goto st10; 8186 case 20u: goto st10;
8558 case 21u: goto st11; 8187 case 21u: goto st11;
8559 case 28u: goto st10; 8188 case 28u: goto st10;
8560 case 29u: goto st11; 8189 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
8572 case 102u: goto st74; 8201 case 102u: goto st74;
8573 case 104u: goto st11; 8202 case 104u: goto st11;
8574 case 105u: goto st130; 8203 case 105u: goto st130;
8575 case 106u: goto st10; 8204 case 106u: goto st10;
8576 case 107u: goto st56; 8205 case 107u: goto st56;
8577 case 128u: goto st56; 8206 case 128u: goto st56;
8578 case 129u: goto st130; 8207 case 129u: goto st130;
8579 case 131u: goto st139; 8208 case 131u: goto st139;
8580 case 141u: goto st115; 8209 case 141u: goto st115;
8581 case 143u: goto st141; 8210 case 143u: goto st141;
8582 » » case 155u: goto tr413; 8211 » » case 155u: goto tr386;
8583 case 168u: goto st10; 8212 case 168u: goto st10;
8584 case 169u: goto st11; 8213 case 169u: goto st11;
8585 case 196u: goto st153; 8214 case 196u: goto st153;
8586 » » case 198u: goto st185; 8215 » » case 198u: goto st170;
8587 » » case 199u: goto st186; 8216 » » case 199u: goto st171;
8588 case 201u: goto tr0; 8217 case 201u: goto tr0;
8589 » » case 216u: goto st187; 8218 » » case 216u: goto st172;
8590 » » case 217u: goto st188; 8219 » » case 217u: goto st173;
8591 » » case 218u: goto st189; 8220 » » case 218u: goto st174;
8592 » » case 219u: goto st190; 8221 » » case 219u: goto st175;
8593 » » case 220u: goto st191; 8222 » » case 220u: goto st176;
8594 » » case 221u: goto st192; 8223 » » case 221u: goto st177;
8595 » » case 222u: goto st193; 8224 » » case 222u: goto st178;
8596 » » case 223u: goto st194; 8225 » » case 223u: goto st179;
8597 » » case 232u: goto st195; 8226 » » case 232u: goto st180;
8598 case 233u: goto st52; 8227 case 233u: goto st52;
8599 case 235u: goto st67; 8228 case 235u: goto st67;
8600 » » case 240u: goto st199; 8229 » » case 240u: goto st184;
8601 » » case 242u: goto st202; 8230 » » case 242u: goto st187;
8602 » » case 243u: goto st210; 8231 » » case 243u: goto st195;
8603 » » case 246u: goto st215; 8232 » » case 246u: goto st200;
8604 » » case 247u: goto st216; 8233 » » case 247u: goto st201;
8605 » » case 254u: goto st217; 8234 » » case 254u: goto st202;
8606 » » case 255u: goto st228; 8235 » » case 255u: goto st213;
8607 } 8236 }
8608 if ( (*( current_position)) < 132u ) { 8237 if ( (*( current_position)) < 132u ) {
8609 if ( (*( current_position)) < 32u ) { 8238 if ( (*( current_position)) < 32u ) {
8610 if ( (*( current_position)) < 8u ) { 8239 if ( (*( current_position)) < 8u ) {
8611 if ( (*( current_position)) <= 3u ) 8240 if ( (*( current_position)) <= 3u )
8612 goto st1; 8241 goto st1;
8613 } else if ( (*( current_position)) > 11u ) { 8242 } else if ( (*( current_position)) > 11u ) {
8614 if ( (*( current_position)) > 19u ) { 8243 if ( (*( current_position)) > 19u ) {
8615 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 8244 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
8616 goto st1; 8245 goto st1;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
8664 goto tr0; 8293 goto tr0;
8665 } else if ( (*( current_position)) >= 244u ) 8294 } else if ( (*( current_position)) >= 244u )
8666 goto tr0; 8295 goto tr0;
8667 } else 8296 } else
8668 goto st118; 8297 goto st118;
8669 } else 8298 } else
8670 goto st10; 8299 goto st10;
8671 } else 8300 } else
8672 goto st1; 8301 goto st1;
8673 goto tr16; 8302 goto tr16;
8674 st228: 8303 st213:
8675 if ( ++( current_position) == ( end_of_bundle) ) 8304 if ( ++( current_position) == ( end_of_bundle) )
8676 » » goto _test_eof228; 8305 » » goto _test_eof213;
8677 case 228: 8306 case 213:
8678 switch( (*( current_position)) ) { 8307 switch( (*( current_position)) ) {
8679 case 4u: goto st2; 8308 case 4u: goto st2;
8680 case 5u: goto st3; 8309 case 5u: goto st3;
8681 case 12u: goto st2; 8310 case 12u: goto st2;
8682 case 13u: goto st3; 8311 case 13u: goto st3;
8683 case 52u: goto st2; 8312 case 52u: goto st2;
8684 case 53u: goto st3; 8313 case 53u: goto st3;
8685 case 68u: goto st8; 8314 case 68u: goto st8;
8686 case 76u: goto st8; 8315 case 76u: goto st8;
8687 case 116u: goto st8; 8316 case 116u: goto st8;
8688 case 132u: goto st9; 8317 case 132u: goto st9;
8689 case 140u: goto st9; 8318 case 140u: goto st9;
8690 case 180u: goto st9; 8319 case 180u: goto st9;
8691 » » case 213u: goto tr461; 8320 » » case 213u: goto tr434;
8692 » » case 229u: goto tr462; 8321 » » case 229u: goto tr435;
8693 } 8322 }
8694 if ( (*( current_position)) < 112u ) { 8323 if ( (*( current_position)) < 112u ) {
8695 if ( (*( current_position)) < 48u ) { 8324 if ( (*( current_position)) < 48u ) {
8696 if ( (*( current_position)) <= 15u ) 8325 if ( (*( current_position)) <= 15u )
8697 goto tr0; 8326 goto tr0;
8698 } else if ( (*( current_position)) > 55u ) { 8327 } else if ( (*( current_position)) > 55u ) {
8699 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u ) 8328 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u )
8700 goto st7; 8329 goto st7;
8701 } else 8330 } else
8702 goto tr0; 8331 goto tr0;
8703 } else if ( (*( current_position)) > 119u ) { 8332 } else if ( (*( current_position)) > 119u ) {
8704 if ( (*( current_position)) < 176u ) { 8333 if ( (*( current_position)) < 176u ) {
8705 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u ) 8334 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u )
8706 goto st3; 8335 goto st3;
8707 } else if ( (*( current_position)) > 183u ) { 8336 } else if ( (*( current_position)) > 183u ) {
8708 if ( (*( current_position)) > 207u ) { 8337 if ( (*( current_position)) > 207u ) {
8709 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 8338 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
8710 goto tr0; 8339 goto tr0;
8711 } else if ( (*( current_position)) >= 192u ) 8340 } else if ( (*( current_position)) >= 192u )
8712 goto tr0; 8341 goto tr0;
8713 } else 8342 } else
8714 goto st3; 8343 goto st3;
8715 } else 8344 } else
8716 goto st7; 8345 goto st7;
8717 goto tr16; 8346 goto tr16;
8718 st229: 8347 st214:
8719 if ( ++( current_position) == ( end_of_bundle) ) 8348 if ( ++( current_position) == ( end_of_bundle) )
8720 » » goto _test_eof229; 8349 » » goto _test_eof214;
8721 case 229: 8350 case 214:
8722 if ( (*( current_position)) == 224u ) 8351 if ( (*( current_position)) == 224u )
8723 » » goto tr468; 8352 » » goto tr441;
8724 goto tr11; 8353 goto tr11;
8725 tr468: 8354 tr441:
8726 { 8355 {
8727 SET_IMM_TYPE(IMM8); 8356 SET_IMMEDIATE_FORMAT(IMM8);
8728 SET_IMM_PTR(current_position); 8357 SET_IMMEDIATE_POINTER(current_position);
8729 } 8358 }
8730 {} 8359 {}
8731 { 8360 {
8732 /* Mark start of this instruction as a valid target for jump. */ 8361 /* Mark start of this instruction as a valid target for jump. */
8733 MarkValidJumpTarget(instruction_begin - data, valid_targets); 8362 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
8734 8363
8735 /* Call user-supplied callback. */ 8364 /* Call user-supplied callback. */
8736 instruction_end = current_position + 1; 8365 instruction_end = current_position + 1;
8737 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 8366 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
8738 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 8367 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
8739 result &= user_callback(instruction_begin, instruction_end, 8368 result &= user_callback(instruction_begin, instruction_end,
8740 instruction_info_collected, callback_data); 8369 instruction_info_collected, callback_data);
8741 } 8370 }
8742 8371
8743 /* On successful match the instruction_begin must point to the next byte 8372 /*
8744 * to be able to report the new offset as the start of instruction 8373 * We may set instruction_begin at the first byte of the instruction instead
8745 * causing error. */ 8374 * of here but in the case of incorrect one byte instructions user callback
8375 * may be called before instruction_begin is set.
8376 */
8746 instruction_begin = instruction_end; 8377 instruction_begin = instruction_end;
8747 8378
8748 /* Clear variables (well, one variable currently). */ 8379 /* Clear variables (well, one variable currently). */
8749 instruction_info_collected = 0; 8380 instruction_info_collected = 0;
8750 } 8381 }
8751 » goto st240; 8382 » goto st225;
8752 st240: 8383 st225:
8753 if ( ++( current_position) == ( end_of_bundle) ) 8384 if ( ++( current_position) == ( end_of_bundle) )
8754 » » goto _test_eof240; 8385 » » goto _test_eof225;
8755 case 240: 8386 case 225:
8756 switch( (*( current_position)) ) { 8387 switch( (*( current_position)) ) {
8757 case 4u: goto st10; 8388 case 4u: goto st10;
8758 case 5u: goto st11; 8389 case 5u: goto st11;
8759 case 12u: goto st10; 8390 case 12u: goto st10;
8760 case 13u: goto st11; 8391 case 13u: goto st11;
8761 case 15u: goto st15; 8392 case 15u: goto st15;
8762 case 20u: goto st10; 8393 case 20u: goto st10;
8763 case 21u: goto st11; 8394 case 21u: goto st11;
8764 case 28u: goto st10; 8395 case 28u: goto st10;
8765 case 29u: goto st11; 8396 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
8777 case 102u: goto st74; 8408 case 102u: goto st74;
8778 case 104u: goto st11; 8409 case 104u: goto st11;
8779 case 105u: goto st130; 8410 case 105u: goto st130;
8780 case 106u: goto st10; 8411 case 106u: goto st10;
8781 case 107u: goto st56; 8412 case 107u: goto st56;
8782 case 128u: goto st56; 8413 case 128u: goto st56;
8783 case 129u: goto st130; 8414 case 129u: goto st130;
8784 case 131u: goto st139; 8415 case 131u: goto st139;
8785 case 141u: goto st115; 8416 case 141u: goto st115;
8786 case 143u: goto st141; 8417 case 143u: goto st141;
8787 » » case 155u: goto tr413; 8418 » » case 155u: goto tr386;
8788 case 168u: goto st10; 8419 case 168u: goto st10;
8789 case 169u: goto st11; 8420 case 169u: goto st11;
8790 case 196u: goto st153; 8421 case 196u: goto st153;
8791 » » case 198u: goto st185; 8422 » » case 198u: goto st170;
8792 » » case 199u: goto st186; 8423 » » case 199u: goto st171;
8793 case 201u: goto tr0; 8424 case 201u: goto tr0;
8794 » » case 216u: goto st187; 8425 » » case 216u: goto st172;
8795 » » case 217u: goto st188; 8426 » » case 217u: goto st173;
8796 » » case 218u: goto st189; 8427 » » case 218u: goto st174;
8797 » » case 219u: goto st190; 8428 » » case 219u: goto st175;
8798 » » case 220u: goto st191; 8429 » » case 220u: goto st176;
8799 » » case 221u: goto st192; 8430 » » case 221u: goto st177;
8800 » » case 222u: goto st193; 8431 » » case 222u: goto st178;
8801 » » case 223u: goto st194; 8432 » » case 223u: goto st179;
8802 » » case 232u: goto st195; 8433 » » case 232u: goto st180;
8803 case 233u: goto st52; 8434 case 233u: goto st52;
8804 case 235u: goto st67; 8435 case 235u: goto st67;
8805 » » case 240u: goto st199; 8436 » » case 240u: goto st184;
8806 » » case 242u: goto st202; 8437 » » case 242u: goto st187;
8807 » » case 243u: goto st210; 8438 » » case 243u: goto st195;
8808 » » case 246u: goto st215; 8439 » » case 246u: goto st200;
8809 » » case 247u: goto st216; 8440 » » case 247u: goto st201;
8810 » » case 254u: goto st217; 8441 » » case 254u: goto st202;
8811 » » case 255u: goto st230; 8442 » » case 255u: goto st215;
8812 } 8443 }
8813 if ( (*( current_position)) < 132u ) { 8444 if ( (*( current_position)) < 132u ) {
8814 if ( (*( current_position)) < 32u ) { 8445 if ( (*( current_position)) < 32u ) {
8815 if ( (*( current_position)) < 8u ) { 8446 if ( (*( current_position)) < 8u ) {
8816 if ( (*( current_position)) <= 3u ) 8447 if ( (*( current_position)) <= 3u )
8817 goto st1; 8448 goto st1;
8818 } else if ( (*( current_position)) > 11u ) { 8449 } else if ( (*( current_position)) > 11u ) {
8819 if ( (*( current_position)) > 19u ) { 8450 if ( (*( current_position)) > 19u ) {
8820 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 8451 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
8821 goto st1; 8452 goto st1;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
8869 goto tr0; 8500 goto tr0;
8870 } else if ( (*( current_position)) >= 244u ) 8501 } else if ( (*( current_position)) >= 244u )
8871 goto tr0; 8502 goto tr0;
8872 } else 8503 } else
8873 goto st118; 8504 goto st118;
8874 } else 8505 } else
8875 goto st10; 8506 goto st10;
8876 } else 8507 } else
8877 goto st1; 8508 goto st1;
8878 goto tr16; 8509 goto tr16;
8879 st230: 8510 st215:
8880 if ( ++( current_position) == ( end_of_bundle) ) 8511 if ( ++( current_position) == ( end_of_bundle) )
8881 » » goto _test_eof230; 8512 » » goto _test_eof215;
8882 case 230: 8513 case 215:
8883 switch( (*( current_position)) ) { 8514 switch( (*( current_position)) ) {
8884 case 4u: goto st2; 8515 case 4u: goto st2;
8885 case 5u: goto st3; 8516 case 5u: goto st3;
8886 case 12u: goto st2; 8517 case 12u: goto st2;
8887 case 13u: goto st3; 8518 case 13u: goto st3;
8888 case 52u: goto st2; 8519 case 52u: goto st2;
8889 case 53u: goto st3; 8520 case 53u: goto st3;
8890 case 68u: goto st8; 8521 case 68u: goto st8;
8891 case 76u: goto st8; 8522 case 76u: goto st8;
8892 case 116u: goto st8; 8523 case 116u: goto st8;
8893 case 132u: goto st9; 8524 case 132u: goto st9;
8894 case 140u: goto st9; 8525 case 140u: goto st9;
8895 case 180u: goto st9; 8526 case 180u: goto st9;
8896 » » case 214u: goto tr461; 8527 » » case 214u: goto tr434;
8897 » » case 230u: goto tr462; 8528 » » case 230u: goto tr435;
8898 } 8529 }
8899 if ( (*( current_position)) < 112u ) { 8530 if ( (*( current_position)) < 112u ) {
8900 if ( (*( current_position)) < 48u ) { 8531 if ( (*( current_position)) < 48u ) {
8901 if ( (*( current_position)) <= 15u ) 8532 if ( (*( current_position)) <= 15u )
8902 goto tr0; 8533 goto tr0;
8903 } else if ( (*( current_position)) > 55u ) { 8534 } else if ( (*( current_position)) > 55u ) {
8904 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u ) 8535 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u )
8905 goto st7; 8536 goto st7;
8906 } else 8537 } else
8907 goto tr0; 8538 goto tr0;
8908 } else if ( (*( current_position)) > 119u ) { 8539 } else if ( (*( current_position)) > 119u ) {
8909 if ( (*( current_position)) < 176u ) { 8540 if ( (*( current_position)) < 176u ) {
8910 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u ) 8541 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u )
8911 goto st3; 8542 goto st3;
8912 } else if ( (*( current_position)) > 183u ) { 8543 } else if ( (*( current_position)) > 183u ) {
8913 if ( (*( current_position)) > 207u ) { 8544 if ( (*( current_position)) > 207u ) {
8914 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 8545 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
8915 goto tr0; 8546 goto tr0;
8916 } else if ( (*( current_position)) >= 192u ) 8547 } else if ( (*( current_position)) >= 192u )
8917 goto tr0; 8548 goto tr0;
8918 } else 8549 } else
8919 goto st3; 8550 goto st3;
8920 } else 8551 } else
8921 goto st7; 8552 goto st7;
8922 goto tr16; 8553 goto tr16;
8923 st231: 8554 st216:
8924 if ( ++( current_position) == ( end_of_bundle) ) 8555 if ( ++( current_position) == ( end_of_bundle) )
8925 » » goto _test_eof231; 8556 » » goto _test_eof216;
8926 case 231: 8557 case 216:
8927 if ( (*( current_position)) == 224u ) 8558 if ( (*( current_position)) == 224u )
8928 » » goto tr469; 8559 » » goto tr442;
8929 goto tr11; 8560 goto tr11;
8930 tr469: 8561 tr442:
8931 { 8562 {
8932 SET_IMM_TYPE(IMM8); 8563 SET_IMMEDIATE_FORMAT(IMM8);
8933 SET_IMM_PTR(current_position); 8564 SET_IMMEDIATE_POINTER(current_position);
8934 } 8565 }
8935 {} 8566 {}
8936 { 8567 {
8937 /* Mark start of this instruction as a valid target for jump. */ 8568 /* Mark start of this instruction as a valid target for jump. */
8938 MarkValidJumpTarget(instruction_begin - data, valid_targets); 8569 MarkValidJumpTarget(instruction_begin - codeblock, valid_targets);
8939 8570
8940 /* Call user-supplied callback. */ 8571 /* Call user-supplied callback. */
8941 instruction_end = current_position + 1; 8572 instruction_end = current_position + 1;
8942 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) || 8573 if ((instruction_info_collected & VALIDATION_ERRORS_MASK) ||
8943 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) { 8574 (options & CALL_USER_CALLBACK_ON_EACH_INSTRUCTION)) {
8944 result &= user_callback(instruction_begin, instruction_end, 8575 result &= user_callback(instruction_begin, instruction_end,
8945 instruction_info_collected, callback_data); 8576 instruction_info_collected, callback_data);
8946 } 8577 }
8947 8578
8948 /* On successful match the instruction_begin must point to the next byte 8579 /*
8949 * to be able to report the new offset as the start of instruction 8580 * We may set instruction_begin at the first byte of the instruction instead
8950 * causing error. */ 8581 * of here but in the case of incorrect one byte instructions user callback
8582 * may be called before instruction_begin is set.
8583 */
8951 instruction_begin = instruction_end; 8584 instruction_begin = instruction_end;
8952 8585
8953 /* Clear variables (well, one variable currently). */ 8586 /* Clear variables (well, one variable currently). */
8954 instruction_info_collected = 0; 8587 instruction_info_collected = 0;
8955 } 8588 }
8956 » goto st241; 8589 » goto st226;
8957 st241: 8590 st226:
8958 if ( ++( current_position) == ( end_of_bundle) ) 8591 if ( ++( current_position) == ( end_of_bundle) )
8959 » » goto _test_eof241; 8592 » » goto _test_eof226;
8960 case 241: 8593 case 226:
8961 switch( (*( current_position)) ) { 8594 switch( (*( current_position)) ) {
8962 case 4u: goto st10; 8595 case 4u: goto st10;
8963 case 5u: goto st11; 8596 case 5u: goto st11;
8964 case 12u: goto st10; 8597 case 12u: goto st10;
8965 case 13u: goto st11; 8598 case 13u: goto st11;
8966 case 15u: goto st15; 8599 case 15u: goto st15;
8967 case 20u: goto st10; 8600 case 20u: goto st10;
8968 case 21u: goto st11; 8601 case 21u: goto st11;
8969 case 28u: goto st10; 8602 case 28u: goto st10;
8970 case 29u: goto st11; 8603 case 29u: goto st11;
(...skipping 11 matching lines...) Expand all
8982 case 102u: goto st74; 8615 case 102u: goto st74;
8983 case 104u: goto st11; 8616 case 104u: goto st11;
8984 case 105u: goto st130; 8617 case 105u: goto st130;
8985 case 106u: goto st10; 8618 case 106u: goto st10;
8986 case 107u: goto st56; 8619 case 107u: goto st56;
8987 case 128u: goto st56; 8620 case 128u: goto st56;
8988 case 129u: goto st130; 8621 case 129u: goto st130;
8989 case 131u: goto st139; 8622 case 131u: goto st139;
8990 case 141u: goto st115; 8623 case 141u: goto st115;
8991 case 143u: goto st141; 8624 case 143u: goto st141;
8992 » » case 155u: goto tr413; 8625 » » case 155u: goto tr386;
8993 case 168u: goto st10; 8626 case 168u: goto st10;
8994 case 169u: goto st11; 8627 case 169u: goto st11;
8995 case 196u: goto st153; 8628 case 196u: goto st153;
8996 » » case 198u: goto st185; 8629 » » case 198u: goto st170;
8997 » » case 199u: goto st186; 8630 » » case 199u: goto st171;
8998 case 201u: goto tr0; 8631 case 201u: goto tr0;
8999 » » case 216u: goto st187; 8632 » » case 216u: goto st172;
9000 » » case 217u: goto st188; 8633 » » case 217u: goto st173;
9001 » » case 218u: goto st189; 8634 » » case 218u: goto st174;
9002 » » case 219u: goto st190; 8635 » » case 219u: goto st175;
9003 » » case 220u: goto st191; 8636 » » case 220u: goto st176;
9004 » » case 221u: goto st192; 8637 » » case 221u: goto st177;
9005 » » case 222u: goto st193; 8638 » » case 222u: goto st178;
9006 » » case 223u: goto st194; 8639 » » case 223u: goto st179;
9007 » » case 232u: goto st195; 8640 » » case 232u: goto st180;
9008 case 233u: goto st52; 8641 case 233u: goto st52;
9009 case 235u: goto st67; 8642 case 235u: goto st67;
9010 » » case 240u: goto st199; 8643 » » case 240u: goto st184;
9011 » » case 242u: goto st202; 8644 » » case 242u: goto st187;
9012 » » case 243u: goto st210; 8645 » » case 243u: goto st195;
9013 » » case 246u: goto st215; 8646 » » case 246u: goto st200;
9014 » » case 247u: goto st216; 8647 » » case 247u: goto st201;
9015 » » case 254u: goto st217; 8648 » » case 254u: goto st202;
9016 » » case 255u: goto st232; 8649 » » case 255u: goto st217;
9017 } 8650 }
9018 if ( (*( current_position)) < 132u ) { 8651 if ( (*( current_position)) < 132u ) {
9019 if ( (*( current_position)) < 32u ) { 8652 if ( (*( current_position)) < 32u ) {
9020 if ( (*( current_position)) < 8u ) { 8653 if ( (*( current_position)) < 8u ) {
9021 if ( (*( current_position)) <= 3u ) 8654 if ( (*( current_position)) <= 3u )
9022 goto st1; 8655 goto st1;
9023 } else if ( (*( current_position)) > 11u ) { 8656 } else if ( (*( current_position)) > 11u ) {
9024 if ( (*( current_position)) > 19u ) { 8657 if ( (*( current_position)) > 19u ) {
9025 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u ) 8658 if ( 24u <= (*( current_position)) && (* ( current_position)) <= 27u )
9026 goto st1; 8659 goto st1;
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
9074 goto tr0; 8707 goto tr0;
9075 } else if ( (*( current_position)) >= 244u ) 8708 } else if ( (*( current_position)) >= 244u )
9076 goto tr0; 8709 goto tr0;
9077 } else 8710 } else
9078 goto st118; 8711 goto st118;
9079 } else 8712 } else
9080 goto st10; 8713 goto st10;
9081 } else 8714 } else
9082 goto st1; 8715 goto st1;
9083 goto tr16; 8716 goto tr16;
9084 st232: 8717 st217:
9085 if ( ++( current_position) == ( end_of_bundle) ) 8718 if ( ++( current_position) == ( end_of_bundle) )
9086 » » goto _test_eof232; 8719 » » goto _test_eof217;
9087 case 232: 8720 case 217:
9088 switch( (*( current_position)) ) { 8721 switch( (*( current_position)) ) {
9089 case 4u: goto st2; 8722 case 4u: goto st2;
9090 case 5u: goto st3; 8723 case 5u: goto st3;
9091 case 12u: goto st2; 8724 case 12u: goto st2;
9092 case 13u: goto st3; 8725 case 13u: goto st3;
9093 case 52u: goto st2; 8726 case 52u: goto st2;
9094 case 53u: goto st3; 8727 case 53u: goto st3;
9095 case 68u: goto st8; 8728 case 68u: goto st8;
9096 case 76u: goto st8; 8729 case 76u: goto st8;
9097 case 116u: goto st8; 8730 case 116u: goto st8;
9098 case 132u: goto st9; 8731 case 132u: goto st9;
9099 case 140u: goto st9; 8732 case 140u: goto st9;
9100 case 180u: goto st9; 8733 case 180u: goto st9;
9101 » » case 215u: goto tr461; 8734 » » case 215u: goto tr434;
9102 » » case 231u: goto tr462; 8735 » » case 231u: goto tr435;
9103 } 8736 }
9104 if ( (*( current_position)) < 112u ) { 8737 if ( (*( current_position)) < 112u ) {
9105 if ( (*( current_position)) < 48u ) { 8738 if ( (*( current_position)) < 48u ) {
9106 if ( (*( current_position)) <= 15u ) 8739 if ( (*( current_position)) <= 15u )
9107 goto tr0; 8740 goto tr0;
9108 } else if ( (*( current_position)) > 55u ) { 8741 } else if ( (*( current_position)) > 55u ) {
9109 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u ) 8742 if ( 64u <= (*( current_position)) && (*( current_positi on)) <= 79u )
9110 goto st7; 8743 goto st7;
9111 } else 8744 } else
9112 goto tr0; 8745 goto tr0;
9113 } else if ( (*( current_position)) > 119u ) { 8746 } else if ( (*( current_position)) > 119u ) {
9114 if ( (*( current_position)) < 176u ) { 8747 if ( (*( current_position)) < 176u ) {
9115 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u ) 8748 if ( 128u <= (*( current_position)) && (*( current_posit ion)) <= 143u )
9116 goto st3; 8749 goto st3;
9117 } else if ( (*( current_position)) > 183u ) { 8750 } else if ( (*( current_position)) > 183u ) {
9118 if ( (*( current_position)) > 207u ) { 8751 if ( (*( current_position)) > 207u ) {
9119 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u ) 8752 if ( 240u <= (*( current_position)) && (*( curre nt_position)) <= 247u )
9120 goto tr0; 8753 goto tr0;
9121 } else if ( (*( current_position)) >= 192u ) 8754 } else if ( (*( current_position)) >= 192u )
9122 goto tr0; 8755 goto tr0;
9123 } else 8756 } else
9124 goto st3; 8757 goto st3;
9125 } else 8758 } else
9126 goto st7; 8759 goto st7;
9127 goto tr16; 8760 goto tr16;
9128 } 8761 }
9129 » _test_eof233: ( current_state) = 233; goto _test_eof; 8762 » _test_eof218: ( current_state) = 218; goto _test_eof;
9130 _test_eof1: ( current_state) = 1; goto _test_eof; 8763 _test_eof1: ( current_state) = 1; goto _test_eof;
9131 _test_eof2: ( current_state) = 2; goto _test_eof; 8764 _test_eof2: ( current_state) = 2; goto _test_eof;
9132 _test_eof3: ( current_state) = 3; goto _test_eof; 8765 _test_eof3: ( current_state) = 3; goto _test_eof;
9133 _test_eof4: ( current_state) = 4; goto _test_eof; 8766 _test_eof4: ( current_state) = 4; goto _test_eof;
9134 _test_eof5: ( current_state) = 5; goto _test_eof; 8767 _test_eof5: ( current_state) = 5; goto _test_eof;
9135 _test_eof6: ( current_state) = 6; goto _test_eof; 8768 _test_eof6: ( current_state) = 6; goto _test_eof;
9136 _test_eof7: ( current_state) = 7; goto _test_eof; 8769 _test_eof7: ( current_state) = 7; goto _test_eof;
9137 _test_eof8: ( current_state) = 8; goto _test_eof; 8770 _test_eof8: ( current_state) = 8; goto _test_eof;
9138 _test_eof9: ( current_state) = 9; goto _test_eof; 8771 _test_eof9: ( current_state) = 9; goto _test_eof;
9139 _test_eof10: ( current_state) = 10; goto _test_eof; 8772 _test_eof10: ( current_state) = 10; goto _test_eof;
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
9260 _test_eof131: ( current_state) = 131; goto _test_eof; 8893 _test_eof131: ( current_state) = 131; goto _test_eof;
9261 _test_eof132: ( current_state) = 132; goto _test_eof; 8894 _test_eof132: ( current_state) = 132; goto _test_eof;
9262 _test_eof133: ( current_state) = 133; goto _test_eof; 8895 _test_eof133: ( current_state) = 133; goto _test_eof;
9263 _test_eof134: ( current_state) = 134; goto _test_eof; 8896 _test_eof134: ( current_state) = 134; goto _test_eof;
9264 _test_eof135: ( current_state) = 135; goto _test_eof; 8897 _test_eof135: ( current_state) = 135; goto _test_eof;
9265 _test_eof136: ( current_state) = 136; goto _test_eof; 8898 _test_eof136: ( current_state) = 136; goto _test_eof;
9266 _test_eof137: ( current_state) = 137; goto _test_eof; 8899 _test_eof137: ( current_state) = 137; goto _test_eof;
9267 _test_eof138: ( current_state) = 138; goto _test_eof; 8900 _test_eof138: ( current_state) = 138; goto _test_eof;
9268 _test_eof139: ( current_state) = 139; goto _test_eof; 8901 _test_eof139: ( current_state) = 139; goto _test_eof;
9269 _test_eof140: ( current_state) = 140; goto _test_eof; 8902 _test_eof140: ( current_state) = 140; goto _test_eof;
9270 » _test_eof234: ( current_state) = 234; goto _test_eof; 8903 » _test_eof219: ( current_state) = 219; goto _test_eof;
9271 _test_eof141: ( current_state) = 141; goto _test_eof; 8904 _test_eof141: ( current_state) = 141; goto _test_eof;
9272 _test_eof142: ( current_state) = 142; goto _test_eof; 8905 _test_eof142: ( current_state) = 142; goto _test_eof;
9273 _test_eof143: ( current_state) = 143; goto _test_eof; 8906 _test_eof143: ( current_state) = 143; goto _test_eof;
9274 _test_eof144: ( current_state) = 144; goto _test_eof; 8907 _test_eof144: ( current_state) = 144; goto _test_eof;
9275 _test_eof145: ( current_state) = 145; goto _test_eof; 8908 _test_eof145: ( current_state) = 145; goto _test_eof;
9276 _test_eof146: ( current_state) = 146; goto _test_eof; 8909 _test_eof146: ( current_state) = 146; goto _test_eof;
9277 _test_eof147: ( current_state) = 147; goto _test_eof; 8910 _test_eof147: ( current_state) = 147; goto _test_eof;
9278 _test_eof148: ( current_state) = 148; goto _test_eof; 8911 _test_eof148: ( current_state) = 148; goto _test_eof;
9279 _test_eof149: ( current_state) = 149; goto _test_eof; 8912 _test_eof149: ( current_state) = 149; goto _test_eof;
9280 _test_eof150: ( current_state) = 150; goto _test_eof; 8913 _test_eof150: ( current_state) = 150; goto _test_eof;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
9325 _test_eof195: ( current_state) = 195; goto _test_eof; 8958 _test_eof195: ( current_state) = 195; goto _test_eof;
9326 _test_eof196: ( current_state) = 196; goto _test_eof; 8959 _test_eof196: ( current_state) = 196; goto _test_eof;
9327 _test_eof197: ( current_state) = 197; goto _test_eof; 8960 _test_eof197: ( current_state) = 197; goto _test_eof;
9328 _test_eof198: ( current_state) = 198; goto _test_eof; 8961 _test_eof198: ( current_state) = 198; goto _test_eof;
9329 _test_eof199: ( current_state) = 199; goto _test_eof; 8962 _test_eof199: ( current_state) = 199; goto _test_eof;
9330 _test_eof200: ( current_state) = 200; goto _test_eof; 8963 _test_eof200: ( current_state) = 200; goto _test_eof;
9331 _test_eof201: ( current_state) = 201; goto _test_eof; 8964 _test_eof201: ( current_state) = 201; goto _test_eof;
9332 _test_eof202: ( current_state) = 202; goto _test_eof; 8965 _test_eof202: ( current_state) = 202; goto _test_eof;
9333 _test_eof203: ( current_state) = 203; goto _test_eof; 8966 _test_eof203: ( current_state) = 203; goto _test_eof;
9334 _test_eof204: ( current_state) = 204; goto _test_eof; 8967 _test_eof204: ( current_state) = 204; goto _test_eof;
8968 _test_eof220: ( current_state) = 220; goto _test_eof;
9335 _test_eof205: ( current_state) = 205; goto _test_eof; 8969 _test_eof205: ( current_state) = 205; goto _test_eof;
9336 _test_eof206: ( current_state) = 206; goto _test_eof; 8970 _test_eof206: ( current_state) = 206; goto _test_eof;
8971 _test_eof221: ( current_state) = 221; goto _test_eof;
9337 _test_eof207: ( current_state) = 207; goto _test_eof; 8972 _test_eof207: ( current_state) = 207; goto _test_eof;
9338 _test_eof208: ( current_state) = 208; goto _test_eof; 8973 _test_eof208: ( current_state) = 208; goto _test_eof;
8974 _test_eof222: ( current_state) = 222; goto _test_eof;
9339 _test_eof209: ( current_state) = 209; goto _test_eof; 8975 _test_eof209: ( current_state) = 209; goto _test_eof;
9340 _test_eof210: ( current_state) = 210; goto _test_eof; 8976 _test_eof210: ( current_state) = 210; goto _test_eof;
8977 _test_eof223: ( current_state) = 223; goto _test_eof;
9341 _test_eof211: ( current_state) = 211; goto _test_eof; 8978 _test_eof211: ( current_state) = 211; goto _test_eof;
9342 _test_eof212: ( current_state) = 212; goto _test_eof; 8979 _test_eof212: ( current_state) = 212; goto _test_eof;
8980 _test_eof224: ( current_state) = 224; goto _test_eof;
9343 _test_eof213: ( current_state) = 213; goto _test_eof; 8981 _test_eof213: ( current_state) = 213; goto _test_eof;
9344 _test_eof214: ( current_state) = 214; goto _test_eof; 8982 _test_eof214: ( current_state) = 214; goto _test_eof;
8983 _test_eof225: ( current_state) = 225; goto _test_eof;
9345 _test_eof215: ( current_state) = 215; goto _test_eof; 8984 _test_eof215: ( current_state) = 215; goto _test_eof;
9346 _test_eof216: ( current_state) = 216; goto _test_eof; 8985 _test_eof216: ( current_state) = 216; goto _test_eof;
8986 _test_eof226: ( current_state) = 226; goto _test_eof;
9347 _test_eof217: ( current_state) = 217; goto _test_eof; 8987 _test_eof217: ( current_state) = 217; goto _test_eof;
9348 _test_eof218: ( current_state) = 218; goto _test_eof;
9349 _test_eof219: ( current_state) = 219; goto _test_eof;
9350 _test_eof235: ( current_state) = 235; goto _test_eof;
9351 _test_eof220: ( current_state) = 220; goto _test_eof;
9352 _test_eof221: ( current_state) = 221; goto _test_eof;
9353 _test_eof236: ( current_state) = 236; goto _test_eof;
9354 _test_eof222: ( current_state) = 222; goto _test_eof;
9355 _test_eof223: ( current_state) = 223; goto _test_eof;
9356 _test_eof237: ( current_state) = 237; goto _test_eof;
9357 _test_eof224: ( current_state) = 224; goto _test_eof;
9358 _test_eof225: ( current_state) = 225; goto _test_eof;
9359 _test_eof238: ( current_state) = 238; goto _test_eof;
9360 _test_eof226: ( current_state) = 226; goto _test_eof;
9361 _test_eof227: ( current_state) = 227; goto _test_eof;
9362 _test_eof239: ( current_state) = 239; goto _test_eof;
9363 _test_eof228: ( current_state) = 228; goto _test_eof;
9364 _test_eof229: ( current_state) = 229; goto _test_eof;
9365 _test_eof240: ( current_state) = 240; goto _test_eof;
9366 _test_eof230: ( current_state) = 230; goto _test_eof;
9367 _test_eof231: ( current_state) = 231; goto _test_eof;
9368 _test_eof241: ( current_state) = 241; goto _test_eof;
9369 _test_eof232: ( current_state) = 232; goto _test_eof;
9370 8988
9371 _test_eof: {} 8989 _test_eof: {}
9372 if ( ( current_position) == ( end_of_bundle) ) 8990 if ( ( current_position) == ( end_of_bundle) )
9373 { 8991 {
9374 switch ( ( current_state) ) { 8992 switch ( ( current_state) ) {
9375 case 1: 8993 case 1:
9376 case 2: 8994 case 2:
9377 case 3: 8995 case 3:
9378 case 4: 8996 case 4:
9379 case 5: 8997 case 5:
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
9582 case 208: 9200 case 208:
9583 case 209: 9201 case 209:
9584 case 210: 9202 case 210:
9585 case 211: 9203 case 211:
9586 case 212: 9204 case 212:
9587 case 213: 9205 case 213:
9588 case 214: 9206 case 214:
9589 case 215: 9207 case 215:
9590 case 216: 9208 case 216:
9591 case 217: 9209 case 217:
9592 case 218:
9593 case 219:
9594 case 220:
9595 case 221:
9596 case 222:
9597 case 223:
9598 case 224:
9599 case 225:
9600 case 226:
9601 case 227:
9602 case 228:
9603 case 229:
9604 case 230:
9605 case 231:
9606 case 232:
9607 { 9210 {
9608 result &= user_callback(instruction_begin, current_position, 9211 result &= user_callback(instruction_begin, current_position,
9609 UNRECOGNIZED_INSTRUCTION, callback_data); 9212 UNRECOGNIZED_INSTRUCTION, callback_data);
9610 /* 9213 /*
9611 * Process the next bundle: "continue" here is for the "for" cycle in 9214 * Process the next bundle: "continue" here is for the "for" cycle in
9612 * the ValidateChunkIA32 function. 9215 * the ValidateChunkIA32 function.
9613 * 9216 *
9614 * It does not affect the case which we really care about (when code 9217 * It does not affect the case which we really care about (when code
9615 * is validatable), but makes it possible to detect more errors in one 9218 * is validatable), but makes it possible to detect more errors in one
9616 * run in tools like ncval. 9219 * run in tools like ncval.
9617 */ 9220 */
9618 continue; 9221 continue;
9619 } 9222 }
9620 break; 9223 break;
9621 } 9224 }
9622 } 9225 }
9623 9226
9624 _out: {} 9227 _out: {}
9625 } 9228 }
9626 9229
9627 } 9230 }
9628 9231
9629 /* 9232 /*
9630 * Check the direct jumps. All the targets from jump_dests must be in 9233 * Check the direct jumps. All the targets from jump_dests must be in
9631 * valid_targets. 9234 * valid_targets.
9632 */ 9235 */
9633 result &= ProcessInvalidJumpTargets(data, size, valid_targets, jump_dests, 9236 result &= ProcessInvalidJumpTargets(codeblock,
9634 user_callback, callback_data); 9237 size,
9238 valid_targets,
9239 jump_dests,
9240 user_callback,
9241 callback_data);
9635 9242
9636 /* We only use malloc for a large code sequences */ 9243 /* We only use malloc for a large code sequences */
9637 if (jump_dests != &jump_dests_small) free(jump_dests); 9244 if (jump_dests != &jump_dests_small) free(jump_dests);
9638 if (valid_targets != &valid_targets_small) free(valid_targets); 9245 if (valid_targets != &valid_targets_small) free(valid_targets);
9639 if (!result) errno = EINVAL; 9246 if (!result) errno = EINVAL;
9640 return result; 9247 return result;
9641 } 9248 }
OLDNEW
« no previous file with comments | « src/trusted/validator_ragel/gen/decoder_x86_64.c ('k') | src/trusted/validator_ragel/gen_dfa.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698