Ignore:
Timestamp:
Apr 17, 2018, 6:33:56 PM (17 months ago)
Author:
cameron
Message:

New generic bitblock_mask_from, bitblock_set_bit small field simd_popcount

File:
1 edited

Legend:

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

    r5855 r5972  
    752752                            case TypeId::GreaterThanEquals:
    753753                            case TypeId::LessThan:
    754                                 comp = b->simd_ult(n, lhv, rhv);
     754                                //comp = b->simd_ult(n, lhv, rhv);
     755                                comp = b->CreateICmpULT(b->fwCast(n, lhv), b->fwCast(n, rhv));
    755756                                break;
    756757                            case TypeId::Equals:
    757758                            case TypeId::NotEquals:
    758                                 comp = b->simd_eq(n, lhv, rhv);
     759                                comp = b->CreateICmpEQ(b->fwCast(n, lhv), b->fwCast(n, rhv));
    759760                                break;
    760761                            case TypeId::LessThanEquals:
    761762                            case TypeId::GreaterThan:
    762                                 comp = b->simd_ugt(n, lhv, rhv);
     763                                comp = b->CreateICmpUGT(b->fwCast(n, lhv), b->fwCast(n, rhv));
    763764                                break;
    764765                            default: llvm_unreachable("invalid vector operator id");
    765766                        }
    766                         Value * const mask = b->CreateZExtOrTrunc(b->hsimd_signmask(n, comp), fw);
     767                        Value * const mask = b->CreateBitCast(comp, b->getIntNTy(m));
    767768                        value = b->mvmd_insert(m, value, mask, i);
    768769                    }
Note: See TracChangeset for help on using the changeset viewer.