Changeset 791 for proto/JSON


Ignore:
Timestamp:
Dec 7, 2010, 7:05:10 PM (8 years ago)
Author:
ksherdy
Message:

Add Pybit/Pablo? specific commands.

Location:
proto/JSON
Files:
2 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • proto/JSON/Makefile

    r672 r791  
    1 SRCFILE=json_compilable.py
    2 OUTFILE=src/json.c
    3 COMPILER=../Compiler/bitstream_compiler.py
     1PYBIT_COMPILER=../Compiler/bitstream_compiler.py
     2PYBIT_TEMPLATE=json_pybit_template.c
     3PYBIT_SRCFILE=json_pybit_compilable.py
     4PYBIT_OUTFILE=src/pybit_json.c
    45
    5 all:    $(SRCFILE)
    6         python $(COMPILER) $(SRCFILE) $(OUTFILE)
     6PABLO_COMPILER=../Compiler/compiler2.py
     7PABLO_TEMPLATE=json_pablo_template.c
     8PABLO_SRCFILE=json_pablo_compilable.py
     9PABLO_OUTFILE=src/pablo_json.c
    710
    8 clean: 
    9         rm -f $(OUTFILE)
     11pybit:  $(PYBIT_SRCFILE)
     12        python $(PYBIT_COMPILER) $(PYBIT_SRCFILE) $(PYBIT_OUTFILE) -t $(PYBIT_TEMPLATE)
    1013
     14pybit_clean:   
     15        rm -f $(PYBIT_OUTFILE)
     16
     17pablo:  $(PABLO_SRCFILE)
     18        python $(PABLO_COMPILER) $(PABLO_SRCFILE) -t $(PABLO_TEMPLATE) -o $(PABLO_OUTFILE)
     19
     20pablo_help:
     21        python  $(PABLO_COMPILER) -h
     22
     23pablo_clean:   
     24        rm -f $(PABLO_OUTFILE)
  • proto/JSON/src/Makefile

    r741 r791  
    11SRCFILE=json.c
     2PYBIT_SRCFILE=pybit_json.c
     3PABLO_SRCFILE=pablo_json.c
     4
    25OUTFILE=json
     6PYBIT_OUTFILE=pybit_json
     7PABLO_OUTFILE=pablo_json
     8
    39TEST=
    410
     
    2329endif
    2430
     31pybit:  $(PYBIT_SRCFILE)
     32        $(CC) -o $(PYBIT_OUTFILE) $(PYBIT_SRCFILE) $(AFLAGS)
     33
     34pablo:  $(PABLO_SRCFILE)
     35        $(CC) -o $(PABLO_OUTFILE) $(PABLO_SRCFILE) $(AFLAGS)
     36
    2537all:    $(SRCFILE)
    2638        $(CC) -o $(OUTFILE) $(SRCFILE) $(AFLAGS)
     
    3951
    4052clean: 
    41         rm -f $(OUTFILE) $(OUTFILE).s $(OUTFILE).o
     53        rm -f $(OUTFILE) $(OUTFILE).s $(OUTFILE).o $(PYBIT_OUTFILE) $(PABLO_OUTFILE)
    4254
    4355help:
  • proto/JSON/src/json.c

    r768 r791  
    77
    88#include "../lib/lib_simd.h"
    9 #include "../lib/block_carry.h"
    109#include "../lib/perflib/perfsec.h"
    1110#include "../lib/s2p.h"
     11#include "../lib/carryQ.h"
    1212
    1313typedef SIMD_type BytePack;
     
    3636 
    3737        /* Compiler generated stream variable declarations. */
    38         BitBlock temp40;
    39 BitBlock temp41;
    40 BitBlock strct_Lex__RSquareBracket_;
    41 BitBlock temp43;
    42 BitBlock temp44;
    43 BitBlock temp45;
    44 BitBlock temp46;
    45 BitBlock temp47;
    46 BitBlock temp48;
    47 BitBlock temp49;
    48 BitBlock temp42;
    49 BitBlock FalseStarts;
    50 BitBlock StringErrors_9;
    51 BitBlock M4a;
    52 BitBlock TrueSpans;
    53 BitBlock strct_Lex__DecimalPoint_;
    54 BitBlock strct_Lex__Null_;
    55 BitBlock array_bit__2_;
    56 BitBlock strct_u8__suffix_;
    57 BitBlock Scope3;
    58 BitBlock strct_Lex__n_;
    59 BitBlock EvenEscape;
    60 BitBlock StringEscapeChars;
    61 BitBlock OddFinal;
    62 BitBlock Temp40;
    63 BitBlock Temp41;
    64 BitBlock Temp42;
    65 BitBlock strct_u8__unibyte_;
    66 BitBlock Temp44;
    67 BitBlock Temp45;
    68 BitBlock Temp46;
    69 BitBlock Temp47;
    70 BitBlock Temp48;
    71 BitBlock Temp49;
    72 BitBlock NullSpans;
    73 BitBlock strct_u8__xED_;
    74 BitBlock temp28;
    75 BitBlock temp29;
    76 BitBlock NullErrors_8;
    77 BitBlock temp22;
    78 BitBlock temp23;
    79 BitBlock temp20;
    80 BitBlock temp21;
    81 BitBlock temp26;
    82 BitBlock temp27;
    83 BitBlock temp24;
    84 BitBlock temp25;
    85 BitBlock temp81;
    86 BitBlock M4b;
    87 BitBlock M7;
    88 BitBlock M6;
    89 BitBlock M1;
    90 BitBlock M0;
    91 BitBlock strct_Lex__a_;
    92 BitBlock M2b;
    93 BitBlock strct_u8__x80_x8F_;
    94 BitBlock TrueErrors_5;
    95 BitBlock AtomSpans;
    96 BitBlock array_bit__0_;
    97 BitBlock strct_Lex__Minus_;
    98 BitBlock strct_u8__prefix4_;
    99 BitBlock strct_Lex__LCurlyBrace_;
    100 BitBlock Temp39;
    101 BitBlock ParityMask;
    102 BitBlock E5b;
    103 BitBlock TrueFollows;
    104 BitBlock AllZero = simd_const_1(0);
    105 BitBlock Temp28;
    106 BitBlock Temp29;
    107 BitBlock EvenFinal;
    108 BitBlock Temp22;
    109 BitBlock Temp23;
    110 BitBlock Temp20;
    111 BitBlock Temp21;
    112 BitBlock Temp26;
    113 BitBlock Temp27;
    114 BitBlock Temp24;
    115 BitBlock Temp25;
    116 BitBlock Escape;
    117 BitBlock FalseScope2;
    118 BitBlock FalseScope3;
    119 BitBlock FalseScope1;
    120 BitBlock FalseScope4;
    121 BitBlock NullFollows;
    122 BitBlock StringMask;
    123 BitBlock strct_u8__x90_xBF_;
    124 BitBlock M3b;
    125 BitBlock NullScope1;
    126 BitBlock NullScope3;
    127 BitBlock M9b;
    128 BitBlock M1_15;
    129 BitBlock TrueScope2;
    130 BitBlock TrueScope3;
    131 BitBlock TrueScope1;
    132 BitBlock strct_Lex__Comma_;
    133 BitBlock array_bit__7_;
    134 BitBlock strct_Lex__Colon_;
    135 BitBlock OddStart;
    136 BitBlock StringNotEscapedChars;
    137 BitBlock strct_Lex__e_;
    138 BitBlock TrueErrors_4;
    139 BitBlock strct_u8__xA0_xBF_;
    140 BitBlock strct_u8__prefix3_;
    141 BitBlock FalseSpans;
    142 BitBlock strct_Lex__PlusMinus_;
    143 BitBlock M9b_6;
    144 BitBlock M5b_0;
    145 BitBlock strct_u8__x80_x9F_;
    146 BitBlock strct_Lex__Zero_;
    147 BitBlock StringEnds;
    148 BitBlock temp75;
    149 BitBlock temp74;
    150 BitBlock temp77;
    151 BitBlock E9b;
    152 BitBlock temp71;
    153 BitBlock temp70;
    154 BitBlock temp73;
    155 BitBlock temp72;
    156 BitBlock strct_Lex__LSquareBracket_;
    157 BitBlock temp79;
    158 BitBlock temp78;
    159 BitBlock M7b;
    160 BitBlock M7a;
    161 BitBlock strct_u8__prefix_;
    162 BitBlock strct_Lex__s_;
    163 BitBlock strct_Lex__WS_;
    164 BitBlock AllOne = simd_const_1(1);
    165 BitBlock strct_Lex__t_;
    166 BitBlock strct_Ctrl__LF_;
    167 BitBlock StringSpans;
    168 BitBlock strct_Ctrl__CR_;
    169 BitBlock strct_u8__badprefix_;
    170 BitBlock strct_Lex__RCurlyBrace_;
    171 BitBlock strct_Lex__Ee_;
    172 BitBlock UnmaskedAtomStarts;
    173 BitBlock UnmaskedAtomSpans;
    174 BitBlock strct_u8__xF4_;
    175 BitBlock strct_Lex__True_;
    176 BitBlock temp10;
    177 BitBlock EvenStart;
    178 BitBlock strct_u8__xE0_;
    179 BitBlock temp59;
    180 BitBlock temp58;
    181 BitBlock temp57;
    182 BitBlock temp56;
    183 BitBlock temp55;
    184 BitBlock temp54;
    185 BitBlock temp53;
    186 BitBlock temp52;
    187 BitBlock temp51;
    188 BitBlock temp50;
    189 BitBlock Temp43;
    190 BitBlock strct_Lex__f_;
    191 BitBlock M5b;
    192 BitBlock UnescapedDQuotes;
    193 BitBlock FalseFollows;
    194 BitBlock TrueStarts;
    195 BitBlock FalseErrors;
    196 BitBlock array_bit__3_;
    197 BitBlock strct_Ctrl__HT_;
    198 BitBlock uScope2;
    199 BitBlock strct_Ctrl__x00_x1F_;
    200 BitBlock temp30;
    201 BitBlock uScope1;
    202 BitBlock uScope4;
    203 BitBlock temp3;
    204 BitBlock temp2;
    205 BitBlock temp1;
    206 BitBlock temp76;
    207 BitBlock temp7;
    208 BitBlock temp6;
    209 BitBlock temp5;
    210 BitBlock temp4;
    211 BitBlock temp9;
    212 BitBlock temp8;
    213 BitBlock StringStarts;
    214 BitBlock TrueErrors;
    215 BitBlock StringCursor;
    216 BitBlock NullStarts;
    217 BitBlock M10b;
    218 BitBlock strct_u8__prefix2_;
    219 BitBlock E1;
    220 BitBlock temp39;
    221 BitBlock temp38;
    222 BitBlock temp31;
    223 BitBlock array_bit__5_;
    224 BitBlock temp33;
    225 BitBlock temp32;
    226 BitBlock temp35;
    227 BitBlock temp34;
    228 BitBlock temp37;
    229 BitBlock temp36;
    230 BitBlock NumberSpans;
    231 BitBlock strct_Lex__DQuote_;
    232 BitBlock strct_Lex__RSolidus_;
    233 BitBlock array_bit__1_;
    234 BitBlock Even;
    235 BitBlock array_bit__6_;
    236 BitBlock error_mask;
    237 BitBlock strct_Lex__r_;
    238 BitBlock Start;
    239 BitBlock strct_u8__xF0_;
    240 BitBlock M1a;
    241 BitBlock Temp38;
    242 BitBlock M1b;
    243 BitBlock Temp31;
    244 BitBlock Temp30;
    245 BitBlock Temp33;
    246 BitBlock Temp32;
    247 BitBlock Temp35;
    248 BitBlock Temp34;
    249 BitBlock Temp37;
    250 BitBlock Temp36;
    251 BitBlock NullErrors_7;
    252 BitBlock strct_Ctrl__SP_;
    253 BitBlock strct_Lex__False_;
    254 BitBlock strct_Lex__Digit0_9_;
    255 BitBlock NullErrors;
    256 BitBlock FalseErrors_1;
    257 BitBlock FalseErrors_2;
    258 BitBlock FalseErrors_3;
    259 BitBlock NumberStarts;
    260 BitBlock NullScope2;
    261 BitBlock temp88;
    262 BitBlock temp89;
    263 BitBlock M4;
    264 BitBlock temp84;
    265 BitBlock temp85;
    266 BitBlock temp86;
    267 BitBlock temp87;
    268 BitBlock temp80;
    269 BitBlock AtomStarts;
    270 BitBlock temp82;
    271 BitBlock temp83;
    272 BitBlock M11;
    273 BitBlock StringErrors;
    274 BitBlock OddEscape;
    275 BitBlock NumberErrors;
    276 BitBlock Odd;
    277 BitBlock temp66;
    278 BitBlock temp67;
    279 BitBlock temp64;
    280 BitBlock temp65;
    281 BitBlock temp62;
    282 BitBlock temp63;
    283 BitBlock temp60;
    284 BitBlock temp61;
    285 BitBlock temp68;
    286 BitBlock temp69;
    287 BitBlock Temp13;
    288 BitBlock Temp12;
    289 BitBlock Temp11;
    290 BitBlock Temp10;
    291 BitBlock Temp17;
    292 BitBlock Temp16;
    293 BitBlock Temp15;
    294 BitBlock Temp14;
    295 BitBlock Temp19;
    296 BitBlock Temp18;
    297 BitBlock strct_Lex__u_;
    298 BitBlock uScope3;
    299 BitBlock M2a;
    300 BitBlock temp13;
    301 BitBlock temp12;
    302 BitBlock temp11;
    303 BitBlock array_bit__4_;
    304 BitBlock temp17;
    305 BitBlock temp16;
    306 BitBlock temp15;
    307 BitBlock temp14;
    308 BitBlock Temp7;
    309 BitBlock temp19;
    310 BitBlock temp18;
    311 BitBlock strct_Lex__Number_;
    312 BitBlock strct_Lex__l_;
    313 BitBlock StringErrors_14;
    314 BitBlock StringErrors_11;
    315 BitBlock StringErrors_10;
    316 BitBlock StringErrors_13;
    317 BitBlock StringErrors_12;
    318 BitBlock strct_Lex__Escape_;
    319 BitBlock Temp3;
    320 BitBlock Temp2;
    321 BitBlock Temp1;
    322 BitBlock u;
    323 BitBlock Temp6;
    324 BitBlock Temp5;
    325 BitBlock Temp4;
    326 BitBlock strct_Lex__HexDigit_;
    327 BitBlock Temp9;
    328 BitBlock Temp8;
    329 BitBlock M8b;
    330 BitBlock strct_Lex__Digit1_9_;
    331 CarryType carry28 = Carry0;
    332 CarryType carry29 = Carry0;
    333 CarryType carry20 = Carry0;
    334 CarryType carry21 = Carry0;
    335 CarryType carry22 = Carry0;
    336 CarryType carry23 = Carry0;
    337 CarryType carry24 = Carry0;
    338 CarryType carry25 = Carry0;
    339 CarryType carry26 = Carry0;
    340 CarryType carry27 = Carry0;
    341 CarryType carry1 = Carry0;
    342 CarryType carry0 = Carry0;
    343 CarryType carry3 = Carry0;
    344 CarryType carry2 = Carry0;
    345 CarryType carry5 = Carry0;
    346 CarryType carry4 = Carry0;
    347 CarryType carry7 = Carry0;
    348 CarryType carry6 = Carry0;
    349 CarryType carry9 = Carry0;
    350 CarryType carry8 = Carry0;
    351 CarryType carry15 = Carry0;
    352 CarryType carry14 = Carry0;
    353 CarryType carry17 = Carry0;
    354 CarryType carry16 = Carry0;
    355 CarryType carry11 = Carry0;
    356 CarryType carry10 = Carry0;
    357 CarryType carry13 = Carry0;
    358 CarryType carry12 = Carry0;
    359 CarryType carry19 = Carry0;
    360 CarryType carry18 = Carry0;
    361 CarryType carry_brw3 = Carry0;
    362 CarryType carry_brw2 = Carry0;
    363 CarryType carry_brw1 = Carry0;
    364 CarryType carry_brw0 = Carry0;
    365 CarryType carry33 = Carry0;
    366 CarryType carry32 = Carry0;
    367 CarryType carry31 = Carry0;
    368 CarryType carry30 = Carry0;
     38        struct {
     39  BitBlock unibyte;
     40  BitBlock prefix;
     41  BitBlock prefix2;
     42  BitBlock prefix3;
     43  BitBlock prefix4;
     44  BitBlock suffix;
     45  BitBlock badprefix;
     46  BitBlock xE0;
     47  BitBlock xED;
     48  BitBlock xF0;
     49  BitBlock xF4;
     50  BitBlock xA0_xBF;
     51  BitBlock x80_x9F;
     52  BitBlock x90_xBF;
     53  BitBlock x80_x8F;
     54  BitBlock xEF;
     55  BitBlock xBF;
     56  BitBlock xBE;
     57  BitBlock scope22;
     58  BitBlock scope32;
     59  BitBlock scope33;
     60  BitBlock scope42;
     61  BitBlock scope43;
     62  BitBlock scope44;
     63  BitBlock error;
     64} u8;
     65
     66struct {
     67  BitBlock LCurlyBrace;
     68  BitBlock Colon;
     69  BitBlock Comma;
     70  BitBlock RCurlyBrace;
     71  BitBlock LSquareBracket;
     72  BitBlock RSquareBracket;
     73  BitBlock Number;
     74  BitBlock Minus;
     75  BitBlock Zero;
     76  BitBlock Digit1_9;
     77  BitBlock Digit0_9;
     78  BitBlock DecimalPoint;
     79  BitBlock Ee;
     80  BitBlock PlusMinus;
     81  BitBlock DQuote;
     82  BitBlock RSolidus;
     83  BitBlock u;
     84  BitBlock Escape;
     85  BitBlock HexDigit;
     86  BitBlock NotUnescaped;
     87  BitBlock WS;
     88  BitBlock True;
     89  BitBlock t;
     90  BitBlock r;
     91  BitBlock e;
     92  BitBlock False;
     93  BitBlock f;
     94  BitBlock a;
     95  BitBlock l;
     96  BitBlock s;
     97  BitBlock Null;
     98  BitBlock n;
     99} Lex;
     100
     101struct {
     102  BitBlock x00_x1F;
     103  BitBlock CR;
     104  BitBlock LF;
     105  BitBlock HT;
     106  BitBlock SP;
     107} Ctrl;
     108
     109struct {
     110  BitBlock Odd;
     111  BitBlock Even;
     112  BitBlock ParityMask;
     113} Parity;
     114
     115  BitBlock temp1, temp2, temp3, temp4, temp5, temp6, temp7, temp8, temp9, temp10;
     116  BitBlock temp11, temp12, temp13, temp14, temp15, temp16, temp17, temp18;
     117  BitBlock temp19, temp20, temp21, temp22, temp23, temp24, temp25, temp26;
     118  BitBlock temp27, temp28, temp29, temp30, temp31, temp32, temp33, temp34;
     119  BitBlock temp35, temp36, temp37, temp38, temp39, temp40, temp41, temp42;
     120  BitBlock temp43, temp44, temp45, temp46, temp47, temp48, temp49, temp50;
     121  BitBlock temp51, temp52, temp53, temp54, temp55, temp56, temp57, temp58;
     122  BitBlock temp59, temp60, temp61, temp62, temp63, temp64, temp65, temp66;
     123  BitBlock temp67, temp68, temp69, temp70, temp71, temp72, temp73, temp74;
     124  BitBlock temp75, temp76, temp77, temp78, temp79, temp80, temp81, temp82;
     125  BitBlock temp83, temp84, temp85, temp86, temp87, temp88, temp89, Start;
     126  BitBlock EvenStart, EvenFinal, EvenEscape, OddStart, OddFinal, OddEscape;
     127  BitBlock Escape, UnescapedDQuotes, StringMask, StringSpans, StringStarts;
     128  BitBlock UnmaskedAtomSpans, UnmaskedAtomStarts, NumberStarts, TrueStarts;
     129  BitBlock FalseStarts, NullStarts, StringEscapeChars, StringErrors, u, uScope1;
     130  BitBlock uScope2, uScope3, uScope4, StringNotEscapedChars, StringCursor;
     131  BitBlock StringEnds, M0, M1, E1, M1a, M1b, M2a, M2b, M3b, M4, M4a, M4b, M5b;
     132  BitBlock E5b, M6, M7, M7a, M7b, M8b, M9b, E9b, M10b, M11, NumberErrors;
     133  BitBlock NumberSpans, TrueScope1, TrueScope2, TrueScope3, TrueErrors;
     134  BitBlock TrueFollows, TrueSpans, FalseScope1, FalseScope2, FalseScope3;
     135  BitBlock FalseScope4, FalseErrors, FalseFollows, FalseSpans, NullScope1;
     136  BitBlock NullScope2, NullScope3, NullErrors, NullFollows, NullSpans;
     137  BitBlock AtomStarts, AtomSpans, error_mask;
     138CarryDeclare(carryQ, 38);
    369139
    370140       
    371141        // BitBlock error_mask;  // PyBit compiler auto declares this variable
     142        BitBlock bit[8];
    372143        BitBlock EOF_mask = simd_const_1(1);
    373144       
    374145        /*extra*/
    375146        /* parse_escape, do not declare, since the PyBit compiler does so by default*/
    376         Odd = simd_const_2(1);
    377         Even = simd_const_2(2);
     147        Parity.Odd = simd_const_2(1);
     148        Parity.Even = simd_const_2(2);
    378149       
    379150        BitBlock high_bit_mask = sisd_high_bit_mask;   
     
    404175        if(chars_avail==0 && feof(infile)) { return; }
    405176
    406        
     177        CarryInit(carryQ, 38);
     178
    407179       
    408180        while(1) {
     
    415187
    416188                        s2p(U8[0], U8[1], U8[2], U8[3], U8[4], U8[5], U8[6], U8[7],
    417                         array_bit__0_,array_bit__1_,array_bit__2_,array_bit__3_,array_bit__4_,array_bit__5_,array_bit__6_,array_bit__7_);
    418 
    419                         strct_u8__unibyte_ = simd_andc(AllOne,array_bit__0_);
    420 strct_u8__prefix_ = simd_and(array_bit__0_,array_bit__1_);
    421 strct_u8__prefix2_ = simd_andc(strct_u8__prefix_,array_bit__2_);
    422 temp1 = simd_andc(array_bit__2_,array_bit__3_);
    423 strct_u8__prefix3_ = simd_and(strct_u8__prefix_,temp1);
    424 temp2 = simd_and(array_bit__2_,array_bit__3_);
    425 strct_u8__prefix4_ = simd_and(strct_u8__prefix_,temp2);
    426 strct_u8__suffix_ = simd_andc(array_bit__0_,array_bit__1_);
    427 temp3 = simd_or(array_bit__2_,array_bit__3_);
    428 temp4 = simd_andc(strct_u8__prefix_,temp3);
    429 temp5 = simd_or(array_bit__4_,array_bit__5_);
    430 temp6 = simd_or(temp5,array_bit__6_);
    431 temp7 = simd_andc(temp4,temp6);
    432 temp8 = simd_or(array_bit__6_,array_bit__7_);
    433 temp9 = simd_and(array_bit__5_,temp8);
    434 temp10 = simd_or(array_bit__4_,temp9);
    435 temp11 = simd_and(strct_u8__prefix4_,temp10);
    436 strct_u8__badprefix_ = simd_or(temp7,temp11);
    437 temp12 = simd_or(temp5,temp8);
    438 strct_u8__xE0_ = simd_andc(strct_u8__prefix3_,temp12);
    439 temp13 = simd_and(array_bit__4_,array_bit__5_);
    440 temp14 = simd_andc(array_bit__7_,array_bit__6_);
    441 temp15 = simd_and(temp13,temp14);
    442 strct_u8__xED_ = simd_and(strct_u8__prefix3_,temp15);
    443 strct_u8__xF0_ = simd_andc(strct_u8__prefix4_,temp12);
    444 temp16 = simd_andc(array_bit__5_,array_bit__4_);
    445 temp17 = simd_andc(temp16,temp8);
    446 strct_u8__xF4_ = simd_and(strct_u8__prefix4_,temp17);
    447 strct_u8__xA0_xBF_ = simd_and(strct_u8__suffix_,array_bit__2_);
    448 strct_u8__x80_x9F_ = simd_andc(strct_u8__suffix_,array_bit__2_);
    449 strct_u8__x90_xBF_ = simd_and(strct_u8__suffix_,temp3);
    450 strct_u8__x80_x8F_ = simd_andc(strct_u8__suffix_,temp3);
    451 temp18 = simd_or(array_bit__0_,array_bit__1_);
    452 temp19 = simd_or(temp18,array_bit__2_);
    453 strct_Ctrl__x00_x1F_ = simd_andc(AllOne,temp19);
    454 temp20 = simd_or(temp18,temp3);
    455 strct_Ctrl__CR_ = simd_andc(temp15,temp20);
    456 temp21 = simd_andc(array_bit__4_,array_bit__5_);
    457 temp22 = simd_andc(array_bit__6_,array_bit__7_);
    458 temp23 = simd_and(temp21,temp22);
    459 strct_Ctrl__LF_ = simd_andc(temp23,temp20);
    460 temp24 = simd_and(temp21,temp14);
    461 strct_Ctrl__HT_ = simd_andc(temp24,temp20);
    462 temp25 = simd_andc(temp1,temp18);
    463 strct_Ctrl__SP_ = simd_andc(temp25,temp12);
    464 temp26 = simd_andc(array_bit__1_,array_bit__0_);
    465 temp27 = simd_and(temp26,temp2);
    466 temp28 = simd_and(array_bit__6_,array_bit__7_);
    467 temp29 = simd_and(temp21,temp28);
    468 strct_Lex__LCurlyBrace_ = simd_and(temp27,temp29);
    469 temp30 = simd_andc(temp2,temp18);
    470 strct_Lex__Colon_ = simd_and(temp30,temp23);
    471 temp31 = simd_andc(temp13,temp8);
    472 strct_Lex__Comma_ = simd_and(temp25,temp31);
    473 strct_Lex__RCurlyBrace_ = simd_and(temp27,temp15);
    474 temp32 = simd_andc(array_bit__3_,array_bit__2_);
    475 temp33 = simd_and(temp26,temp32);
    476 strct_Lex__LSquareBracket_ = simd_and(temp33,temp29);
    477 strct_Lex__RSquareBracket_ = simd_and(temp33,temp15);
    478 strct_Lex__Minus_ = simd_and(temp25,temp15);
    479 strct_Lex__Zero_ = simd_andc(temp30,temp12);
    480 temp34 = simd_or(array_bit__5_,array_bit__6_);
    481 temp35 = simd_andc(AllOne,temp34);
    482 temp36 = simd_or(array_bit__5_,temp8);
    483 Temp1 = simd_and(array_bit__4_,temp35);
    484 Temp2 = simd_andc(temp36,array_bit__4_);
    485 temp37 = simd_or(Temp1,Temp2);
    486 strct_Lex__Digit1_9_ = simd_and(temp30,temp37);
    487 temp38 = simd_and(array_bit__4_,temp34);
    488 strct_Lex__Digit0_9_ = simd_andc(temp30,temp38);
    489 temp39 = simd_and(temp13,temp22);
    490 strct_Lex__DecimalPoint_ = simd_and(temp25,temp39);
    491 temp40 = simd_and(temp16,temp14);
    492 temp41 = simd_andc(temp3,temp1);
    493 temp42 = simd_andc(temp26,temp41);
    494 strct_Lex__Ee_ = simd_and(temp40,temp42);
    495 temp43 = simd_or(temp29,temp15);
    496 strct_Lex__PlusMinus_ = simd_and(temp25,temp43);
    497 temp44 = simd_or(strct_Lex__Minus_,strct_Lex__Digit0_9_);
    498 temp45 = simd_or(temp44,strct_Lex__DecimalPoint_);
    499 temp46 = simd_andc(temp26,temp3);
    500 temp47 = simd_and(temp46,temp40);
    501 temp48 = simd_or(temp45,temp47);
    502 temp49 = simd_and(temp26,temp1);
    503 temp50 = simd_and(temp49,temp40);
    504 temp51 = simd_or(temp48,temp50);
    505 temp52 = simd_and(temp25,temp29);
    506 temp53 = simd_or(temp51,temp52);
    507 strct_Lex__Number_ = simd_or(temp53,strct_Lex__Minus_);
    508 temp54 = simd_andc(temp22,temp5);
    509 strct_Lex__DQuote_ = simd_and(temp25,temp54);
    510 strct_Lex__RSolidus_ = simd_and(temp33,temp31);
    511 strct_Lex__u_ = simd_and(temp27,temp40);
    512 temp55 = simd_or(strct_Lex__DQuote_,strct_Lex__RSolidus_);
    513 temp56 = simd_and(temp13,temp28);
    514 temp57 = simd_and(temp25,temp56);
    515 temp58 = simd_or(temp55,temp57);
    516 temp59 = simd_and(temp49,temp54);
    517 temp60 = simd_or(temp58,temp59);
    518 temp61 = simd_and(temp16,temp22);
    519 temp62 = simd_and(temp49,temp61);
    520 temp63 = simd_or(temp60,temp62);
    521 temp64 = simd_and(temp49,temp39);
    522 temp65 = simd_or(temp63,temp64);
    523 temp66 = simd_and(temp27,temp54);
    524 temp67 = simd_or(temp65,temp66);
    525 temp68 = simd_and(temp27,temp17);
    526 temp69 = simd_or(temp67,temp68);
    527 strct_Lex__Escape_ = simd_or(temp69,strct_Lex__u_);
    528 temp70 = simd_andc(temp49,array_bit__4_);
    529 temp71 = simd_andc(AllOne,temp28);
    530 Temp3 = simd_and(array_bit__5_,temp71);
    531 Temp4 = simd_andc(temp8,array_bit__5_);
    532 temp72 = simd_or(Temp3,Temp4);
    533 temp73 = simd_and(temp70,temp72);
    534 temp74 = simd_or(strct_Lex__Digit0_9_,temp73);
    535 temp75 = simd_andc(temp46,array_bit__4_);
    536 temp76 = simd_and(temp75,temp72);
    537 strct_Lex__HexDigit_ = simd_or(temp74,temp76);
    538 temp77 = simd_or(temp15,temp23);
    539 temp78 = simd_or(temp77,temp24);
    540 temp79 = simd_andc(temp78,temp20);
    541 strct_Lex__WS_ = simd_or(temp79,strct_Ctrl__SP_);
    542 strct_Lex__t_ = temp68;
    543 strct_Lex__r_ = temp66;
    544 strct_Lex__e_ = temp50;
    545 temp80 = simd_or(temp17,temp54);
    546 temp81 = simd_or(temp80,temp40);
    547 temp82 = simd_and(temp27,temp81);
    548 strct_Lex__True_ = simd_or(temp82,temp50);
    549 strct_Lex__f_ = temp62;
    550 temp83 = simd_andc(temp14,temp5);
    551 strct_Lex__a_ = simd_and(temp49,temp83);
    552 strct_Lex__l_ = simd_and(temp49,temp31);
    553 temp84 = simd_andc(temp28,temp5);
    554 strct_Lex__s_ = simd_and(temp27,temp84);
    555 temp85 = simd_or(temp61,temp83);
    556 temp86 = simd_or(temp85,temp31);
    557 temp87 = simd_and(temp49,temp86);
    558 temp88 = simd_or(temp87,strct_Lex__s_);
    559 strct_Lex__False_ = simd_or(temp88,temp50);
    560 strct_Lex__n_ = temp64;
    561 temp89 = simd_or(temp64,strct_Lex__u_);
    562 strct_Lex__Null_ = simd_or(temp89,strct_Lex__l_);
    563 advance_with_carry(strct_Lex__RSolidus_, carry0, Temp5);
    564 Start = simd_andc(strct_Lex__RSolidus_,Temp5);
    565 EvenStart = simd_and(Start,Even);
    566 adc128(EvenStart, strct_Lex__RSolidus_, carry1, Temp6);
    567 EvenFinal = simd_andc(Temp6,strct_Lex__RSolidus_);
    568 EvenEscape = simd_and(EvenFinal,Odd);
    569 OddStart = simd_and(Start,Odd);
    570 adc128(OddStart, strct_Lex__RSolidus_, carry2, Temp7);
    571 OddFinal = simd_andc(Temp7,strct_Lex__RSolidus_);
    572 OddEscape = simd_and(OddFinal,Even);
    573 Escape = simd_or(EvenEscape,OddEscape);
    574 UnescapedDQuotes = simd_andc(strct_Lex__DQuote_,Escape);
    575 advance_with_carry(ParityMask, carry3, Temp8);
    576 StringMask = simd_and(ParityMask,Temp8);
    577 StringSpans = simd_or(StringMask,UnescapedDQuotes);
    578 advance_with_carry(StringSpans, carry4, Temp9);
    579 StringStarts = simd_andc(StringSpans,Temp9);
    580 Temp10 = simd_or(strct_Lex__True_,strct_Lex__False_);
    581 Temp11 = simd_or(Temp10,strct_Lex__Null_);
    582 Temp12 = simd_or(Temp11,strct_Lex__Number_);
    583 UnmaskedAtomSpans = simd_andc(Temp12,StringSpans);
    584 advance_with_carry(UnmaskedAtomSpans, carry5, Temp13);
    585 UnmaskedAtomStarts = simd_andc(UnmaskedAtomSpans,Temp13);
    586 NumberStarts = simd_and(UnmaskedAtomStarts,temp44);
    587 TrueStarts = simd_and(UnmaskedAtomStarts,temp68);
    588 FalseStarts = simd_and(UnmaskedAtomStarts,temp62);
    589 NullStarts = simd_and(UnmaskedAtomStarts,temp64);
    590 StringEscapeChars = simd_and(Escape,StringMask);
    591 StringErrors_9 = simd_andc(StringEscapeChars,strct_Lex__Escape_);
    592 u = simd_and(StringEscapeChars,strct_Lex__u_);
    593 advance_with_carry(u, carry6, uScope1);
    594 advance_with_carry(uScope1, carry7, uScope2);
    595 advance_with_carry(uScope2, carry8, uScope3);
    596 advance_with_carry(uScope3, carry9, uScope4);
    597 Temp14 = simd_andc(uScope1,strct_Lex__HexDigit_);
    598 StringErrors_10 = simd_or(StringErrors_9,Temp14);
    599 Temp15 = simd_andc(uScope2,strct_Lex__HexDigit_);
    600 StringErrors_11 = simd_or(StringErrors_10,Temp15);
    601 Temp16 = simd_andc(uScope3,strct_Lex__HexDigit_);
    602 StringErrors_12 = simd_or(StringErrors_11,Temp16);
    603 Temp17 = simd_andc(uScope4,strct_Lex__HexDigit_);
    604 StringErrors_13 = simd_or(StringErrors_12,Temp17);
    605 Temp18 = simd_or(Escape,strct_Lex__RSolidus_);
    606 StringNotEscapedChars = simd_andc(StringMask,Temp18);
    607 Temp19 = simd_and(StringNotEscapedChars,strct_Ctrl__x00_x1F_);
    608 StringErrors_14 = simd_or(StringErrors_13,Temp19);
    609 advance_with_carry(StringStarts, carry10, StringCursor);
    610 adc128(StringCursor, StringMask, carry11, Temp20);
    611 StringEnds = simd_andc(Temp20,StringMask);
    612 Temp21 = simd_andc(StringEnds,UnescapedDQuotes);
    613 StringErrors = simd_or(StringErrors_14,Temp21);
    614 M0 = NumberStarts;
    615 Temp22 = simd_and(strct_Lex__Minus_,NumberStarts);
    616 adc128(NumberStarts, Temp22, carry12, Temp23);
    617 M1_15 = simd_andc(Temp23,Temp22);
    618 Temp24 = simd_or(strct_Lex__Zero_,strct_Lex__Digit1_9_);
    619 E1 = simd_andc(M1_15,Temp24);
    620 M1 = simd_andc(M1_15,E1);
    621 M1a = simd_and(M1,strct_Lex__Zero_);
    622 M1b = simd_and(M1,strct_Lex__Digit1_9_);
    623 advance_with_carry(M1a, carry13, M2a);
    624 advance_with_carry(M1b, carry14, M2b);
    625 adc128(M2b, strct_Lex__Digit0_9_, carry15, Temp25);
    626 M3b = simd_andc(Temp25,strct_Lex__Digit0_9_);
    627 M4 = simd_or(M2a,M3b);
    628 M4a = simd_andc(M4,strct_Lex__DecimalPoint_);
    629 M4b = simd_and(M4,strct_Lex__DecimalPoint_);
    630 advance_with_carry(M4b, carry16, M5b_0);
    631 E5b = simd_andc(M5b_0,strct_Lex__Digit0_9_);
    632 M5b = simd_andc(M5b_0,E5b);
    633 adc128(M5b, strct_Lex__Digit0_9_, carry17, Temp26);
    634 M6 = simd_andc(Temp26,strct_Lex__Digit0_9_);
    635 M7 = simd_or(M4a,M6);
    636 M7a = simd_andc(M7,strct_Lex__Ee_);
    637 M7b = simd_and(M7,strct_Lex__Ee_);
    638 advance_with_carry(M7b, carry18, M8b);
    639 Temp27 = simd_and(strct_Lex__PlusMinus_,M8b);
    640 adc128(M8b, Temp27, carry19, Temp28);
    641 M9b_6 = simd_andc(Temp28,Temp27);
    642 E9b = simd_andc(M9b_6,strct_Lex__Digit0_9_);
    643 M9b = simd_andc(M9b_6,E9b);
    644 adc128(M9b, strct_Lex__Digit0_9_, carry20, Temp29);
    645 M10b = simd_andc(Temp29,strct_Lex__Digit0_9_);
    646 Temp30 = simd_or(E1,E5b);
    647 Temp31 = simd_or(Temp30,E9b);
    648 Temp32 = simd_or(Temp31,M7a);
    649 M11 = simd_or(Temp32,M10b);
    650 NumberErrors = Temp31;
    651 sbb128(M11, NumberStarts, carry_brw0, NumberSpans);
    652 advance_with_carry(TrueStarts, carry21, TrueScope1);
    653 advance_with_carry(TrueScope1, carry22, TrueScope2);
    654 advance_with_carry(TrueScope2, carry23, TrueScope3);
    655 TrueErrors_4 = simd_andc(TrueScope1,temp66);
    656 Temp33 = simd_andc(TrueScope2,strct_Lex__u_);
    657 TrueErrors_5 = simd_or(TrueErrors_4,Temp33);
    658 Temp34 = simd_andc(TrueScope3,temp50);
    659 TrueErrors = simd_or(TrueErrors_5,Temp34);
    660 advance_with_carry(TrueScope3, carry24, TrueFollows);
    661 sbb128(TrueFollows, TrueStarts, carry_brw1, TrueSpans);
    662 advance_with_carry(FalseStarts, carry25, FalseScope1);
    663 advance_with_carry(FalseScope1, carry26, FalseScope2);
    664 advance_with_carry(FalseScope2, carry27, FalseScope3);
    665 advance_with_carry(FalseScope3, carry28, FalseScope4);
    666 FalseErrors_1 = simd_andc(FalseScope1,strct_Lex__a_);
    667 Temp35 = simd_andc(FalseScope2,strct_Lex__l_);
    668 FalseErrors_2 = simd_or(FalseErrors_1,Temp35);
    669 Temp36 = simd_andc(FalseScope3,strct_Lex__s_);
    670 FalseErrors_3 = simd_or(FalseErrors_2,Temp36);
    671 Temp37 = simd_andc(FalseScope4,temp50);
    672 FalseErrors = simd_or(FalseErrors_3,Temp37);
    673 advance_with_carry(FalseScope4, carry29, FalseFollows);
    674 sbb128(FalseFollows, FalseStarts, carry_brw2, FalseSpans);
    675 advance_with_carry(NullStarts, carry30, NullScope1);
    676 advance_with_carry(NullScope1, carry31, NullScope2);
    677 advance_with_carry(NullScope2, carry32, NullScope3);
    678 Temp38 = simd_andc(NullScope1,strct_Lex__u_);
    679 NullErrors_7 = simd_or(NullErrors,Temp38);
    680 Temp39 = simd_andc(NullScope2,strct_Lex__l_);
    681 NullErrors_8 = simd_or(NullErrors_7,Temp39);
    682 Temp40 = simd_andc(NullScope3,strct_Lex__l_);
    683 NullErrors = simd_or(NullErrors_8,Temp40);
    684 advance_with_carry(Scope3, carry33, NullFollows);
    685 sbb128(NullFollows, NullStarts, carry_brw3, NullSpans);
    686 Temp41 = simd_or(StringStarts,NumberStarts);
    687 Temp42 = simd_or(Temp41,TrueStarts);
    688 Temp43 = simd_or(Temp42,FalseStarts);
    689 AtomStarts = simd_or(Temp43,NullStarts);
    690 Temp44 = simd_or(StringSpans,NumberSpans);
    691 Temp45 = simd_or(Temp44,TrueSpans);
    692 Temp46 = simd_or(Temp45,FalseSpans);
    693 AtomSpans = simd_or(Temp46,NullSpans);
    694 Temp47 = simd_or(StringErrors,Temp31);
    695 Temp48 = simd_or(Temp47,TrueErrors);
    696 Temp49 = simd_or(Temp48,FalseErrors);
    697 error_mask = simd_or(Temp49,NullErrors);
    698 
     189                        bit[0], bit[1], bit[2], bit[3], bit[4], bit[5], bit[6], bit[7]);
     190
     191                       
     192  u8.unibyte = simd_not(bit[0]);
     193  u8.prefix = simd_and(bit[0], bit[1]);
     194  u8.prefix2 = simd_andc(u8.prefix, bit[2]);
     195  temp1 = simd_andc(bit[2], bit[3]);
     196  u8.prefix3 = simd_and(u8.prefix, temp1);
     197  temp2 = simd_and(bit[2], bit[3]);
     198  u8.prefix4 = simd_and(u8.prefix, temp2);
     199  u8.suffix = simd_andc(bit[0], bit[1]);
     200  temp3 = simd_or(bit[2], bit[3]);
     201  temp4 = simd_andc(u8.prefix, temp3);
     202  temp5 = simd_or(bit[4], bit[5]);
     203  temp6 = simd_or(temp5, bit[6]);
     204  temp7 = simd_andc(temp4, temp6);
     205  temp8 = simd_or(bit[6], bit[7]);
     206  temp9 = simd_and(bit[5], temp8);
     207  temp10 = simd_or(bit[4], temp9);
     208  temp11 = simd_and(u8.prefix4, temp10);
     209  u8.badprefix = simd_or(temp7, temp11);
     210  temp12 = simd_or(temp5, temp8);
     211  u8.xE0 = simd_andc(u8.prefix3, temp12);
     212  temp13 = simd_and(bit[4], bit[5]);
     213  temp14 = simd_andc(bit[7], bit[6]);
     214  temp15 = simd_and(temp13, temp14);
     215  u8.xED = simd_and(u8.prefix3, temp15);
     216  u8.xF0 = simd_andc(u8.prefix4, temp12);
     217  temp16 = simd_andc(bit[5], bit[4]);
     218  temp17 = simd_andc(temp16, temp8);
     219  u8.xF4 = simd_and(u8.prefix4, temp17);
     220  u8.xA0_xBF = simd_and(u8.suffix, bit[2]);
     221  u8.x80_x9F = simd_andc(u8.suffix, bit[2]);
     222  u8.x90_xBF = simd_and(u8.suffix, temp3);
     223  u8.x80_x8F = simd_andc(u8.suffix, temp3);
     224  temp18 = simd_or(bit[0], bit[1]);
     225  temp19 = simd_or(temp18, bit[2]);
     226  Ctrl.x00_x1F = simd_not(temp19);
     227  temp20 = simd_or(temp18, temp3);
     228  Ctrl.CR = simd_andc(temp15, temp20);
     229  temp21 = simd_andc(bit[4], bit[5]);
     230  temp22 = simd_andc(bit[6], bit[7]);
     231  temp23 = simd_and(temp21, temp22);
     232  Ctrl.LF = simd_andc(temp23, temp20);
     233  temp24 = simd_and(temp21, temp14);
     234  Ctrl.HT = simd_andc(temp24, temp20);
     235  temp25 = simd_andc(temp1, temp18);
     236  Ctrl.SP = simd_andc(temp25, temp12);
     237  temp26 = simd_andc(bit[1], bit[0]);
     238  temp27 = simd_and(temp26, temp2);
     239  temp28 = simd_and(bit[6], bit[7]);
     240  temp29 = simd_and(temp21, temp28);
     241  Lex.LCurlyBrace = simd_and(temp27, temp29);
     242  temp30 = simd_andc(temp2, temp18);
     243  Lex.Colon = simd_and(temp30, temp23);
     244  temp31 = simd_andc(temp13, temp8);
     245  Lex.Comma = simd_and(temp25, temp31);
     246  Lex.RCurlyBrace = simd_and(temp27, temp15);
     247  temp32 = simd_andc(bit[3], bit[2]);
     248  temp33 = simd_and(temp26, temp32);
     249  Lex.LSquareBracket = simd_and(temp33, temp29);
     250  Lex.RSquareBracket = simd_and(temp33, temp15);
     251  Lex.Minus = simd_and(temp25, temp15);
     252  Lex.Zero = simd_andc(temp30, temp12);
     253  temp34 = simd_or(bit[5], bit[6]);
     254  temp35 = simd_not(temp34);
     255  temp36 = simd_or(bit[5], temp8);
     256  temp37 = simd_or(simd_and(bit[4], temp35), simd_andc(temp36, bit[4]));
     257  Lex.Digit1_9 = simd_and(temp30, temp37);
     258  temp38 = simd_and(bit[4], temp34);
     259  Lex.Digit0_9 = simd_andc(temp30, temp38);
     260  temp39 = simd_and(temp13, temp22);
     261  Lex.DecimalPoint = simd_and(temp25, temp39);
     262  temp40 = simd_and(temp16, temp14);
     263  temp41 = simd_andc(temp3, temp1);
     264  temp42 = simd_andc(temp26, temp41);
     265  Lex.Ee = simd_and(temp40, temp42);
     266  temp43 = simd_or(temp29, temp15);
     267  Lex.PlusMinus = simd_and(temp25, temp43);
     268  temp44 = simd_or(Lex.Minus, Lex.Digit0_9);
     269  temp45 = simd_or(temp44, Lex.DecimalPoint);
     270  temp46 = simd_andc(temp26, temp3);
     271  temp47 = simd_and(temp46, temp40);
     272  temp48 = simd_or(temp45, temp47);
     273  temp49 = simd_and(temp26, temp1);
     274  temp50 = simd_and(temp49, temp40);
     275  temp51 = simd_or(temp48, temp50);
     276  temp52 = simd_and(temp25, temp29);
     277  temp53 = simd_or(temp51, temp52);
     278  Lex.Number = simd_or(temp53, Lex.Minus);
     279  temp54 = simd_andc(temp22, temp5);
     280  Lex.DQuote = simd_and(temp25, temp54);
     281  Lex.RSolidus = simd_and(temp33, temp31);
     282  Lex.u = simd_and(temp27, temp40);
     283  temp55 = simd_or(Lex.DQuote, Lex.RSolidus);
     284  temp56 = simd_and(temp13, temp28);
     285  temp57 = simd_and(temp25, temp56);
     286  temp58 = simd_or(temp55, temp57);
     287  temp59 = simd_and(temp49, temp54);
     288  temp60 = simd_or(temp58, temp59);
     289  temp61 = simd_and(temp16, temp22);
     290  temp62 = simd_and(temp49, temp61);
     291  temp63 = simd_or(temp60, temp62);
     292  temp64 = simd_and(temp49, temp39);
     293  temp65 = simd_or(temp63, temp64);
     294  temp66 = simd_and(temp27, temp54);
     295  temp67 = simd_or(temp65, temp66);
     296  temp68 = simd_and(temp27, temp17);
     297  temp69 = simd_or(temp67, temp68);
     298  Lex.Escape = simd_or(temp69, Lex.u);
     299  temp70 = simd_andc(temp49, bit[4]);
     300  temp71 = simd_not(temp28);
     301  temp72 = simd_or(simd_and(bit[5], temp71), simd_andc(temp8, bit[5]));
     302  temp73 = simd_and(temp70, temp72);
     303  temp74 = simd_or(Lex.Digit0_9, temp73);
     304  temp75 = simd_andc(temp46, bit[4]);
     305  temp76 = simd_and(temp75, temp72);
     306  Lex.HexDigit = simd_or(temp74, temp76);
     307  temp77 = simd_or(temp15, temp23);
     308  temp78 = simd_or(temp77, temp24);
     309  temp79 = simd_andc(temp78, temp20);
     310  Lex.WS = simd_or(temp79, Ctrl.SP);
     311  Lex.t = simd_and(temp27, temp17);
     312  Lex.r = simd_and(temp27, temp54);
     313  Lex.e = simd_and(temp49, temp40);
     314  temp80 = simd_or(temp17, temp54);
     315  temp81 = simd_or(temp80, temp40);
     316  temp82 = simd_and(temp27, temp81);
     317  Lex.True = simd_or(temp82, Lex.e);
     318  Lex.f = simd_and(temp49, temp61);
     319  temp83 = simd_andc(temp14, temp5);
     320  Lex.a = simd_and(temp49, temp83);
     321  Lex.l = simd_and(temp49, temp31);
     322  temp84 = simd_andc(temp28, temp5);
     323  Lex.s = simd_and(temp27, temp84);
     324  temp85 = simd_or(temp61, temp83);
     325  temp86 = simd_or(temp85, temp31);
     326  temp87 = simd_and(temp49, temp86);
     327  temp88 = simd_or(temp87, Lex.s);
     328  Lex.False = simd_or(temp88, Lex.e);
     329  Lex.n = simd_and(temp49, temp39);
     330  temp89 = simd_or(Lex.n, Lex.u);
     331  Lex.Null = simd_or(temp89, Lex.l);
     332  Start = simd_andc(Lex.RSolidus, BitBlock_advance_ci_co(Lex.RSolidus, carryQ, 0));
     333  EvenStart = simd_and(Start, Parity.Even);
     334  EvenFinal = simd_andc(BitBlock_add_ci_co(EvenStart, Lex.RSolidus, carryQ, 1), Lex.RSolidus);
     335  EvenEscape = simd_and(EvenFinal, Parity.Odd);
     336  OddStart = simd_and(Start, Parity.Odd);
     337  OddFinal = simd_andc(BitBlock_add_ci_co(OddStart, Lex.RSolidus, carryQ, 2), Lex.RSolidus);
     338  OddEscape = simd_and(OddFinal, Parity.Even);
     339  Escape = simd_or(EvenEscape, OddEscape);
     340  UnescapedDQuotes = simd_andc(Lex.DQuote, Escape);
     341  StringMask = simd_and(Parity.ParityMask, BitBlock_advance_ci_co(Parity.ParityMask, carryQ, 3));
     342  StringSpans = simd_or(StringMask, UnescapedDQuotes);
     343  StringStarts = simd_andc(StringSpans, BitBlock_advance_ci_co(StringSpans, carryQ, 4));
     344  UnmaskedAtomSpans = simd_andc(simd_or(simd_or(simd_or(Lex.True, Lex.False), Lex.Null), Lex.Number), StringSpans);
     345  UnmaskedAtomStarts = simd_andc(UnmaskedAtomSpans, BitBlock_advance_ci_co(UnmaskedAtomSpans, carryQ, 5));
     346  NumberStarts = simd_and(UnmaskedAtomStarts, simd_or(Lex.Minus, Lex.Digit0_9));
     347  TrueStarts = simd_and(UnmaskedAtomStarts, Lex.t);
     348  FalseStarts = simd_and(UnmaskedAtomStarts, Lex.f);
     349  NullStarts = simd_and(UnmaskedAtomStarts, Lex.n);
     350  StringEscapeChars = simd_and(Escape, StringMask);
     351  StringErrors = simd_andc(StringEscapeChars, Lex.Escape);
     352  u = simd_and(StringEscapeChars, Lex.u);
     353  uScope1 = BitBlock_advance_ci_co(u, carryQ, 6);
     354  uScope2 = BitBlock_advance_ci_co(uScope1, carryQ, 7);
     355  uScope3 = BitBlock_advance_ci_co(uScope2, carryQ, 8);
     356  uScope4 = BitBlock_advance_ci_co(uScope3, carryQ, 9);
     357  StringErrors = simd_or(StringErrors, simd_andc(uScope1, Lex.HexDigit));
     358  StringErrors = simd_or(StringErrors, simd_andc(uScope2, Lex.HexDigit));
     359  StringErrors = simd_or(StringErrors, simd_andc(uScope3, Lex.HexDigit));
     360  StringErrors = simd_or(StringErrors, simd_andc(uScope4, Lex.HexDigit));
     361  StringNotEscapedChars = simd_andc(StringMask, simd_or(Escape, Lex.RSolidus));
     362  StringErrors = simd_or(StringErrors, simd_and(StringNotEscapedChars, Ctrl.x00_x1F));
     363  StringCursor = BitBlock_advance_ci_co(StringStarts, carryQ, 10);
     364  StringEnds = BitBlock_scanthru_ci_co(StringCursor, StringMask, carryQ, 11);
     365  StringErrors = simd_or(StringErrors, simd_andc(StringEnds, UnescapedDQuotes));
     366  M0 = NumberStarts;
     367  M1 = BitBlock_scanthru_ci_co(M0, simd_and(Lex.Minus, M0), carryQ, 12);
     368  E1 = simd_andc(M1, simd_or(Lex.Zero, Lex.Digit1_9));
     369  M1 = simd_andc(M1, E1);
     370  M1a = simd_and(M1, Lex.Zero);
     371  M1b = simd_and(M1, Lex.Digit1_9);
     372  M2a = BitBlock_advance_ci_co(M1a, carryQ, 13);
     373  M2b = BitBlock_advance_ci_co(M1b, carryQ, 14);
     374  M3b = BitBlock_scanthru_ci_co(M2b, Lex.Digit0_9, carryQ, 15);
     375  M4 = simd_or(M2a, M3b);
     376  M4a = simd_andc(M4, Lex.DecimalPoint);
     377  M4b = simd_and(M4, Lex.DecimalPoint);
     378  M5b = BitBlock_advance_ci_co(M4b, carryQ, 16);
     379  E5b = simd_andc(M5b, Lex.Digit0_9);
     380  M5b = simd_andc(M5b, E5b);
     381  M6 = BitBlock_scanthru_ci_co(M5b, Lex.Digit0_9, carryQ, 17);
     382  M7 = simd_or(M4a, M6);
     383  M7a = simd_andc(M7, Lex.Ee);
     384  M7b = simd_and(M7, Lex.Ee);
     385  M8b = BitBlock_advance_ci_co(M7b, carryQ, 18);
     386  M9b = BitBlock_scanthru_ci_co(M8b, simd_and(Lex.PlusMinus, M8b), carryQ, 19);
     387  E9b = simd_andc(M9b, Lex.Digit0_9);
     388  M9b = simd_andc(M9b, E9b);
     389  M10b = BitBlock_scanthru_ci_co(M9b, Lex.Digit0_9, carryQ, 20);
     390  M11 = simd_or(simd_or(simd_or(simd_or(E1, E5b), E9b), M7a), M10b);
     391  NumberErrors = simd_or(simd_or(E1, E5b), E9b);
     392  NumberSpans = BitBlock_sub_ci_co(M11, M0, carryQ, 21);
     393  TrueScope1 = BitBlock_advance_ci_co(TrueStarts, carryQ, 22);
     394  TrueScope2 = BitBlock_advance_ci_co(TrueScope1, carryQ, 23);
     395  TrueScope3 = BitBlock_advance_ci_co(TrueScope2, carryQ, 24);
     396  TrueErrors = simd_andc(TrueScope1, Lex.r);
     397  TrueErrors = simd_or(TrueErrors, simd_andc(TrueScope2, Lex.u));
     398  TrueErrors = simd_or(TrueErrors, simd_andc(TrueScope3, Lex.e));
     399  TrueFollows = BitBlock_advance_ci_co(TrueScope3, carryQ, 25);
     400  TrueSpans = BitBlock_sub_ci_co(TrueFollows, TrueStarts, carryQ, 26);
     401  FalseScope1 = BitBlock_advance_ci_co(FalseStarts, carryQ, 27);
     402  FalseScope2 = BitBlock_advance_ci_co(FalseScope1, carryQ, 28);
     403  FalseScope3 = BitBlock_advance_ci_co(FalseScope2, carryQ, 29);
     404  FalseScope4 = BitBlock_advance_ci_co(FalseScope3, carryQ, 30);
     405  FalseErrors = simd_andc(FalseScope1, Lex.a);
     406  FalseErrors = simd_or(FalseErrors, simd_andc(FalseScope2, Lex.l));
     407  FalseErrors = simd_or(FalseErrors, simd_andc(FalseScope3, Lex.s));
     408  FalseErrors = simd_or(FalseErrors, simd_andc(FalseScope4, Lex.e));
     409  FalseFollows = BitBlock_advance_ci_co(FalseScope4, carryQ, 31);
     410  FalseSpans = BitBlock_sub_ci_co(FalseFollows, FalseStarts, carryQ, 32);
     411  NullScope1 = BitBlock_advance_ci_co(NullStarts, carryQ, 33);
     412  NullScope2 = BitBlock_advance_ci_co(NullScope1, carryQ, 34);
     413  NullScope3 = BitBlock_advance_ci_co(NullScope2, carryQ, 35);
     414  NullErrors = simd_or(NullErrors, simd_andc(NullScope1, Lex.u));
     415  NullErrors = simd_or(NullErrors, simd_andc(NullScope2, Lex.l));
     416  NullErrors = simd_or(NullErrors, simd_andc(NullScope3, Lex.l));
     417  NullFollows = BitBlock_advance_ci_co(NullScope3, carryQ, 36);
     418  NullSpans = BitBlock_sub_ci_co(NullFollows, NullStarts, carryQ, 37);
     419  AtomStarts = simd_or(simd_or(simd_or(simd_or(StringStarts, NumberStarts), TrueStarts), FalseStarts), NullStarts);
     420  AtomSpans = simd_or(simd_or(simd_or(simd_or(StringSpans, NumberSpans), TrueSpans), FalseSpans), NullSpans);
     421  error_mask = simd_or(simd_or(simd_or(simd_or(StringErrors, NumberErrors), TrueErrors), FalseErrors), NullErrors);
     422  CarryQ_Adjust(carryQ, 38);
    699423
    700424                        /* Generate Parity Mask */
     
    702426                        high_bit_is_set = simd_and(high_bit_mask, bitblock_parity_mask);                       
    703427                        bitblock_parity_mask = sisd_add( simd_not(sisd_srl(high_bit_is_set, sisd_from_int(BLOCK_SIZE-1))) , sisd_low_bit_mask);                                         
    704                         ParityMask = bitblock_parallel_prefix_parity(UnescapedDQuotes, bitblock_parity_mask);
     428                        Parity.ParityMask = bitblock_parallel_prefix_parity(UnescapedDQuotes, bitblock_parity_mask);
    705429                       
    706430                        #ifdef DEBUG
     
    713437                        print_simd_register("high_bit_mask", high_bit_mask);
    714438                        */
    715                         print_simd_register("ParityMask", ParityMask);
     439                        print_simd_register("Parity.ParityMask", Parity.ParityMask);
    716440                        print_simd_register("StringMask", StringMask);
    717441                        print_simd_register("StringSpans", StringSpans);                                               
     
    745469                       
    746470                        s2p(U8[0], U8[1], U8[2], U8[3], U8[4], U8[5], U8[6], U8[7],
    747                         array_bit__0_,array_bit__1_,array_bit__2_,array_bit__3_,array_bit__4_,array_bit__5_,array_bit__6_,array_bit__7_);
    748 
    749                         array_bit__0_ = simd_and(array_bit__0_, EOF_mask);
    750                         array_bit__1_ = simd_and(array_bit__1_, EOF_mask);
    751                         array_bit__2_ = simd_and(array_bit__2_, EOF_mask);
    752                         array_bit__3_ = simd_and(array_bit__3_, EOF_mask);
    753                         array_bit__4_ = simd_and(array_bit__4_, EOF_mask);
    754                         array_bit__5_ = simd_and(array_bit__5_, EOF_mask);
    755                         array_bit__6_ = simd_and(array_bit__6_, EOF_mask);
    756                         array_bit__7_ = simd_and(array_bit__7_, EOF_mask);
    757                        
    758                         strct_u8__unibyte_ = simd_andc(AllOne,array_bit__0_);
    759 strct_u8__prefix_ = simd_and(array_bit__0_,array_bit__1_);
    760 strct_u8__prefix2_ = simd_andc(strct_u8__prefix_,array_bit__2_);
    761 temp1 = simd_andc(array_bit__2_,array_bit__3_);
    762 strct_u8__prefix3_ = simd_and(strct_u8__prefix_,temp1);
    763 temp2 = simd_and(array_bit__2_,array_bit__3_);
    764 strct_u8__prefix4_ = simd_and(strct_u8__prefix_,temp2);
    765 strct_u8__suffix_ = simd_andc(array_bit__0_,array_bit__1_);
    766 temp3 = simd_or(array_bit__2_,array_bit__3_);
    767 temp4 = simd_andc(strct_u8__prefix_,temp3);
    768 temp5 = simd_or(array_bit__4_,array_bit__5_);
    769 temp6 = simd_or(temp5,array_bit__6_);
    770 temp7 = simd_andc(temp4,temp6);
    771 temp8 = simd_or(array_bit__6_,array_bit__7_);
    772 temp9 = simd_and(array_bit__5_,temp8);
    773 temp10 = simd_or(array_bit__4_,temp9);
    774 temp11 = simd_and(strct_u8__prefix4_,temp10);
    775 strct_u8__badprefix_ = simd_or(temp7,temp11);
    776 temp12 = simd_or(temp5,temp8);
    777 strct_u8__xE0_ = simd_andc(strct_u8__prefix3_,temp12);
    778 temp13 = simd_and(array_bit__4_,array_bit__5_);
    779 temp14 = simd_andc(array_bit__7_,array_bit__6_);
    780 temp15 = simd_and(temp13,temp14);
    781 strct_u8__xED_ = simd_and(strct_u8__prefix3_,temp15);
    782 strct_u8__xF0_ = simd_andc(strct_u8__prefix4_,temp12);
    783 temp16 = simd_andc(array_bit__5_,array_bit__4_);
    784 temp17 = simd_andc(temp16,temp8);
    785 strct_u8__xF4_ = simd_and(strct_u8__prefix4_,temp17);
    786 strct_u8__xA0_xBF_ = simd_and(strct_u8__suffix_,array_bit__2_);
    787 strct_u8__x80_x9F_ = simd_andc(strct_u8__suffix_,array_bit__2_);
    788 strct_u8__x90_xBF_ = simd_and(strct_u8__suffix_,temp3);
    789 strct_u8__x80_x8F_ = simd_andc(strct_u8__suffix_,temp3);
    790 temp18 = simd_or(array_bit__0_,array_bit__1_);
    791 temp19 = simd_or(temp18,array_bit__2_);
    792 strct_Ctrl__x00_x1F_ = simd_andc(AllOne,temp19);
    793 temp20 = simd_or(temp18,temp3);
    794 strct_Ctrl__CR_ = simd_andc(temp15,temp20);
    795 temp21 = simd_andc(array_bit__4_,array_bit__5_);
    796 temp22 = simd_andc(array_bit__6_,array_bit__7_);
    797 temp23 = simd_and(temp21,temp22);
    798 strct_Ctrl__LF_ = simd_andc(temp23,temp20);
    799 temp24 = simd_and(temp21,temp14);
    800 strct_Ctrl__HT_ = simd_andc(temp24,temp20);
    801 temp25 = simd_andc(temp1,temp18);
    802 strct_Ctrl__SP_ = simd_andc(temp25,temp12);
    803 temp26 = simd_andc(array_bit__1_,array_bit__0_);
    804 temp27 = simd_and(temp26,temp2);
    805 temp28 = simd_and(array_bit__6_,array_bit__7_);
    806 temp29 = simd_and(temp21,temp28);
    807 strct_Lex__LCurlyBrace_ = simd_and(temp27,temp29);
    808 temp30 = simd_andc(temp2,temp18);
    809 strct_Lex__Colon_ = simd_and(temp30,temp23);
    810 temp31 = simd_andc(temp13,temp8);
    811 strct_Lex__Comma_ = simd_and(temp25,temp31);
    812 strct_Lex__RCurlyBrace_ = simd_and(temp27,temp15);
    813 temp32 = simd_andc(array_bit__3_,array_bit__2_);
    814 temp33 = simd_and(temp26,temp32);
    815 strct_Lex__LSquareBracket_ = simd_and(temp33,temp29);
    816 strct_Lex__RSquareBracket_ = simd_and(temp33,temp15);
    817 strct_Lex__Minus_ = simd_and(temp25,temp15);
    818 strct_Lex__Zero_ = simd_andc(temp30,temp12);
    819 temp34 = simd_or(array_bit__5_,array_bit__6_);
    820 temp35 = simd_andc(AllOne,temp34);
    821 temp36 = simd_or(array_bit__5_,temp8);
    822 Temp1 = simd_and(array_bit__4_,temp35);
    823 Temp2 = simd_andc(temp36,array_bit__4_);
    824 temp37 = simd_or(Temp1,Temp2);
    825 strct_Lex__Digit1_9_ = simd_and(temp30,temp37);
    826 temp38 = simd_and(array_bit__4_,temp34);
    827 strct_Lex__Digit0_9_ = simd_andc(temp30,temp38);
    828 temp39 = simd_and(temp13,temp22);
    829 strct_Lex__DecimalPoint_ = simd_and(temp25,temp39);
    830 temp40 = simd_and(temp16,temp14);
    831 temp41 = simd_andc(temp3,temp1);
    832 temp42 = simd_andc(temp26,temp41);
    833 strct_Lex__Ee_ = simd_and(temp40,temp42);
    834 temp43 = simd_or(temp29,temp15);
    835 strct_Lex__PlusMinus_ = simd_and(temp25,temp43);
    836 temp44 = simd_or(strct_Lex__Minus_,strct_Lex__Digit0_9_);
    837 temp45 = simd_or(temp44,strct_Lex__DecimalPoint_);
    838 temp46 = simd_andc(temp26,temp3);
    839 temp47 = simd_and(temp46,temp40);
    840 temp48 = simd_or(temp45,temp47);
    841 temp49 = simd_and(temp26,temp1);
    842 temp50 = simd_and(temp49,temp40);
    843 temp51 = simd_or(temp48,temp50);
    844 temp52 = simd_and(temp25,temp29);
    845 temp53 = simd_or(temp51,temp52);
    846 strct_Lex__Number_ = simd_or(temp53,strct_Lex__Minus_);
    847 temp54 = simd_andc(temp22,temp5);
    848 strct_Lex__DQuote_ = simd_and(temp25,temp54);
    849 strct_Lex__RSolidus_ = simd_and(temp33,temp31);
    850 strct_Lex__u_ = simd_and(temp27,temp40);
    851 temp55 = simd_or(strct_Lex__DQuote_,strct_Lex__RSolidus_);
    852 temp56 = simd_and(temp13,temp28);
    853 temp57 = simd_and(temp25,temp56);
    854 temp58 = simd_or(temp55,temp57);
    855 temp59 = simd_and(temp49,temp54);
    856 temp60 = simd_or(temp58,temp59);
    857 temp61 = simd_and(temp16,temp22);
    858 temp62 = simd_and(temp49,temp61);
    859 temp63 = simd_or(temp60,temp62);
    860 temp64 = simd_and(temp49,temp39);
    861 temp65 = simd_or(temp63,temp64);
    862 temp66 = simd_and(temp27,temp54);
    863 temp67 = simd_or(temp65,temp66);
    864 temp68 = simd_and(temp27,temp17);
    865 temp69 = simd_or(temp67,temp68);
    866 strct_Lex__Escape_ = simd_or(temp69,strct_Lex__u_);
    867 temp70 = simd_andc(temp49,array_bit__4_);
    868 temp71 = simd_andc(AllOne,temp28);
    869 Temp3 = simd_and(array_bit__5_,temp71);
    870 Temp4 = simd_andc(temp8,array_bit__5_);
    871 temp72 = simd_or(Temp3,Temp4);
    872 temp73 = simd_and(temp70,temp72);
    873 temp74 = simd_or(strct_Lex__Digit0_9_,temp73);
    874 temp75 = simd_andc(temp46,array_bit__4_);
    875 temp76 = simd_and(temp75,temp72);
    876 strct_Lex__HexDigit_ = simd_or(temp74,temp76);
    877 temp77 = simd_or(temp15,temp23);
    878 temp78 = simd_or(temp77,temp24);
    879 temp79 = simd_andc(temp78,temp20);
    880 strct_Lex__WS_ = simd_or(temp79,strct_Ctrl__SP_);
    881 strct_Lex__t_ = temp68;
    882 strct_Lex__r_ = temp66;
    883 strct_Lex__e_ = temp50;
    884 temp80 = simd_or(temp17,temp54);
    885 temp81 = simd_or(temp80,temp40);
    886 temp82 = simd_and(temp27,temp81);
    887 strct_Lex__True_ = simd_or(temp82,temp50);
    888 strct_Lex__f_ = temp62;
    889 temp83 = simd_andc(temp14,temp5);
    890 strct_Lex__a_ = simd_and(temp49,temp83);
    891 strct_Lex__l_ = simd_and(temp49,temp31);
    892 temp84 = simd_andc(temp28,temp5);
    893 strct_Lex__s_ = simd_and(temp27,temp84);
    894 temp85 = simd_or(temp61,temp83);
    895 temp86 = simd_or(temp85,temp31);
    896 temp87 = simd_and(temp49,temp86);
    897 temp88 = simd_or(temp87,strct_Lex__s_);
    898 strct_Lex__False_ = simd_or(temp88,temp50);
    899 strct_Lex__n_ = temp64;
    900 temp89 = simd_or(temp64,strct_Lex__u_);
    901 strct_Lex__Null_ = simd_or(temp89,strct_Lex__l_);
    902 advance_with_carry(strct_Lex__RSolidus_, carry0, Temp5);
    903 Start = simd_andc(strct_Lex__RSolidus_,Temp5);
    904 EvenStart = simd_and(Start,Even);
    905 adc128(EvenStart, strct_Lex__RSolidus_, carry1, Temp6);
    906 EvenFinal = simd_andc(Temp6,strct_Lex__RSolidus_);
    907 EvenEscape = simd_and(EvenFinal,Odd);
    908 OddStart = simd_and(Start,Odd);
    909 adc128(OddStart, strct_Lex__RSolidus_, carry2, Temp7);
    910 OddFinal = simd_andc(Temp7,strct_Lex__RSolidus_);
    911 OddEscape = simd_and(OddFinal,Even);
    912 Escape = simd_or(EvenEscape,OddEscape);
    913 UnescapedDQuotes = simd_andc(strct_Lex__DQuote_,Escape);
    914 
     471                        bit[0], bit[1], bit[2], bit[3], bit[4], bit[5], bit[6], bit[7]);
     472
     473                        bit[0] = simd_and(bit[0], EOF_mask);
     474                        bit[1] = simd_and(bit[1], EOF_mask);
     475                        bit[2] = simd_and(bit[2], EOF_mask);
     476                        bit[3] = simd_and(bit[3], EOF_mask);
     477                        bit[4] = simd_and(bit[4], EOF_mask);
     478                        bit[5] = simd_and(bit[5], EOF_mask);
     479                        bit[6] = simd_and(bit[6], EOF_mask);
     480                        bit[7] = simd_and(bit[7], EOF_mask);
     481                       
     482                       
     483  u8.unibyte = simd_not(bit[0]);
     484  u8.prefix = simd_and(bit[0], bit[1]);
     485  u8.prefix2 = simd_andc(u8.prefix, bit[2]);
     486  temp1 = simd_andc(bit[2], bit[3]);
     487  u8.prefix3 = simd_and(u8.prefix, temp1);
     488  temp2 = simd_and(bit[2], bit[3]);
     489  u8.prefix4 = simd_and(u8.prefix, temp2);
     490  u8.suffix = simd_andc(bit[0], bit[1]);
     491  temp3 = simd_or(bit[2], bit[3]);
     492  temp4 = simd_andc(u8.prefix, temp3);
     493  temp5 = simd_or(bit[4], bit[5]);
     494  temp6 = simd_or(temp5, bit[6]);
     495  temp7 = simd_andc(temp4, temp6);
     496  temp8 = simd_or(bit[6], bit[7]);
     497  temp9 = simd_and(bit[5], temp8);
     498  temp10 = simd_or(bit[4], temp9);
     499  temp11 = simd_and(u8.prefix4, temp10);
     500  u8.badprefix = simd_or(temp7, temp11);
     501  temp12 = simd_or(temp5, temp8);
     502  u8.xE0 = simd_andc(u8.prefix3, temp12);
     503  temp13 = simd_and(bit[4], bit[5]);
     504  temp14 = simd_andc(bit[7], bit[6]);
     505  temp15 = simd_and(temp13, temp14);
     506  u8.xED = simd_and(u8.prefix3, temp15);
     507  u8.xF0 = simd_andc(u8.prefix4, temp12);
     508  temp16 = simd_andc(bit[5], bit[4]);
     509  temp17 = simd_andc(temp16, temp8);
     510  u8.xF4 = simd_and(u8.prefix4, temp17);
     511  u8.xA0_xBF = simd_and(u8.suffix, bit[2]);
     512  u8.x80_x9F = simd_andc(u8.suffix, bit[2]);
     513  u8.x90_xBF = simd_and(u8.suffix, temp3);
     514  u8.x80_x8F = simd_andc(u8.suffix, temp3);
     515  temp18 = simd_or(bit[0], bit[1]);
     516  temp19 = simd_or(temp18, bit[2]);
     517  Ctrl.x00_x1F = simd_not(temp19);
     518  temp20 = simd_or(temp18, temp3);
     519  Ctrl.CR = simd_andc(temp15, temp20);
     520  temp21 = simd_andc(bit[4], bit[5]);
     521  temp22 = simd_andc(bit[6], bit[7]);
     522  temp23 = simd_and(temp21, temp22);
     523  Ctrl.LF = simd_andc(temp23, temp20);
     524  temp24 = simd_and(temp21, temp14);
     525  Ctrl.HT = simd_andc(temp24, temp20);
     526  temp25 = simd_andc(temp1, temp18);
     527  Ctrl.SP = simd_andc(temp25, temp12);
     528  temp26 = simd_andc(bit[1], bit[0]);
     529  temp27 = simd_and(temp26, temp2);
     530  temp28 = simd_and(bit[6], bit[7]);
     531  temp29 = simd_and(temp21, temp28);
     532  Lex.LCurlyBrace = simd_and(temp27, temp29);
     533  temp30 = simd_andc(temp2, temp18);
     534  Lex.Colon = simd_and(temp30, temp23);
     535  temp31 = simd_andc(temp13, temp8);
     536  Lex.Comma = simd_and(temp25, temp31);
     537  Lex.RCurlyBrace = simd_and(temp27, temp15);
     538  temp32 = simd_andc(bit[3], bit[2]);
     539  temp33 = simd_and(temp26, temp32);
     540  Lex.LSquareBracket = simd_and(temp33, temp29);
     541  Lex.RSquareBracket = simd_and(temp33, temp15);
     542  Lex.Minus = simd_and(temp25, temp15);
     543  Lex.Zero = simd_andc(temp30, temp12);
     544  temp34 = simd_or(bit[5], bit[6]);
     545  temp35 = simd_not(temp34);
     546  temp36 = simd_or(bit[5], temp8);
     547  temp37 = simd_or(simd_and(bit[4], temp35), simd_andc(temp36, bit[4]));
     548  Lex.Digit1_9 = simd_and(temp30, temp37);
     549  temp38 = simd_and(bit[4], temp34);
     550  Lex.Digit0_9 = simd_andc(temp30, temp38);
     551  temp39 = simd_and(temp13, temp22);
     552  Lex.DecimalPoint = simd_and(temp25, temp39);
     553  temp40 = simd_and(temp16, temp14);
     554  temp41 = simd_andc(temp3, temp1);
     555  temp42 = simd_andc(temp26, temp41);
     556  Lex.Ee = simd_and(temp40, temp42);
     557  temp43 = simd_or(temp29, temp15);
     558  Lex.PlusMinus = simd_and(temp25, temp43);
     559  temp44 = simd_or(Lex.Minus, Lex.Digit0_9);
     560  temp45 = simd_or(temp44, Lex.DecimalPoint);
     561  temp46 = simd_andc(temp26, temp3);
     562  temp47 = simd_and(temp46, temp40);
     563  temp48 = simd_or(temp45, temp47);
     564  temp49 = simd_and(temp26, temp1);
     565  temp50 = simd_and(temp49, temp40);
     566  temp51 = simd_or(temp48, temp50);
     567  temp52 = simd_and(temp25, temp29);
     568  temp53 = simd_or(temp51, temp52);
     569  Lex.Number = simd_or(temp53, Lex.Minus);
     570  temp54 = simd_andc(temp22, temp5);
     571  Lex.DQuote = simd_and(temp25, temp54);
     572  Lex.RSolidus = simd_and(temp33, temp31);
     573  Lex.u = simd_and(temp27, temp40);
     574  temp55 = simd_or(Lex.DQuote, Lex.RSolidus);
     575  temp56 = simd_and(temp13, temp28);
     576  temp57 = simd_and(temp25, temp56);
     577  temp58 = simd_or(temp55, temp57);
     578  temp59 = simd_and(temp49, temp54);
     579  temp60 = simd_or(temp58, temp59);
     580  temp61 = simd_and(temp16, temp22);
     581  temp62 = simd_and(temp49, temp61);
     582  temp63 = simd_or(temp60, temp62);
     583  temp64 = simd_and(temp49, temp39);
     584  temp65 = simd_or(temp63, temp64);
     585  temp66 = simd_and(temp27, temp54);
     586  temp67 = simd_or(temp65, temp66);
     587  temp68 = simd_and(temp27, temp17);
     588  temp69 = simd_or(temp67, temp68);
     589  Lex.Escape = simd_or(temp69, Lex.u);
     590  temp70 = simd_andc(temp49, bit[4]);
     591  temp71 = simd_not(temp28);
     592  temp72 = simd_or(simd_and(bit[5], temp71), simd_andc(temp8, bit[5]));
     593  temp73 = simd_and(temp70, temp72);
     594  temp74 = simd_or(Lex.Digit0_9, temp73);
     595  temp75 = simd_andc(temp46, bit[4]);
     596  temp76 = simd_and(temp75, temp72);
     597  Lex.HexDigit = simd_or(temp74, temp76);
     598  temp77 = simd_or(temp15, temp23);
     599  temp78 = simd_or(temp77, temp24);
     600  temp79 = simd_andc(temp78, temp20);
     601  Lex.WS = simd_or(temp79, Ctrl.SP);
     602  Lex.t = simd_and(temp27, temp17);
     603  Lex.r = simd_and(temp27, temp54);
     604  Lex.e = simd_and(temp49, temp40);
     605  temp80 = simd_or(temp17, temp54);
     606  temp81 = simd_or(temp80, temp40);
     607  temp82 = simd_and(temp27, temp81);
     608  Lex.True = simd_or(temp82, Lex.e);
     609  Lex.f = simd_and(temp49, temp61);
     610  temp83 = simd_andc(temp14, temp5);
     611  Lex.a = simd_and(temp49, temp83);
     612  Lex.l = simd_and(temp49, temp31);
     613  temp84 = simd_andc(temp28, temp5);
     614  Lex.s = simd_and(temp27, temp84);
     615  temp85 = simd_or(temp61, temp83);
     616  temp86 = simd_or(temp85, temp31);
     617  temp87 = simd_and(temp49, temp86);
     618  temp88 = simd_or(temp87, Lex.s);
     619  Lex.False = simd_or(temp88, Lex.e);
     620  Lex.n = simd_and(temp49, temp39);
     621  temp89 = simd_or(Lex.n, Lex.u);
     622  Lex.Null = simd_or(temp89, Lex.l);
     623  Start = simd_andc(Lex.RSolidus, BitBlock_advance_ci_co(Lex.RSolidus, carryQ, 0));
     624  EvenStart = simd_and(Start, Parity.Even);
     625  EvenFinal = simd_andc(BitBlock_add_ci_co(EvenStart, Lex.RSolidus, carryQ, 1), Lex.RSolidus);
     626  EvenEscape = simd_and(EvenFinal, Parity.Odd);
     627  OddStart = simd_and(Start, Parity.Odd);
     628  OddFinal = simd_andc(BitBlock_add_ci_co(OddStart, Lex.RSolidus, carryQ, 2), Lex.RSolidus);
     629  OddEscape = simd_and(OddFinal, Parity.Even);
     630  Escape = simd_or(EvenEscape, OddEscape);
     631  UnescapedDQuotes = simd_andc(Lex.DQuote, Escape);
     632  StringMask = simd_and(Parity.ParityMask, BitBlock_advance_ci_co(Parity.ParityMask, carryQ, 3));
     633  StringSpans = simd_or(StringMask, UnescapedDQuotes);
     634  StringStarts = simd_andc(StringSpans, BitBlock_advance_ci_co(StringSpans, carryQ, 4));
     635  UnmaskedAtomSpans = simd_andc(simd_or(simd_or(simd_or(Lex.True, Lex.False), Lex.Null), Lex.Number), StringSpans);
     636  UnmaskedAtomStarts = simd_andc(UnmaskedAtomSpans, BitBlock_advance_ci_co(UnmaskedAtomSpans, carryQ, 5));
     637  NumberStarts = simd_and(UnmaskedAtomStarts, simd_or(Lex.Minus, Lex.Digit0_9));
     638  TrueStarts = simd_and(UnmaskedAtomStarts, Lex.t);
     639  FalseStarts = simd_and(UnmaskedAtomStarts, Lex.f);
     640  NullStarts = simd_and(UnmaskedAtomStarts, Lex.n);
     641  StringEscapeChars = simd_and(Escape, StringMask);
     642  StringErrors = simd_andc(StringEscapeChars, Lex.Escape);
     643  u = simd_and(StringEscapeChars, Lex.u);
     644  uScope1 = BitBlock_advance_ci_co(u, carryQ, 6);
     645  uScope2 = BitBlock_advance_ci_co(uScope1, carryQ, 7);
     646  uScope3 = BitBlock_advance_ci_co(uScope2, carryQ, 8);
     647  uScope4 = BitBlock_advance_ci_co(uScope3, carryQ, 9);
     648  StringErrors = simd_or(StringErrors, simd_andc(uScope1, Lex.HexDigit));
     649  StringErrors = simd_or(StringErrors, simd_andc(uScope2, Lex.HexDigit));
     650  StringErrors = simd_or(StringErrors, simd_andc(uScope3, Lex.HexDigit));
     651  StringErrors = simd_or(StringErrors, simd_andc(uScope4, Lex.HexDigit));
     652  StringNotEscapedChars = simd_andc(StringMask, simd_or(Escape, Lex.RSolidus));
     653  StringErrors = simd_or(StringErrors, simd_and(StringNotEscapedChars, Ctrl.x00_x1F));
     654  StringCursor = BitBlock_advance_ci_co(StringStarts, carryQ, 10);
     655  StringEnds = BitBlock_scanthru_ci_co(StringCursor, StringMask, carryQ, 11);
     656  StringErrors = simd_or(StringErrors, simd_andc(StringEnds, UnescapedDQuotes));
     657  M0 = NumberStarts;
     658  M1 = BitBlock_scanthru_ci_co(M0, simd_and(Lex.Minus, M0), carryQ, 12);
     659  E1 = simd_andc(M1, simd_or(Lex.Zero, Lex.Digit1_9));
     660  M1 = simd_andc(M1, E1);
     661  M1a = simd_and(M1, Lex.Zero);
     662  M1b = simd_and(M1, Lex.Digit1_9);
     663  M2a = BitBlock_advance_ci_co(M1a, carryQ, 13);
     664  M2b = BitBlock_advance_ci_co(M1b, carryQ, 14);
     665  M3b = BitBlock_scanthru_ci_co(M2b, Lex.Digit0_9, carryQ, 15);
     666  M4 = simd_or(M2a, M3b);
     667  M4a = simd_andc(M4, Lex.DecimalPoint);
     668  M4b = simd_and(M4, Lex.DecimalPoint);
     669  M5b = BitBlock_advance_ci_co(M4b, carryQ, 16);
     670  E5b = simd_andc(M5b, Lex.Digit0_9);
     671  M5b = simd_andc(M5b, E5b);
     672  M6 = BitBlock_scanthru_ci_co(M5b, Lex.Digit0_9, carryQ, 17);
     673  M7 = simd_or(M4a, M6);
     674  M7a = simd_andc(M7, Lex.Ee);
     675  M7b = simd_and(M7, Lex.Ee);
     676  M8b = BitBlock_advance_ci_co(M7b, carryQ, 18);
     677  M9b = BitBlock_scanthru_ci_co(M8b, simd_and(Lex.PlusMinus, M8b), carryQ, 19);
     678  E9b = simd_andc(M9b, Lex.Digit0_9);
     679  M9b = simd_andc(M9b, E9b);
     680  M10b = BitBlock_scanthru_ci_co(M9b, Lex.Digit0_9, carryQ, 20);
     681  M11 = simd_or(simd_or(simd_or(simd_or(E1, E5b), E9b), M7a), M10b);
     682  NumberErrors = simd_or(simd_or(E1, E5b), E9b);
     683  NumberSpans = BitBlock_sub_ci_co(M11, M0, carryQ, 21);
     684  TrueScope1 = BitBlock_advance_ci_co(TrueStarts, carryQ, 22);
     685  TrueScope2 = BitBlock_advance_ci_co(TrueScope1, carryQ, 23);
     686  TrueScope3 = BitBlock_advance_ci_co(TrueScope2, carryQ, 24);
     687  TrueErrors = simd_andc(TrueScope1, Lex.r);
     688  TrueErrors = simd_or(TrueErrors, simd_andc(TrueScope2, Lex.u));
     689  TrueErrors = simd_or(TrueErrors, simd_andc(TrueScope3, Lex.e));
     690  TrueFollows = BitBlock_advance_ci_co(TrueScope3, carryQ, 25);
     691  TrueSpans = BitBlock_sub_ci_co(TrueFollows, TrueStarts, carryQ, 26);
     692  FalseScope1 = BitBlock_advance_ci_co(FalseStarts, carryQ, 27);
     693  FalseScope2 = BitBlock_advance_ci_co(FalseScope1, carryQ, 28);
     694  FalseScope3 = BitBlock_advance_ci_co(FalseScope2, carryQ, 29);
     695  FalseScope4 = BitBlock_advance_ci_co(FalseScope3, carryQ, 30);
     696  FalseErrors = simd_andc(FalseScope1, Lex.a);
     697  FalseErrors = simd_or(FalseErrors, simd_andc(FalseScope2, Lex.l));
     698  FalseErrors = simd_or(FalseErrors, simd_andc(FalseScope3, Lex.s));
     699  FalseErrors = simd_or(FalseErrors, simd_andc(FalseScope4, Lex.e));
     700  FalseFollows = BitBlock_advance_ci_co(FalseScope4, carryQ, 31);
     701  FalseSpans = BitBlock_sub_ci_co(FalseFollows, FalseStarts, carryQ, 32);
     702  NullScope1 = BitBlock_advance_ci_co(NullStarts, carryQ, 33);
     703  NullScope2 = BitBlock_advance_ci_co(NullScope1, carryQ, 34);
     704  NullScope3 = BitBlock_advance_ci_co(NullScope2, carryQ, 35);
     705  NullErrors = simd_or(NullErrors, simd_andc(NullScope1, Lex.u));
     706  NullErrors = simd_or(NullErrors, simd_andc(NullScope2, Lex.l));
     707  NullErrors = simd_or(NullErrors, simd_andc(NullScope3, Lex.l));
     708  NullFollows = BitBlock_advance_ci_co(NullScope3, carryQ, 36);
     709  NullSpans = BitBlock_sub_ci_co(NullFollows, NullStarts, carryQ, 37);
     710  AtomStarts = simd_or(simd_or(simd_or(simd_or(StringStarts, NumberStarts), TrueStarts), FalseStarts), NullStarts);
     711  AtomSpans = simd_or(simd_or(simd_or(simd_or(StringSpans, NumberSpans), TrueSpans), FalseSpans), NullSpans);
     712  error_mask = simd_or(simd_or(simd_or(simd_or(StringErrors, NumberErrors), TrueErrors), FalseErrors), NullErrors);
     713  CarryQ_Adjust(carryQ, 38);
     714                       
    915715                        /* Generate Parity Mask */
    916716                        high_bit_mask = sisd_srl(sisd_high_bit_mask, sisd_from_int(BLOCK_SIZE-chars_avail));
    917717                        high_bit_is_set = simd_and(high_bit_mask, bitblock_parity_mask);
    918718                        bitblock_parity_mask = sisd_add(simd_not(sisd_srl(high_bit_is_set, sisd_from_int(chars_avail-1))) , sisd_low_bit_mask);                 
    919                         ParityMask = bitblock_parallel_prefix_parity(UnescapedDQuotes, bitblock_parity_mask);
    920                         ParityMask = simd_and(ParityMask, EOF_mask);
    921 
    922 advance_with_carry(ParityMask, carry3, Temp8);
    923 StringMask = simd_and(ParityMask,Temp8);
    924 StringSpans = simd_or(StringMask,UnescapedDQuotes);
    925 advance_with_carry(StringSpans, carry4, Temp9);
    926 StringStarts = simd_andc(StringSpans,Temp9);
    927 Temp10 = simd_or(strct_Lex__True_,strct_Lex__False_);
    928 Temp11 = simd_or(Temp10,strct_Lex__Null_);
    929 Temp12 = simd_or(Temp11,strct_Lex__Number_);
    930 UnmaskedAtomSpans = simd_andc(Temp12,StringSpans);
    931 advance_with_carry(UnmaskedAtomSpans, carry5, Temp13);
    932 UnmaskedAtomStarts = simd_andc(UnmaskedAtomSpans,Temp13);
    933 NumberStarts = simd_and(UnmaskedAtomStarts,temp44);
    934 TrueStarts = simd_and(UnmaskedAtomStarts,temp68);
    935 FalseStarts = simd_and(UnmaskedAtomStarts,temp62);
    936 NullStarts = simd_and(UnmaskedAtomStarts,temp64);
    937 StringEscapeChars = simd_and(Escape,StringMask);
    938 StringErrors_9 = simd_andc(StringEscapeChars,strct_Lex__Escape_);
    939 u = simd_and(StringEscapeChars,strct_Lex__u_);
    940 advance_with_carry(u, carry6, uScope1);
    941 advance_with_carry(uScope1, carry7, uScope2);
    942 advance_with_carry(uScope2, carry8, uScope3);
    943 advance_with_carry(uScope3, carry9, uScope4);
    944 Temp14 = simd_andc(uScope1,strct_Lex__HexDigit_);
    945 StringErrors_10 = simd_or(StringErrors_9,Temp14);
    946 Temp15 = simd_andc(uScope2,strct_Lex__HexDigit_);
    947 StringErrors_11 = simd_or(StringErrors_10,Temp15);
    948 Temp16 = simd_andc(uScope3,strct_Lex__HexDigit_);
    949 StringErrors_12 = simd_or(StringErrors_11,Temp16);
    950 Temp17 = simd_andc(uScope4,strct_Lex__HexDigit_);
    951 StringErrors_13 = simd_or(StringErrors_12,Temp17);
    952 Temp18 = simd_or(Escape,strct_Lex__RSolidus_);
    953 StringNotEscapedChars = simd_andc(StringMask,Temp18);
    954 Temp19 = simd_and(StringNotEscapedChars,strct_Ctrl__x00_x1F_);
    955 StringErrors_14 = simd_or(StringErrors_13,Temp19);
    956 advance_with_carry(StringStarts, carry10, StringCursor);
    957 adc128(StringCursor, StringMask, carry11, Temp20);
    958 StringEnds = simd_andc(Temp20,StringMask);
    959 Temp21 = simd_andc(StringEnds,UnescapedDQuotes);
    960 StringErrors = simd_or(StringErrors_14,Temp21);
    961 M0 = NumberStarts;
    962 Temp22 = simd_and(strct_Lex__Minus_,NumberStarts);
    963 adc128(NumberStarts, Temp22, carry12, Temp23);
    964 M1_15 = simd_andc(Temp23,Temp22);
    965 Temp24 = simd_or(strct_Lex__Zero_,strct_Lex__Digit1_9_);
    966 E1 = simd_andc(M1_15,Temp24);
    967 M1 = simd_andc(M1_15,E1);
    968 M1a = simd_and(M1,strct_Lex__Zero_);
    969 M1b = simd_and(M1,strct_Lex__Digit1_9_);
    970 advance_with_carry(M1a, carry13, M2a);
    971 advance_with_carry(M1b, carry14, M2b);
    972 adc128(M2b, strct_Lex__Digit0_9_, carry15, Temp25);
    973 M3b = simd_andc(Temp25,strct_Lex__Digit0_9_);
    974 M4 = simd_or(M2a,M3b);
    975 M4a = simd_andc(M4,strct_Lex__DecimalPoint_);
    976 M4b = simd_and(M4,strct_Lex__DecimalPoint_);
    977 advance_with_carry(M4b, carry16, M5b_0);
    978 E5b = simd_andc(M5b_0,strct_Lex__Digit0_9_);
    979 M5b = simd_andc(M5b_0,E5b);
    980 adc128(M5b, strct_Lex__Digit0_9_, carry17, Temp26);
    981 M6 = simd_andc(Temp26,strct_Lex__Digit0_9_);
    982 M7 = simd_or(M4a,M6);
    983 M7a = simd_andc(M7,strct_Lex__Ee_);
    984 M7b = simd_and(M7,strct_Lex__Ee_);
    985 advance_with_carry(M7b, carry18, M8b);
    986 Temp27 = simd_and(strct_Lex__PlusMinus_,M8b);
    987 adc128(M8b, Temp27, carry19, Temp28);
    988 M9b_6 = simd_andc(Temp28,Temp27);
    989 E9b = simd_andc(M9b_6,strct_Lex__Digit0_9_);
    990 M9b = simd_andc(M9b_6,E9b);
    991 adc128(M9b, strct_Lex__Digit0_9_, carry20, Temp29);
    992 M10b = simd_andc(Temp29,strct_Lex__Digit0_9_);
    993 Temp30 = simd_or(E1,E5b);
    994 Temp31 = simd_or(Temp30,E9b);
    995 Temp32 = simd_or(Temp31,M7a);
    996 M11 = simd_or(Temp32,M10b);
    997 NumberErrors = Temp31;
    998 sbb128(M11, NumberStarts, carry_brw0, NumberSpans);
    999 advance_with_carry(TrueStarts, carry21, TrueScope1);
    1000 advance_with_carry(TrueScope1, carry22, TrueScope2);
    1001 advance_with_carry(TrueScope2, carry23, TrueScope3);
    1002 TrueErrors_4 = simd_andc(TrueScope1,temp66);
    1003 Temp33 = simd_andc(TrueScope2,strct_Lex__u_);
    1004 TrueErrors_5 = simd_or(TrueErrors_4,Temp33);
    1005 Temp34 = simd_andc(TrueScope3,temp50);
    1006 TrueErrors = simd_or(TrueErrors_5,Temp34);
    1007 advance_with_carry(TrueScope3, carry24, TrueFollows);
    1008 sbb128(TrueFollows, TrueStarts, carry_brw1, TrueSpans);
    1009 advance_with_carry(FalseStarts, carry25, FalseScope1);
    1010 advance_with_carry(FalseScope1, carry26, FalseScope2);
    1011 advance_with_carry(FalseScope2, carry27, FalseScope3);
    1012 advance_with_carry(FalseScope3, carry28, FalseScope4);
    1013 FalseErrors_1 = simd_andc(FalseScope1,strct_Lex__a_);
    1014 Temp35 = simd_andc(FalseScope2,strct_Lex__l_);
    1015 FalseErrors_2 = simd_or(FalseErrors_1,Temp35);
    1016 Temp36 = simd_andc(FalseScope3,strct_Lex__s_);
    1017 FalseErrors_3 = simd_or(FalseErrors_2,Temp36);
    1018 Temp37 = simd_andc(FalseScope4,temp50);
    1019 FalseErrors = simd_or(FalseErrors_3,Temp37);
    1020 advance_with_carry(FalseScope4, carry29, FalseFollows);
    1021 sbb128(FalseFollows, FalseStarts, carry_brw2, FalseSpans);
    1022 advance_with_carry(NullStarts, carry30, NullScope1);
    1023 advance_with_carry(NullScope1, carry31, NullScope2);
    1024 advance_with_carry(NullScope2, carry32, NullScope3);
    1025 Temp38 = simd_andc(NullScope1,strct_Lex__u_);
    1026 NullErrors_7 = simd_or(NullErrors,Temp38);
    1027 Temp39 = simd_andc(NullScope2,strct_Lex__l_);
    1028 NullErrors_8 = simd_or(NullErrors_7,Temp39);
    1029 Temp40 = simd_andc(NullScope3,strct_Lex__l_);
    1030 NullErrors = simd_or(NullErrors_8,Temp40);
    1031 advance_with_carry(Scope3, carry33, NullFollows);
    1032 sbb128(NullFollows, NullStarts, carry_brw3, NullSpans);
    1033 Temp41 = simd_or(StringStarts,NumberStarts);
    1034 Temp42 = simd_or(Temp41,TrueStarts);
    1035 Temp43 = simd_or(Temp42,FalseStarts);
    1036 AtomStarts = simd_or(Temp43,NullStarts);
    1037 Temp44 = simd_or(StringSpans,NumberSpans);
    1038 Temp45 = simd_or(Temp44,TrueSpans);
    1039 Temp46 = simd_or(Temp45,FalseSpans);
    1040 AtomSpans = simd_or(Temp46,NullSpans);
    1041 Temp47 = simd_or(StringErrors,Temp31);
    1042 Temp48 = simd_or(Temp47,TrueErrors);
    1043 Temp49 = simd_or(Temp48,FalseErrors);
    1044 error_mask = simd_or(Temp49,NullErrors);
    1045 
    1046                        
     719                        Parity.ParityMask = bitblock_parallel_prefix_parity(UnescapedDQuotes, bitblock_parity_mask);
     720                        Parity.ParityMask = simd_and(Parity.ParityMask, EOF_mask);
    1047721                       
    1048722                        #ifdef DEBUG
     
    1055729                        print_simd_register("high_bit_mask", high_bit_mask);
    1056730                        */
    1057                         print_simd_register("ParityMask", ParityMask);
     731                        print_simd_register("Parity.ParityMask", Parity.ParityMask);
    1058732                        print_simd_register("StringMask", StringMask);
    1059733                        print_simd_register("StringSpans", StringSpans);                                               
Note: See TracChangeset for help on using the changeset viewer.