Changeset 4894


Ignore:
Timestamp:
Dec 14, 2015, 6:10:58 PM (3 years ago)
Author:
cameron
Message:

simd_himask

Location:
icGREP/icgrep-devel/icgrep/IDISA
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/IDISA/idisa_builder.cpp

    r4892 r4894  
    3636}
    3737
    38    
     38Constant * IDISA_Builder::simd_himask(unsigned fw) {
     39    return Constant::getIntegerValue(mLLVMBuilder->getIntNTy(mBitBlockWidth), APInt::getSplat(mBitBlockWidth, APInt::getHighBitsSet(fw, fw/2)));
     40}
     41
    3942Value * IDISA_Builder::simd_add(unsigned fw, Value * a, Value * b) {
    4043    return mLLVMBuilder->CreateAdd(fwCast(fw, a), fwCast(fw, b));
  • icGREP/icgrep-devel/icgrep/IDISA/idisa_builder.h

    r4893 r4894  
    4646    Constant * allZeroes() {return mZeroInitializer;}
    4747    Constant * allOnes() {return mOneInitializer;}
     48    Constant * simd_himask(unsigned fw);
    4849       
    4950    virtual Value * simd_add(unsigned fw, Value * a, Value * b);
  • icGREP/icgrep-devel/icgrep/IDISA/s2p_gen.h

    r4891 r4894  
    1111#include "idisa_builder.h"
    1212
    13 void * s2p_step(DISA_Builder * iBuilder,
     13void * s2p_step(IDISA_Builder * iBuilder,
    1414                Value * s0, Value * s1, Value * hi_mask, unsigned shift, Value * p0, Value * p1);
    1515
    16 void * s2p(DISA_Builder * iBuilder,
     16void * s2p(IDISA_Builder * iBuilder,
    1717           Value * s0, Value * s1, Value * s2, Value * s3, Value * s4, Value * s5, Value * s6, Value * s7,
    1818           Value * p0, Value * p1, Value * p2, Value * p3, Value * p4, Value * p5, Value * p6, Value * p7);
Note: See TracChangeset for help on using the changeset viewer.