Lines Matching refs:HwLen

928     const unsigned HwLen;
932 HST(getHexagonSubtarget(G)), HwLen(HST.getVectorLength()) {}
936 unsigned NumElems = HwLen / (ElemTy.getSizeInBits() / 8);
942 unsigned NumElems = (2 * HwLen) / (ElemTy.getSizeInBits() / 8);
947 // Return HwLen x i1.
948 return MVT::getVectorVT(MVT::i1, HwLen);
1235 // Amount + HwLen.
1236 auto VecLen = static_cast<int>(HwLen);
1297 if (isUInt<3>(Amt) || isUInt<3>(HwLen - Amt)) {
1299 SDValue S = getConst32(IsRight ? Amt : HwLen - Amt, dl);
1311 unsigned SegLen = HwLen / 2;
1356 M -= SrcOp * HwLen;
1438 if (SMH.MaxSrc - SMH.MinSrc >= static_cast<int>(HwLen)) {
1443 if (SW.MaxSrc - SW.MinSrc < static_cast<int>(HwLen)) {
1451 if (SMA.MaxSrc - SMA.MinSrc < static_cast<int>(HwLen)) {
1453 if (ShiftR >= static_cast<int>(HwLen)) {
1456 ShiftR -= HwLen;
1477 BitVector Picked(HwLen);
1478 SmallVector<uint8_t,128> MuxBytes(HwLen);
1484 if (M >= static_cast<int>(HwLen))
1485 M -= HwLen;
1506 SmallVector<unsigned, 4> SegList = getInputSegmentList(SM.Mask, HwLen);
1536 packSegmentMask(SM.Mask, SegList, HwLen, NewMask);
1544 MVT BoolTy = MVT::getVectorVT(MVT::i1, HwLen);
1565 assert(HwLen == VecLen);
1567 assert(all_of(SM.Mask, [this](int M) { return M == -1 || M < int(HwLen); }));
1580 unsigned HalfLen = HwLen / 2;
1853 bool HavePairs = (2*HwLen == VecLen);
1886 if (M < HwLen) {
1890 M -= HwLen;
1901 if (2*HwLen == VecLen) {
1902 SDValue B0 = DAG.getBuildVector(SingleTy, dl, {Ops.data(), HwLen});
1904 SDValue B1 = DAG.getBuildVector(SingleTy, dl, {Ops.data()+HwLen, HwLen});
2119 if (same(SM.Mask, shuffles::mask(shuffles::vpack, HwLen, Size, Odd))) {
2135 if (same(SM.Mask, shuffles::mask(shuffles::vshuff, HwLen, Size, Odd))) {
2156 if (same(SM.Mask, shuffles::mask(shuffles::vdeal, HwLen, Size, Odd))) {
2167 if (same(SM.Mask, shuffles::mask(shuffles::vdealb4w, HwLen))) {
2189 assert(2*HwLen == unsigned(VecLen) && "Expecting vector-pair type");
2241 unsigned HwLog = Log2_32(HwLen);
2332 if (HavePairs && SM.Mask[0] >= int(HwLen)) {
2335 MaskStorage[i] = M >= int(HwLen) ? M - HwLen : M + HwLen;
2440 if (unsigned(VecLen) == HwLen) {
2607 bool HavePairs = (2*HwLen == VecLen);
2626 dbgs() << "VecLen=" << VecLen << " HwLen=" << HwLen << " UseLeft="
2738 unsigned HwLen = HST->getVectorLength();
2757 ShuffleVectorSDNode *OpShuff = Idx < HwLen ? Shuff0 : Shuff1;
2758 if (Idx >= HwLen)
2759 Idx -= HwLen;
2767 unsigned SrcBase = N < HwLen ? OpMap.at(OpShuff->getOperand(0))
2769 if (N >= HwLen)
2770 N -= HwLen;
2785 assert(TopMask.size() == HwLen);
2787 SmallVector<int, 256> FoldedMask(2 * HwLen);
2788 for (unsigned I = 0; I != HwLen; ++I) {
2798 std::fill(FoldedMask.begin() + HwLen, FoldedMask.end(), -1);
2804 MVT SingleTy = MVT::getVectorVT(MVT::i8, HwLen);
2805 MVT PairTy = MVT::getVectorVT(MVT::i8, 2 * HwLen);
2828 if (ResTy.getVectorNumElements() != HwLen)
2857 assert(V0A->Src.getValueType().getSizeInBits() == 16 * HwLen);
2860 {V0.getOperand(0), V0A->HalfIdx * HwLen},
2861 {V0.getOperand(1), V0B->HalfIdx * HwLen},
2862 {V1.getOperand(0), V1A->HalfIdx * HwLen},
2863 {V1.getOperand(1), V1B->HalfIdx * HwLen},