Ignore:
Timestamp:
Jan 13, 2018, 11:57:43 AM (15 months ago)
Author:
nmedfort
Message:

Pablo support for byte comparisions; LineFeed? kernel processes byte streams directly. Some clean up of PabloBuilder? functionality.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/IR_Gen/idisa_builder.h

    r5729 r5828  
    104104    virtual llvm::Value * simd_pdep(unsigned fw, llvm::Value * v, llvm::Value * deposit_mask);
    105105   
    106     virtual llvm::Value * simd_cttz(unsigned fw, llvm::Value * a);
    107     virtual llvm::Value * simd_popcount(unsigned fw, llvm::Value * a);
     106    llvm::Value * simd_popcount(unsigned fw, llvm::Value * a) {
     107        if (LLVM_UNLIKELY(fw < 8)) {
     108            llvm::report_fatal_error("Unsupported field width: popcount " + std::to_string(fw));
     109        }
     110        return CreatePopcount(fwCast(fw, a));
     111    }
     112
    108113    virtual llvm::Value * simd_bitreverse(unsigned fw, llvm::Value * a);
    109114   
     
    134139    virtual llvm::Value * bitblock_mask_from(llvm::Value * pos);
    135140    virtual llvm::Value * bitblock_set_bit(llvm::Value * pos);
    136    
    137141
    138142    virtual void CreateBaseFunctions() {}
Note: See TracChangeset for help on using the changeset viewer.