Changeset 1592


Ignore:
Timestamp:
Oct 28, 2011, 7:07:10 AM (8 years ago)
Author:
cameron
Message:

Update u8u16 to work with new libraries

Location:
proto/u8u16
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • proto/u8u16/Makefile

    r1210 r1592  
    1 OUTFILE=src/u8u16.c
     1OUTFILE=src/u8u16.cpp
    22PABLO_SRCFILE=u8u16_pablo.py
    33PABLO_COMPILER=../Compiler/pablomain.py
    4 PABLO_TEMPLATE=pablo_template.c
     4PABLO_TEMPLATE=pablo_template.cpp
    55
    66
    77pablo:  $(PABLO_SRCFILE)
    8         python $(PABLO_COMPILER) $(PABLO_SRCFILE) -t $(PABLO_TEMPLATE) -o $(OUTFILE)
     8        python $(PABLO_COMPILER) $(PABLO_SRCFILE) -t $(PABLO_TEMPLATE) -o $(OUTFILE) --IDISA
    99
    1010pablo_help:
  • proto/u8u16/pablo_template.cpp

    r1590 r1592  
    7373        del8_trans2 = simd_and(del8_rshift1, delmask);
    7474        /* Odd number of transition positions to left. */
    75         del8_rshift2 = simd_xor(simd<8>::slli<>(del8_trans2, 1), simd<8>::slli<>(del8_trans2, 2));
    76         del8_rshift2 = simd_xor(del8_rshift2, simd<8>::slli<4>(del8_rshift2));
     75        del8_rshift2 = simd_xor(simd<8>::slli<1>(del8_trans2), simd<8>::slli<2>(del8_trans2));
     76        del8_rshift2 = simd_xor(del8_rshift2, simd<8>::slli<2>(del8_rshift2));
    7777        del8_rshift2 = simd_xor(del8_rshift2, simd<8>::slli<4>(del8_rshift2));
    7878        /* Transition positions: odd |del2count| to left, this one a transition to even. */
    7979        del8_trans4 = simd_and(del8_rshift2, del8_trans2);
    80         del8_rshift4 = simd_xor(simd<8>::slli<>(del8_trans4, 1), simd<8>::slli<2>(del8_trans4));
     80        del8_rshift4 = simd_xor(simd<8>::slli<1>(del8_trans4), simd<8>::slli<2>(del8_trans4));
    8181        del8_rshift4 = simd_xor(del8_rshift4, simd<8>::slli<2>(del8_rshift4));
    8282        del8_rshift4 = simd_xor(del8_rshift4, simd<8>::slli<4>(del8_rshift4));
     
    9696static inline void del_count(BitBlock delmask, unsigned char *u16_units_per_reg){
    9797
    98         delcounts_8 = simd<8>::popcount(delmask);
    99         bitblock::store_unaligned(simd<8>::sub(simd<8>::constant<8>(), delcounts_8),
    100                           (BytePack *) u16_units_per_reg);
     98        BitBlock delcounts_8 = simd<8>::popcount(delmask);
     99        bitblock::store_unaligned((BytePack *) u16_units_per_reg, simd<8>::sub(simd<8>::constant<8>(), delcounts_8));
    101100}
    102101
     
    110109  @decl
    111110
    112   SIMD_type u16l [8];
    113   SIMD_type u16h [8];
     111  BitBlock u16l [8];
     112  BitBlock u16h [8];
    114113
    115114
     
    177176        else *err = U_ILLEGAL_CHAR_FOUND;
    178177        BitBlock cutoff_mask = bitblock::sll(simd<1>::constant<1>(), convert(errpos));
    179         BitBlock errbit = simd_andc(error_mask, bitblock::slli(cutoff_mask, 1));
     178        BitBlock errbit = simd_andc(error_mask, bitblock::slli<1>(cutoff_mask));
    180179        u8advance = errpos;
    181180        if (bitblock::any(simd_and(u8.scope44, errbit))) {
     
    232231                        U16h[0], U16h[1],U16h[2] ,U16h[3] ,U16h[4] ,U16h[5] ,U16h[6] ,U16h[7]);
    233232      for (int i=0; i<8; i++) {
    234         U16s[2*i] = simd<8>::mergel(U16l[i], U16h[i]);
    235         U16s[2*i+1] = simd<8>::mergeh(U16l[i], U16h[i]);
     233        U16s[2*i] = esimd<8>::mergel(U16l[i], U16h[i]);
     234        U16s[2*i+1] = esimd<8>::mergeh(U16l[i], U16h[i]);
    236235      }
    237236       
     
    240239
    241240      for(int j=0; j<16; j++){
    242         bitblock::store_unaligned(U16s[j],(SIMD_type *) (*targetbuf));
     241        bitblock::store_unaligned((BitBlock *) (*targetbuf), U16s[j]);
    243242        *targetbuf += u16_units_per_reg[j];
    244243      }
  • proto/u8u16/src/Makefile

    r855 r1592  
    1 SRCFILE=u8u16.c
     1SRCFILE=u8u16.cpp
    22OUTFILE=u8u16
    33TEST= run_all.py
  • proto/u8u16/u8u16_pablo.py

    r851 r1592  
    4242                badprefix2 = (temp4 &~ temp6);
    4343                error_mask = badprefix2
    44                 u8.scope22 = bitutil.Advance(u8.prefix2)
    45                 adv_bit3 = bitutil.Advance(bit[3])
    46                 adv_bit4 = bitutil.Advance(bit[4])
    47                 adv_bit5 = bitutil.Advance(bit[5])
    48                 adv_bit6 = bitutil.Advance(bit[6])
    49                 adv_bit7 = bitutil.Advance(bit[7])
     44                u8.scope22 = pablo.Advance(u8.prefix2)
     45                adv_bit3 = pablo.Advance(bit[3])
     46                adv_bit4 = pablo.Advance(bit[4])
     47                adv_bit5 = pablo.Advance(bit[5])
     48                adv_bit6 = pablo.Advance(bit[6])
     49                adv_bit7 = pablo.Advance(bit[7])
    5050                u8lastscope = u8.scope22
    5151                u8anyscope = u8.scope22
     
    6262                        xA0_xBF = (u8.suffix & bit[2]);
    6363                        x80_x9F = (u8.suffix &~ bit[2]);
    64                         error_mask |= bitutil.Advance(xE0) & x80_x9F
    65                         error_mask |= bitutil.Advance(xED) & xA0_xBF
    66                         u8.scope32 = bitutil.Advance(u8.prefix3)
    67                         u8.scope33 = bitutil.Advance(u8.scope32)
    68                         adv_bit2 = bitutil.Advance(bit[2])
    69                         advadv_bit4 = bitutil.Advance(adv_bit4)
    70                         advadv_bit5 = bitutil.Advance(adv_bit5)
    71                         advadv_bit6 = bitutil.Advance(adv_bit6)
    72                         advadv_bit7 = bitutil.Advance(adv_bit7)
     64                        error_mask |= pablo.Advance(xE0) & x80_x9F
     65                        error_mask |= pablo.Advance(xED) & xA0_xBF
     66                        u8.scope32 = pablo.Advance(u8.prefix3)
     67                        u8.scope33 = pablo.Advance(u8.scope32)
     68                        adv_bit2 = pablo.Advance(bit[2])
     69                        advadv_bit4 = pablo.Advance(adv_bit4)
     70                        advadv_bit5 = pablo.Advance(adv_bit5)
     71                        advadv_bit6 = pablo.Advance(adv_bit6)
     72                        advadv_bit7 = pablo.Advance(adv_bit7)
    7373                        u8lastscope |= u8.scope33
    7474                        u8anyscope = u8lastscope | u8.scope32
     
    8686                                x90_xBF = (u8.suffix & temp3);
    8787                                x80_x8F = (u8.suffix &~ temp3);
    88                                 error_mask |= bitutil.Advance(xF0) & x80_x8F
    89                                 error_mask |= bitutil.Advance(xF4) & x90_xBF
    90                                 u8.scope42 = bitutil.Advance(u8.prefix4)
    91                                 u8.scope43 = bitutil.Advance(u8.scope42)
    92                                 u8.scope44 = bitutil.Advance(u8.scope43)
     88                                error_mask |= pablo.Advance(xF0) & x80_x8F
     89                                error_mask |= pablo.Advance(xF4) & x90_xBF
     90                                u8.scope42 = pablo.Advance(u8.prefix4)
     91                                u8.scope43 = pablo.Advance(u8.scope42)
     92                                u8.scope44 = pablo.Advance(u8.scope43)
    9393                                u8surrogate = u8.scope43 | u8.scope44
    9494                                u8lastscope |= u8.scope44
Note: See TracChangeset for help on using the changeset viewer.