Ignore:
Timestamp:
Aug 9, 2016, 8:27:23 AM (3 years ago)
Author:
cameron
Message:

New IDISA bitblock functions: bitblock_set_bit, bitblock_mask_from

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/pablo/pablo_compiler.cpp

    r5104 r5121  
    356356        expr = iBuilder->simd_and(sum, iBuilder->simd_not(cc_expr));
    357357    } else if (const InFile * e = dyn_cast<InFile>(stmt)) {
    358         Value * EOFmark = mKernelBuilder->getScalarField(mSelf, "EOFmark");
    359         Value * infileMask = iBuilder->simd_add(iBuilder->getBitBlockWidth(), EOFmark, iBuilder->allOnes());
    360         expr = iBuilder->simd_and(compileExpression(e->getExpr()), infileMask);
     358        Value * EOFmask = mKernelBuilder->getScalarField(mSelf, "EOFmask");
     359        expr = iBuilder->simd_xor(compileExpression(e->getExpr()), EOFmask);
    361360    } else if (const AtEOF * e = dyn_cast<AtEOF>(stmt)) {
    362         Value * EOFmark = mKernelBuilder->getScalarField(mSelf, "EOFmark");
    363                 expr = iBuilder->simd_and(compileExpression(e->getExpr()), EOFmark);
     361        Value * EOFbit = mKernelBuilder->getScalarField(mSelf, "EOFbit");
     362                expr = iBuilder->simd_and(compileExpression(e->getExpr()), EOFbit);
    364363    } else if (const Count * c = dyn_cast<Count>(stmt)) {
    365364        Value * const to_count = compileExpression(c->getExpr());
Note: See TracChangeset for help on using the changeset viewer.