/freebsd/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/ |
H A D | X86ShuffleDecode.cpp | 49 void DecodeInsertElementMask(unsigned NumElts, unsigned Idx, unsigned Len, in DecodeInsertElementMask() argument 51 assert((Idx + Len) <= NumElts && "Insertion out of range"); in DecodeInsertElementMask() 53 for (unsigned i = 0; i != NumElts; ++i) in DecodeInsertElementMask() 56 ShuffleMask[Idx + i] = NumElts + i; in DecodeInsertElementMask() 77 void DecodeMOVSLDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) { in DecodeMOVSLDUPMask() argument 78 for (int i = 0, e = NumElts / 2; i < e; ++i) { in DecodeMOVSLDUPMask() 84 void DecodeMOVSHDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) { in DecodeMOVSHDUPMask() argument 85 for (int i = 0, e = NumElts / 2; i < e; ++i) { in DecodeMOVSHDUPMask() 91 void DecodeMOVDDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) { in DecodeMOVDDUPMask() argument 94 for (unsigned l = 0; l < NumElts; l += NumLaneElts) in DecodeMOVDDUPMask() [all …]
|
H A D | X86ShuffleDecode.h | 35 void DecodeInsertElementMask(unsigned NumElts, unsigned Idx, unsigned Len, 46 void DecodeMOVSLDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 48 void DecodeMOVSHDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 50 void DecodeMOVDDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 52 void DecodePSLLDQMask(unsigned NumElts, unsigned Imm, 55 void DecodePSRLDQMask(unsigned NumElts, unsigned Imm, 58 void DecodePALIGNRMask(unsigned NumElts, unsigned Imm, 61 void DecodeVALIGNMask(unsigned NumElts, unsigned Imm, 65 void DecodePSHUFMask(unsigned NumElts, unsigned ScalarBits, unsigned Imm, 69 void DecodePSHUFHWMask(unsigned NumElts, unsigned Imm, [all …]
|
H A D | X86ATTInstPrinter.cpp | 190 unsigned NumElts; in printVecCompareInstr() local 192 NumElts = (Desc.TSFlags & X86II::REX_W) ? 8 : 16; in printVecCompareInstr() 194 NumElts = (Desc.TSFlags & X86II::REX_W) ? 4 : 8; in printVecCompareInstr() 196 NumElts = (Desc.TSFlags & X86II::REX_W) ? 2 : 4; in printVecCompareInstr() 199 NumElts *= 2; in printVecCompareInstr() 201 OS << "{1to" << NumElts << "}"; in printVecCompareInstr() 342 unsigned NumElts; in printVecCompareInstr() local 344 NumElts = (Desc.TSFlags & X86II::REX_W) ? 8 : 16; in printVecCompareInstr() 346 NumElts = (Desc.TSFlags & X86II::REX_W) ? 4 : 8; in printVecCompareInstr() 348 NumElts = (Desc.TSFlags & X86II::REX_W) ? 2 : 4; in printVecCompareInstr() [all …]
|
H A D | X86IntelInstPrinter.cpp | 180 unsigned NumElts; in printVecCompareInstr() local 182 NumElts = (Desc.TSFlags & X86II::REX_W) ? 8 : 16; in printVecCompareInstr() 184 NumElts = (Desc.TSFlags & X86II::REX_W) ? 4 : 8; in printVecCompareInstr() 186 NumElts = (Desc.TSFlags & X86II::REX_W) ? 2 : 4; in printVecCompareInstr() 189 NumElts *= 2; in printVecCompareInstr() 191 OS << "{1to" << NumElts << "}"; in printVecCompareInstr() 330 unsigned NumElts; in printVecCompareInstr() local 332 NumElts = (Desc.TSFlags & X86II::REX_W) ? 8 : 16; in printVecCompareInstr() 334 NumElts = (Desc.TSFlags & X86II::REX_W) ? 4 : 8; in printVecCompareInstr() 336 NumElts = (Desc.TSFlags & X86II::REX_W) ? 2 : 4; in printVecCompareInstr() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64PerfectShuffle.h | 6626 inline bool isZIPMask(ArrayRef<int> M, unsigned NumElts, in isZIPMask() argument 6628 if (NumElts % 2 != 0) in isZIPMask() 6632 for (unsigned i = 0; i != NumElts / 2; i++) { in isZIPMask() 6637 WhichResult = ((unsigned)M[i * 2 + 1] == NumElts + i ? 0 : 1); in isZIPMask() 6645 unsigned Idx = WhichResult * NumElts / 2; in isZIPMask() 6646 for (unsigned i = 0; i != NumElts; i += 2) { in isZIPMask() 6648 (M[i + 1] >= 0 && (unsigned)M[i + 1] != Idx + NumElts)) in isZIPMask() 6659 inline bool isUZPMask(ArrayRef<int> M, unsigned NumElts, in isUZPMask() argument 6663 for (unsigned i = 0; i != NumElts; i++) { in isUZPMask() 6673 for (unsigned i = 0; i != NumElts; ++i) { in isUZPMask() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86ShuffleDecodeConstantPool.cpp | 128 unsigned NumElts = Width / 8; in DecodePSHUFBMask() local 129 assert((NumElts == 16 || NumElts == 32 || NumElts == 64) && in DecodePSHUFBMask() 132 for (unsigned i = 0; i != NumElts; ++i) { in DecodePSHUFBMask() 167 unsigned NumElts = Width / ElSize; in DecodeVPERMILPMask() local 169 assert((NumElts == 2 || NumElts == 4 || NumElts == 8 || NumElts == 16) && in DecodeVPERMILPMask() 172 for (unsigned i = 0; i != NumElts; ++i) { in DecodeVPERMILPMask() 203 unsigned NumElts = Width / ElSize; in DecodeVPERMIL2PMask() local 205 assert((NumElts == 2 || NumElts == 4 || NumElts == 8) && in DecodeVPERMIL2PMask() 208 for (unsigned i = 0; i != NumElts; ++i) { in DecodeVPERMIL2PMask() 239 Index += Src * NumElts; in DecodeVPERMIL2PMask() [all …]
|
H A D | X86PartialReduction.cpp | 186 unsigned NumElts = MulTy->getNumElements(); in tryMAddReplacement() local 191 SmallVector<int, 16> EvenMask(NumElts / 2); in tryMAddReplacement() 192 SmallVector<int, 16> OddMask(NumElts / 2); in tryMAddReplacement() 193 for (int i = 0, e = NumElts / 2; i != e; ++i) { in tryMAddReplacement() 205 SmallVector<int, 32> ConcatMask(NumElts); in tryMAddReplacement() 266 unsigned NumElts = OpTy->getNumElements(); in trySADReplacement() local 270 if (ST->hasBWI() && NumElts >= 64) { in trySADReplacement() 273 } else if (ST->hasAVX2() && NumElts >= 32) { in trySADReplacement() 283 if (NumElts < 16) { in trySADReplacement() 286 for (unsigned i = 0; i != NumElts; ++i) in trySADReplacement() [all …]
|
H A D | X86FixupVectorConstants.cpp | 293 unsigned NumBits, unsigned NumElts, in rebuildExtCst() argument 295 unsigned DstEltBitWidth = NumBits / NumElts; in rebuildExtCst() 296 assert((NumBits % NumElts) == 0 && (NumBits % SrcEltBitWidth) == 0 && in rebuildExtCst() 301 assert((Bits->getBitWidth() / DstEltBitWidth) == NumElts && in rebuildExtCst() 306 APInt TruncBits = APInt::getZero(NumElts * SrcEltBitWidth); in rebuildExtCst() 307 for (unsigned I = 0; I != NumElts; ++I) { in rebuildExtCst() 323 unsigned NumElts, unsigned SrcEltBitWidth) { in rebuildSExtCst() argument 324 return rebuildExtCst(C, true, NumBits, NumElts, SrcEltBitWidth); in rebuildSExtCst() 327 unsigned NumElts, unsigned SrcEltBitWidth) { in rebuildZExtCst() argument 328 return rebuildExtCst(C, false, NumBits, NumElts, SrcEltBitWidth); in rebuildZExtCst()
|
H A D | X86ISelLowering.cpp | 3062 unsigned NumElts = std::min(DataVT.getVectorNumElements(), in getTgtMemIntrinsic() local 3064 Info.memVT = MVT::getVectorVT(DataVT.getVectorElementType(), NumElts); in getTgtMemIntrinsic() 3074 unsigned NumElts = std::min(DataVT.getVectorNumElements(), in getTgtMemIntrinsic() local 3076 Info.memVT = MVT::getVectorVT(DataVT.getVectorElementType(), NumElts); in getTgtMemIntrinsic() 3560 unsigned NumElts = Mask.size(); in isUndefLowerHalf() local 3561 return isUndefInRange(Mask, 0, NumElts / 2); in isUndefLowerHalf() 3566 unsigned NumElts = Mask.size(); in isUndefUpperHalf() local 3567 return isUndefInRange(Mask, NumElts / 2, NumElts / 2); in isUndefUpperHalf() 3615 unsigned NumElts = Mask.size(); in isBlendOrUndef() local 3617 if (!isUndefOrEqual(M, I) && !isUndefOrEqual(M, I + NumElts)) in isBlendOrUndef() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Bitstream/Reader/ |
H A D | BitstreamReader.cpp | 106 unsigned NumElts = MaybeVBR.get(); in skipRecord() local 107 for (unsigned i = 0; i != NumElts; ++i) in skipRecord() 154 unsigned NumElts = MaybeNum.get(); in skipRecord() local 168 JumpToBit(GetCurrentBitNo() + static_cast<uint64_t>(NumElts) * in skipRecord() 174 for (; NumElts; --NumElts) in skipRecord() 182 if (Error Err = JumpToBit(GetCurrentBitNo() + NumElts * 6)) in skipRecord() 194 unsigned NumElts = MaybeNum.get(); in skipRecord() local 198 const size_t NewEnd = GetCurrentBitNo() + alignTo(NumElts, 4) * 8; in skipRecord() 227 uint32_t NumElts = MaybeNumElts.get(); in readRecord() local 228 if (!isSizePlausible(NumElts)) in readRecord() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineVectorOps.cpp | 190 ElementCount NumElts = in foldBitcastExtElt() local 206 ExtIndexC = NumElts.getKnownMinValue() - 1 - ExtIndexC; in foldBitcastExtElt() 230 if (NumSrcElts == NumElts) in foldBitcastExtElt() 234 assert(NumSrcElts.isScalable() == NumElts.isScalable() && in foldBitcastExtElt() 239 if (NumSrcElts.getKnownMinValue() < NumElts.getKnownMinValue()) { in foldBitcastExtElt() 252 NumElts.getKnownMinValue() / NumSrcElts.getKnownMinValue(); in foldBitcastExtElt() 429 unsigned NumElts = EC.getKnownMinValue(); in visitExtractElementInst() local 430 HasKnownValidIndex = IndexC->getValue().ult(NumElts); in visitExtractElementInst() 437 IndexC->getValue().ult(NumElts)) { in visitExtractElementInst() 453 if (!EC.isScalable() && IndexC->getValue().uge(NumElts)) in visitExtractElementInst() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | AutoUpgrade.cpp | 1496 unsigned NumElts = ResultTy->getNumElements() * 8; in upgradeX86PSLLDQIntrinsics() local 1499 Type *VecTy = FixedVectorType::get(Builder.getInt8Ty(), NumElts); in upgradeX86PSLLDQIntrinsics() 1510 for (unsigned l = 0; l != NumElts; l += 16) in upgradeX86PSLLDQIntrinsics() 1512 unsigned Idx = NumElts + i - Shift; in upgradeX86PSLLDQIntrinsics() 1513 if (Idx < NumElts) in upgradeX86PSLLDQIntrinsics() 1514 Idx -= NumElts - 16; // end of lane, switch operand. in upgradeX86PSLLDQIntrinsics() 1518 Res = Builder.CreateShuffleVector(Res, Op, ArrayRef(Idxs, NumElts)); in upgradeX86PSLLDQIntrinsics() 1530 unsigned NumElts = ResultTy->getNumElements() * 8; in upgradeX86PSRLDQIntrinsics() local 1533 Type *VecTy = FixedVectorType::get(Builder.getInt8Ty(), NumElts); in upgradeX86PSRLDQIntrinsics() 1544 for (unsigned l = 0; l != NumElts; l += 16) in upgradeX86PSRLDQIntrinsics() [all …]
|
H A D | IRBuilder.cpp | 636 ElementCount NumElts = VecTy->getElementCount(); in CreateMaskedGather() local 638 assert(NumElts == PtrsTy->getElementCount() && "Element count mismatch"); in CreateMaskedGather() 641 Mask = getAllOnesMask(NumElts); in CreateMaskedGather() 666 ElementCount NumElts = PtrsTy->getElementCount(); in CreateMaskedScatter() local 669 Mask = getAllOnesMask(NumElts); in CreateMaskedScatter() 1160 int NumElts = Ty->getElementCount().getKnownMinValue(); in CreateVectorReverse() local 1161 for (int i = 0; i < NumElts; ++i) in CreateVectorReverse() 1162 ShuffleMask.push_back(NumElts - i - 1); in CreateVectorReverse() 1180 unsigned NumElts = cast<FixedVectorType>(V1->getType())->getNumElements(); in CreateVectorSplice() local 1181 assert(((-Imm <= NumElts) || (Imm < NumElts)) && in CreateVectorSplice() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
H A D | AArch64PostLegalizerLowering.cpp | 85 unsigned NumElts) { in getExtMask() argument 92 unsigned MaskBits = APInt(32, NumElts * 2).logBase2(); in getExtMask() 117 if (Imm < NumElts) in getExtMask() 120 Imm -= NumElts; in getExtMask() 170 unsigned NumElts = Ty.getNumElements(); in matchREV() local 174 if (isREVMask(ShuffleMask, EltSize, NumElts, LaneSize)) { in matchREV() 199 unsigned NumElts = MRI.getType(Dst).getNumElements(); in matchTRN() local 200 if (!isTRNMask(ShuffleMask, NumElts, WhichResult)) in matchTRN() 220 unsigned NumElts = MRI.getType(Dst).getNumElements(); in matchUZP() local 221 if (!isUZPMask(ShuffleMask, NumElts, WhichResult)) in matchUZP() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | LegalizeTypesGeneric.cpp | 345 unsigned NumElts = 2; in ExpandOp_BITCAST() local 349 NumElts); in ExpandOp_BITCAST() 353 NumElts = N->getValueType(0).getVectorNumElements(); in ExpandOp_BITCAST() 358 IntegerToVector(N->getOperand(0), NumElts, Ops, NVT.getVectorElementType()); in ExpandOp_BITCAST() 360 SDValue Vec = DAG.getBuildVector(NVT, dl, ArrayRef(Ops.data(), NumElts)); in ExpandOp_BITCAST() 371 unsigned NumElts = VecVT.getVectorNumElements(); in ExpandOp_BUILD_VECTOR() local 382 NewElts.reserve(NumElts*2); in ExpandOp_BUILD_VECTOR() 384 for (unsigned i = 0; i < NumElts; ++i) { in ExpandOp_BUILD_VECTOR() 409 unsigned NumElts = VecVT.getVectorNumElements(); in ExpandOp_INSERT_VECTOR_ELT() local 421 EVT NewVecVT = EVT::getVectorVT(*DAG.getContext(), NewEVT, NumElts* in ExpandOp_INSERT_VECTOR_ELT() 447 unsigned NumElts = VT.getVectorNumElements(); ExpandOp_SCALAR_TO_VECTOR() local [all...] |
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUImageIntrinsicOptimizer.cpp | 206 unsigned NumElts = popcount(DMaskVal); in optimizeSection() local 211 unsigned NumMsaas = NumElts; in optimizeSection() 213 unsigned NumVDataLoads = divideCeil(NumElts, isD16 ? 2 : 1) * NumLoads; in optimizeSection() 256 if (NumElts == 1) { in optimizeSection() 261 for (unsigned I = 0; I < NumElts; ++I) { in optimizeSection()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/ |
H A D | CBufferDataLayout.cpp | 77 unsigned NumElts = AT->getNumElements(); in getTypeAllocSize() local 78 if (NumElts == 0) in getTypeAllocSize() 84 return TypeSize::getFixed(AlignedEltSize * (NumElts - 1) + EltSize); in getTypeAllocSize()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/ADT/ |
H A D | SmallVector.h | 405 void growAndAssign(size_t NumElts, const T &Elt) { in growAndAssign() argument 408 T *NewElts = mallocForGrow(NumElts, NewCapacity); in growAndAssign() 409 std::uninitialized_fill_n(NewElts, NumElts, Elt); in growAndAssign() 412 this->set_size(NumElts); in growAndAssign() 557 void growAndAssign(size_t NumElts, T Elt) { in growAndAssign() argument 561 this->grow(NumElts); in growAndAssign() 562 std::uninitialized_fill_n(this->begin(), NumElts, Elt); in growAndAssign() 563 this->set_size(NumElts); in growAndAssign() 718 void assign(size_type NumElts, ValueParamT Elt) { in assign() argument 720 if (NumElts > this->capacity()) { in assign() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMTargetTransformInfo.cpp | 269 unsigned NumElts = cast<FixedVectorType>(II.getType())->getNumElements(); in simplifyDemandedVectorEltsIntrinsic() local 275 APInt::getSplat(NumElts, IsTop ? APInt::getLowBitsSet(2, 1) in simplifyDemandedVectorEltsIntrinsic() 279 UndefElts &= APInt::getSplat(NumElts, IsTop ? APInt::getLowBitsSet(2, 1) in simplifyDemandedVectorEltsIntrinsic() 1548 unsigned NumElts = cast<FixedVectorType>(VecTy)->getNumElements(); in getInterleavedMemoryOpCost() local 1550 FixedVectorType::get(VecTy->getScalarType(), NumElts / Factor); in getInterleavedMemoryOpCost() 1557 if (NumElts % Factor == 0 && in getInterleavedMemoryOpCost() 1566 if (ST->hasMVEIntegerOps() && Factor == 2 && NumElts / Factor > 2 && in getInterleavedMemoryOpCost() 1697 unsigned NumElts = cast<FixedVectorType>(ValTy)->getNumElements(); in getArithmeticReductionCost() local 1700 while (!TTI::requiresOrderedReduction(FMF) && isPowerOf2_32(NumElts) && in getArithmeticReductionCost() 1701 NumElts * EltSize > VecLimit) { in getArithmeticReductionCost() [all …]
|
H A D | MVELaneInterleavingPass.cpp | 305 unsigned NumElts = VT->getNumElements(); in tryInterleave() local 309 if (BaseElts == 0 || NumElts % BaseElts != 0) { in tryInterleave() 348 for (unsigned Base = 0; Base < NumElts; Base += BaseElts) { in tryInterleave() 354 for (unsigned Base = 0; Base < NumElts; Base += BaseElts) { in tryInterleave()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | VectorCombine.cpp | 656 unsigned NumElts = VecTy->getNumElements(); in foldInsExtFNeg() local 657 if (Index >= NumElts) in foldInsExtFNeg() 663 SmallVector<int> Mask(NumElts); in foldInsExtFNeg() 665 Mask[Index] = Index + NumElts; in foldInsExtFNeg() 1681 unsigned NumElts = in lookThroughShuffles() local 1686 if (static_cast<unsigned>(M) < NumElts) { in lookThroughShuffles() 1691 Lane = M - NumElts; in lookThroughShuffles() 1715 unsigned NumElts = Ty->getNumElements(); in isFreeConcat() local 1716 if (Item.size() == NumElts || NumElts == 1 || Item.size() % NumElts != 0) in isFreeConcat() 1721 SmallVector<int, 16> ConcatMask(NumElts * 2); in isFreeConcat() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ExpandReductions.cpp | 101 unsigned NumElts = FTy->getNumElements(); in expandReductions() local 102 if (!isPowerOf2_32(NumElts)) in expandReductions() 106 Rdx = Builder.CreateBitCast(Vec, Builder.getIntNTy(NumElts)); in expandReductions()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | RelLookupTableConverter.cpp | 98 unsigned NumElts = LookupTableArr->getType()->getNumElements(); in createRelLookupTable() local 100 ArrayType::get(Type::getInt32Ty(M.getContext()), NumElts); in createRelLookupTable() 109 SmallVector<Constant *, 64> RelLookupTableContents(NumElts); in createRelLookupTable()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ |
H A D | TargetLoweringObjectFile.cpp | 107 unsigned NumElts = CDS->getNumElements(); in IsNullTerminatedString() local 108 assert(NumElts != 0 && "Can't have an empty CDS"); in IsNullTerminatedString() 110 if (CDS->getElementAsInteger(NumElts-1) != 0) in IsNullTerminatedString() 114 for (unsigned i = 0; i != NumElts-1; ++i) in IsNullTerminatedString()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | PoisonChecking.cpp | 200 unsigned NumElts = VecVTy->getNumElements(); in generateCreationChecks() local 203 ConstantInt::get(Idx->getType(), NumElts)); in generateCreationChecks() 213 unsigned NumElts = VecVTy->getNumElements(); in generateCreationChecks() local 216 ConstantInt::get(Idx->getType(), NumElts)); in generateCreationChecks()
|