Changeset 6015


Ignore:
Timestamp:
May 5, 2018, 1:49:08 PM (5 months ago)
Author:
cameron
Message:

mvmd_compress fixes for AVX-512

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/IR_Gen/idisa_avx_builder.cpp

    r6014 r6015  
    410410    if (mBitBlockWidth == 512 && fw == 32) {
    411411        Value * compressFunc = Intrinsic::getDeclaration(getModule(), Intrinsic::x86_avx512_mask_compress_d_512);
    412         return CreateCall(compressFunc, {fwCast(32, a), fwCast(32, allZeroes()), select_mask});
     412        return CreateCall(compressFunc, {fwCast(32, a), fwCast(32, allZeroes()), CreateZExtOrTrunc(select_mask, getInt16Ty())});
    413413    }
    414414    if (mBitBlockWidth == 512 && fw == 64) {
    415415        Value * compressFunc = Intrinsic::getDeclaration(getModule(), Intrinsic::x86_avx512_mask_compress_q_512);
    416         return CreateCall(compressFunc, {fwCast(64, a), fwCast(64, allZeroes()), select_mask});
     416        return CreateCall(compressFunc, {fwCast(64, a), fwCast(64, allZeroes()), CreateZExtOrTrunc(select_mask, getInt8Ty())});
    417417    }
    418418    return IDISA_Builder::mvmd_compress(fw, a, select_mask);
Note: See TracChangeset for help on using the changeset viewer.