Ignore:
Timestamp:
Dec 28, 2011, 11:27:09 AM (8 years ago)
Author:
cameron
Message:

Update for aligned units_per_reg local.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/u8u16/pablo_template.cpp

    r1812 r1813  
    9494
    9595
    96 static inline void del_count(BitBlock delmask, unsigned char *u16_units_per_reg){
     96static inline void del_count(BitBlock delmask, BitBlock & u16_units_per_reg){
    9797
    9898        BitBlock delcounts_8 = simd<8>::popcount(delmask);
    99         bitblock::store_unaligned(simd<8>::sub(simd<8>::constant<8>(), delcounts_8), (BytePack *) u16_units_per_reg);
     99        u16_units_per_reg = simd<8>::sub(simd<8>::constant<8>(), delcounts_8);
    100100}
    101101
     
    224224      }
    225225
    226       unsigned char u16_units_per_reg[16];
     226      union {BitBlock i128; uint8_t i8[16];} u16_units_per_reg;
    227227     
    228228      p2s(u16lo[0],u16lo[1],u16lo[2],u16lo[3],u16lo[4],u16lo[5],u16lo[6],u16lo[7],
     
    235235      }
    236236       
    237       for(int k=0; k<16; k++) u16_units_per_reg[k] = 0;
    238       del_count(delmask,u16_units_per_reg);
     237      for(int k=0; k<16; k++) u16_units_per_reg.i8[k] = 0;
     238      del_count(delmask,u16_units_per_reg.i128);
    239239
    240240      for(int j=0; j<16; j++){
    241241        bitblock::store_unaligned(U16s[j], (BitBlock *) (*targetbuf));
    242         *targetbuf += u16_units_per_reg[j];
     242        *targetbuf += u16_units_per_reg.i8[j];
    243243      }
    244244
Note: See TracChangeset for help on using the changeset viewer.