Home
last modified time | relevance | path

Searched refs:ShuffleMask (Results 1 – 25 of 35) sorted by relevance

12

/llvm-project-15.0.7/llvm/lib/Target/X86/MCTargetDesc/
H A DX86ShuffleDecode.cpp28 ShuffleMask.push_back(0); in DecodeINSERTPSMask()
29 ShuffleMask.push_back(1); in DecodeINSERTPSMask()
30 ShuffleMask.push_back(2); in DecodeINSERTPSMask()
31 ShuffleMask.push_back(3); in DecodeINSERTPSMask()
41 ShuffleMask[CountD] = InVal; in DecodeINSERTPSMask()
54 ShuffleMask.push_back(i); in DecodeInsertElementMask()
65 ShuffleMask.push_back(i); in DecodeMOVHLPSMask()
71 ShuffleMask.push_back(i); in DecodeMOVLHPSMask()
197 ShuffleMask.push_back(h); in DecodePSWAPMask()
354 ShuffleMask.clear(); in DecodeVPPERMMask()
[all …]
H A DX86ShuffleDecode.h53 SmallVectorImpl<int> &ShuffleMask);
56 SmallVectorImpl<int> &ShuffleMask);
59 SmallVectorImpl<int> &ShuffleMask);
62 SmallVectorImpl<int> &ShuffleMask);
66 SmallVectorImpl<int> &ShuffleMask);
81 SmallVectorImpl<int> &ShuffleMask);
85 SmallVectorImpl<int> &ShuffleMask);
89 SmallVectorImpl<int> &ShuffleMask);
101 SmallVectorImpl<int> &ShuffleMask);
105 SmallVectorImpl<int> &ShuffleMask);
[all …]
H A DX86InstComments.cpp641 SmallVector<int, 8> ShuffleMask; in EmitAnyX86InstComments() local
665 ShuffleMask); in EmitAnyX86InstComments()
681 ShuffleMask); in EmitAnyX86InstComments()
697 ShuffleMask); in EmitAnyX86InstComments()
711 ShuffleMask); in EmitAnyX86InstComments()
903 ShuffleMask); in EmitAnyX86InstComments()
1403 if (ShuffleMask.empty()) in EmitAnyX86InstComments()
1421 ShuffleMask[i] -= e; in EmitAnyX86InstComments()
1438 bool isSrc1 = ShuffleMask[i] < (int)ShuffleMask.size(); in EmitAnyX86InstComments()
1443 (ShuffleMask[i] < (int)ShuffleMask.size()) == isSrc1) { in EmitAnyX86InstComments()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/X86/
H A DX86ShuffleDecodeConstantPool.cpp134 ShuffleMask.push_back(SM_SentinelUndef); in DecodePSHUFBMask()
141 ShuffleMask.push_back(SM_SentinelZero); in DecodePSHUFBMask()
149 ShuffleMask.push_back(Index); in DecodePSHUFBMask()
174 ShuffleMask.push_back(SM_SentinelUndef); in DecodeVPERMILPMask()
185 ShuffleMask.push_back(Index); in DecodeVPERMILPMask()
210 ShuffleMask.push_back(SM_SentinelUndef); in DecodeVPERMIL2PMask()
228 ShuffleMask.push_back(SM_SentinelZero); in DecodeVPERMIL2PMask()
240 ShuffleMask.push_back(Index); in DecodeVPERMIL2PMask()
285 ShuffleMask.push_back(SM_SentinelZero); in DecodeVPPERMMask()
289 ShuffleMask.clear(); in DecodeVPPERMMask()
[all …]
H A DX86ShuffleDecodeConstantPool.h27 SmallVectorImpl<int> &ShuffleMask);
31 SmallVectorImpl<int> &ShuffleMask);
35 unsigned Width, SmallVectorImpl<int> &ShuffleMask);
39 SmallVectorImpl<int> &ShuffleMask);
H A DX86InstCombineIntrinsic.cpp586 int ShuffleMask[4] = {0, 1, 2, 3}; in simplifyX86insertps() local
599 ShuffleMask[DestLane] = SourceLane; in simplifyX86insertps()
603 ShuffleMask[i] = i + 4; in simplifyX86insertps()
668 SmallVector<int, 16> ShuffleMask; in simplifyX86extrq() local
672 ShuffleMask.push_back(i + 16); in simplifyX86extrq()
674 ShuffleMask.push_back(-1); in simplifyX86extrq()
745 SmallVector<int, 16> ShuffleMask; in simplifyX86insertq() local
747 ShuffleMask.push_back(i); in simplifyX86insertq()
749 ShuffleMask.push_back(i + 16); in simplifyX86insertq()
751 ShuffleMask.push_back(i); in simplifyX86insertq()
[all …]
H A DX86MCInstLower.cpp1860 SmallVector<int, 8> ShuffleMask(Mask.begin(), Mask.end()); in getShuffleComment() local
1862 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) in getShuffleComment()
1863 if (ShuffleMask[i] >= e) in getShuffleComment()
1864 ShuffleMask[i] -= e; in getShuffleComment()
1887 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) { in getShuffleComment()
1890 if (ShuffleMask[i] == SM_SentinelZero) { in getShuffleComment()
1897 bool isSrc1 = ShuffleMask[i] < (int)e; in getShuffleComment()
1901 while (i != e && ShuffleMask[i] != SM_SentinelZero && in getShuffleComment()
1902 (ShuffleMask[i] < (int)e) == isSrc1) { in getShuffleComment()
1907 if (ShuffleMask[i] == SM_SentinelUndef) in getShuffleComment()
[all …]
H A DX86InterleavedAccess.cpp478 SmallVectorImpl<int> &ShuffleMask, in DecodePALIGNRMask() argument
494 ShuffleMask.push_back(Base + l); in DecodePALIGNRMask()
H A DX86LowerAMXIntrinsics.cpp443 int ShuffleMask[4] = {2, 0, 3, 1}; in createTileDPLoops() local
444 auto ShuffleArray = makeArrayRef(ShuffleMask); in createTileDPLoops()
/llvm-project-15.0.7/llvm/lib/IR/
H A DConstantsContext.h190 ShuffleMask.assign(Mask.begin(), Mask.end()); in ShuffleVectorConstantExpr()
195 SmallVector<int, 4> ShuffleMask; variable
439 ArrayRef<int> ShuffleMask;
458 ArrayRef<int> ShuffleMask = None,
461 SubclassData(SubclassData), Ops(Ops), ShuffleMask(ShuffleMask),
468 ShuffleMask(getShuffleMaskIfValid(CE)),
476 ShuffleMask(getShuffleMaskIfValid(CE)),
487 ShuffleMask == X.ShuffleMask && ExplicitTy == X.ExplicitTy;
502 if (ShuffleMask != getShuffleMaskIfValid(CE))
513 hash_combine_range(ShuffleMask.begin(), ShuffleMask.end()), ExplicitTy);
[all …]
H A DAutoUpgrade.cpp2586 SmallVector<int, 8> ShuffleMask(NumDstElts); in UpgradeIntrinsicCall() local
2588 ShuffleMask[i] = i; in UpgradeIntrinsicCall()
2630 SmallVector<int, 8> ShuffleMask(0); in UpgradeIntrinsicCall() local
2638 ShuffleMask.push_back(LaneMask * NumElementsInLane + i); in UpgradeIntrinsicCall()
2652 SmallVector<int, 8> ShuffleMask(NumDstElts); in UpgradeIntrinsicCall() local
2654 ShuffleMask[i] = i % NumSrcElts; in UpgradeIntrinsicCall()
2658 ShuffleMask); in UpgradeIntrinsicCall()
2851 SmallVector<int, 8> ShuffleMask(NumElts); in UpgradeIntrinsicCall() local
2864 ShuffleMask[i] = StartIndex + i; in UpgradeIntrinsicCall()
2869 ShuffleMask[i + HalfSize] = NumElts + StartIndex + i; in UpgradeIntrinsicCall()
[all …]
H A DIRBuilder.cpp1108 SmallVector<int, 8> ShuffleMask; in CreateVectorReverse() local
1111 ShuffleMask.push_back(NumElts - i - 1); in CreateVectorReverse()
1112 return CreateShuffleVector(V, ShuffleMask, Name); in CreateVectorReverse()
/llvm-project-15.0.7/llvm/lib/Target/Hexagon/
H A DHexagonISelDAGToDAGHVX.cpp760 struct ShuffleMask { struct
761 ShuffleMask(ArrayRef<int> M) : Mask(M) { in ShuffleMask() function
773 ShuffleMask lo() const { in lo() argument
775 return ShuffleMask(Mask.take_front(H)); in lo()
777 ShuffleMask hi() const { in hi() argument
779 return ShuffleMask(Mask.take_back(H)); in hi()
1272 ShuffleMask SMH(MaskH); in packs()
1280 ShuffleMask SW(Swapped); in packs()
1286 ShuffleMask SMA(MaskA); in packs()
1460 OpRef L = shuffs1(ShuffleMask(MaskL), Va, Results); in shuffs2()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/AArch64/GISel/
H A DAArch64PostLegalizerLowering.cpp221 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchREV() local
234 if (isREVMask(ShuffleMask, EltSize, NumElts, 64)) { in matchREV()
251 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchTRN() local
254 if (!isTRNMask(ShuffleMask, NumElts, WhichResult)) in matchTRN()
272 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchUZP() local
275 if (!isUZPMask(ShuffleMask, NumElts, WhichResult)) in matchUZP()
288 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchZip() local
291 if (!isZipMask(ShuffleMask, NumElts, WhichResult)) in matchZip()
432 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchINS() local
435 auto DstIsLeftAndDstLane = isINSMask(ShuffleMask, NumElts); in matchINS()
[all …]
/llvm-project-15.0.7/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeVectorOps.cpp1018 SmallVector<int, 16> ShuffleMask; in ExpandANY_EXTEND_VECTOR_INREG() local
1019 ShuffleMask.resize(NumSrcElements, -1); in ExpandANY_EXTEND_VECTOR_INREG()
1025 ShuffleMask[i * ExtLaneScale + EndianOffset] = i; in ExpandANY_EXTEND_VECTOR_INREG()
1029 DAG.getVectorShuffle(SrcVT, DL, Src, DAG.getUNDEF(SrcVT), ShuffleMask)); in ExpandANY_EXTEND_VECTOR_INREG()
1081 auto ShuffleMask = llvm::to_vector<16>(llvm::seq<int>(0, NumSrcElements)); in ExpandZERO_EXTEND_VECTOR_INREG() local
1086 ShuffleMask[i * ExtLaneScale + EndianOffset] = NumSrcElements + i; in ExpandZERO_EXTEND_VECTOR_INREG()
1089 DAG.getVectorShuffle(SrcVT, DL, Zero, Src, ShuffleMask)); in ExpandZERO_EXTEND_VECTOR_INREG()
1096 ShuffleMask.push_back((I * ScalarSizeInBytes) + J); in createBSWAPShuffleMask()
1107 SmallVector<int, 16> ShuffleMask; in ExpandBSWAP() local
1108 createBSWAPShuffleMask(VT, ShuffleMask); in ExpandBSWAP()
[all …]
/llvm-project-15.0.7/llvm/utils/PerfectShuffle/
H A DPerfectShuffle.cpp109 unsigned short ShuffleMask; member
115 : Name(name), ShuffleMask(shufflemask), OpNum(opnum),Cost(cost) { in Operator()
124 return isOnlyLHSMask(ShuffleMask); in isOnlyLHSOperator()
134 unsigned SrcElt = (ShuffleMask >> (4*i)) & 0xF; in getTransformedMask()
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DGVNSink.cpp349 ArrayRef<int> ShuffleMask; member in __anon7f9656e30111::InstructionUseExpr
360 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr()
372 MemoryUseOrder, Volatile, ShuffleMask); in getHashValue()
377 ShuffleMask); in getHashValue()
H A DScalarizeMaskedMemIntrin.cpp660 SmallVector<int, 16> ShuffleMask(VectorWidth, UndefMaskElem); in scalarizeMaskedExpandLoad() local
665 ShuffleMask[Idx] = Idx + VectorWidth; in scalarizeMaskedExpandLoad()
671 ShuffleMask[Idx] = Idx; in scalarizeMaskedExpandLoad()
677 VResult = Builder.CreateShuffleVector(VResult, PassThru, ShuffleMask); in scalarizeMaskedExpandLoad()
/llvm-project-15.0.7/llvm/include/llvm/CodeGen/
H A DMachineOperand.h179 ArrayRef<int> ShuffleMask; // For MO_ShuffleMask member
604 return Contents.ShuffleMask; in getShuffleMask()
942 Op.Contents.ShuffleMask = Mask; in CreateShuffleMask()
/llvm-project-15.0.7/llvm/include/llvm/IR/
H A DInstructions.h2009 SmallVector<int, 4> ShuffleMask;
2073 Result.assign(ShuffleMask.begin(), ShuffleMask.end());
2087 ArrayRef<int> getShuffleMask() const { return ShuffleMask; }
2097 unsigned NumMaskElts = ShuffleMask.size();
2108 unsigned NumMaskElts = ShuffleMask.size();
2129 return !changesLength() && isSingleSourceMask(ShuffleMask);
2161 return !changesLength() && isIdentityMask(ShuffleMask);
2202 return !changesLength() && isSelectMask(ShuffleMask);
2222 return !changesLength() && isReverseMask(ShuffleMask);
2244 return !changesLength() && isZeroEltSplatMask(ShuffleMask);
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp962 SmallVector<int, 32> ShuffleMask(VF); in getShuffleReduction() local
966 ShuffleMask[j] = i / 2 + j; in getShuffleReduction()
969 std::fill(&ShuffleMask[i / 2], ShuffleMask.end(), -1); in getShuffleReduction()
971 Value *Shuf = Builder.CreateShuffleVector(TmpVec, ShuffleMask, "rdx.shuf"); in getShuffleReduction()
/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombineCasts.cpp2169 ArrayRef<int> ShuffleMask; in optimizeVectorResizeWithIntegerBitCasts() local
2181 ShuffleMask = ShuffleMaskStorage; in optimizeVectorResizeWithIntegerBitCasts()
2183 ShuffleMask = ShuffleMask.take_back(DestElts); in optimizeVectorResizeWithIntegerBitCasts()
2185 ShuffleMask = ShuffleMask.take_front(DestElts); in optimizeVectorResizeWithIntegerBitCasts()
2201 ShuffleMask = ShuffleMaskStorage; in optimizeVectorResizeWithIntegerBitCasts()
2204 return new ShuffleVectorInst(InVal, V2, ShuffleMask); in optimizeVectorResizeWithIntegerBitCasts()
/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DARMISelLowering.cpp8417 for (int I : ShuffleMask) in LowerVECTOR_SHUFFLEv8i8()
8508 if (isReverseMask(ShuffleMask, VT)) { in LowerVECTOR_SHUFFLE_i1()
8568 if (ShuffleMask[Start + i] >= 0) { in LowerVECTOR_SHUFFLEUsingMovs()
8580 if (ShuffleMask[Start + i] >= 0 && in LowerVECTOR_SHUFFLEUsingMovs()
8738 if (isVREVMask(ShuffleMask, VT, 64)) in LowerVECTOR_SHUFFLE()
8740 if (isVREVMask(ShuffleMask, VT, 32)) in LowerVECTOR_SHUFFLE()
8742 if (isVREVMask(ShuffleMask, VT, 16)) in LowerVECTOR_SHUFFLE()
8827 if (ShuffleMask[i] < 0) in LowerVECTOR_SHUFFLE()
8830 PFIndexes[i] = ShuffleMask[i]; in LowerVECTOR_SHUFFLE()
8863 if (ShuffleMask[i] < 0) in LowerVECTOR_SHUFFLE()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.cpp10250 for (int Val : ShuffleMask) { in GenerateTBL()
10464 ArrayRef<int> ShuffleMask = SVN->getMask(); in LowerVECTOR_SHUFFLE() local
10512 if (isREVMask(ShuffleMask, VT, 64)) in LowerVECTOR_SHUFFLE()
10514 if (isREVMask(ShuffleMask, VT, 32)) in LowerVECTOR_SHUFFLE()
10516 if (isREVMask(ShuffleMask, VT, 16)) in LowerVECTOR_SHUFFLE()
10579 int SrcLane = ShuffleMask[Anomaly]; in LowerVECTOR_SHUFFLE()
10606 if (ShuffleMask[i] < 0) in LowerVECTOR_SHUFFLE()
10609 PFIndexes[i] = ShuffleMask[i]; in LowerVECTOR_SHUFFLE()
10620 return GenerateTBL(Op, ShuffleMask, DAG); in LowerVECTOR_SHUFFLE()
21736 auto ShuffleMask = SVN->getMask(); in LowerFixedLengthVECTOR_SHUFFLEToSVE() local
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/
H A DSLPVectorizer.cpp6953 SmallVector<int> Mask(ShuffleMask.begin()->second); in performExtractsShuffleAction()
6954 auto VMIt = std::next(ShuffleMask.begin()); in performExtractsShuffleAction()
6971 } else if (ShuffleMask.size() == 1) { in performExtractsShuffleAction()
6979 Prev = Action(Mask, {ShuffleMask.begin()->first}); in performExtractsShuffleAction()
6983 unsigned Vec1VF = GetVF(ShuffleMask.begin()->first); in performExtractsShuffleAction()
6995 Prev = Action(Mask, {ShuffleMask.begin()->first, VMIt->first}); in performExtractsShuffleAction()
6999 ResizeAction(ShuffleMask.begin()->first, Mask); in performExtractsShuffleAction()
7017 for (auto E = ShuffleMask.end(); VMIt != E; ++VMIt) { in performExtractsShuffleAction()
8677 SmallVector<int> ShuffleMask(SV->getShuffleMask().begin(), in vectorizeTree() local
8679 CombineMasks(ShuffleMask, Mask); in vectorizeTree()
[all …]

12