Ignore:
Timestamp:
Nov 26, 2012, 10:07:43 PM (6 years ago)
Author:
cameron
Message:

Pablo support for Advance(strm, n)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/pabloSupport.hpp

    r2694 r2696  
    22#define PABLOSUPPORT_HPP_
    33
    4 
    54#include "bitblock.hpp"
    6 
    75
    86#define BitBlock_declare(name)  BitBlock name
     
    1513        adv_ci_co(strm, carryin, carryout, rslt);
    1614        return carryout;
     15}
     16
     17template <int n> IDISA_ALWAYS_INLINE BitBlock pablo_blk_Advance_n_(BitBlock strm, BitBlock pending_in, BitBlock & rslt) [
     18        BitBlock half_block_shifted = esimd<BLOCK_SIZE/2>::mergel(strm, pending_in);
     19        rslt = simd_or(simd<BLOCK_SIZE/2>::srli<(BLOCK_SIZE/2)-n>(half_block_shifted),
     20                       simd<BLOCK_SIZE/2>::slli<n>(strm));
     21        return bitblock::srli<BLOCK_SIZE/2>(strm);
    1722}
    1823
Note: See TracChangeset for help on using the changeset viewer.