Home
last modified time | relevance | path

Searched refs:Shuf (Results 1 – 21 of 21) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp1282 if (!Shuf || !Shuf->isZeroEltSplat()) in foldInsEltIntoSplat()
1319 if (!Shuf || !match(Shuf->getOperand(1), m_Undef()) || in foldInsEltIntoIdentityShuffle()
1728 return Shuf; in visitInsertElementInst()
2093 Value *Op0 = Shuf.getOperand(0), *Op1 = Shuf.getOperand(1); in foldSelectShuffleOfSelectShuffle()
2142 Value *Op0 = Shuf.getOperand(0), *Op1 = Shuf.getOperand(1); in foldSelectShuffleWith1Binop()
2195 Value *Op0 = Shuf.getOperand(0), *Op1 = Shuf.getOperand(1); in canonicalizeInsertSplat()
2236 Shuf.commute(); in foldSelectShuffle()
2237 return &Shuf; in foldSelectShuffle()
2381 assert(Shuf.changesLength() && !Shuf.increasesLength() && in foldTruncShuffle()
2534 Value *Op0 = Shuf.getOperand(0), *Op1 = Shuf.getOperand(1); in foldIdentityExtractShuffle()
[all …]
H A DInstCombineCasts.cpp624 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); in shrinkSplatShuffle() local
625 if (Shuf && Shuf->hasOneUse() && match(Shuf->getOperand(1), m_Undef()) && in shrinkSplatShuffle()
626 all_equal(Shuf->getShuffleMask()) && in shrinkSplatShuffle()
627 Shuf->getType() == Shuf->getOperand(0)->getType()) { in shrinkSplatShuffle()
631 return new ShuffleVectorInst(NarrowOp, Shuf->getShuffleMask()); in shrinkSplatShuffle()
2663 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(Src)) { in visitBitCast() local
2666 Value *ShufOp0 = Shuf->getOperand(0); in visitBitCast()
2667 Value *ShufOp1 = Shuf->getOperand(1); in visitBitCast()
2670 if (Shuf->hasOneUse() && DestTy->isVectorTy() && in visitBitCast()
2685 return new ShuffleVectorInst(LHS, RHS, Shuf->getShuffleMask()); in visitBitCast()
[all …]
H A DInstCombineNegator.cpp347 auto *Shuf = cast<ShuffleVectorInst>(I); in visitImpl() local
354 return Builder.CreateShuffleVector(NegOp0, NegOp1, Shuf->getShuffleMask(), in visitImpl()
H A DInstCombineSimplifyDemanded.cpp1847 auto Shuf = m_Shuffle(m_Specific(ShufOp), m_Value(), m_ZeroMask()); in SimplifyDemandedVectorElts() local
1849 ? match(U, m_c_BinOp(Opcode, Shuf, m_Specific(OtherOp))) in SimplifyDemandedVectorElts()
1851 ? match(U, m_BinOp(Opcode, Shuf, m_Specific(OtherOp))) in SimplifyDemandedVectorElts()
1852 : match(U, m_BinOp(Opcode, m_Specific(OtherOp), Shuf))) in SimplifyDemandedVectorElts()
H A DInstCombineInternal.h571 Instruction *foldSelectShuffle(ShuffleVectorInst &Shuf);
H A DInstCombineCalls.cpp389 Value *Shuf = in simplifyMaskedGather() local
391 return replaceInstUsesWith(II, cast<Instruction>(Shuf)); in simplifyMaskedGather()
3392 if (Instruction *Shuf = foldShuffledIntrinsicOperands(II, Builder)) in visitCallInst() local
3393 return Shuf; in visitCallInst()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVELaneInterleavingPass.cpp386 Value *Shuf = Builder.CreateShuffleVector(I, TruncMask); in tryInterleave() local
387 I->replaceAllUsesWith(Shuf); in tryInterleave()
388 cast<Instruction>(Shuf)->setOperand(0, I); in tryInterleave()
390 LLVM_DEBUG(dbgs() << " with " << *Shuf << "\n"); in tryInterleave()
H A DARMISelLowering.cpp17334 auto *Shuf = dyn_cast<ShuffleVectorSDNode>(N->getOperand(VecOp)); in PerformReduceShuffleCombine() local
17335 if (!Shuf || !Shuf->getOperand(1).isUndef()) in PerformReduceShuffleCombine()
17339 ArrayRef<int> Mask = Shuf->getMask(); in PerformReduceShuffleCombine()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp280 auto *Shuf = cast<ShuffleVectorInst>(&I); in widenSubvectorLoad() local
281 if (!Shuf->isIdentityWithPadding()) in widenSubvectorLoad()
286 cast<FixedVectorType>(Shuf->getOperand(0)->getType())->getNumElements(); in widenSubvectorLoad()
287 unsigned OpIndex = any_of(Shuf->getShuffleMask(), [&NumOpElts](int M) { in widenSubvectorLoad()
291 auto *Load = dyn_cast<LoadInst>(Shuf->getOperand(OpIndex)); in widenSubvectorLoad()
511 Value *Shuf = createShiftShuffle(X, cast<ConstantInt>(C)->getZExtValue(), in translateExtract() local
676 Value *Shuf = Builder.CreateShuffleVector(DestVec, VecFNeg, Mask); in foldInsExtFNeg() local
677 replaceValue(I, *Shuf); in foldInsExtFNeg()
739 Value *Shuf = Builder.CreateShuffleVector(CastV, NewMask); in foldBitcastShuffle() local
740 replaceValue(I, *Shuf); in foldBitcastShuffle()
[all …]
H A DVPlan.cpp257 Value *Shuf = Builder.CreateVectorSplat(VF, V, "broadcast"); in get() local
259 return Shuf; in get()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPULowerKernelArguments.cpp274 Value *Shuf = Builder.CreateShuffleVector(Load, ArrayRef<int>{0, 1, 2}, in lowerKernelArguments() local
276 Arg.replaceAllUsesWith(Shuf); in lowerKernelArguments()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DVectorUtils.cpp276 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) { in isSplatValue() local
279 if (!all_equal(Shuf->getShuffleMask())) in isSplatValue()
288 return Shuf->getMaskValue(Index) == Index; in isSplatValue()
H A DValueTracking.cpp137 if (isa<ScalableVectorType>(Shuf->getType())) { in getShuffleDemandedElts()
1584 auto *Shuf = dyn_cast<ShuffleVectorInst>(I); in computeKnownBitsFromOperator() local
1586 if (!Shuf) { in computeKnownBitsFromOperator()
1600 const Value *LHS = Shuf->getOperand(0); in computeKnownBitsFromOperator()
1607 const Value *RHS = Shuf->getOperand(1); in computeKnownBitsFromOperator()
3533 if (!Shuf) { in ComputeNumSignBitsImpl()
3544 const Value *LHS = Shuf->getOperand(0); in ComputeNumSignBitsImpl()
3552 const Value *RHS = Shuf->getOperand(1); in ComputeNumSignBitsImpl()
5192 if (!Shuf || !getShuffleDemandedElts(Shuf, DemandedElts, DemandedLHS, DemandedRHS)) in computeKnownFPClass()
5196 const Value *LHS = Shuf->getOperand(0); in computeKnownFPClass()
[all …]
H A DInstructionSimplify.cpp4526 auto *Shuf = dyn_cast<ShuffleVectorInst>(FVal); in simplifyCmpSelOfMaxMin() local
4527 if (Shuf && Shuf->isSelect()) { in simplifyCmpSelOfMaxMin()
4528 if (Shuf->getOperand(0) == Y) in simplifyCmpSelOfMaxMin()
4529 FVal = Shuf->getOperand(1); in simplifyCmpSelOfMaxMin()
4530 else if (Shuf->getOperand(1) == Y) in simplifyCmpSelOfMaxMin()
4531 FVal = Shuf->getOperand(0); in simplifyCmpSelOfMaxMin()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DConstants.cpp1626 const auto *Shuf = dyn_cast<ConstantExpr>(this); in getSplatValue() local
1627 if (Shuf && Shuf->getOpcode() == Instruction::ShuffleVector && in getSplatValue()
1628 isa<UndefValue>(Shuf->getOperand(1))) { in getSplatValue()
1630 const auto *IElt = dyn_cast<ConstantExpr>(Shuf->getOperand(0)); in getSplatValue()
1634 ArrayRef<int> Mask = Shuf->getShuffleMask(); in getSplatValue()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp1041 Value *Shuf = Builder.CreateShuffleVector(TmpVec, ShuffleMask, "rdx.shuf"); in getShuffleReduction() local
1044 TmpVec = Builder.CreateBinOp((Instruction::BinaryOps)Op, TmpVec, Shuf, in getShuffleReduction()
1049 TmpVec = createMinMaxOp(Builder, RdxKind, TmpVec, Shuf); in getShuffleReduction()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp21769 return Shuf; in visitINSERT_VECTOR_ELT()
21772 return Shuf; in visitINSERT_VECTOR_ELT()
21775 return Shuf; in visitINSERT_VECTOR_ELT()
22936 if (!Shuf) in reduceBuildVecToShuffleWithZero()
24602 SDValue N0 = Shuf->getOperand(0), N1 = Shuf->getOperand(1); in foldShuffleOfConcatUndefs()
24640 SDLoc DL(Shuf); in foldShuffleOfConcatUndefs()
25082 if (!Shuf->isSplat()) { in combineShuffleOfSplatVal()
25114 return DAG.getVectorShuffle(VT, SDLoc(Shuf), Shuf->getOperand(0), in combineShuffleOfSplatVal()
25123 return Shuf->getOperand(0); in combineShuffleOfSplatVal()
25158 return Shuf->getOperand(0); in combineShuffleOfSplatVal()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DComplexDeinterleavingPass.cpp1796 } else if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) { in identifySplat() local
1797 VTy = Shuf->getType(); in identifySplat()
1798 Mask = Shuf->getShuffleMask(); in identifySplat()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86ISelLowering.cpp12343 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, Shuf, in lowerShuffleOfExtractsAsVperm()
20010 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(In)) in LowerAVXExtend() local
20011 if (hasIdenticalHalvesShuffleMask(Shuf->getMask())) in LowerAVXExtend()
33780 if (Shuf && getSplatIndex(Shuf->getShuffleMask()) >= 0 && in shouldSinkOperands()
40813 EVT VT = Shuf->getValueType(0); in narrowShuffle()
40820 ArrayRef<int> Mask = Shuf->getMask(); in narrowShuffle()
40837 return getShuffleHalfVectors(SDLoc(Shuf), Shuf->getOperand(0), in narrowShuffle()
40845 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(N)) in combineShuffle() local
40846 if (SDValue V = narrowShuffle(Shuf, DAG)) in combineShuffle()
53702 {N->getOperand(0), Shuf}); in combineSIntToFP()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.cpp14844 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) in isSplatShuffle() local
14845 return all_equal(Shuf->getShuffleMask()); in isSplatShuffle()
24437 auto *Shuf = dyn_cast<ShuffleVectorSDNode>(N->getOperand(1)); in ReplaceAddWithADDP() local
24438 if (!Shuf) { in ReplaceAddWithADDP()
24439 Shuf = dyn_cast<ShuffleVectorSDNode>(N->getOperand(0)); in ReplaceAddWithADDP()
24441 if (!Shuf) in ReplaceAddWithADDP()
24445 if (Shuf->getOperand(0) != X || !Shuf->getOperand(1)->isUndef()) in ReplaceAddWithADDP()
24449 ArrayRef<int> Mask = Shuf->getMask(); in ReplaceAddWithADDP()
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZISelLowering.cpp5997 SDValue Shuf = DAG.getVectorShuffle(InVT, DL, PackedOp, ZeroVec, Mask); in lowerZERO_EXTEND_VECTOR_INREG() local
5998 return DAG.getNode(ISD::BITCAST, DL, OutVT, Shuf); in lowerZERO_EXTEND_VECTOR_INREG()