Searched refs:Shuf (Results 1 - 14 of 14) sorted by relevance

/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp1026 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { argument
1029 if (isa<ScalableVectorType>(Shuf.getOperand(0)->getType()))
1032 int MaskSize = Shuf.getShuffleMask().size();
1034 cast<FixedVectorType>(Shuf.getOperand(0)->getType())->getNumElements();
1043 int Elt = Shuf.getMaskValue(i);
1129 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); local
1130 if (!Shuf || !Shuf->isZeroEltSplat())
1135 if (isa<ScalableVectorType>(Shuf->getType()))
1145 Value *Op0 = Shuf
1166 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); local
1791 foldSelectShuffleWith1Binop(ShuffleVectorInst &Shuf) argument
1847 canonicalizeInsertSplat(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder) argument
1880 foldSelectShuffle(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder, const DataLayout &DL) argument
2010 foldTruncShuffle(ShuffleVectorInst &Shuf, bool IsBigEndian) argument
2051 narrowVectorSelect(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder) argument
2084 foldIdentityExtractShuffle(ShuffleVectorInst &Shuf) argument
2221 foldIdentityPaddedShuffles(ShuffleVectorInst &Shuf) argument
[all...]
H A DInstCombineNegator.cpp312 auto *Shuf = cast<ShuffleVectorInst>(I); local
319 return Builder.CreateShuffleVector(NegOp0, NegOp1, Shuf->getShuffleMask(),
H A DInstCombineCasts.cpp682 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); local
683 if (Shuf && Shuf->hasOneUse() && match(Shuf->getOperand(1), m_Undef()) &&
684 is_splat(Shuf->getShuffleMask()) &&
685 Shuf->getType() == Shuf->getOperand(0)->getType()) {
688 Value *NarrowOp = Builder.CreateTrunc(Shuf->getOperand(0), Trunc.getType());
689 return new ShuffleVectorInst(NarrowOp, NarrowUndef, Shuf->getShuffleMask());
2671 if (auto *Shuf
[all...]
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/ARM/
H A DMVELaneInterleavingPass.cpp361 Value *Shuf = Builder.CreateShuffleVector(I, TruncMask); local
362 I->replaceAllUsesWith(Shuf);
363 cast<Instruction>(Shuf)->setOperand(0, I);
365 LLVM_DEBUG(dbgs() << " with " << *Shuf << "\n");
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerKernelArguments.cpp225 Value *Shuf = Builder.CreateShuffleVector(Load, ArrayRef<int>{0, 1, 2}, local
227 Arg.replaceAllUsesWith(Shuf);
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp398 Value *Shuf = createShiftShuffle(X, cast<ConstantInt>(C)->getZExtValue(),
400 return cast<ExtractElementInst>(Builder.CreateExtractElement(Shuf, NewIndex));
554 Value *Shuf = Builder.CreateShuffleVector(CastV, NewMask); local
555 replaceValue(I, *Shuf);
754 Value *Shuf = createShiftShuffle(VCmp, ExpensiveIndex, CheapIndex, Builder); local
756 VCmp, Shuf);
H A DLoopVectorize.cpp2251 Value *Shuf = Builder.CreateVectorSplat(VF, V, "broadcast");
2253 return Shuf;
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Analysis/
H A DVectorUtils.cpp377 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) {
380 if (!is_splat(Shuf->getShuffleMask()))
389 return Shuf->getMaskValue(Index) == Index;
H A DValueTracking.cpp156 static bool getShuffleDemandedElts(const ShuffleVectorInst *Shuf, argument
161 if (isa<ScalableVectorType>(Shuf->getType()))
165 cast<FixedVectorType>(Shuf->getOperand(0)->getType())->getNumElements();
166 int NumMaskElts = cast<FixedVectorType>(Shuf->getType())->getNumElements();
171 if (all_of(Shuf->getShuffleMask(), [](int Elt) { return Elt == 0; })) {
178 int M = Shuf->getMaskValue(i);
1654 auto *Shuf = dyn_cast<ShuffleVectorInst>(I); local
1656 if (!Shuf) {
1663 if (!getShuffleDemandedElts(Shuf, DemandedElts, DemandedLHS, DemandedRHS)) {
1670 const Value *LHS = Shuf
3102 auto *Shuf = dyn_cast<ShuffleVectorInst>(U); local
[all...]
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp996 Value *Shuf = Builder.CreateShuffleVector(TmpVec, ShuffleMask, "rdx.shuf"); local
1000 TmpVec = Builder.CreateBinOp((Instruction::BinaryOps)Op, TmpVec, Shuf,
1005 TmpVec = createMinMaxOp(Builder, RdxKind, TmpVec, Shuf);
/netbsd-current/external/apache2/llvm/dist/llvm/lib/IR/
H A DConstants.cpp1710 const auto *Shuf = dyn_cast<ConstantExpr>(this);
1711 if (Shuf && Shuf->getOpcode() == Instruction::ShuffleVector &&
1712 isa<UndefValue>(Shuf->getOperand(1))) {
1714 const auto *IElt = dyn_cast<ConstantExpr>(Shuf->getOperand(0));
1718 ArrayRef<int> Mask = Shuf->getShuffleMask();
/netbsd-current/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp18276 SDValue Shuf = DAG.getVectorShuffle(ShufVT, DL, DestVecBC, PaddedSubV, Mask); local
18279 AddToWorklist(Shuf.getNode());
18280 return DAG.getBitcast(VT, Shuf);
18324 if (SDValue Shuf = combineInsertEltToShuffle(N, Elt))
18325 return Shuf;
18625 auto *Shuf = cast<ShuffleVectorSDNode>(VecOp); local
18627 int OrigElt = Shuf->getMaskElt(IndexC->getZExtValue());
18747 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(VecOp)) {
18762 int Idx = (Elt > (int)NumElts) ? -1 : Shuf->getMaskElt(Elt);
19199 SDValue Shuf local
20357 foldShuffleOfConcatUndefs(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument
20680 combineShuffleOfSplatVal(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument
20809 replaceShuffleOfInsert(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument
20862 simplifyShuffleOfShuffle(ShuffleVectorSDNode *Shuf) argument
[all...]
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/X86/
H A DX86ISelLowering.cpp13620 SDValue Shuf = DAG.getVectorShuffle(WideVT, DL, WideVec, DAG.getUNDEF(WideVT),
13623 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, Shuf,
20786 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(In))
20787 if (hasIdenticalHalvesShuffleMask(Shuf->getMask()))
23289 SDValue Shuf = DAG.getVectorShuffle(MVT::v4i32, dl, Result, Result, Mask);
23290 Result = DAG.getNode(ISD::AND, dl, MVT::v4i32, Result, Shuf);
[all...]
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.cpp5307 SDValue Shuf = DAG.getVectorShuffle(InVT, DL, PackedOp, ZeroVec, Mask);
5308 return DAG.getNode(ISD::BITCAST, DL, OutVT, Shuf);

Completed in 621 milliseconds