source: proto/parabix2/src/carryq/xmlwf.c @ 543

Last change on this file since 543 was 543, checked in by ksherdy, 9 years ago

Comment out unused variables.

File size: 60.2 KB
Line 
1#include <stdio.h>
2#include <stdlib.h>
3#include <errno.h>
4#include <sys/types.h>
5#include <sys/stat.h>
6#include "../../lib/lib_simd.h"
7#include "../../lib/block_carry.h"
8
9typedef SIMD_type BytePack;
10typedef SIMD_type BitBlock;
11
12#include "../xmldecl.h"
13#include "../xml_error.c"
14#include "../xmldecl.c"
15
16#include "../../lib/perflib/perfsec.h"
17
18#ifdef BUFFER_PROFILING
19        BOM_Table * parser_timer;
20
21#elif CODE_CLOCKER
22        #define NUM_EVENTS 1
23        int Events[NUM_EVENTS] = {PAPI_TOT_CYC};
24        //int Events[NUM_EVENTS] = {PAPI_L2_DCM};
25        //int Events[NUM_EVENTS] = {PAPI_TOT_CYC, PAPI_BR_MSP};
26        int cal_size = 20;
27        CC * parser_timer = new CC(Events,NUM_EVENTS,cal_size);
28#else
29        void * parser_timer;
30#endif
31
32#define s2p_step(s0,s1,hi_mask,shift,p0,p1)  \
33{ \
34BitBlock t0,t1; \
35t0= simd_pack_16_hh(s0,s1) ; \
36t1= simd_pack_16_ll(s0,s1) ; \
37p0= simd_if(hi_mask,t0,simd_srli_16(t1,shift) ) ; \
38p1= simd_if(hi_mask,simd_slli_16(t0,shift) ,t1) ; \
39} \
40
41#define s2p_bytepack(s0,s1,s2,s3,s4,s5,s6,s7,p0,p1,p2,p3,p4,p5,p6,p7)  \
42{BitBlock bit00224466_0,bit00224466_1,bit00224466_2,bit00224466_3; \
43BitBlock bit11335577_0,bit11335577_1,bit11335577_2,bit11335577_3; \
44BitBlock bit00004444_0,bit22226666_0,bit00004444_1,bit22226666_1; \
45BitBlock bit11115555_0,bit33337777_0,bit11115555_1,bit33337777_1; \
46s2p_step(s0,s1,simd_himask_2,1,bit00224466_0,bit11335577_0)  \
47s2p_step(s2,s3,simd_himask_2,1,bit00224466_1,bit11335577_1)  \
48s2p_step(s4,s5,simd_himask_2,1,bit00224466_2,bit11335577_2)  \
49s2p_step(s6,s7,simd_himask_2,1,bit00224466_3,bit11335577_3)  \
50s2p_step(bit00224466_0,bit00224466_1,simd_himask_4,2,bit00004444_0,bit22226666_0)  \
51s2p_step(bit00224466_2,bit00224466_3,simd_himask_4,2,bit00004444_1,bit22226666_1)  \
52s2p_step(bit11335577_0,bit11335577_1,simd_himask_4,2,bit11115555_0,bit33337777_0)  \
53s2p_step(bit11335577_2,bit11335577_3,simd_himask_4,2,bit11115555_1,bit33337777_1)  \
54s2p_step(bit00004444_0,bit00004444_1,simd_himask_8,4,p0,p4)  \
55s2p_step(bit11115555_0,bit11115555_1,simd_himask_8,4,p1,p5)  \
56s2p_step(bit22226666_0,bit22226666_1,simd_himask_8,4,p2,p6)  \
57s2p_step(bit33337777_0,bit33337777_1,simd_himask_8,4,p3,p7)  \
58} \
59
60#define p2s_step(p0,p1,hi_mask,shift,s0,s1)  \
61{ \
62BitBlock t0,t1; \
63t0= simd_if(hi_mask,p0,simd_srli_16(p1,shift) ) ; \
64t1= simd_if(hi_mask,simd_slli_16(p0,shift) ,p1) ; \
65s0= simd_mergeh_8(t0,t1) ; \
66s1= simd_mergel_8(t0,t1) ; \
67} \
68
69#define p2s_bytemerge(p0,p1,p2,p3,p4,p5,p6,p7,s0,s1,s2,s3,s4,s5,s6,s7)  \
70{ \
71BitBlock bit00004444_0,bit22226666_0,bit00004444_1,bit22226666_1; \
72BitBlock bit11115555_0,bit33337777_0,bit11115555_1,bit33337777_1; \
73BitBlock bit00224466_0,bit00224466_1,bit00224466_2,bit00224466_3; \
74BitBlock bit11335577_0,bit11335577_1,bit11335577_2,bit11335577_3; \
75p2s_step(p0,p4,simd_himask_8,4,bit00004444_0,bit00004444_1)  \
76p2s_step(p1,p5,simd_himask_8,4,bit11115555_0,bit11115555_1)  \
77p2s_step(p2,p6,simd_himask_8,4,bit22226666_0,bit22226666_1)  \
78p2s_step(p3,p7,simd_himask_8,4,bit33337777_0,bit33337777_1)  \
79p2s_step(bit00004444_0,bit22226666_0,simd_himask_4,2,bit00224466_0,bit00224466_1)  \
80p2s_step(bit11115555_0,bit33337777_0,simd_himask_4,2,bit11335577_0,bit11335577_1)  \
81p2s_step(bit00004444_1,bit22226666_1,simd_himask_4,2,bit00224466_2,bit00224466_3)  \
82p2s_step(bit11115555_1,bit33337777_1,simd_himask_4,2,bit11335577_2,bit11335577_3)  \
83p2s_step(bit00224466_0,bit11335577_0,simd_himask_2,1,s0,s1)  \
84p2s_step(bit00224466_1,bit11335577_1,simd_himask_2,1,s2,s3)  \
85p2s_step(bit00224466_2,bit11335577_2,simd_himask_2,1,s4,s5)  \
86p2s_step(bit00224466_3,bit11335577_3,simd_himask_2,1,s6,s7)  \
87} \
88
89       
90#define BUFFER_SIZE 12800   
91#define BLOCK_SIZE 128
92
93void do_process(FILE *infile, FILE *outfile) {
94
95  BitBlock strct_refs__GenRefs_;
96BitBlock strct_lex__SQuote_;
97BitBlock _strct_byteclass__classify_bytes__strct_lex__QMark_;
98BitBlock Temp180;
99BitBlock Temp181;
100BitBlock Temp182;
101BitBlock Temp183;
102BitBlock Temp184;
103BitBlock Temp185;
104BitBlock Temp186;
105BitBlock Temp187;
106BitBlock Temp188;
107BitBlock Temp189;
108BitBlock strct_lex__WS_;
109BitBlock _strct_byteclass__classify_bytes__strct_u8__xF4_scope_;
110BitBlock _strct_byteclass__classify_bytes__strct_lex__SQuote_;
111BitBlock array_bit__2_;
112BitBlock strct_lex__PI_end_;
113BitBlock _parse_refs_NumRef2;
114BitBlock strct_lex__NameScan_;
115BitBlock PI_Cursor;
116BitBlock _strct_byteclass__classify_bytes__temp58;
117BitBlock EOF_mask = simd_const_1(1);
118BitBlock ParseError;
119BitBlock _strct_byteclass__classify_bytes__strct_lex__ASCII_name_char_;
120BitBlock _strct_byteclass__classify_bytes__temp38;
121BitBlock _strct_byteclass__classify_bytes__temp15;
122BitBlock _strct_byteclass__classify_bytes__temp14;
123BitBlock _strct_byteclass__classify_bytes__temp17;
124BitBlock _strct_byteclass__classify_bytes__temp16;
125BitBlock _strct_byteclass__classify_bytes__temp11;
126BitBlock _strct_byteclass__classify_bytes__temp10;
127BitBlock _strct_byteclass__classify_bytes__temp13;
128BitBlock _strct_byteclass__classify_bytes__temp12;
129BitBlock _strct_byteclass__classify_bytes__strct_lex__Semicolon_;
130BitBlock _validate_xmlchar_ret;
131BitBlock _strct_byteclass__classify_bytes__temp19;
132BitBlock _strct_byteclass__classify_bytes__temp18;
133BitBlock _strct_byteclass__classify_bytes__temp51;
134BitBlock strct_lex__QMark_scope_;
135BitBlock Temp139;
136BitBlock AttListDelim;
137BitBlock _strct_byteclass__classify_bytes__strct_lex__Hyphen_scope_;
138BitBlock _strct_byteclass__classify_bytes__strct_u8__suffix_;
139BitBlock _strct_byteclass__classify_bytes__temp55;
140BitBlock _strct_byteclass__classify_bytes__strct_lex__Hyphen_;
141BitBlock _validate_no_CD_end_ret;
142BitBlock error_mask;
143BitBlock strct_lex__RBracket_;
144BitBlock EndTagSeconds;
145BitBlock _parse_refs_HexRef3;
146BitBlock _parse_refs_HexRef4;
147BitBlock _strct_byteclass__classify_bytes__temp2;
148BitBlock _strct_byteclass__classify_bytes__strct_lex__DQuote_;
149BitBlock _parse_refs_Error_10;
150BitBlock _parse_refs_Error_11;
151BitBlock _strct_byteclass__classify_bytes__strct_control__CR_;
152BitBlock strct_CT_callouts__PI_name_;
153BitBlock _strct_byteclass__classify_bytes__temp60;
154BitBlock _strct_byteclass__classify_bytes__temp61;
155BitBlock _strct_byteclass__classify_bytes__temp62;
156BitBlock _strct_byteclass__classify_bytes__temp63;
157BitBlock _strct_byteclass__classify_bytes__temp64;
158BitBlock _strct_byteclass__classify_bytes__temp65;
159BitBlock _strct_byteclass__classify_bytes__temp66;
160BitBlock _strct_byteclass__classify_bytes__temp67;
161BitBlock _strct_byteclass__classify_bytes__temp68;
162BitBlock _strct_byteclass__classify_bytes__temp69;
163BitBlock AttNameStarts;
164BitBlock array_bit__0_;
165BitBlock strct_lex__RefStart_;
166BitBlock Temp145;
167BitBlock Temp147;
168BitBlock Temp141;
169BitBlock _strct_byteclass__classify_bytes__strct_lex__Hash_;
170BitBlock ParseError_4;
171BitBlock ParseError_5;
172BitBlock ParseError_6;
173BitBlock ParseError_7;
174BitBlock ParseError_0;
175BitBlock _strct_byteclass__classify_bytes__strct_u8__xBF_;
176BitBlock ParseError_2;
177BitBlock ParseError_1;
178BitBlock DQuoteAttEnd;
179BitBlock _strct_u8u16__validate_utf8__error_mask_14;
180BitBlock _strct_u8u16__validate_utf8__error_mask_15;
181BitBlock _strct_u8u16__validate_utf8__error_mask_16;
182BitBlock ParseError_3;
183BitBlock _strct_byteclass__classify_bytes__strct_u8__x80_x8F_;
184BitBlock _strct_byteclass__classify_bytes__strct_u8__prefix_;
185BitBlock _strct_u8u16__validate_utf8__error_mask_13;
186BitBlock AllZero = simd_const_1(0);
187BitBlock Temp28;
188BitBlock nmtoken_stream;
189BitBlock Temp20;
190BitBlock Temp21;
191BitBlock strct_control__LF_;
192BitBlock _strct_byteclass__classify_bytes__strct_lex__RBracket_scope_;
193BitBlock _strct_byteclass__classify_bytes__strct_lex__Hex_;
194BitBlock _strct_byteclass__classify_bytes__strct_lex__LAngle_;
195BitBlock strct_callouts__error_;
196BitBlock CD_ends;
197BitBlock strct_CT_callouts__CtCDPI_mask_;
198BitBlock AfterWS;
199BitBlock _strct_byteclass__classify_bytes__strct_lex__LAngle_scope_;
200BitBlock AttValEnds;
201BitBlock _parse_refs_DecRefEnds;
202BitBlock Ct_starts;
203BitBlock strct_lex__Hyphen_;
204BitBlock _strct_byteclass__classify_bytes__strct_lex__RefStart_;
205BitBlock _strct_byteclass__classify_bytes__strct_u8__badprefix_;
206BitBlock strct_lex__LAngle_scope_;
207BitBlock _strct_byteclass__classify_bytes__temp46;
208BitBlock _strct_byteclass__classify_bytes__temp47;
209BitBlock _strct_byteclass__classify_bytes__temp44;
210BitBlock _strct_byteclass__classify_bytes__strct_u8__scope42_;
211BitBlock _strct_byteclass__classify_bytes__temp42;
212BitBlock _strct_byteclass__classify_bytes__temp43;
213BitBlock _strct_byteclass__classify_bytes__temp40;
214BitBlock _strct_byteclass__classify_bytes__temp41;
215BitBlock _strct_byteclass__classify_bytes__temp54;
216BitBlock _strct_u8u16__validate_utf8__error_mask;
217BitBlock _strct_byteclass__classify_bytes__temp48;
218BitBlock _strct_byteclass__classify_bytes__temp49;
219BitBlock qname_stream;
220BitBlock Temp168;
221BitBlock Temp169;
222BitBlock CtCDPI_scan;
223BitBlock array_bit__7_;
224BitBlock strct_lex__RefStart_scope_;
225BitBlock Temp97;
226BitBlock CD_end_scan;
227BitBlock Temp13;
228BitBlock name_start_check;
229BitBlock _parse_refs_NumRef3;
230BitBlock strct_lex__Colon_;
231BitBlock strct_lex__Equals_;
232BitBlock Temp99;
233BitBlock Temp98;
234BitBlock strct_lex__CD_end_;
235BitBlock Temp92;
236BitBlock strct_lex__Hyphen_scope_;
237BitBlock Temp96;
238BitBlock strct_callouts__EmptyTagMarks_;
239BitBlock strct_CT_callouts__error_;
240BitBlock _strct_byteclass__classify_bytes__strct_lex__ASCII_name_start_;
241BitBlock _strct_byteclass__classify_bytes__temp28;
242BitBlock _strct_byteclass__classify_bytes__temp29;
243BitBlock _strct_byteclass__classify_bytes__temp24;
244BitBlock _strct_byteclass__classify_bytes__temp25;
245BitBlock _strct_byteclass__classify_bytes__temp26;
246BitBlock _strct_byteclass__classify_bytes__temp27;
247BitBlock _strct_byteclass__classify_bytes__temp20;
248BitBlock _strct_byteclass__classify_bytes__temp21;
249BitBlock _strct_byteclass__classify_bytes__temp22;
250BitBlock _strct_byteclass__classify_bytes__temp23;
251BitBlock Temp108;
252BitBlock Temp109;
253BitBlock _strct_byteclass__classify_bytes__strct_lex__QMark_scope_;
254BitBlock Temp100;
255BitBlock Temp101;
256BitBlock Temp102;
257BitBlock Temp103;
258BitBlock array_bit__5_;
259BitBlock _strct_byteclass__classify_bytes__strct_u8__x80_x9F_;
260BitBlock Temp106;
261BitBlock Temp107;
262BitBlock _strct_byteclass__classify_bytes__strct_u8__scope33_;
263BitBlock _strct_byteclass__classify_bytes__strct_control__SP_;
264BitBlock CD_Ct_Cursor;
265BitBlock AllOne = simd_const_1(1);
266BitBlock Temp193;
267BitBlock Temp192;
268BitBlock Temp191;
269BitBlock Temp190;
270BitBlock _strct_byteclass__classify_bytes__strct_u8__scope22_;
271BitBlock strct_lex__x_;
272BitBlock Temp194;
273BitBlock _strct_byteclass__classify_bytes__strct_u8__prefix2_;
274BitBlock DQuoteAttVal;
275BitBlock Temp105;
276BitBlock _strct_byteclass__classify_bytes__strct_lex__Slash_;
277BitBlock SQuoteAttVal;
278BitBlock _parse_refs_GenRefEnds;
279BitBlock strct_lex__LAngle_;
280BitBlock ElemNameFollows;
281BitBlock _strct_byteclass__classify_bytes__strct_control__x00_x1F_;
282BitBlock strct_callouts__AttNames_;
283BitBlock strct_lex__EndTag_start_;
284BitBlock _strct_byteclass__classify_bytes__temp9;
285BitBlock _strct_byteclass__classify_bytes__temp8;
286BitBlock strct_lex__PI_start_;
287BitBlock _strct_byteclass__classify_bytes__temp1;
288BitBlock PI_name_end;
289BitBlock _strct_byteclass__classify_bytes__temp3;
290BitBlock strct_lex__Hash_;
291BitBlock _strct_byteclass__classify_bytes__temp5;
292BitBlock _strct_byteclass__classify_bytes__temp4;
293BitBlock _strct_byteclass__classify_bytes__temp7;
294BitBlock _strct_byteclass__classify_bytes__temp6;
295BitBlock strct_control__CR_;
296BitBlock Temp74;
297BitBlock Temp77;
298BitBlock delmask;
299BitBlock ncname_stream;
300BitBlock Ct_Cursor;
301BitBlock _strct_byteclass__classify_bytes__strct_lex__Colon_;
302BitBlock Temp79;
303BitBlock name_check;
304BitBlock _strct_byteclass__classify_bytes__strct_u8__xBE_;
305BitBlock array_bit__4_;
306BitBlock Temp178;
307BitBlock _strct_byteclass__classify_bytes__xE0;
308BitBlock _parse_refs_strct_CallOuts__GenRefs_;
309BitBlock _strct_byteclass__classify_bytes__strct_u8__xA0_xBF_;
310BitBlock strct_lex__Hex_;
311BitBlock _strct_byteclass__classify_bytes__xEF;
312BitBlock _strct_byteclass__classify_bytes__xED;
313BitBlock _strct_byteclass__classify_bytes__xF4;
314BitBlock _strct_byteclass__classify_bytes__strct_u8__scope32_;
315BitBlock AttListEnd;
316BitBlock _strct_byteclass__classify_bytes__strct_lex__LBracket_;
317BitBlock strct_lex__RBracket_scope_;
318BitBlock _strct_byteclass__classify_bytes__xF0;
319BitBlock strct_lex__DoubleHyphen_;
320BitBlock PI_ends;
321BitBlock array_bit__3_;
322BitBlock _validate_xmlchar_EF_BF_pending;
323BitBlock _strct_byteclass__classify_bytes__strct_u8__scope44_;
324BitBlock CtCDPI_Cursor_18;
325BitBlock Temp72;
326BitBlock LAngleFollow;
327BitBlock strct_lex__RAngle_;
328BitBlock strct_lex__CtCD_start_;
329BitBlock Temp159;
330BitBlock strct_lex__Exclam_;
331BitBlock _strct_u8u16__validate_utf8__u8lastscope;
332BitBlock PI_name_ends;
333BitBlock strct_CT_callouts__error__8;
334BitBlock EqToCheck;
335BitBlock Temp54;
336BitBlock Temp68;
337BitBlock Temp52;
338BitBlock _parse_refs_Ref2;
339BitBlock Temp121;
340BitBlock Temp127;
341BitBlock _strct_byteclass__classify_bytes__strct_lex__WS_;
342BitBlock Temp129;
343BitBlock strct_lex__QMark_;
344BitBlock Temp104;
345BitBlock strct_callouts__Tags_;
346BitBlock name_stream;
347BitBlock strct_lex__Slash_;
348BitBlock strct_control__x00_x1F_;
349BitBlock SQuoteAttEnd;
350BitBlock _parse_refs_DecRef3;
351BitBlock _strct_byteclass__classify_bytes__strct_u8__x90_xBF_;
352BitBlock _strct_byteclass__classify_bytes__temp73;
353BitBlock _strct_byteclass__classify_bytes__temp72;
354BitBlock _strct_byteclass__classify_bytes__temp71;
355BitBlock _strct_byteclass__classify_bytes__temp70;
356BitBlock CD_Cursor;
357BitBlock array_bit__1_;
358BitBlock Temp171;
359BitBlock Temp170;
360BitBlock Temp173;
361BitBlock Temp172;
362BitBlock Temp175;
363BitBlock Temp174;
364BitBlock Temp177;
365BitBlock Temp176;
366BitBlock Temp179;
367BitBlock array_bit__6_;
368BitBlock ElemNamePositions;
369BitBlock _strct_byteclass__classify_bytes__strct_lex__NameScan_;
370BitBlock Temp39;
371BitBlock Temp31;
372BitBlock _strct_byteclass__classify_bytes__strct_u8__xED_scope_;
373BitBlock _strct_byteclass__classify_bytes__strct_lex__RBracket_;
374BitBlock _parse_refs_HexRefEnds;
375BitBlock Temp36;
376BitBlock _parse_refs_Error;
377BitBlock _strct_byteclass__classify_bytes__strct_u8__xF0_scope_;
378BitBlock CtCDPI_Cursor_17;
379BitBlock _strct_byteclass__classify_bytes__strct_lex__Equals_;
380BitBlock strct_refs__delmask_;
381BitBlock AttNameStart;
382BitBlock Temp88;
383BitBlock strct_control__CR_scope_;
384BitBlock _strct_byteclass__classify_bytes__temp45;
385BitBlock CtCDPI_Cursor;
386BitBlock _strct_u8u16__validate_utf8__u8anyscope;
387BitBlock _strct_byteclass__classify_bytes__strct_lex__RAngle_;
388BitBlock AttValStarts;
389BitBlock CtCDPI_starts;
390BitBlock PI_end_scan;
391BitBlock _strct_byteclass__classify_bytes__temp59;
392BitBlock AttValFollows;
393BitBlock Temp195;
394BitBlock AttNameFollows;
395BitBlock _strct_byteclass__classify_bytes__temp50;
396BitBlock _strct_byteclass__classify_bytes__temp53;
397BitBlock _strct_byteclass__classify_bytes__temp52;
398BitBlock AttValEnd;
399BitBlock strct_CT_callouts__error__9;
400BitBlock _strct_byteclass__classify_bytes__temp57;
401BitBlock _strct_byteclass__classify_bytes__temp56;
402BitBlock EqExpected;
403BitBlock strct_callouts__ElemNames_;
404BitBlock _strct_byteclass__classify_bytes__strct_u8__prefix4_;
405BitBlock strct_control__SP_;
406BitBlock Ct_end_scan;
407BitBlock strct_lex__LBracket_;
408BitBlock AttValPos;
409BitBlock strct_lex__Semicolon_;
410BitBlock Temp110;
411BitBlock SQuoteScan;
412BitBlock Temp115;
413BitBlock strct_refs__error_;
414BitBlock Temp12;
415BitBlock Temp11;
416BitBlock Temp10;
417BitBlock Temp17;
418BitBlock Temp16;
419BitBlock Temp15;
420BitBlock Temp14;
421BitBlock Ct_ends;
422BitBlock Temp19;
423BitBlock Temp18;
424BitBlock strct_lex__ASCII_name_char_;
425BitBlock _strct_byteclass__classify_bytes__strct_u8__xE0_scope_;
426BitBlock Temp3;
427BitBlock _strct_byteclass__classify_bytes__strct_lex__RefStart_scope_;
428BitBlock Temp2;
429BitBlock _strct_byteclass__classify_bytes__strct_u8__prefix3_;
430BitBlock strct_control__CRLF_;
431BitBlock _strct_byteclass__classify_bytes__strct_u8__xEF_scope_;
432BitBlock strct_lex__ASCII_name_start_;
433BitBlock strct_control__HT_;
434BitBlock EndTagEnds;
435BitBlock Temp164;
436BitBlock _parse_refs_GenRef2;
437BitBlock Temp5;
438BitBlock strct_lex__DQuote_;
439BitBlock AttNameFollow;
440BitBlock name_start;
441BitBlock _strct_byteclass__classify_bytes__strct_lex__x_;
442BitBlock Temp64;
443BitBlock _strct_byteclass__classify_bytes__strct_lex__Exclam_;
444BitBlock _strct_byteclass__classify_bytes__temp39;
445BitBlock Temp61;
446BitBlock _strct_byteclass__classify_bytes__temp37;
447BitBlock _strct_byteclass__classify_bytes__temp36;
448BitBlock _strct_byteclass__classify_bytes__temp35;
449BitBlock _strct_byteclass__classify_bytes__temp34;
450BitBlock _strct_byteclass__classify_bytes__temp33;
451BitBlock _strct_byteclass__classify_bytes__temp32;
452BitBlock _strct_byteclass__classify_bytes__temp31;
453BitBlock _strct_byteclass__classify_bytes__temp30;
454BitBlock _strct_byteclass__classify_bytes__strct_u8__scope43_;
455BitBlock DQuoteScan;
456BitBlock Temp1;
457BitBlock Temp7;
458BitBlock Temp6;
459BitBlock strct_lex__Digit_;
460BitBlock Temp4;
461BitBlock AttValFollow;
462BitBlock Temp9;
463BitBlock Temp8;
464BitBlock _strct_byteclass__classify_bytes__strct_lex__Digit_;
465BitBlock Temp167;
466CarryType carry45_i = Carry0;
467CarryType carry24_i = Carry0;
468CarryType carry28 = Carry0;
469CarryType carry29 = Carry0;
470CarryType carry43_i = Carry0;
471CarryType carry20 = Carry0;
472CarryType carry21 = Carry0;
473CarryType carry22 = Carry0;
474CarryType carry23 = Carry0;
475CarryType carry24 = Carry0;
476CarryType carry25 = Carry0;
477CarryType carry26 = Carry0;
478CarryType carry27 = Carry0;
479CarryType carry20_i = Carry0;
480CarryType CarryTemp213 = Carry0;
481CarryType carry22_i = Carry0;
482CarryType carry15 = Carry0;
483CarryType carry14 = Carry0;
484CarryType carry17 = Carry0;
485CarryType carry16 = Carry0;
486CarryType carry11 = Carry0;
487CarryType carry10 = Carry0;
488CarryType carry13 = Carry0;
489CarryType carry12 = Carry0;
490CarryType carry38_i = Carry0;
491CarryType carry19 = Carry0;
492CarryType carry18 = Carry0;
493CarryType carry51 = Carry0;
494CarryType carry50 = Carry0;
495CarryType carry53 = Carry0;
496CarryType carry36_i = Carry0;
497CarryType carry55 = Carry0;
498CarryType carry54 = Carry0;
499CarryType carry40_i = Carry0;
500CarryType carry27_i = Carry0;
501CarryType carry29_i = Carry0;
502CarryType carry23_i = Carry0;
503CarryType carry38 = Carry0;
504CarryType carry30_i = Carry0;
505CarryType carry42_i = Carry0;
506CarryType carry25_i = Carry0;
507CarryType carry48 = Carry0;
508CarryType carry49 = Carry0;
509CarryType carry46 = Carry0;
510CarryType carry47 = Carry0;
511CarryType carry44 = Carry0;
512CarryType carry45 = Carry0;
513CarryType carry42 = Carry0;
514CarryType carry43 = Carry0;
515CarryType carry40 = Carry0;
516CarryType carry41 = Carry0;
517CarryType carry1 = Carry0;
518CarryType carry0 = Carry0;
519CarryType carry3 = Carry0;
520CarryType carry2 = Carry0;
521CarryType carry5 = Carry0;
522CarryType carry4 = Carry0;
523CarryType carry7 = Carry0;
524CarryType carry6 = Carry0;
525CarryType carry9 = Carry0;
526CarryType carry26_i = Carry0;
527CarryType carry21_i = Carry0;
528CarryType carry44_i = Carry0;
529CarryType carry39_i = Carry0;
530CarryType carry37_i = Carry0;
531CarryType carry_brw3 = Carry0;
532CarryType carry_brw2 = Carry0;
533CarryType carry_brw1 = Carry0;
534CarryType carry_brw0 = Carry0;
535CarryType carry_brw4 = Carry0;
536CarryType carry33 = Carry0;
537CarryType carry32 = Carry0;
538CarryType carry31 = Carry0;
539CarryType carry30 = Carry0;
540CarryType carry37 = Carry0;
541CarryType carry36 = Carry0;
542CarryType carry35 = Carry0;
543CarryType carry34 = Carry0;
544CarryType carry41_i = Carry0;
545CarryType carry39 = Carry0;
546CarryType carry28_i = Carry0;
547CarryType carry52 = Carry0;
548CarryType carry8 = Carry0;
549CarryType CarryTemp252 = Carry0;
550
551
552  BytePack U8[8];
553  int buf_pos = 0;
554  int block_pos = 0;
555  int errpos = 0;
556  int chars_read = 0;
557  char srcbuf[BUFFER_SIZE+BLOCK_SIZE];
558 
559  EOF_mask = simd_const_1(1);
560  chars_read = fread((void *)srcbuf, 1, BUFFER_SIZE, infile);
561
562  Entity_Info * e = new Entity_Info;
563  e->AnalyzeSignature((unsigned char *)srcbuf);
564  XML_Decl_Parser<ASCII> decl_parser((unsigned char *)srcbuf);
565
566  decl_parser.ReadXMLInfo(*e);
567
568  if (e->content_start != 0) {
569        memmove(&srcbuf[0], &srcbuf[e->content_start], chars_read - e->content_start);
570        if (chars_read == BUFFER_SIZE) {
571                chars_read = BUFFER_SIZE - e->content_start + 
572                             fread(&srcbuf[BUFFER_SIZE-e->content_start], 1, e->content_start, infile);
573        }
574  }
575 
576  CtCDPI_Cursor_17 = sisd_from_int(1);
577
578
579  while(chars_read>0){
580
581    PERF_SEC_START(parser_timer);
582
583    while (block_pos < chars_read){
584
585        int bytes = chars_read - block_pos;
586        if(bytes < BLOCK_SIZE){
587          EOF_mask = sisd_srl(simd_const_1(1),sisd_from_int(BLOCK_SIZE-bytes));
588        }
589        BytePack * U8pack = (BytePack *) &srcbuf[block_pos];
590        U8[0] = sisd_load_unaligned(&U8pack[0]);
591        U8[1] = sisd_load_unaligned(&U8pack[1]);
592        U8[2] = sisd_load_unaligned(&U8pack[2]);
593        U8[3] = sisd_load_unaligned(&U8pack[3]);
594        U8[4] = sisd_load_unaligned(&U8pack[4]);
595        U8[5] = sisd_load_unaligned(&U8pack[5]);
596        U8[6] = sisd_load_unaligned(&U8pack[6]);
597        U8[7] = sisd_load_unaligned(&U8pack[7]); 
598       
599        s2p_bytepack(U8[7], U8[6], U8[5], U8[4], U8[3], U8[2], U8[1], U8[0],
600        array_bit__0_,array_bit__1_,array_bit__2_,array_bit__3_,array_bit__4_,array_bit__5_,array_bit__6_,array_bit__7_);
601
602        array_bit__0_ = simd_and(array_bit__0_, EOF_mask);
603        array_bit__1_ = simd_and(array_bit__1_, EOF_mask);
604        array_bit__2_ = simd_and(array_bit__2_, EOF_mask);
605        array_bit__3_ = simd_and(array_bit__3_, EOF_mask);
606        array_bit__4_ = simd_and(array_bit__4_, EOF_mask);
607        array_bit__5_ = simd_and(array_bit__5_, EOF_mask);
608        array_bit__6_ = simd_and(array_bit__6_, EOF_mask);
609        array_bit__7_ = simd_and(array_bit__7_, EOF_mask);
610
611        _strct_byteclass__classify_bytes__temp1 = simd_or(array_bit__0_,array_bit__1_);
612_strct_byteclass__classify_bytes__temp2 = simd_andc(array_bit__2_,array_bit__3_);
613_strct_byteclass__classify_bytes__temp3 = simd_andc(_strct_byteclass__classify_bytes__temp2,_strct_byteclass__classify_bytes__temp1);
614_strct_byteclass__classify_bytes__temp4 = simd_andc(array_bit__5_,array_bit__4_);
615_strct_byteclass__classify_bytes__temp5 = simd_andc(array_bit__6_,array_bit__7_);
616_strct_byteclass__classify_bytes__temp6 = simd_and(_strct_byteclass__classify_bytes__temp4,_strct_byteclass__classify_bytes__temp5);
617_strct_byteclass__classify_bytes__strct_lex__RefStart_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp6);
618_strct_byteclass__classify_bytes__temp7 = simd_and(array_bit__2_,array_bit__3_);
619_strct_byteclass__classify_bytes__temp8 = simd_andc(_strct_byteclass__classify_bytes__temp7,_strct_byteclass__classify_bytes__temp1);
620_strct_byteclass__classify_bytes__temp9 = simd_andc(array_bit__4_,array_bit__5_);
621_strct_byteclass__classify_bytes__temp10 = simd_and(array_bit__6_,array_bit__7_);
622_strct_byteclass__classify_bytes__temp11 = simd_and(_strct_byteclass__classify_bytes__temp9,_strct_byteclass__classify_bytes__temp10);
623_strct_byteclass__classify_bytes__strct_lex__Semicolon_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp11);
624_strct_byteclass__classify_bytes__temp12 = simd_and(array_bit__4_,array_bit__5_);
625_strct_byteclass__classify_bytes__temp13 = simd_or(array_bit__6_,array_bit__7_);
626_strct_byteclass__classify_bytes__temp14 = simd_andc(_strct_byteclass__classify_bytes__temp12,_strct_byteclass__classify_bytes__temp13);
627_strct_byteclass__classify_bytes__strct_lex__LAngle_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp14);
628_strct_byteclass__classify_bytes__temp15 = simd_and(_strct_byteclass__classify_bytes__temp12,_strct_byteclass__classify_bytes__temp5);
629_strct_byteclass__classify_bytes__strct_lex__RAngle_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp15);
630_strct_byteclass__classify_bytes__temp16 = simd_andc(array_bit__1_,array_bit__0_);
631_strct_byteclass__classify_bytes__temp17 = simd_andc(array_bit__3_,array_bit__2_);
632_strct_byteclass__classify_bytes__temp18 = simd_and(_strct_byteclass__classify_bytes__temp16,_strct_byteclass__classify_bytes__temp17);
633_strct_byteclass__classify_bytes__strct_lex__LBracket_ = simd_and(_strct_byteclass__classify_bytes__temp18,_strct_byteclass__classify_bytes__temp11);
634_strct_byteclass__classify_bytes__temp19 = simd_andc(array_bit__7_,array_bit__6_);
635_strct_byteclass__classify_bytes__temp20 = simd_and(_strct_byteclass__classify_bytes__temp12,_strct_byteclass__classify_bytes__temp19);
636_strct_byteclass__classify_bytes__strct_lex__RBracket_ = simd_and(_strct_byteclass__classify_bytes__temp18,_strct_byteclass__classify_bytes__temp20);
637_strct_byteclass__classify_bytes__temp21 = simd_or(array_bit__4_,array_bit__5_);
638_strct_byteclass__classify_bytes__temp22 = simd_andc(_strct_byteclass__classify_bytes__temp19,_strct_byteclass__classify_bytes__temp21);
639_strct_byteclass__classify_bytes__strct_lex__Exclam_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp22);
640_strct_byteclass__classify_bytes__temp23 = simd_and(_strct_byteclass__classify_bytes__temp12,_strct_byteclass__classify_bytes__temp10);
641_strct_byteclass__classify_bytes__strct_lex__QMark_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp23);
642_strct_byteclass__classify_bytes__strct_lex__Hyphen_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp20);
643_strct_byteclass__classify_bytes__strct_lex__Equals_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp20);
644_strct_byteclass__classify_bytes__temp24 = simd_and(_strct_byteclass__classify_bytes__temp4,_strct_byteclass__classify_bytes__temp10);
645_strct_byteclass__classify_bytes__strct_lex__SQuote_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp24);
646_strct_byteclass__classify_bytes__temp25 = simd_andc(_strct_byteclass__classify_bytes__temp5,_strct_byteclass__classify_bytes__temp21);
647_strct_byteclass__classify_bytes__strct_lex__DQuote_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp25);
648_strct_byteclass__classify_bytes__strct_lex__Slash_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp23);
649_strct_byteclass__classify_bytes__temp26 = simd_andc(_strct_byteclass__classify_bytes__temp10,_strct_byteclass__classify_bytes__temp21);
650_strct_byteclass__classify_bytes__strct_lex__Hash_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp26);
651_strct_byteclass__classify_bytes__temp27 = simd_and(_strct_byteclass__classify_bytes__temp16,_strct_byteclass__classify_bytes__temp7);
652_strct_byteclass__classify_bytes__temp28 = simd_andc(_strct_byteclass__classify_bytes__temp9,_strct_byteclass__classify_bytes__temp13);
653_strct_byteclass__classify_bytes__strct_lex__x_ = simd_and(_strct_byteclass__classify_bytes__temp27,_strct_byteclass__classify_bytes__temp28);
654_strct_byteclass__classify_bytes__temp29 = simd_and(_strct_byteclass__classify_bytes__temp9,_strct_byteclass__classify_bytes__temp5);
655_strct_byteclass__classify_bytes__strct_lex__Colon_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp29);
656_strct_byteclass__classify_bytes__temp30 = simd_and(_strct_byteclass__classify_bytes__temp18,_strct_byteclass__classify_bytes__temp23);
657_strct_byteclass__classify_bytes__temp31 = simd_or(_strct_byteclass__classify_bytes__temp30,_strct_byteclass__classify_bytes__strct_lex__Colon_);
658_strct_byteclass__classify_bytes__temp32 = simd_andc(_strct_byteclass__classify_bytes__temp16,array_bit__2_);
659_strct_byteclass__classify_bytes__temp33 = simd_or(array_bit__5_,_strct_byteclass__classify_bytes__temp10);
660_strct_byteclass__classify_bytes__temp34 = simd_and(array_bit__4_,_strct_byteclass__classify_bytes__temp33);
661_strct_byteclass__classify_bytes__temp35 = simd_andc(AllOne,_strct_byteclass__classify_bytes__temp34);
662_strct_byteclass__classify_bytes__temp36 = simd_or(_strct_byteclass__classify_bytes__temp21,_strct_byteclass__classify_bytes__temp13);
663Temp1 = simd_and(array_bit__3_,_strct_byteclass__classify_bytes__temp35);
664Temp2 = simd_andc(_strct_byteclass__classify_bytes__temp36,array_bit__3_);
665_strct_byteclass__classify_bytes__temp37 = simd_or(Temp1,Temp2);
666_strct_byteclass__classify_bytes__temp38 = simd_and(_strct_byteclass__classify_bytes__temp32,_strct_byteclass__classify_bytes__temp37);
667_strct_byteclass__classify_bytes__temp39 = simd_or(_strct_byteclass__classify_bytes__temp31,_strct_byteclass__classify_bytes__temp38);
668_strct_byteclass__classify_bytes__temp40 = simd_and(_strct_byteclass__classify_bytes__temp16,array_bit__2_);
669_strct_byteclass__classify_bytes__temp41 = simd_and(_strct_byteclass__classify_bytes__temp40,_strct_byteclass__classify_bytes__temp37);
670_strct_byteclass__classify_bytes__strct_lex__ASCII_name_start_ = simd_or(_strct_byteclass__classify_bytes__temp39,_strct_byteclass__classify_bytes__temp41);
671_strct_byteclass__classify_bytes__temp42 = simd_or(_strct_byteclass__classify_bytes__temp30,_strct_byteclass__classify_bytes__strct_lex__Hyphen_);
672_strct_byteclass__classify_bytes__temp43 = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp15);
673_strct_byteclass__classify_bytes__temp44 = simd_or(_strct_byteclass__classify_bytes__temp42,_strct_byteclass__classify_bytes__temp43);
674_strct_byteclass__classify_bytes__temp45 = simd_andc(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp34);
675_strct_byteclass__classify_bytes__temp46 = simd_or(_strct_byteclass__classify_bytes__temp44,_strct_byteclass__classify_bytes__temp45);
676_strct_byteclass__classify_bytes__temp47 = simd_or(_strct_byteclass__classify_bytes__temp46,_strct_byteclass__classify_bytes__temp38);
677_strct_byteclass__classify_bytes__strct_lex__ASCII_name_char_ = simd_or(_strct_byteclass__classify_bytes__temp47,_strct_byteclass__classify_bytes__temp41);
678_strct_byteclass__classify_bytes__strct_lex__NameScan_ = simd_or(_strct_byteclass__classify_bytes__strct_lex__ASCII_name_char_,array_bit__0_);
679_strct_byteclass__classify_bytes__temp48 = simd_or(_strct_byteclass__classify_bytes__temp1,array_bit__2_);
680_strct_byteclass__classify_bytes__strct_control__x00_x1F_ = simd_andc(AllOne,_strct_byteclass__classify_bytes__temp48);
681_strct_byteclass__classify_bytes__temp49 = simd_or(array_bit__2_,array_bit__3_);
682_strct_byteclass__classify_bytes__temp50 = simd_or(_strct_byteclass__classify_bytes__temp1,_strct_byteclass__classify_bytes__temp49);
683_strct_byteclass__classify_bytes__strct_control__CR_ = simd_andc(_strct_byteclass__classify_bytes__temp20,_strct_byteclass__classify_bytes__temp50);
684_strct_byteclass__classify_bytes__temp51 = simd_and(_strct_byteclass__classify_bytes__temp9,_strct_byteclass__classify_bytes__temp19);
685_strct_byteclass__classify_bytes__strct_control__SP_ = simd_andc(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp36);
686_strct_byteclass__classify_bytes__temp52 = simd_or(_strct_byteclass__classify_bytes__temp20,_strct_byteclass__classify_bytes__temp29);
687_strct_byteclass__classify_bytes__temp53 = simd_or(_strct_byteclass__classify_bytes__temp52,_strct_byteclass__classify_bytes__temp51);
688_strct_byteclass__classify_bytes__temp54 = simd_andc(_strct_byteclass__classify_bytes__temp53,_strct_byteclass__classify_bytes__temp50);
689_strct_byteclass__classify_bytes__strct_lex__WS_ = simd_or(_strct_byteclass__classify_bytes__temp54,_strct_byteclass__classify_bytes__strct_control__SP_);
690_strct_byteclass__classify_bytes__temp55 = simd_or(array_bit__5_,array_bit__6_);
691_strct_byteclass__classify_bytes__temp56 = simd_and(array_bit__4_,_strct_byteclass__classify_bytes__temp55);
692_strct_byteclass__classify_bytes__strct_lex__Digit_ = simd_andc(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp56);
693_strct_byteclass__classify_bytes__temp57 = simd_andc(_strct_byteclass__classify_bytes__temp16,_strct_byteclass__classify_bytes__temp49);
694_strct_byteclass__classify_bytes__temp58 = simd_andc(_strct_byteclass__classify_bytes__temp57,array_bit__4_);
695_strct_byteclass__classify_bytes__temp59 = simd_andc(AllOne,_strct_byteclass__classify_bytes__temp10);
696Temp3 = simd_and(array_bit__5_,_strct_byteclass__classify_bytes__temp59);
697Temp4 = simd_andc(_strct_byteclass__classify_bytes__temp13,array_bit__5_);
698_strct_byteclass__classify_bytes__temp60 = simd_or(Temp3,Temp4);
699_strct_byteclass__classify_bytes__temp61 = simd_and(_strct_byteclass__classify_bytes__temp58,_strct_byteclass__classify_bytes__temp60);
700_strct_byteclass__classify_bytes__temp62 = simd_or(_strct_byteclass__classify_bytes__strct_lex__Digit_,_strct_byteclass__classify_bytes__temp61);
701_strct_byteclass__classify_bytes__temp63 = simd_and(_strct_byteclass__classify_bytes__temp16,_strct_byteclass__classify_bytes__temp2);
702_strct_byteclass__classify_bytes__temp64 = simd_andc(_strct_byteclass__classify_bytes__temp63,array_bit__4_);
703_strct_byteclass__classify_bytes__temp65 = simd_and(_strct_byteclass__classify_bytes__temp64,_strct_byteclass__classify_bytes__temp60);
704_strct_byteclass__classify_bytes__strct_lex__Hex_ = simd_or(_strct_byteclass__classify_bytes__temp62,_strct_byteclass__classify_bytes__temp65);
705_strct_byteclass__classify_bytes__strct_u8__prefix_ = simd_and(array_bit__0_,array_bit__1_);
706_strct_byteclass__classify_bytes__strct_u8__prefix2_ = simd_andc(_strct_byteclass__classify_bytes__strct_u8__prefix_,array_bit__2_);
707_strct_byteclass__classify_bytes__strct_u8__prefix3_ = simd_and(_strct_byteclass__classify_bytes__strct_u8__prefix_,_strct_byteclass__classify_bytes__temp2);
708_strct_byteclass__classify_bytes__strct_u8__prefix4_ = simd_and(_strct_byteclass__classify_bytes__strct_u8__prefix_,_strct_byteclass__classify_bytes__temp7);
709_strct_byteclass__classify_bytes__strct_u8__suffix_ = simd_andc(array_bit__0_,array_bit__1_);
710_strct_byteclass__classify_bytes__temp66 = simd_andc(_strct_byteclass__classify_bytes__strct_u8__prefix_,_strct_byteclass__classify_bytes__temp49);
711_strct_byteclass__classify_bytes__temp67 = simd_or(_strct_byteclass__classify_bytes__temp21,array_bit__6_);
712_strct_byteclass__classify_bytes__temp68 = simd_andc(_strct_byteclass__classify_bytes__temp66,_strct_byteclass__classify_bytes__temp67);
713_strct_byteclass__classify_bytes__temp69 = simd_and(array_bit__5_,_strct_byteclass__classify_bytes__temp13);
714_strct_byteclass__classify_bytes__temp70 = simd_or(array_bit__4_,_strct_byteclass__classify_bytes__temp69);
715_strct_byteclass__classify_bytes__temp71 = simd_and(_strct_byteclass__classify_bytes__strct_u8__prefix4_,_strct_byteclass__classify_bytes__temp70);
716_strct_byteclass__classify_bytes__strct_u8__badprefix_ = simd_or(_strct_byteclass__classify_bytes__temp68,_strct_byteclass__classify_bytes__temp71);
717_strct_byteclass__classify_bytes__xE0 = simd_andc(_strct_byteclass__classify_bytes__strct_u8__prefix3_,_strct_byteclass__classify_bytes__temp36);
718_strct_byteclass__classify_bytes__xED = simd_and(_strct_byteclass__classify_bytes__strct_u8__prefix3_,_strct_byteclass__classify_bytes__temp20);
719_strct_byteclass__classify_bytes__xF0 = simd_andc(_strct_byteclass__classify_bytes__strct_u8__prefix4_,_strct_byteclass__classify_bytes__temp36);
720_strct_byteclass__classify_bytes__temp72 = simd_andc(_strct_byteclass__classify_bytes__temp4,_strct_byteclass__classify_bytes__temp13);
721_strct_byteclass__classify_bytes__xF4 = simd_and(_strct_byteclass__classify_bytes__strct_u8__prefix4_,_strct_byteclass__classify_bytes__temp72);
722_strct_byteclass__classify_bytes__strct_u8__xA0_xBF_ = simd_and(_strct_byteclass__classify_bytes__strct_u8__suffix_,array_bit__2_);
723_strct_byteclass__classify_bytes__strct_u8__x80_x9F_ = simd_andc(_strct_byteclass__classify_bytes__strct_u8__suffix_,array_bit__2_);
724_strct_byteclass__classify_bytes__strct_u8__x90_xBF_ = simd_and(_strct_byteclass__classify_bytes__strct_u8__suffix_,_strct_byteclass__classify_bytes__temp49);
725_strct_byteclass__classify_bytes__strct_u8__x80_x8F_ = simd_andc(_strct_byteclass__classify_bytes__strct_u8__suffix_,_strct_byteclass__classify_bytes__temp49);
726_strct_byteclass__classify_bytes__xEF = simd_and(_strct_byteclass__classify_bytes__strct_u8__prefix3_,_strct_byteclass__classify_bytes__temp23);
727_strct_byteclass__classify_bytes__temp73 = simd_and(_strct_byteclass__classify_bytes__strct_u8__suffix_,_strct_byteclass__classify_bytes__temp7);
728_strct_byteclass__classify_bytes__strct_u8__xBF_ = simd_and(_strct_byteclass__classify_bytes__temp73,_strct_byteclass__classify_bytes__temp23);
729_strct_byteclass__classify_bytes__strct_u8__xBE_ = simd_and(_strct_byteclass__classify_bytes__temp73,_strct_byteclass__classify_bytes__temp15);
730advance_with_carry(_strct_byteclass__classify_bytes__xE0, carry1, _strct_byteclass__classify_bytes__strct_u8__xE0_scope_);
731advance_with_carry(_strct_byteclass__classify_bytes__xED, carry2, _strct_byteclass__classify_bytes__strct_u8__xED_scope_);
732advance_with_carry(_strct_byteclass__classify_bytes__xF0, carry3, _strct_byteclass__classify_bytes__strct_u8__xF0_scope_);
733advance_with_carry(_strct_byteclass__classify_bytes__xF4, carry4, _strct_byteclass__classify_bytes__strct_u8__xF4_scope_);
734advance_with_carry(_strct_byteclass__classify_bytes__xEF, carry5, _strct_byteclass__classify_bytes__strct_u8__xEF_scope_);
735advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__RefStart_, carry6, _strct_byteclass__classify_bytes__strct_lex__RefStart_scope_);
736advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__LAngle_, carry7, _strct_byteclass__classify_bytes__strct_lex__LAngle_scope_);
737advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__Hyphen_, carry8, _strct_byteclass__classify_bytes__strct_lex__Hyphen_scope_);
738advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__QMark_, carry9, _strct_byteclass__classify_bytes__strct_lex__QMark_scope_);
739advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__RBracket_, carry10, _strct_byteclass__classify_bytes__strct_lex__RBracket_scope_);
740advance_with_carry(_strct_byteclass__classify_bytes__strct_u8__prefix2_, carry11, _strct_byteclass__classify_bytes__strct_u8__scope22_);
741advance_with_carry(_strct_byteclass__classify_bytes__strct_u8__prefix3_, carry12, _strct_byteclass__classify_bytes__strct_u8__scope32_);
742advance_with_carry(_strct_byteclass__classify_bytes__strct_u8__scope32_, carry13, _strct_byteclass__classify_bytes__strct_u8__scope33_);
743advance_with_carry(_strct_byteclass__classify_bytes__strct_u8__prefix4_, carry14, _strct_byteclass__classify_bytes__strct_u8__scope42_);
744advance_with_carry(_strct_byteclass__classify_bytes__strct_u8__scope42_, carry15, _strct_byteclass__classify_bytes__strct_u8__scope43_);
745advance_with_carry(_strct_byteclass__classify_bytes__strct_u8__scope43_, carry16, _strct_byteclass__classify_bytes__strct_u8__scope44_);
746/*
747strct_control__LF_ = simd_andc(_strct_byteclass__classify_bytes__temp29,_strct_byteclass__classify_bytes__temp50);
748strct_control__SP_ = simd_andc(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp36);
749strct_control__HT_ = simd_andc(_strct_byteclass__classify_bytes__temp51,_strct_byteclass__classify_bytes__temp50);
750advance_with_carry(_strct_byteclass__classify_bytes__strct_control__CR_, carry0, strct_control__CR_scope_);
751strct_control__x00_x1F_ = simd_andc(AllOne,_strct_byteclass__classify_bytes__temp48);
752strct_control__CR_ = simd_andc(_strct_byteclass__classify_bytes__temp20,_strct_byteclass__classify_bytes__temp50);
753strct_lex__QMark_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp23);
754advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__RefStart_, carry6, strct_lex__RefStart_scope_);
755strct_lex__Hex_ = simd_or(_strct_byteclass__classify_bytes__temp62,_strct_byteclass__classify_bytes__temp65);
756strct_lex__WS_ = simd_or(_strct_byteclass__classify_bytes__temp54,_strct_byteclass__classify_bytes__strct_control__SP_);
757strct_lex__Slash_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp23);
758advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__Hyphen_, carry8, strct_lex__Hyphen_scope_);
759strct_lex__RAngle_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp15);
760strct_lex__ASCII_name_start_ = simd_or(_strct_byteclass__classify_bytes__temp39,_strct_byteclass__classify_bytes__temp41);
761advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__QMark_, carry9, strct_lex__QMark_scope_);
762strct_lex__Digit_ = simd_andc(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp56);
763strct_lex__LAngle_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp14);
764strct_lex__Hash_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp26);
765strct_lex__Equals_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp20);
766strct_lex__NameScan_ = simd_or(_strct_byteclass__classify_bytes__strct_lex__ASCII_name_char_,array_bit__0_);
767strct_lex__RefStart_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp6);
768strct_lex__Exclam_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp22);
769advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__LAngle_, carry7, strct_lex__LAngle_scope_);
770strct_lex__LBracket_ = simd_and(_strct_byteclass__classify_bytes__temp18,_strct_byteclass__classify_bytes__temp11);
771strct_lex__ASCII_name_char_ = simd_or(_strct_byteclass__classify_bytes__temp47,_strct_byteclass__classify_bytes__temp41);
772strct_lex__Semicolon_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp11);
773strct_lex__SQuote_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp24);
774strct_lex__Hyphen_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp20);
775strct_lex__DQuote_ = simd_and(_strct_byteclass__classify_bytes__temp3,_strct_byteclass__classify_bytes__temp25);
776strct_lex__Colon_ = simd_and(_strct_byteclass__classify_bytes__temp8,_strct_byteclass__classify_bytes__temp29);
777advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__RBracket_, carry10, strct_lex__RBracket_scope_);
778strct_lex__x_ = simd_and(_strct_byteclass__classify_bytes__temp27,_strct_byteclass__classify_bytes__temp28);
779strct_lex__RBracket_ = simd_and(_strct_byteclass__classify_bytes__temp18,_strct_byteclass__classify_bytes__temp20);
780*/
781Temp5 = simd_or(_strct_byteclass__classify_bytes__strct_u8__scope22_,_strct_byteclass__classify_bytes__strct_u8__scope33_);
782_strct_u8u16__validate_utf8__u8lastscope = simd_or(Temp5,_strct_byteclass__classify_bytes__strct_u8__scope44_);
783Temp6 = simd_or(_strct_u8u16__validate_utf8__u8lastscope,_strct_byteclass__classify_bytes__strct_u8__scope32_);
784Temp7 = simd_or(Temp6,_strct_byteclass__classify_bytes__strct_u8__scope42_);
785_strct_u8u16__validate_utf8__u8anyscope = simd_or(Temp7,_strct_byteclass__classify_bytes__strct_u8__scope43_);
786Temp8 = simd_and(_strct_byteclass__classify_bytes__strct_u8__xE0_scope_,_strct_byteclass__classify_bytes__strct_u8__x80_x9F_);
787_strct_u8u16__validate_utf8__error_mask_13 = simd_or(_strct_byteclass__classify_bytes__strct_u8__badprefix_,Temp8);
788Temp9 = simd_and(_strct_byteclass__classify_bytes__strct_u8__xED_scope_,_strct_byteclass__classify_bytes__strct_u8__xA0_xBF_);
789_strct_u8u16__validate_utf8__error_mask_14 = simd_or(_strct_u8u16__validate_utf8__error_mask_13,Temp9);
790Temp10 = simd_and(_strct_byteclass__classify_bytes__strct_u8__xF0_scope_,_strct_byteclass__classify_bytes__strct_u8__x80_x8F_);
791_strct_u8u16__validate_utf8__error_mask_15 = simd_or(_strct_u8u16__validate_utf8__error_mask_14,Temp10);
792Temp11 = simd_and(_strct_byteclass__classify_bytes__strct_u8__xF4_scope_,_strct_byteclass__classify_bytes__strct_u8__x90_xBF_);
793_strct_u8u16__validate_utf8__error_mask_16 = simd_or(_strct_u8u16__validate_utf8__error_mask_15,Temp11);
794Temp12 = simd_xor(_strct_u8u16__validate_utf8__u8anyscope,_strct_byteclass__classify_bytes__strct_u8__suffix_);
795_strct_u8u16__validate_utf8__error_mask = simd_or(_strct_u8u16__validate_utf8__error_mask_16,Temp12);
796Temp13 = simd_and(_strct_byteclass__classify_bytes__strct_u8__xEF_scope_,_strct_byteclass__classify_bytes__strct_u8__xBF_);
797advance_with_carry(Temp13, carry17, _validate_xmlchar_EF_BF_pending);
798Temp14 = simd_or(_strct_byteclass__classify_bytes__strct_u8__xBE_,_strct_byteclass__classify_bytes__strct_u8__xBF_);
799Temp15 = simd_and(_validate_xmlchar_EF_BF_pending,Temp14);
800Temp16 = simd_andc(_strct_byteclass__classify_bytes__strct_control__x00_x1F_,_strct_byteclass__classify_bytes__strct_lex__WS_);
801Temp17 = simd_and(Temp16,EOF_mask);
802_validate_xmlchar_ret = simd_or(Temp15,Temp17);
803strct_lex__PI_start_ = simd_and(_strct_byteclass__classify_bytes__strct_lex__LAngle_scope_,_strct_byteclass__classify_bytes__strct_lex__QMark_);
804strct_lex__CtCD_start_ = simd_and(_strct_byteclass__classify_bytes__strct_lex__LAngle_scope_,_strct_byteclass__classify_bytes__strct_lex__Exclam_);
805strct_lex__EndTag_start_ = simd_and(_strct_byteclass__classify_bytes__strct_lex__LAngle_scope_,_strct_byteclass__classify_bytes__strct_lex__Slash_);
806Temp18 = simd_and(_strct_byteclass__classify_bytes__strct_lex__RBracket_scope_,_strct_byteclass__classify_bytes__strct_lex__RBracket_);
807advance_with_carry(Temp18, carry18, Temp19);
808strct_lex__CD_end_ = simd_and(Temp19,_strct_byteclass__classify_bytes__strct_lex__RAngle_);
809strct_lex__DoubleHyphen_ = simd_and(_strct_byteclass__classify_bytes__strct_lex__Hyphen_scope_,_strct_byteclass__classify_bytes__strct_lex__Hyphen_);
810strct_lex__PI_end_ = simd_and(_strct_byteclass__classify_bytes__strct_lex__QMark_scope_,_strct_byteclass__classify_bytes__strct_lex__RAngle_);
811PI_ends = AllZero;
812Ct_starts = AllZero;
813Ct_ends = AllZero;
814CD_ends = AllZero;
815CtCDPI_starts = AllZero;
816PI_name_ends = AllZero;
817Temp20 = simd_or(strct_lex__CtCD_start_,strct_lex__PI_start_);
818CtCDPI_scan = simd_andc(EOF_mask,Temp20);
819Ct_end_scan = simd_andc(EOF_mask,strct_lex__DoubleHyphen_);
820CD_end_scan = simd_andc(EOF_mask,strct_lex__CD_end_);
821PI_end_scan = simd_andc(EOF_mask,strct_lex__PI_end_);
822adc128(CtCDPI_Cursor_17, CtCDPI_scan, carry19, Temp21);
823CtCDPI_Cursor_18 = simd_andc(Temp21,CtCDPI_scan);
824CtCDPI_Cursor = simd_and(CtCDPI_Cursor_18,EOF_mask);
825
826while ((bitblock_has_bit(CtCDPI_Cursor))||(test_carry(CarryTemp213))) {
827    CarryTemp213 = Carry0;
828    CtCDPI_starts = simd_or(CtCDPI_starts,CtCDPI_Cursor);
829    PI_Cursor = simd_and(CtCDPI_Cursor,strct_lex__PI_start_);
830    Temp28 = simd_andc(CtCDPI_Cursor,PI_Cursor);
831    Temp31 = simd_andc(CtCDPI_Cursor,PI_Cursor);
832    adc128(Temp28, Temp31, carry20, CD_Ct_Cursor);
833    CD_Cursor = simd_and(CD_Ct_Cursor,_strct_byteclass__classify_bytes__strct_lex__LBracket_);
834    Temp36 = simd_and(CD_Ct_Cursor,_strct_byteclass__classify_bytes__strct_lex__Hyphen_);
835    Temp39 = simd_and(CD_Ct_Cursor,_strct_byteclass__classify_bytes__strct_lex__Hyphen_);
836    adc128(Temp36, Temp39, carry21, Ct_Cursor);
837    Ct_starts = simd_or(Ct_starts,Ct_Cursor);
838    advance_with_carry(Ct_Cursor, carry22, Ct_Cursor);
839    Ct_end_scan = simd_or(Ct_end_scan,Ct_Cursor);
840    advance_with_carry(PI_Cursor, carry23, Temp52);
841    adc128(Temp52, _strct_byteclass__classify_bytes__strct_lex__NameScan_, carry24, Temp54);
842    PI_name_end = simd_andc(Temp54,_strct_byteclass__classify_bytes__strct_lex__NameScan_);
843    PI_name_ends = simd_or(PI_name_ends,PI_name_end);
844    sbb128(PI_name_end, PI_Cursor, carry_brw0, Temp61);
845    strct_CT_callouts__PI_name_ = simd_or(strct_CT_callouts__PI_name_,Temp61);
846    adc128(PI_name_end, PI_end_scan, carry25, Temp64);
847    PI_Cursor = simd_andc(Temp64,PI_end_scan);
848    adc128(CD_Cursor, CD_end_scan, carry26, Temp68);
849    CD_Cursor = simd_andc(Temp68,CD_end_scan);
850    adc128(Ct_Cursor, Ct_end_scan, carry27, Temp72);
851    Temp74 = simd_andc(Temp72,Ct_end_scan);
852    adc128(Ct_Cursor, Ct_end_scan, carry28, Temp77);
853    Temp79 = simd_andc(Temp77,Ct_end_scan);
854    adc128(Temp74, Temp79, carry29, Ct_Cursor);
855    PI_ends = simd_or(PI_ends,PI_Cursor);
856    CD_ends = simd_or(CD_ends,CD_Cursor);
857    Ct_ends = simd_or(Ct_ends,Ct_Cursor);
858    Temp88 = simd_or(PI_Cursor,CD_Cursor);
859    CtCDPI_Cursor = simd_or(Temp88,Ct_Cursor);
860    adc128(CtCDPI_Cursor, CtCDPI_scan, carry30, Temp92);
861    CtCDPI_Cursor = simd_andc(Temp92,CtCDPI_scan);
862    CtCDPI_Cursor = simd_and(CtCDPI_Cursor,EOF_mask);
863    carry20_i = carry_or(carry20_i, carry20);
864    carry21_i = carry_or(carry21_i, carry21);
865    carry22_i = carry_or(carry22_i, carry22);
866    carry23_i = carry_or(carry23_i, carry23);
867    carry24_i = carry_or(carry24_i, carry24);
868    carry25_i = carry_or(carry25_i, carry25);
869    carry26_i = carry_or(carry26_i, carry26);
870    carry27_i = carry_or(carry27_i, carry27);
871    carry28_i = carry_or(carry28_i, carry28);
872    carry29_i = carry_or(carry29_i, carry29);
873    carry30_i = carry_or(carry30_i, carry30);
874    carry20 = Carry0;
875    carry21 = Carry0;
876    carry22 = Carry0;
877    carry23 = Carry0;
878    carry24 = Carry0;
879    carry25 = Carry0;
880    carry26 = Carry0;
881    carry27 = Carry0;
882    carry28 = Carry0;
883    carry29 = Carry0;
884    carry30 = Carry0;
885}
886carry30 = carry30_i;
887carry29 = carry29_i;
888carry28 = carry28_i;
889carry27 = carry27_i;
890carry26 = carry26_i;
891carry25 = carry25_i;
892carry24 = carry24_i;
893carry23 = carry23_i;
894carry22 = carry22_i;
895carry21 = carry21_i;
896carry20 = carry20_i;
897carry30_i = Carry0;
898carry29_i = Carry0;
899carry28_i = Carry0;
900carry27_i = Carry0;
901carry26_i = Carry0;
902carry25_i = Carry0;
903carry24_i = Carry0;
904carry23_i = Carry0;
905carry22_i = Carry0;
906carry21_i = Carry0;
907carry20_i = Carry0;
908CarryTemp213 = carry_or(carry20, carry21);
909CarryTemp213 = carry_or(CarryTemp213, carry30);
910CarryTemp213 = carry_or(CarryTemp213, carry29);
911CarryTemp213 = carry_or(CarryTemp213, carry28);
912CarryTemp213 = carry_or(CarryTemp213, carry27);
913CarryTemp213 = carry_or(CarryTemp213, carry26);
914CarryTemp213 = carry_or(CarryTemp213, carry25);
915CarryTemp213 = carry_or(CarryTemp213, carry24);
916CarryTemp213 = carry_or(CarryTemp213, carry23);
917CarryTemp213 = carry_or(CarryTemp213, carry22);
918Temp96 = simd_or(CD_ends,Ct_ends);
919Temp97 = simd_or(Temp96,PI_ends);
920advance_with_carry(Temp97, carry31, Temp98);
921sbb128(Temp98, CtCDPI_starts, carry_brw1, strct_CT_callouts__CtCDPI_mask_);
922Temp99 = simd_andc(Ct_ends,_strct_byteclass__classify_bytes__strct_lex__RAngle_);
923Temp100 = simd_andc(Ct_starts,_strct_byteclass__classify_bytes__strct_lex__Hyphen_);
924strct_CT_callouts__error__8 = simd_or(Temp99,Temp100);
925Temp101 = simd_andc(PI_name_ends,_strct_byteclass__classify_bytes__strct_lex__WS_);
926advance_with_carry(Temp101, carry32, Temp102);
927Temp103 = simd_andc(Temp102,strct_lex__PI_end_);
928strct_CT_callouts__error__9 = simd_or(strct_CT_callouts__error__8,Temp103);
929Temp104 = simd_andc(strct_CT_callouts__CtCDPI_mask_,EOF_mask);
930strct_CT_callouts__error_ = simd_or(strct_CT_callouts__error__9,Temp104);
931Temp105 = simd_or(_strct_byteclass__classify_bytes__strct_lex__DQuote_,_strct_byteclass__classify_bytes__strct_lex__LAngle_);
932DQuoteScan = simd_andc(EOF_mask,Temp105);
933Temp106 = simd_or(_strct_byteclass__classify_bytes__strct_lex__SQuote_,_strct_byteclass__classify_bytes__strct_lex__LAngle_);
934SQuoteScan = simd_andc(EOF_mask,Temp106);
935AttListDelim = simd_or(_strct_byteclass__classify_bytes__strct_lex__Slash_,_strct_byteclass__classify_bytes__strct_lex__RAngle_);
936advance_with_carry(_strct_byteclass__classify_bytes__strct_lex__LAngle_, carry33, Temp107);
937LAngleFollow = simd_andc(Temp107,strct_CT_callouts__CtCDPI_mask_);
938ElemNamePositions = simd_andc(LAngleFollow,_strct_byteclass__classify_bytes__strct_lex__Slash_);
939EndTagSeconds = simd_and(LAngleFollow,_strct_byteclass__classify_bytes__strct_lex__Slash_);
940adc128(ElemNamePositions, _strct_byteclass__classify_bytes__strct_lex__NameScan_, carry34, Temp108);
941ElemNameFollows = simd_andc(Temp108,_strct_byteclass__classify_bytes__strct_lex__NameScan_);
942ParseError_0 = simd_and(ElemNamePositions,ElemNameFollows);
943sbb128(ElemNameFollows, ElemNamePositions, carry_brw2, strct_callouts__ElemNames_);
944AttNameStarts = AllZero;
945AttNameFollows = AllZero;
946EqToCheck = AllZero;
947AttValStarts = AllZero;
948AttValEnds = AllZero;
949AttValFollows = AllZero;
950adc128(ElemNameFollows, _strct_byteclass__classify_bytes__strct_lex__WS_, carry35, Temp109);
951AfterWS = simd_andc(Temp109,_strct_byteclass__classify_bytes__strct_lex__WS_);
952AttListEnd = simd_and(AfterWS,AttListDelim);
953AttNameStart = simd_andc(AfterWS,AttListDelim);
954Temp110 = simd_and(ElemNameFollows,AttNameStart);
955ParseError_1 = simd_or(ParseError_0,Temp110);
956
957while ((bitblock_has_bit(AttNameStart))||(test_carry(CarryTemp252))) {
958    CarryTemp252 = Carry0;
959    AttNameStarts = simd_or(AttNameStarts,AttNameStart);
960    adc128(AttNameStart, _strct_byteclass__classify_bytes__strct_lex__NameScan_, carry36, Temp115);
961    AttNameFollow = simd_andc(Temp115,_strct_byteclass__classify_bytes__strct_lex__NameScan_);
962    AttNameFollows = simd_or(AttNameFollows,AttNameFollow);
963    adc128(AttNameFollow, _strct_byteclass__classify_bytes__strct_lex__WS_, carry37, Temp121);
964    EqExpected = simd_andc(Temp121,_strct_byteclass__classify_bytes__strct_lex__WS_);
965    EqToCheck = simd_or(EqToCheck,EqExpected);
966    advance_with_carry(EqExpected, carry38, Temp127);
967    adc128(Temp127, _strct_byteclass__classify_bytes__strct_lex__WS_, carry39, Temp129);
968    AttValPos = simd_andc(Temp129,_strct_byteclass__classify_bytes__strct_lex__WS_);
969    AttValStarts = simd_or(AttValStarts,AttValPos);
970    DQuoteAttVal = simd_and(AttValPos,_strct_byteclass__classify_bytes__strct_lex__DQuote_);
971    SQuoteAttVal = simd_and(AttValPos,_strct_byteclass__classify_bytes__strct_lex__SQuote_);
972    advance_with_carry(DQuoteAttVal, carry40, Temp139);
973    adc128(Temp139, DQuoteScan, carry41, Temp141);
974    DQuoteAttEnd = simd_andc(Temp141,DQuoteScan);
975    advance_with_carry(SQuoteAttVal, carry42, Temp145);
976    adc128(Temp145, SQuoteScan, carry43, Temp147);
977    SQuoteAttEnd = simd_andc(Temp147,SQuoteScan);
978    AttValEnd = simd_or(DQuoteAttEnd,SQuoteAttEnd);
979    AttValEnds = simd_or(AttValEnds,AttValEnd);
980    advance_with_carry(AttValEnd, carry44, AttValFollow);
981    AttValFollows = simd_or(AttValFollows,AttValFollow);
982    adc128(AttValFollow, _strct_byteclass__classify_bytes__strct_lex__WS_, carry45, Temp159);
983    AfterWS = simd_andc(Temp159,_strct_byteclass__classify_bytes__strct_lex__WS_);
984    Temp164 = simd_and(AfterWS,AttListDelim);
985    AttListEnd = simd_or(AttListEnd,Temp164);
986    AttNameStart = simd_andc(AfterWS,AttListDelim);
987    carry36_i = carry_or(carry36_i, carry36);
988    carry37_i = carry_or(carry37_i, carry37);
989    carry38_i = carry_or(carry38_i, carry38);
990    carry39_i = carry_or(carry39_i, carry39);
991    carry40_i = carry_or(carry40_i, carry40);
992    carry41_i = carry_or(carry41_i, carry41);
993    carry42_i = carry_or(carry42_i, carry42);
994    carry43_i = carry_or(carry43_i, carry43);
995    carry44_i = carry_or(carry44_i, carry44);
996    carry45_i = carry_or(carry45_i, carry45);
997    carry36 = Carry0;
998    carry37 = Carry0;
999    carry38 = Carry0;
1000    carry39 = Carry0;
1001    carry40 = Carry0;
1002    carry41 = Carry0;
1003    carry42 = Carry0;
1004    carry43 = Carry0;
1005    carry44 = Carry0;
1006    carry45 = Carry0;
1007}
1008carry45 = carry45_i;
1009carry44 = carry44_i;
1010carry43 = carry43_i;
1011carry42 = carry42_i;
1012carry41 = carry41_i;
1013carry40 = carry40_i;
1014carry39 = carry39_i;
1015carry38 = carry38_i;
1016carry37 = carry37_i;
1017carry36 = carry36_i;
1018carry45_i = Carry0;
1019carry44_i = Carry0;
1020carry43_i = Carry0;
1021carry42_i = Carry0;
1022carry41_i = Carry0;
1023carry40_i = Carry0;
1024carry39_i = Carry0;
1025carry38_i = Carry0;
1026carry37_i = Carry0;
1027carry36_i = Carry0;
1028CarryTemp252 = carry_or(carry36, carry37);
1029CarryTemp252 = carry_or(CarryTemp252, carry45);
1030CarryTemp252 = carry_or(CarryTemp252, carry44);
1031CarryTemp252 = carry_or(CarryTemp252, carry43);
1032CarryTemp252 = carry_or(CarryTemp252, carry42);
1033CarryTemp252 = carry_or(CarryTemp252, carry41);
1034CarryTemp252 = carry_or(CarryTemp252, carry40);
1035CarryTemp252 = carry_or(CarryTemp252, carry39);
1036CarryTemp252 = carry_or(CarryTemp252, carry38);
1037sbb128(AttNameFollows, AttNameStarts, carry_brw3, strct_callouts__AttNames_);
1038Temp167 = simd_and(AttListEnd,_strct_byteclass__classify_bytes__strct_lex__Slash_);
1039advance_with_carry(Temp167, carry46, strct_callouts__EmptyTagMarks_);
1040Temp168 = simd_and(AttValFollows,AttNameStarts);
1041ParseError_2 = simd_or(ParseError_1,Temp168);
1042Temp169 = simd_and(AttNameStarts,AttNameFollows);
1043ParseError_3 = simd_or(ParseError_2,Temp169);
1044Temp170 = simd_andc(EqToCheck,_strct_byteclass__classify_bytes__strct_lex__Equals_);
1045ParseError_4 = simd_or(ParseError_3,Temp170);
1046Temp171 = simd_or(_strct_byteclass__classify_bytes__strct_lex__DQuote_,_strct_byteclass__classify_bytes__strct_lex__SQuote_);
1047Temp172 = simd_andc(AttValStarts,Temp171);
1048ParseError_5 = simd_or(ParseError_4,Temp172);
1049Temp173 = simd_andc(AttValEnds,Temp171);
1050ParseError_6 = simd_or(ParseError_5,Temp173);
1051Temp174 = simd_andc(strct_callouts__EmptyTagMarks_,_strct_byteclass__classify_bytes__strct_lex__RAngle_);
1052ParseError_7 = simd_or(ParseError_6,Temp174);
1053advance_with_carry(EndTagSeconds, carry47, Temp175);
1054adc128(Temp175, _strct_byteclass__classify_bytes__strct_lex__NameScan_, carry48, Temp176);
1055Temp177 = simd_andc(Temp176,_strct_byteclass__classify_bytes__strct_lex__NameScan_);
1056adc128(Temp177, _strct_byteclass__classify_bytes__strct_lex__WS_, carry49, Temp178);
1057EndTagEnds = simd_andc(Temp178,_strct_byteclass__classify_bytes__strct_lex__WS_);
1058Temp179 = simd_andc(EndTagEnds,_strct_byteclass__classify_bytes__strct_lex__RAngle_);
1059ParseError = simd_or(ParseError_7,Temp179);
1060strct_callouts__error_ = simd_or(ParseError_7,Temp179);
1061_parse_refs_Ref2 = simd_andc(_strct_byteclass__classify_bytes__strct_lex__RefStart_scope_,strct_CT_callouts__CtCDPI_mask_);
1062_parse_refs_NumRef2 = simd_and(_parse_refs_Ref2,_strct_byteclass__classify_bytes__strct_lex__Hash_);
1063_parse_refs_GenRef2 = simd_andc(_parse_refs_Ref2,_strct_byteclass__classify_bytes__strct_lex__Hash_);
1064advance_with_carry(_parse_refs_NumRef2, carry50, _parse_refs_NumRef3);
1065_parse_refs_HexRef3 = simd_and(_parse_refs_NumRef3,_strct_byteclass__classify_bytes__strct_lex__x_);
1066_parse_refs_DecRef3 = simd_andc(_parse_refs_NumRef3,_strct_byteclass__classify_bytes__strct_lex__x_);
1067advance_with_carry(_parse_refs_HexRef3, carry51, _parse_refs_HexRef4);
1068adc128(_parse_refs_GenRef2, _strct_byteclass__classify_bytes__strct_lex__NameScan_, carry52, Temp180);
1069_parse_refs_GenRefEnds = simd_andc(Temp180,_strct_byteclass__classify_bytes__strct_lex__NameScan_);
1070adc128(_parse_refs_DecRef3, _strct_byteclass__classify_bytes__strct_lex__Digit_, carry53, Temp181);
1071_parse_refs_DecRefEnds = simd_andc(Temp181,_strct_byteclass__classify_bytes__strct_lex__Digit_);
1072adc128(_parse_refs_HexRef4, _strct_byteclass__classify_bytes__strct_lex__Hex_, carry54, Temp182);
1073_parse_refs_HexRefEnds = simd_andc(Temp182,_strct_byteclass__classify_bytes__strct_lex__Hex_);
1074_parse_refs_Error_10 = simd_andc(_parse_refs_DecRef3,_strct_byteclass__classify_bytes__strct_lex__Digit_);
1075Temp183 = simd_andc(_parse_refs_HexRef4,_strct_byteclass__classify_bytes__strct_lex__Hex_);
1076_parse_refs_Error_11 = simd_or(_parse_refs_Error_10,Temp183);
1077Temp184 = simd_or(_parse_refs_GenRefEnds,_parse_refs_DecRefEnds);
1078Temp185 = simd_or(Temp184,_parse_refs_HexRefEnds);
1079Temp186 = simd_andc(Temp185,_strct_byteclass__classify_bytes__strct_lex__Semicolon_);
1080_parse_refs_Error = simd_or(_parse_refs_Error_11,Temp186);
1081sbb128(_parse_refs_GenRefEnds, _parse_refs_GenRef2, carry_brw4, _parse_refs_strct_CallOuts__GenRefs_);
1082strct_refs__error_ = simd_or(_parse_refs_Error_11,Temp186);
1083sbb128(_parse_refs_GenRefEnds, _parse_refs_GenRef2, carry_brw4, strct_refs__GenRefs_);
1084Temp187 = simd_or(strct_CT_callouts__CtCDPI_mask_,strct_callouts__Tags_);
1085_validate_no_CD_end_ret = simd_andc(strct_lex__CD_end_,Temp187);
1086Temp188 = simd_or(_strct_u8u16__validate_utf8__error_mask,_validate_xmlchar_ret);
1087Temp189 = simd_or(Temp188,strct_CT_callouts__error_);
1088Temp190 = simd_or(Temp189,ParseError);
1089Temp191 = simd_or(Temp190,_validate_no_CD_end_ret);
1090error_mask = simd_or(Temp191,_parse_refs_Error);
1091delmask = simd_or(strct_control__CRLF_,strct_refs__delmask_);
1092qname_stream = simd_or(strct_callouts__ElemNames_,strct_callouts__AttNames_);
1093ncname_stream = simd_or(strct_CT_callouts__PI_name_,_parse_refs_strct_CallOuts__GenRefs_);
1094name_stream = simd_or(qname_stream,ncname_stream);
1095advance_with_carry(name_stream, carry55, Temp192);
1096name_start = simd_andc(name_stream,Temp192);
1097name_start_check = simd_andc(name_start,_strct_byteclass__classify_bytes__strct_lex__ASCII_name_start_);
1098Temp193 = simd_andc(name_stream,name_start);
1099Temp194 = simd_or(Temp193,nmtoken_stream);
1100Temp195 = simd_andc(Temp194,_strct_byteclass__classify_bytes__strct_lex__ASCII_name_char_);
1101name_check = simd_andc(Temp195,_strct_byteclass__classify_bytes__strct_u8__suffix_);
1102
1103
1104        if (bitblock_has_bit(error_mask)) {
1105          errpos = block_pos + buf_pos + count_forward_zeroes(error_mask);
1106          fprintf(stderr, "error found at position %i\n",errpos);
1107          exit(-1);
1108        }
1109       
1110        block_pos += BLOCK_SIZE;
1111      }
1112
1113    PERF_SEC_END(parser_timer, chars_read);
1114
1115    buf_pos += chars_read;
1116    chars_read = fread((void *)srcbuf, 1, BUFFER_SIZE, infile);
1117    block_pos = 0;
1118  }
1119}
1120
1121
1122
1123int
1124main(int argc, char * argv[]) {
1125        char * infilename, * outfilename;       
1126        FILE *infile, *outfile;
1127        struct stat fileinfo;
1128
1129        if (argc < 2) {
1130                printf("Usage: %s <filename> [<outputfile>]\n", argv[0]);
1131                exit(-1);
1132        }
1133
1134        infilename = argv[1];
1135        stat(infilename, &fileinfo);
1136        infile = fopen(infilename, "rb");
1137        if (!infile) {
1138                fprintf(stderr, "Error: cannot open %s for input.\n", infilename);
1139                exit(-1);
1140        }
1141       
1142        if (argc < 3) outfile = stdout;
1143        else {
1144                outfilename = argv[2];
1145                outfile = fopen(outfilename, "wb");
1146                if (!outfile) {
1147                        fprintf(stderr, "Error: cannot open %s for writing.\n", outfilename);
1148                        exit(-1);
1149                }
1150        }
1151
1152
1153        PERF_SEC_INIT(parser_timer);
1154
1155        do_process(infile, outfile);
1156       
1157        PERF_SEC_DUMP(parser_timer);
1158       
1159        PERF_SEC_DESTROY(parser_timer);
1160
1161        fclose(infile);
1162        fclose(outfile);
1163        return(0);
1164}
Note: See TracBrowser for help on using the repository browser.