Ignore:
Timestamp:
Nov 2, 2011, 8:17:37 PM (8 years ago)
Author:
vla24
Message:

SymbolTable?: Integrated symbol table with the new IDISA architecture

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/symtab/ls_symbol_table.cxx

    r1462 r1649  
    888888
    889889                        result_gid = simd_or(result_gid, simd_and(cmp_eq_mask_128, crt_gid_mask_128));
    890                         done_mask_16 |= simdLibConvert<8>::movemask(cmp_eq_mask_128);
     890                        done_mask_16 |= hsimd<8>::signmask(cmp_eq_mask_128);
    891891
    892892#ifdef SYMBOL_TABLE_DEBUG
     
    975975#endif
    976976                        result_gid = simd_or(result_gid, simd_and(cmp_eq_mask_128, crt_gid_mask_128));
    977                         done_mask_16 |= simdLibConvert<8>::movemask(cmp_eq_mask_128);
     977                        done_mask_16 |= hsimd<8>::signmask(cmp_eq_mask_128);
    978978                                               
    979979                        if(exit_cond_mask_16 == done_mask_16) {
     
    12501250        SIMD_type lo, hi;
    12511251
    1252         lo = simdLibConvert<fw<1>::value>::mergel(simd<1>::constant<0>(), value);
    1253         hi = simdLibConvert<fw<1>::value>::mergeh(simd<1>::constant<0>(), value);
     1252        lo = esimd<fw<1>::value>::mergel(simd<1>::constant<0>(), value);
     1253        hi = esimd<fw<1>::value>::mergeh(simd<1>::constant<0>(), value);
    12541254
    12551255        SIMD_type v[4];
    12561256
    1257         v[0] = simdLibConvert<fw<2>::value>::mergel(simd<2>::constant<0>(), lo);
    1258         v[1] = simdLibConvert<fw<2>::value>::mergeh(simd<2>::constant<0>(), lo);
    1259         v[2] = simdLibConvert<fw<2>::value>::mergel(simd<2>::constant<0>(), hi);
    1260         v[3] = simdLibConvert<fw<2>::value>::mergeh(simd<2>::constant<0>(), hi);
     1257        v[0] = esimd<fw<2>::value>::mergel(simd<2>::constant<0>(), lo);
     1258        v[1] = esimd<fw<2>::value>::mergeh(simd<2>::constant<0>(), lo);
     1259        v[2] = esimd<fw<2>::value>::mergel(simd<2>::constant<0>(), hi);
     1260        v[3] = esimd<fw<2>::value>::mergeh(simd<2>::constant<0>(), hi);
    12611261
    12621262        uint32_t push_count;
     
    12711271        SIMD_type v[2];
    12721272
    1273         v[0] = simdLibConvert<fw<2>::value>::mergel(simd<2>::constant<0>(), value);
    1274         v[1] = simdLibConvert<fw<2>::value>::mergeh(simd<2>::constant<0>(), value);
     1273        v[0] = esimd<fw<2>::value>::mergel(simd<2>::constant<0>(), value);
     1274        v[1] = esimd<fw<2>::value>::mergeh(simd<2>::constant<0>(), value);
    12751275
    12761276        uint32_t push_count;
     
    12931293template<>
    12941294inline void LSSymbolTable::push_gid<5>(const SIMD_type value, const uint32_t count) {
    1295         SIMD_type t1 = simdLibConvert<64>::pack(simd<1>::constant<0>(), value);
     1295        SIMD_type t1 = hsimd<64>::packl(simd<1>::constant<0>(), value);
    12961296        packed_gids_->push_back(5, (uint32_t *) (&t1), count);
    12971297}
     
    12991299template<>
    13001300inline void LSSymbolTable::push_gid<6>(const SIMD_type value, const uint32_t count) {
    1301         SIMD_type t1 = simdLibConvert<64>::pack(simd<1>::constant<0>(), value);
     1301        SIMD_type t1 = hsimd<64>::packl(simd<1>::constant<0>(), value);
    13021302        packed_gids_->push_back(6, (uint32_t *) (&t1), count);
    13031303}
     
    13051305template<>
    13061306inline void LSSymbolTable::push_gid<7>(const SIMD_type value, const uint32_t count) {
    1307         SIMD_type t1 = simdLibConvert<64>::pack(simd<1>::constant<0>(), value);
     1307        SIMD_type t1 = hsimd<64>::packl(simd<1>::constant<0>(), value);
    13081308        packed_gids_->push_back(7, (uint32_t *) (&t1), count);
    13091309}
     
    13111311template<>
    13121312inline void LSSymbolTable::push_gid<8>(const SIMD_type value, const uint32_t count) {
    1313         SIMD_type t1 = simdLibConvert<64>::pack(simd<1>::constant<0>(), value);
     1313        SIMD_type t1 = hsimd<64>::packl(simd<1>::constant<0>(), value);
    13141314        packed_gids_->push_back(8, (uint32_t *) (&t1), count);
    13151315}
Note: See TracChangeset for help on using the changeset viewer.