Lines Matching defs:NumElts

1496   unsigned NumElts = ResultTy->getNumElements() * 8;
1499 Type *VecTy = FixedVectorType::get(Builder.getInt8Ty(), NumElts);
1510 for (unsigned l = 0; l != NumElts; l += 16)
1512 unsigned Idx = NumElts + i - Shift;
1513 if (Idx < NumElts)
1514 Idx -= NumElts - 16; // end of lane, switch operand.
1518 Res = Builder.CreateShuffleVector(Res, Op, ArrayRef(Idxs, NumElts));
1530 unsigned NumElts = ResultTy->getNumElements() * 8;
1533 Type *VecTy = FixedVectorType::get(Builder.getInt8Ty(), NumElts);
1544 for (unsigned l = 0; l != NumElts; l += 16)
1548 Idx += NumElts - 16; // end of lane, switch operand.
1552 Res = Builder.CreateShuffleVector(Op, Res, ArrayRef(Idxs, NumElts));
1560 unsigned NumElts) {
1561 assert(isPowerOf2_32(NumElts) && "Expected power-of-2 mask elements");
1568 if (NumElts <= 4) {
1570 for (unsigned i = 0; i != NumElts; ++i)
1572 Mask = Builder.CreateShuffleVector(Mask, Mask, ArrayRef(Indices, NumElts),
1614 unsigned NumElts = cast<FixedVectorType>(Op0->getType())->getNumElements();
1615 assert((IsVALIGN || NumElts % 16 == 0) && "Illegal NumElts for PALIGNR!");
1616 assert((!IsVALIGN || NumElts <= 16) && "NumElts too large for VALIGN!");
1617 assert(isPowerOf2_32(NumElts) && "NumElts not a power of 2!");
1621 ShiftVal &= (NumElts - 1);
1638 for (unsigned l = 0; l < NumElts; l += 16) {
1642 Idx += NumElts - 16; // End of lane, switch operand.
1648 Op1, Op0, ArrayRef(Indices, NumElts), "palignr");
1740 unsigned NumElts = cast<FixedVectorType>(Ty)->getNumElements();
1742 Amt = Builder.CreateVectorSplat(NumElts, Amt);
1810 unsigned NumElts = cast<FixedVectorType>(Ty)->getNumElements();
1812 Amt = Builder.CreateVectorSplat(NumElts, Amt);
1846 unsigned NumElts = cast<FixedVectorType>(Data->getType())->getNumElements();
1847 Mask = getX86MaskVec(Builder, Mask, NumElts);
1869 unsigned NumElts = cast<FixedVectorType>(ValTy)->getNumElements();
1870 Mask = getX86MaskVec(Builder, Mask, NumElts);
1916 unsigned NumElts = cast<FixedVectorType>(Vec->getType())->getNumElements();
1920 Vec = Builder.CreateAnd(Vec, getX86MaskVec(Builder, Mask, NumElts));
1923 if (NumElts < 8) {
1925 for (unsigned i = 0; i != NumElts; ++i)
1927 for (unsigned i = NumElts; i != 8; ++i)
1928 Indices[i] = NumElts + i % NumElts;
1933 return Builder.CreateBitCast(Vec, Builder.getIntNTy(std::max(NumElts, 8U)));
1939 unsigned NumElts = cast<FixedVectorType>(Op0->getType())->getNumElements();
1944 FixedVectorType::get(Builder.getInt1Ty(), NumElts));
1947 FixedVectorType::get(Builder.getInt1Ty(), NumElts));
1993 unsigned NumElts = cast<FixedVectorType>(CI.getType())->getNumElements();
1994 Value *Mask = getX86MaskVec(Builder, Op, NumElts);
2328 unsigned NumElts = CI->getType()->getPrimitiveSizeInBits() /
2331 Rep = Builder.CreateVectorSplat(NumElts, Rep);
2378 unsigned NumElts = cast<FixedVectorType>(CI->getArgOperand(1)->getType())
2380 Rep = Builder.CreateVectorSplat(NumElts, CI->getArgOperand(0));
2384 unsigned NumElts = CI->getType()->getScalarSizeInBits();
2385 Value *LHS = getX86MaskVec(Builder, CI->getArgOperand(0), NumElts);
2386 Value *RHS = getX86MaskVec(Builder, CI->getArgOperand(1), NumElts);
2388 for (unsigned i = 0; i != NumElts; ++i)
2393 LHS = Builder.CreateShuffleVector(LHS, LHS, ArrayRef(Indices, NumElts / 2));
2394 RHS = Builder.CreateShuffleVector(RHS, RHS, ArrayRef(Indices, NumElts / 2));
2397 Rep = Builder.CreateShuffleVector(RHS, LHS, ArrayRef(Indices, NumElts));
2933 unsigned NumElts = VecTy->getNumElements();
2935 SmallVector<int, 16> Idxs(NumElts);
2936 for (unsigned i = 0; i != NumElts; ++i)
2937 Idxs[i] = ((Imm >> (i % 8)) & 1) ? i + NumElts : i;
3016 unsigned NumElts = VecTy->getNumElements();
3018 SmallVector<int, 8> Idxs(NumElts);
3019 for (unsigned i = 0; i != NumElts; ++i)
3038 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3039 unsigned HalfSize = NumElts / 2;
3040 SmallVector<int, 8> ShuffleMask(NumElts);
3058 ShuffleMask[i + HalfSize] = NumElts + StartIndex + i;
3068 unsigned NumElts = VecTy->getNumElements();
3073 SmallVector<int, 8> Idxs(NumElts);
3077 for (unsigned i = 0; i != NumElts; ++i)
3089 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3091 SmallVector<int, 16> Idxs(NumElts);
3092 for (unsigned l = 0; l != NumElts; l += 8) {
3108 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3110 SmallVector<int, 16> Idxs(NumElts);
3111 for (unsigned l = 0; l != NumElts; l += 8) {
3127 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3132 SmallVector<int, 16> Idxs(NumElts);
3133 for (unsigned i = 0; i != NumElts; ++i) {
3138 Idxs[i] += NumElts;
3152 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3159 SmallVector<int, 16> Idxs(NumElts);
3160 for (unsigned l = 0; l != NumElts; l += NumLaneElts)
3174 int NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3177 SmallVector<int, 64> Idxs(NumElts);
3178 for (int l = 0; l != NumElts; l += NumLaneElts)
3180 Idxs[i + l] = l + (i / 2) + NumElts * (i % 2);
3190 int NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3193 SmallVector<int, 64> Idxs(NumElts);
3194 for (int l = 0; l != NumElts; l += NumLaneElts)
3196 Idxs[i + l] = (NumLaneElts / 2) + l + (i / 2) + NumElts * (i % 2);
3750 int NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
3764 SmallVector<int, 32> Idxs(NumElts);
3765 for (int i = 0; i != NumElts; ++i)
3766 Idxs[i] = i + (i % 2) * NumElts;
4700 unsigned NumElts =
4702 Args[3] = getX86MaskVec(Builder, Args[3], NumElts);
4720 unsigned NumElts = cast<FixedVectorType>(CI->getType())->getNumElements();
4724 Args[1], FixedVectorType::get(Builder.getBFloatTy(), NumElts));
4728 NewCall, FixedVectorType::get(Builder.getInt16Ty(), NumElts));
4739 unsigned NumElts =
4742 Args[1], FixedVectorType::get(Builder.getBFloatTy(), NumElts));
4744 Args[2], FixedVectorType::get(Builder.getBFloatTy(), NumElts));