Home
last modified time | relevance | path

Searched refs:Shuffle (Results 1 – 25 of 57) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp337 for (auto *Shuffle : Shuffles) { in lowerInterleavedLoad() local
338 if (Shuffle->getType() != VecTy) in lowerInterleavedLoad()
341 Shuffle->getShuffleMask(), Factor, Index)) in lowerInterleavedLoad()
344 assert(Shuffle->getShuffleMask().size() <= NumLoadElements); in lowerInterleavedLoad()
347 for (auto *Shuffle : BinOpShuffles) { in lowerInterleavedLoad() local
348 if (Shuffle->getType() != VecTy) in lowerInterleavedLoad()
351 Shuffle->getShuffleMask(), Factor, Index)) in lowerInterleavedLoad()
354 assert(Shuffle->getShuffleMask().size() <= NumLoadElements); in lowerInterleavedLoad()
356 if (cast<Instruction>(Shuffle->getOperand(0))->getOperand(0) == Load) in lowerInterleavedLoad()
358 if (cast<Instruction>(Shuffle->getOperand(0))->getOperand(1) == Load) in lowerInterleavedLoad()
[all …]
H A DComplexDeinterleavingPass.cpp1950 auto CheckType = [&](ShuffleVectorInst *Shuffle) { in identifyDeinterleave() argument
1951 Value *Op = Shuffle->getOperand(0); in identifyDeinterleave()
1952 auto *ShuffleTy = cast<FixedVectorType>(Shuffle->getType()); in identifyDeinterleave()
1963 auto CheckDeinterleavingShuffle = [&](ShuffleVectorInst *Shuffle) -> bool { in identifyDeinterleave() argument
1964 if (!CheckType(Shuffle)) in identifyDeinterleave()
1967 ArrayRef<int> Mask = Shuffle->getShuffleMask(); in identifyDeinterleave()
1970 Value *Op = Shuffle->getOperand(0); in identifyDeinterleave()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DTargetTransformInfoImpl.h1529 auto *Shuffle = dyn_cast<ShuffleVectorInst>(U); in getInstructionCost() local
1530 if (!Shuffle) in getInstructionCost()
1535 ArrayRef<int> Mask = Shuffle->getShuffleMask(); in getInstructionCost()
1543 if (Shuffle->changesLength()) { in getInstructionCost()
1545 if (Shuffle->increasesLength() && Shuffle->isIdentityWithPadding()) in getInstructionCost()
1548 if (Shuffle->isExtractSubvectorMask(SubIndex)) in getInstructionCost()
1551 VecTy, Operands, Shuffle); in getInstructionCost()
1553 if (Shuffle->isInsertSubvectorMask(NumSubElts, SubIndex)) in getInstructionCost()
1558 Operands, Shuffle); in getInstructionCost()
1561 if (Shuffle->isReplicationMask(ReplicationFactor, VF)) { in getInstructionCost()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVELaneInterleavingPass.cpp358 Value *Shuffle = Builder.CreateShuffleVector(I->getOperand(0), LeafMask); in tryInterleave() local
361 Value *Ext = FPext ? Builder.CreateFPExt(Shuffle, I->getType()) in tryInterleave()
362 : Sext ? Builder.CreateSExt(Shuffle, I->getType()) in tryInterleave()
363 : Builder.CreateZExt(Shuffle, I->getType()); in tryInterleave()
365 LLVM_DEBUG(dbgs() << " with " << *Shuffle << "\n"); in tryInterleave()
371 Value *Shuffle = Builder.CreateShuffleVector(I->get(), LeafMask); in tryInterleave() local
372 I->getUser()->setOperand(I->getOperandNo(), Shuffle); in tryInterleave()
373 LLVM_DEBUG(dbgs() << " with " << *Shuffle << "\n"); in tryInterleave()
H A DARMTargetTransformInfo.cpp2869 Instruction *Shuffle = Op; in isProfitableToSinkOperands() local
2870 if (Shuffle->getOpcode() == Instruction::BitCast) in isProfitableToSinkOperands()
2871 Shuffle = dyn_cast<Instruction>(Shuffle->getOperand(0)); in isProfitableToSinkOperands()
2873 if (!Shuffle || !match(Shuffle, m_Shuffle(m_InsertElt(m_Undef(), m_Value(), in isProfitableToSinkOperands()
2888 Ops.push_back(&Shuffle->getOperandUse(0)); in isProfitableToSinkOperands()
2889 if (Shuffle != Op) in isProfitableToSinkOperands()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DUseListOrder.h29 std::vector<unsigned> Shuffle; member
32 : V(V), F(F), Shuffle(ShuffleSize) {} in UseListOrder()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DCombinerHelperVectorOps.cpp259 const GShuffleVector *Shuffle = cast<GShuffleVector>(&MI2); in matchExtractVectorElementWithShuffleVector() local
288 ArrayRef<int> Mask = Shuffle->getMask(); in matchExtractVectorElementWithShuffleVector()
293 LLT Src1Type = MRI.getType(Shuffle->getSrc1Reg()); in matchExtractVectorElementWithShuffleVector()
317 NewVector = Shuffle->getSrc1Reg(); in matchExtractVectorElementWithShuffleVector()
320 NewVector = Shuffle->getSrc2Reg(); in matchExtractVectorElementWithShuffleVector()
H A DCombinerHelper.cpp397 auto &Shuffle = cast<GShuffleVector>(MI); in matchCombineShuffleToBuildVector() local
399 Register SrcVec1 = Shuffle.getSrc1Reg(); in matchCombineShuffleToBuildVector()
400 Register SrcVec2 = Shuffle.getSrc2Reg(); in matchCombineShuffleToBuildVector()
408 auto &Shuffle = cast<GShuffleVector>(MI); in applyCombineShuffleToBuildVector() local
410 Register SrcVec1 = Shuffle.getSrc1Reg(); in applyCombineShuffleToBuildVector()
411 Register SrcVec2 = Shuffle.getSrc2Reg(); in applyCombineShuffleToBuildVector()
420 for (int Val : Shuffle.getMask()) { in applyCombineShuffleToBuildVector()
8002 auto &Shuffle = cast<GShuffleVector>(MI); in matchShuffleUndefRHS() local
8003 ArrayRef<int> OrigMask = Shuffle.getMask(); in matchShuffleUndefRHS()
8005 const LLT SrcTy = MRI.getType(Shuffle.getSrc1Reg()); in matchShuffleUndefRHS()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86PartialReduction.cpp387 auto *Shuffle = dyn_cast<ShuffleVectorInst>(LHS); in matchAddReduction() local
388 if (Shuffle) { in matchAddReduction()
391 Shuffle = dyn_cast<ShuffleVectorInst>(RHS); in matchAddReduction()
397 if (!Shuffle || Shuffle->getOperand(0) != Op) in matchAddReduction()
403 if (Shuffle->getMaskValue(Index) != (int)(MaskEnd + Index)) in matchAddReduction()
H A DX86ISelLowering.cpp16215 if (SDValue Shuffle = ShuffleSubLanes(Scale)) in lowerShuffleAsRepeatedMaskAndLanePermute() local
16216 return Shuffle; in lowerShuffleAsRepeatedMaskAndLanePermute()
18076 SDValue Shuffle = DAG.getVectorShuffle(ExtVT, DL, V1, V2, Mask); in lower1BitShuffle() local
18082 Shuffle, ISD::SETGT); in lower1BitShuffle()
18084 return DAG.getNode(ISD::TRUNCATE, DL, VT, Shuffle); in lower1BitShuffle()
20256 SDValue Shuffle = DAG.getVectorShuffle(MVT::v2f64, dl, Sub, Sub, {1,-1}); in LowerUINT_TO_FP_i64() local
20257 Result = DAG.getNode(ISD::FADD, dl, MVT::v2f64, Shuffle, Sub); in LowerUINT_TO_FP_i64()
39238 const X86Subtarget &Subtarget, unsigned &Shuffle, in matchUnaryShuffle() argument
39249 Shuffle = X86ISD::VZEXT_MOVL; in matchUnaryShuffle()
39294 Shuffle = unsigned( in matchUnaryShuffle()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineSimplifyDemanded.cpp1576 auto *Shuffle = cast<ShuffleVectorInst>(I); in SimplifyDemandedVectorElts() local
1577 assert(Shuffle->getOperand(0)->getType() == in SimplifyDemandedVectorElts()
1578 Shuffle->getOperand(1)->getType() && in SimplifyDemandedVectorElts()
1580 unsigned OpWidth = cast<FixedVectorType>(Shuffle->getOperand(0)->getType()) in SimplifyDemandedVectorElts()
1584 if (all_of(Shuffle->getShuffleMask(), [](int Elt) { return Elt == 0; }) && in SimplifyDemandedVectorElts()
1603 unsigned MaskVal = Shuffle->getMaskValue(i); in SimplifyDemandedVectorElts()
1635 unsigned MaskVal = Shuffle->getMaskValue(i); in SimplifyDemandedVectorElts()
1642 return Shuffle->getOperand(0); in SimplifyDemandedVectorElts()
1651 unsigned MaskVal = Shuffle->getMaskValue(i); in SimplifyDemandedVectorElts()
1683 cast<FixedVectorType>(Shuffle->getType())->getNumElements()) { in SimplifyDemandedVectorElts()
[all …]
H A DInstCombineVectorOps.cpp340 ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(UserInstr); in findDemandedEltsBySingleUser() local
346 unsigned MaskVal = Shuffle->getMaskValue(i); in findDemandedEltsBySingleUser()
349 if (Shuffle->getOperand(0) == V && (MaskVal < VWidth)) in findDemandedEltsBySingleUser()
351 if (Shuffle->getOperand(1) == V && in findDemandedEltsBySingleUser()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/
H A DAArch64PostLegalizerCombiner.cpp90 MachineInstr *Shuffle = in matchExtractVecEltPairwiseAdd() local
93 if (!Shuffle) { in matchExtractVecEltPairwiseAdd()
94 Shuffle = getOpcodeDef(TargetOpcode::G_SHUFFLE_VECTOR, Src1Op1, MRI); in matchExtractVecEltPairwiseAdd()
99 if (Shuffle && Shuffle->getOperand(3).getShuffleMask()[0] == 1 && in matchExtractVecEltPairwiseAdd()
100 Other == MRI.getVRegDef(Shuffle->getOperand(1).getReg())) { in matchExtractVecEltPairwiseAdd()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp2982 ShuffleVectorInst *Shuffle = nullptr; in foldShuffleFromReductions() local
3004 if (Shuffle && Shuffle != SV) in foldShuffleFromReductions()
3006 Shuffle = SV; in foldShuffleFromReductions()
3015 if (!Shuffle) in foldShuffleFromReductions()
3031 dyn_cast<FixedVectorType>(Shuffle->getOperand(0)->getType()); in foldShuffleFromReductions()
3039 Shuffle->getShuffleMask(ConcatMask); in foldShuffleFromReductions()
3046 ShuffleInputType, Shuffle->getShuffleMask(), CostKind); in foldShuffleFromReductions()
3051 LLVM_DEBUG(dbgs() << "Found a reduction feeding from a shuffle: " << *Shuffle in foldShuffleFromReductions()
3057 Builder.SetInsertPoint(Shuffle); in foldShuffleFromReductions()
3059 Shuffle->getOperand(0), Shuffle->getOperand(1), ConcatMask); in foldShuffleFromReductions()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInterleavedAccess.cpp217 Value *Shuffle = Builder.CreateShuffleVector( in lowerInterleavedStore() local
219 Ops.push_back(Shuffle); in lowerInterleavedStore()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DAsmWriter.cpp271 std::vector<unsigned> Shuffle(List.size()); in predictValueUseListOrder() local
273 Shuffle[I] = List[I].second; in predictValueUseListOrder()
274 return Shuffle; in predictValueUseListOrder()
285 std::vector<unsigned> Shuffle = in predictUseListOrder() local
287 if (Shuffle.empty()) in predictUseListOrder()
297 ULOM[F][V] = std::move(Shuffle); in predictUseListOrder()
2923 void printUseListOrder(const Value *V, const std::vector<unsigned> &Shuffle);
5013 const std::vector<unsigned> &Shuffle) { in printUseListOrder() argument
5029 assert(Shuffle.size() >= 2 && "Shuffle too small"); in printUseListOrder()
5030 Out << ", { " << llvm::interleaved(Shuffle) << " }\n"; in printUseListOrder()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DNumericalStabilitySanitizer.cpp1734 if (auto *Shuffle = dyn_cast<ShuffleVectorInst>(&Inst)) in createShadowValueWithOperandsAvailable() local
1735 return Builder.CreateShuffleVector(Map.getShadow(Shuffle->getOperand(0)), in createShadowValueWithOperandsAvailable()
1736 Map.getShadow(Shuffle->getOperand(1)), in createShadowValueWithOperandsAvailable()
1737 Shuffle->getShuffleMask()); in createShadowValueWithOperandsAvailable()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeVectorTypes.cpp2812 auto *Shuffle = dyn_cast<ShuffleVectorSDNode>(Input.getNode()); in SplitVecRes_VECTOR_SHUFFLE() local
2813 if (!Shuffle || in SplitVecRes_VECTOR_SHUFFLE()
2834 auto *Shuffle = in SplitVecRes_VECTOR_SHUFFLE() local
2836 if (!Shuffle || !is_contained(P.second, SrcRegIdx)) in SplitVecRes_VECTOR_SHUFFLE()
2838 int MaskElt = Shuffle->getMaskElt(Idx % NewElts); in SplitVecRes_VECTOR_SHUFFLE()
2844 P.second[Shuffle->getOperand(MaskElt / NewElts) == P.first.first in SplitVecRes_VECTOR_SHUFFLE()
2922 auto *Shuffle = dyn_cast<ShuffleVectorSDNode>(Inputs[I].getNode()); in SplitVecRes_VECTOR_SHUFFLE() local
2923 if (!Shuffle) in SplitVecRes_VECTOR_SHUFFLE()
2925 if (Shuffle->getOperand(0).getValueType() != NewVT) in SplitVecRes_VECTOR_SHUFFLE()
2928 if (!Inputs[I].hasOneUse() && Shuffle->getOperand(1).isUndef() && in SplitVecRes_VECTOR_SHUFFLE()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILValueEnumerator.cpp269 assert(List.size() == Stack.back().Shuffle.size() && "Wrong size"); in predictValueUseListOrderImpl()
271 Stack.back().Shuffle[I] = List[I].second; in predictValueUseListOrderImpl()
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/
H A DValueEnumerator.cpp226 assert(List.size() == Stack.back().Shuffle.size() && "Wrong size"); in predictValueUseListOrderImpl()
228 Stack.back().Shuffle[I] = List[I].second; in predictValueUseListOrderImpl()
/freebsd/contrib/googletest/googletest/test/
H A Dgtest_unittest.cc268 using testing::internal::Shuffle;
1011 Shuffle(&random_, &vector_); in TEST_F()
1060 Shuffle(&random_, &vector_); in TEST_F()
1062 Shuffle(&random_, &vector2); in TEST_F()
5653 static Flags Shuffle(bool shuffle) { in Shuffle() function
6168 GTEST_TEST_PARSING_FLAGS_(argv, argv2, Flags::Shuffle(true), false); in TEST_F()
6177 GTEST_TEST_PARSING_FLAGS_(argv, argv2, Flags::Shuffle(false), false); in TEST_F()
6186 GTEST_TEST_PARSING_FLAGS_(argv, argv2, Flags::Shuffle(true), false); in TEST_F()
/freebsd/contrib/googletest/googletest/src/
H A Dgtest-internal-inl.h329 inline void Shuffle(internal::Random* random, std::vector<E>* v) { in Shuffle() function
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.cpp13029 SDValue Shuffle = in ReconstructShuffle() local
13032 return DAG.getBitcast(VT, Shuffle); in ReconstructShuffle()
13194 SDValue Shuffle = in ReconstructShuffle() local
13198 V = DAG.getNode(AArch64ISD::NVCAST, DL, VT, Shuffle); in ReconstructShuffle()
13200 V = DAG.getNode(ISD::BITCAST, DL, VT, Shuffle); in ReconstructShuffle()
13203 LLVM_DEBUG(dbgs() << "Reshuffle, creating node: "; Shuffle.dump(); in ReconstructShuffle()
13756 SDValue Shuffle; in GenerateTBL() local
13760 Shuffle = DAG.getNode( in GenerateTBL()
13767 Shuffle = DAG.getNode( in GenerateTBL()
13778 Shuffle = DAG.getNode( in GenerateTBL()
[all …]
/freebsd/contrib/llvm-project/compiler-rt/lib/fuzzer/
H A DFuzzerFlags.def46 FUZZER_FLAG_INT(shuffle, 1, "Shuffle inputs at startup")
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyISelLowering.cpp2310 auto *Shuffle = cast<ShuffleVectorSDNode>(Op.getNode()); in GetExtendHigh() local
2312 ArrayRef<int> Mask = Shuffle->getMask(); in GetExtendHigh()
2325 return DAG.getNode(Opc, DL, VT, Shuffle->getOperand(0)); in GetExtendHigh()
2889 auto Shuffle = cast<ShuffleVectorSDNode>(N); in performVECTOR_SHUFFLECombine() local
2907 SrcType, SDLoc(N), CastOp, DAG.getUNDEF(SrcType), Shuffle->getMask()); in performVECTOR_SHUFFLECombine()

123