Lines Matching defs:NumElts
1554 unsigned NumElts = ResultTy->getNumElements() * 8;
1557 Type *VecTy = FixedVectorType::get(Builder.getInt8Ty(), NumElts);
1568 for (unsigned l = 0; l != NumElts; l += 16)
1570 unsigned Idx = NumElts + i - Shift;
1571 if (Idx < NumElts)
1572 Idx -= NumElts - 16; // end of lane, switch operand.
1576 Res = Builder.CreateShuffleVector(Res, Op, ArrayRef(Idxs, NumElts));
1588 unsigned NumElts = ResultTy->getNumElements() * 8;
1591 Type *VecTy = FixedVectorType::get(Builder.getInt8Ty(), NumElts);
1602 for (unsigned l = 0; l != NumElts; l += 16)
1606 Idx += NumElts - 16; // end of lane, switch operand.
1610 Res = Builder.CreateShuffleVector(Op, Res, ArrayRef(Idxs, NumElts));
1618 unsigned NumElts) {
1619 assert(isPowerOf2_32(NumElts) && "Expected power-of-2 mask elements");
1626 if (NumElts <= 4) {
1628 for (unsigned i = 0; i != NumElts; ++i)
1630 Mask = Builder.CreateShuffleVector(Mask, Mask, ArrayRef(Indices, NumElts),
1672 unsigned NumElts = cast<FixedVectorType>(Op0->getType())->getNumElements();
1673 assert((IsVALIGN || NumElts % 16 == 0) && "Illegal NumElts for PALIGNR!");
1674 assert((!IsVALIGN || NumElts <= 16) && "NumElts too large for VALIGN!");
1675 assert(isPowerOf2_32(NumElts) && "NumElts not a power of 2!");
1679 ShiftVal &= (NumElts - 1);
1696 for (unsigned l = 0; l < NumElts; l += 16) {
1700 Idx += NumElts - 16; // End of lane, switch operand.
1706 Op1, Op0, ArrayRef(Indices, NumElts), "palignr");
1796 unsigned NumElts = cast<FixedVectorType>(Ty)->getNumElements();
1798 Amt = Builder.CreateVectorSplat(NumElts, Amt);
1865 unsigned NumElts = cast<FixedVectorType>(Ty)->getNumElements();
1867 Amt = Builder.CreateVectorSplat(NumElts, Amt);
1897 unsigned NumElts = cast<FixedVectorType>(Data->getType())->getNumElements();
1898 Mask = getX86MaskVec(Builder, Mask, NumElts);
1918 unsigned NumElts = cast<FixedVectorType>(ValTy)->getNumElements();
1919 Mask = getX86MaskVec(Builder, Mask, NumElts);
1965 unsigned NumElts = cast<FixedVectorType>(Vec->getType())->getNumElements();
1969 Vec = Builder.CreateAnd(Vec, getX86MaskVec(Builder, Mask, NumElts));
1972 if (NumElts < 8) {
1974 for (unsigned i = 0; i != NumElts; ++i)
1976 for (unsigned i = NumElts; i != 8; ++i)
1977 Indices[i] = NumElts + i % NumElts;
1982 return Builder.CreateBitCast(Vec, Builder.getIntNTy(std::max(NumElts, 8U)));
1988 unsigned NumElts = cast<FixedVectorType>(Op0->getType())->getNumElements();
1993 FixedVectorType::get(Builder.getInt1Ty(), NumElts));
1996 FixedVectorType::get(Builder.getInt1Ty(), NumElts));
2041 unsigned NumElts = cast<FixedVectorType>(CI.getType())->getNumElements();
2042 Value *Mask = getX86MaskVec(Builder, Op, NumElts);
2480 unsigned NumElts = CI->getType()->getPrimitiveSizeInBits() /
2483 Rep = Builder.CreateVectorSplat(NumElts, Rep);
2523 unsigned NumElts = cast<FixedVectorType>(CI->getArgOperand(1)->getType())
2525 Rep = Builder.CreateVectorSplat(NumElts, CI->getArgOperand(0));
2529 unsigned NumElts = CI->getType()->getScalarSizeInBits();
2530 Value *LHS = getX86MaskVec(Builder, CI->getArgOperand(0), NumElts);
2531 Value *RHS = getX86MaskVec(Builder, CI->getArgOperand(1), NumElts);
2533 for (unsigned i = 0; i != NumElts; ++i)
2538 LHS = Builder.CreateShuffleVector(LHS, LHS, ArrayRef(Indices, NumElts / 2));
2539 RHS = Builder.CreateShuffleVector(RHS, RHS, ArrayRef(Indices, NumElts / 2));
2542 Rep = Builder.CreateShuffleVector(RHS, LHS, ArrayRef(Indices, NumElts));
3060 unsigned NumElts = VecTy->getNumElements();
3062 SmallVector<int, 16> Idxs(NumElts);
3063 for (unsigned i = 0; i != NumElts; ++i)
3064 Idxs[i] = ((Imm >> (i % 8)) & 1) ? i + NumElts : i;
3143 unsigned NumElts = VecTy->getNumElements();
3145 SmallVector<int, 8> Idxs(NumElts);
3146 for (unsigned i = 0; i != NumElts; ++i)
3165 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3166 unsigned HalfSize = NumElts / 2;
3167 SmallVector<int, 8> ShuffleMask(NumElts);
3185 ShuffleMask[i + HalfSize] = NumElts + StartIndex + i;
3195 unsigned NumElts = VecTy->getNumElements();
3200 SmallVector<int, 8> Idxs(NumElts);
3204 for (unsigned i = 0; i != NumElts; ++i)
3216 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3218 SmallVector<int, 16> Idxs(NumElts);
3219 for (unsigned l = 0; l != NumElts; l += 8) {
3235 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3237 SmallVector<int, 16> Idxs(NumElts);
3238 for (unsigned l = 0; l != NumElts; l += 8) {
3254 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3259 SmallVector<int, 16> Idxs(NumElts);
3260 for (unsigned i = 0; i != NumElts; ++i) {
3265 Idxs[i] += NumElts;
3279 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3286 SmallVector<int, 16> Idxs(NumElts);
3287 for (unsigned l = 0; l != NumElts; l += NumLaneElts)
3301 int NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3304 SmallVector<int, 64> Idxs(NumElts);
3305 for (int l = 0; l != NumElts; l += NumLaneElts)
3307 Idxs[i + l] = l + (i / 2) + NumElts * (i % 2);
3317 int NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3320 SmallVector<int, 64> Idxs(NumElts);
3321 for (int l = 0; l != NumElts; l += NumLaneElts)
3323 Idxs[i + l] = (NumLaneElts / 2) + l + (i / 2) + NumElts * (i % 2);
3857 int NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3871 SmallVector<int, 32> Idxs(NumElts);
3872 for (int i = 0; i != NumElts; ++i)
3873 Idxs[i] = i + (i % 2) * NumElts;
4792 unsigned NumElts =
4794 Args[3] = getX86MaskVec(Builder, Args[3], NumElts);
4812 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
4816 Args[1], FixedVectorType::get(Builder.getBFloatTy(), NumElts));
4820 NewCall, FixedVectorType::get(Builder.getInt16Ty(), NumElts));
4831 unsigned NumElts =
4834 Args[1], FixedVectorType::get(Builder.getBFloatTy(), NumElts));
4836 Args[2], FixedVectorType::get(Builder.getBFloatTy(), NumElts));