| /llvm-project-15.0.7/llvm/lib/Target/X86/MCTargetDesc/ |
| H A D | X86ShuffleDecode.cpp | 28 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 D | X86ShuffleDecode.h | 53 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 D | X86InstComments.cpp | 641 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 D | X86ShuffleDecodeConstantPool.cpp | 134 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 D | X86ShuffleDecodeConstantPool.h | 27 SmallVectorImpl<int> &ShuffleMask); 31 SmallVectorImpl<int> &ShuffleMask); 35 unsigned Width, SmallVectorImpl<int> &ShuffleMask); 39 SmallVectorImpl<int> &ShuffleMask);
|
| H A D | X86InstCombineIntrinsic.cpp | 586 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 D | X86MCInstLower.cpp | 1860 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 D | X86InterleavedAccess.cpp | 478 SmallVectorImpl<int> &ShuffleMask, in DecodePALIGNRMask() argument 494 ShuffleMask.push_back(Base + l); in DecodePALIGNRMask()
|
| H A D | X86LowerAMXIntrinsics.cpp | 443 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 D | ConstantsContext.h | 190 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 D | AutoUpgrade.cpp | 2586 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 D | IRBuilder.cpp | 1108 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 D | HexagonISelDAGToDAGHVX.cpp | 760 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 D | AArch64PostLegalizerLowering.cpp | 221 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 D | LegalizeVectorOps.cpp | 1018 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 D | PerfectShuffle.cpp | 109 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 D | GVNSink.cpp | 349 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 D | ScalarizeMaskedMemIntrin.cpp | 660 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 D | MachineOperand.h | 179 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 D | Instructions.h | 2009 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 D | LoopUtils.cpp | 962 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 D | InstCombineCasts.cpp | 2169 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 D | ARMISelLowering.cpp | 8417 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 D | AArch64ISelLowering.cpp | 10250 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 D | SLPVectorizer.cpp | 6953 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 …]
|