Changeset 59


Ignore:
Timestamp:
Feb 25, 2008, 8:58:59 AM (11 years ago)
Author:
cameron
Message:

DIGIT_AND_HEX_ITEMS option; ilax.h superceded in engine.h

Location:
trunk
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    r55 r59  
    77endif
    88
    9 markup_stats:   markup_stats.cxx src/xmlbuffer.h src/ilax.h src/multiliteral.h src/engine.h\
     9markup_stats:   markup_stats.cxx src/xmlbuffer.h src/multiliteral.h src/engine.h\
    1010                src/transpose.h src/bitlex.h src/xmlbuffer.c src/bitlex.c src/engine.c\
    1111                lib/lib_simd.h lib/sse_simd.h\
     
    1919        $(CC) -o markup_stats_64 markup_stats.cxx -march=nocona -m64
    2020
    21 markup_stats.s: markup_stats.cxx src/xmlbuffer.h src/ilax.h src/multiliteral.h src/engine.h\
     21markup_stats.s: markup_stats.cxx src/xmlbuffer.h src/multiliteral.h src/engine.h\
    2222                src/transpose.h src/bitlex.h src/xmlbuffer.c src/bitlex.c src/engine.c\
    2323                lib/sse_simd.h\
     
    2525        $(CC) -o markup_stats.s markup_stats.cxx -march=pentium4 -S -fverbose-asm
    2626
    27 markup_stats_g4:         markup_stats.cxx src/xmlbuffer.h src/ilax.h src/multiliteral.h src/engine.h\
     27markup_stats_g4:         markup_stats.cxx src/xmlbuffer.h src/multiliteral.h src/engine.h\
    2828                src/transpose.h src/bitlex.h src/xmlbuffer.c src/bitlex.c src/engine.c\
    2929                lib/altivec_simd.h\
  • trunk/src/bitlex.c

    r54 r59  
    328328        BitBlock temp34 = simd_or(temp33, RAngle);
    329329        LexItem[NameFollow] = simd_or(temp34, LexItem[QMark]);
    330        
     330#ifdef DIGIT_AND_HEX_ITEMS
     331        BitBlock temp35 = simd_or(bit[5], bit[6]);
     332        BitBlock temp36 = simd_andc(temp35, bit[4]);
     333        BitBlock Digit = simd_andc(temp3, temp36);
     334        BitBlock temp37 = simd_or(bit[2], bit[3]);
     335        BitBlock temp38 = simd_andc(temp15, temp37);
     336        BitBlock temp39 = simd_andc(temp38, bit[4]);
     337        BitBlock temp40 = simd_andc(simd_const_1(1), temp20);
     338        BitBlock temp41 = simd_if(bit[5], temp5, temp40);
     339        BitBlock temp42 = simd_and(temp39, temp41);
     340        BitBlock temp43 = simd_or(Digit, temp42);
     341        BitBlock temp44 = simd_and(temp15, temp8);
     342        BitBlock temp45 = simd_andc(temp44, bit[4]);
     343        BitBlock temp46 = simd_and(temp45, temp41);
     344        BitBlock Hex = simd_or(temp43, temp46);
     345        LexItem[NonDigit] = simd_not(Digit);
     346        LexItem[NonHex] = simd_not(Hex);
     347#endif 
    331348        /* Mark potential occurrences of ']]>'  These are all actual
    332349        occurrences of ]]> as well as occurrences of ]] or ] at
     
    385402        BitBlock temp34 = simd_or(temp33, RAngle);
    386403        LexItem[NameFollow] = simd_or(temp34, LexItem[QMark]);
     404#ifdef DIGIT_AND_HEX_ITEMS
     405        /* Need to improve the compiler's EBCDIC translation for ranges. */
     406        BitBlock temp35 = simd_and(bit[0], bit[1]);
     407        BitBlock temp36 = simd_and(temp35, temp18);
     408        BitBlock temp37 = simd_andc(temp11, temp31);
     409        BitBlock temp38 = simd_andc(temp15, temp10);
     410        BitBlock temp39 = simd_andc(temp37, temp38);
     411        BitBlock temp40 = simd_andc(temp21, temp10);
     412        BitBlock temp41 = simd_andc(temp39, temp40);
     413        BitBlock temp42 = simd_andc(bit[5], bit[4]);
     414        BitBlock temp43 = simd_andc(temp42, temp5);
     415        BitBlock temp44 = simd_andc(temp41, temp43);
     416        BitBlock temp45 = simd_and(temp42, temp30);
     417        BitBlock temp46 = simd_andc(temp44, temp45);
     418        BitBlock temp47 = simd_and(temp42, temp15);
     419        BitBlock temp48 = simd_andc(temp46, temp47);
     420        BitBlock temp49 = simd_and(temp42, temp21);
     421        BitBlock temp50 = simd_andc(temp48, temp49);
     422        BitBlock temp51 = simd_andc(temp20, temp5);
     423        BitBlock temp52 = simd_andc(temp50, temp51);
     424        BitBlock temp53 = simd_and(temp20, temp30);
     425        BitBlock temp54 = simd_andc(temp52, temp53);
     426        BitBlock Digit = simd_andc(temp36, temp54);
     427        BitBlock temp55 = simd_andc(temp35, temp2);
     428        BitBlock temp56 = simd_and(temp55, temp31);
     429        BitBlock temp57 = simd_or(Digit, temp56);
     430        BitBlock temp58 = simd_and(temp55, temp38);
     431        BitBlock temp59 = simd_or(temp57, temp58);
     432        BitBlock temp60 = simd_and(temp55, temp40);
     433        BitBlock temp61 = simd_or(temp59, temp60);
     434        BitBlock temp62 = simd_and(temp55, temp43);
     435        BitBlock temp63 = simd_or(temp61, temp62);
     436        BitBlock temp64 = simd_and(temp55, temp45);
     437        BitBlock temp65 = simd_or(temp63, temp64);
     438        BitBlock temp66 = simd_and(temp55, temp47);
     439        BitBlock temp67 = simd_or(temp65, temp66);
     440        BitBlock temp68 = simd_andc(temp17, temp2);
     441        BitBlock temp69 = simd_and(temp68, temp31);
     442        BitBlock temp70 = simd_or(temp67, temp69);
     443        BitBlock temp71 = simd_and(temp68, temp38);
     444        BitBlock temp72 = simd_or(temp70, temp71);
     445        BitBlock temp73 = simd_and(temp68, temp40);
     446        BitBlock temp74 = simd_or(temp72, temp73);
     447        BitBlock temp75 = simd_and(temp68, temp43);
     448        BitBlock temp76 = simd_or(temp74, temp75);
     449        BitBlock temp77 = simd_and(temp68, temp45);
     450        BitBlock temp78 = simd_or(temp76, temp77);
     451        BitBlock temp79 = simd_and(temp68, temp47);
     452        BitBlock Hex = simd_or(temp78, temp79);
     453        LexItem[NonDigit] = simd_not(Digit);
     454        LexItem[NonHex] = simd_not(Hex);
     455#endif 
    387456       
    388457        /* Mark potential occurrences of ']]>'  These are all actual
     
    418487        start_BOM_interval(lextranspose_timer);
    419488#endif
     489        /* NonWS stream already completed by WS_Control method. */
    420490        for (int j = MarkupStart; j < LexicalItemCount; j++) {
    421491                for (int i = 0; i < buffer_blocks; i++) {
  • trunk/src/bitlex.h

    r52 r59  
    1919        NonWS = minLexicalItem,
    2020        MarkupStart, CD_End_check, Hyphen, QMark,
     21#ifdef DIGIT_AND_HEX_ITEMS
     22        NonDigit, NonHex,
     23#endif
    2124        Quote, NameFollow,
    2225        maxLexicalItem = NameFollow};
Note: See TracChangeset for help on using the changeset viewer.