/freebsd/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/ |
H A D | X86ShuffleDecode.cpp | 26 void DecodeINSERTPSMask(unsigned Imm, SmallVectorImpl<int> &ShuffleMask) { in DecodeINSERTPSMask() argument 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() 43 if (ZMask & 1) ShuffleMask[0] = SM_SentinelZero; in DecodeINSERTPSMask() 44 if (ZMask & 2) ShuffleMask[1] = SM_SentinelZero; in DecodeINSERTPSMask() 45 if (ZMask & 4) ShuffleMask[2] = SM_SentinelZero; in DecodeINSERTPSMask() 46 if (ZMask & 8) ShuffleMask[3] = SM_SentinelZero; in DecodeINSERTPSMask() [all …]
|
H A D | X86ShuffleDecode.h | 31 void DecodeINSERTPSMask(unsigned Imm, SmallVectorImpl<int> &ShuffleMask); 36 SmallVectorImpl<int> &ShuffleMask); 40 void DecodeMOVHLPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask); 44 void DecodeMOVLHPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask); 46 void DecodeMOVSLDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 48 void DecodeMOVSHDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 50 void DecodeMOVDDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 53 SmallVectorImpl<int> &ShuffleMask); 56 SmallVectorImpl<int> &ShuffleMask); 59 SmallVectorImpl<int> &ShuffleMask); [all …]
|
H A D | X86InstComments.cpp | 631 SmallVector<int, 8> ShuffleMask; in EmitAnyX86InstComments() local 655 ShuffleMask); in EmitAnyX86InstComments() 671 ShuffleMask); in EmitAnyX86InstComments() 687 ShuffleMask); in EmitAnyX86InstComments() 701 ShuffleMask); in EmitAnyX86InstComments() 718 ShuffleMask); in EmitAnyX86InstComments() 727 DecodeMOVLHPSMask(2, ShuffleMask); in EmitAnyX86InstComments() 736 DecodeMOVHLPSMask(2, ShuffleMask); in EmitAnyX86InstComments() 744 DecodeInsertElementMask(2, 1, 1, ShuffleMask); in EmitAnyX86InstComments() 752 DecodeInsertElementMask(4, 2, 2, ShuffleMask); in EmitAnyX86InstComments() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86ShuffleDecodeConstantPool.cpp | 117 SmallVectorImpl<int> &ShuffleMask) { in DecodePSHUFBMask() argument 134 ShuffleMask.push_back(SM_SentinelUndef); in DecodePSHUFBMask() 141 ShuffleMask.push_back(SM_SentinelZero); in DecodePSHUFBMask() 149 ShuffleMask.push_back(Index); in DecodePSHUFBMask() 155 SmallVectorImpl<int> &ShuffleMask) { in DecodeVPERMILPMask() argument 174 ShuffleMask.push_back(SM_SentinelUndef); in DecodeVPERMILPMask() 185 ShuffleMask.push_back(Index); in DecodeVPERMILPMask() 190 unsigned Width, SmallVectorImpl<int> &ShuffleMask) { in DecodeVPERMIL2PMask() argument 210 ShuffleMask.push_back(SM_SentinelUndef); in DecodeVPERMIL2PMask() 228 ShuffleMask.push_back(SM_SentinelZero); in DecodeVPERMIL2PMask() [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 | 1768 int ShuffleMask[4] = {0, 1, 2, 3}; in simplifyX86insertps() local 1781 ShuffleMask[DestLane] = SourceLane; in simplifyX86insertps() 1785 ShuffleMask[i] = i + 4; in simplifyX86insertps() 1792 ShuffleMask[DestLane] = SourceLane + 4; in simplifyX86insertps() 1795 return Builder.CreateShuffleVector(II.getArgOperand(0), V1, ShuffleMask); in simplifyX86insertps() 1850 SmallVector<int, 16> ShuffleMask; in simplifyX86extrq() local 1852 ShuffleMask.push_back(i + Index); in simplifyX86extrq() 1854 ShuffleMask.push_back(i + 16); in simplifyX86extrq() 1856 ShuffleMask.push_back(-1); in simplifyX86extrq() 1860 ConstantAggregateZero::get(ShufTy), ShuffleMask); in simplifyX86extrq() [all …]
|
H A D | X86MCInstLower.cpp | 1486 SmallVector<int, 8> ShuffleMask(Mask); in printShuffleMask() local 1488 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) in printShuffleMask() 1489 if (ShuffleMask[i] >= e) in printShuffleMask() 1490 ShuffleMask[i] -= e; in printShuffleMask() 1492 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) { in printShuffleMask() 1495 if (ShuffleMask[i] == SM_SentinelZero) { in printShuffleMask() 1502 bool isSrc1 = ShuffleMask[i] < (int)e; in printShuffleMask() 1506 while (i != e && ShuffleMask[i] != SM_SentinelZero && in printShuffleMask() 1507 (ShuffleMask[i] < (int)e) == isSrc1) { in printShuffleMask() 1512 if (ShuffleMask[i] == SM_SentinelUndef) in printShuffleMask() [all …]
|
H A D | X86InterleavedAccess.cpp | 474 SmallVectorImpl<int> &ShuffleMask, in DecodePALIGNRMask() argument 490 ShuffleMask.push_back(Base + l); in DecodePALIGNRMask()
|
H A D | X86LowerAMXIntrinsics.cpp | 440 int ShuffleMask[4] = {2, 0, 3, 1}; in createTileDPLoops() local 441 auto ShuffleArray = ArrayRef(ShuffleMask); in createTileDPLoops()
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | ConstantsContext.h | 163 ShuffleMask.assign(Mask.begin(), Mask.end()); in ShuffleVectorConstantExpr() 168 SmallVector<int, 4> ShuffleMask; variable 381 ArrayRef<int> ShuffleMask; 407 ArrayRef<int> ShuffleMask = std::nullopt, 411 ShuffleMask(ShuffleMask), ExplicitTy(ExplicitTy), 417 ShuffleMask(getShuffleMaskIfValid(CE)), 425 ShuffleMask(getShuffleMaskIfValid(CE)), 444 ShuffleMask == X.ShuffleMask && ExplicitTy == X.ExplicitTy && 458 if (ShuffleMask != getShuffleMaskIfValid(CE)) 471 hash_combine_range(ShuffleMask.begin(), ShuffleMask.end()), ExplicitTy); [all …]
|
H A D | AutoUpgrade.cpp | 2792 SmallVector<int, 8> ShuffleMask(NumDstElts); in upgradeX86IntrinsicCall() local 2794 ShuffleMask[i] = i; in upgradeX86IntrinsicCall() 2796 Value *SV = Builder.CreateShuffleVector(CI->getArgOperand(0), ShuffleMask); in upgradeX86IntrinsicCall() 2835 SmallVector<int, 8> ShuffleMask(0); in upgradeX86IntrinsicCall() local 2843 ShuffleMask.push_back(LaneMask * NumElementsInLane + i); in upgradeX86IntrinsicCall() 2846 CI->getArgOperand(1), ShuffleMask); in upgradeX86IntrinsicCall() 2856 SmallVector<int, 8> ShuffleMask(NumDstElts); in upgradeX86IntrinsicCall() local 2858 ShuffleMask[i] = i % NumSrcElts; in upgradeX86IntrinsicCall() 2861 CI->getArgOperand(0), ShuffleMask); in upgradeX86IntrinsicCall() 3040 SmallVector<int, 8> ShuffleMask(NumElts); in upgradeX86IntrinsicCall() local [all …]
|
H A D | Instructions.cpp | 1709 int NumMaskElts = ShuffleMask.size(); in commute() 1822 ShuffleMask.assign(Mask.begin(), Mask.end()); in setShuffleMask() 2245 if (ShuffleMask.size() % VF != 0) in isReplicationMask() 2247 ReplicationFactor = ShuffleMask.size() / VF; in isReplicationMask() 2249 return isReplicationMaskWithParams(ShuffleMask, ReplicationFactor, VF); in isReplicationMask() 2277 if (!isSingleSourceMask(ShuffleMask, VF)) in isOneUseSingleSourceMask() 2280 return isOneUseSingleSourceMask(ShuffleMask, VF); in isOneUseSingleSourceMask() 2291 return isInterleaveMask(ShuffleMask, Factor, OpNumElts * 2); in isInterleave()
|
H A D | IRBuilder.cpp | 1159 SmallVector<int, 8> ShuffleMask; in CreateVectorReverse() local 1162 ShuffleMask.push_back(NumElts - i - 1); in CreateVectorReverse() 1163 return CreateShuffleVector(V, ShuffleMask, Name); in CreateVectorReverse()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonISelDAGToDAGHVX.cpp | 767 struct ShuffleMask { struct 768 ShuffleMask(ArrayRef<int> M) : Mask(M) { in ShuffleMask() argument 780 ShuffleMask lo() const { in lo() argument 782 return ShuffleMask(Mask.take_front(H)); in lo() 784 ShuffleMask hi() const { in hi() argument 786 return ShuffleMask(Mask.take_back(H)); in hi() 798 raw_ostream &operator<<(raw_ostream &OS, const ShuffleMask &SM) { in operator <<() 956 static SmallVector<uint32_t, 8> getPerfectCompletions(ShuffleMask SM, 960 static std::optional<int> rotationDistance(ShuffleMask SM, unsigned WrapAt); 976 OpRef packs(ShuffleMask S 777 Mask__anon9fc097470911::ShuffleMask global() argument 778 MaxSrc__anon9fc097470911::ShuffleMask global() argument 789 print__anon9fc097470911::ShuffleMask print() argument [all...] |
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPULateCodeGenPrepare.cpp | 227 SmallVector<int, 8> ShuffleMask; in convertToOptType() local 230 ShuffleMask.push_back(I); in convertToOptType() 233 ShuffleMask.push_back(OriginalElementCount); in convertToOptType() 235 Value *ExpandedVec = Builder.CreateShuffleVector(V, ShuffleMask); in convertToOptType() 271 SmallVector<int, 8> ShuffleMask(NarrowElementCount); in convertFromOptType() local 272 std::iota(ShuffleMask.begin(), ShuffleMask.end(), 0); in convertFromOptType() 274 return Builder.CreateShuffleVector(Converted, ShuffleMask); in convertFromOptType()
|
H A D | AMDGPUInstCombineIntrinsic.cpp | 409 SmallVector<int> ShuffleMask; in defaultComponentBroadcast() local 411 SVI->getShuffleMask(ShuffleMask); in defaultComponentBroadcast() 414 if (ShuffleMask.empty()) { in defaultComponentBroadcast() 421 if (ShuffleMask[I] != ShuffleMask[0] && ShuffleMask[I] != PoisonMaskElem) in defaultComponentBroadcast()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
H A D | AArch64PostLegalizerLowering.cpp | 160 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchREV() local 174 if (isREVMask(ShuffleMask, EltSize, NumElts, LaneSize)) { in matchREV() 197 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchTRN() local 200 if (!isTRNMask(ShuffleMask, NumElts, WhichResult)) in matchTRN() 218 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchUZP() local 221 if (!isUZPMask(ShuffleMask, NumElts, WhichResult)) in matchUZP() 234 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchZip() local 237 if (!isZIPMask(ShuffleMask, NumElts, WhichResult)) in matchZip() 468 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchINS() local 471 auto DstIsLeftAndDstLane = isINSMask(ShuffleMask, NumElts); in matchINS() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LoopUtils.cpp | 1135 &RdxKind](SmallVectorImpl<int> &ShuffleMask, in getShuffleReduction() 1137 Value *Shuf = Builder.CreateShuffleVector(TmpVec, ShuffleMask, "rdx.shuf"); in getShuffleReduction() 1150 SmallVector<int, 32> ShuffleMask(VF); in getShuffleReduction() local 1153 std::fill(ShuffleMask.begin(), ShuffleMask.end(), -1); in getShuffleReduction() 1155 ShuffleMask[j] = j + stride; in getShuffleReduction() 1157 BuildShuffledOp(ShuffleMask, TmpVec); in getShuffleReduction() 1160 SmallVector<int, 32> ShuffleMask(VF); in getShuffleReduction() local 1164 ShuffleMask[j] = i / 2 + j; in getShuffleReduction() 1167 std::fill(&ShuffleMask[i / 2], ShuffleMask.end(), -1); in getShuffleReduction() 1168 BuildShuffledOp(ShuffleMask, TmpVec); in getShuffleReduction()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | Instructions.h | 1809 SmallVector<int, 4> ShuffleMask; 1855 int getMaskValue(unsigned Elt) const { return ShuffleMask[Elt]; } 1865 Result.assign(ShuffleMask.begin(), ShuffleMask.end()); 1879 ArrayRef<int> getShuffleMask() const { return ShuffleMask; } 1889 unsigned NumMaskElts = ShuffleMask.size(); 1900 unsigned NumMaskElts = ShuffleMask.size(); 1923 isSingleSourceMask(ShuffleMask, ShuffleMask.size()); 1955 return !changesLength() && isIdentityMask(ShuffleMask, ShuffleMask.size()); 1996 return !changesLength() && isSelectMask(ShuffleMask, ShuffleMask.size()); 2017 return !changesLength() && isReverseMask(ShuffleMask, ShuffleMask.size()); [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | LegalizeVectorOps.cpp | 1241 SmallVector<int, 16> ShuffleMask; in ExpandANY_EXTEND_VECTOR_INREG() local 1242 ShuffleMask.resize(NumSrcElements, -1); in ExpandANY_EXTEND_VECTOR_INREG() 1248 ShuffleMask[i * ExtLaneScale + EndianOffset] = i; in ExpandANY_EXTEND_VECTOR_INREG() 1252 DAG.getVectorShuffle(SrcVT, DL, Src, DAG.getUNDEF(SrcVT), ShuffleMask)); in ExpandANY_EXTEND_VECTOR_INREG() 1304 auto ShuffleMask = llvm::to_vector<16>(llvm::seq<int>(0, NumSrcElements)); in ExpandZERO_EXTEND_VECTOR_INREG() local 1309 ShuffleMask[i * ExtLaneScale + EndianOffset] = NumSrcElements + i; in ExpandZERO_EXTEND_VECTOR_INREG() 1312 DAG.getVectorShuffle(SrcVT, DL, Zero, Src, ShuffleMask)); in ExpandZERO_EXTEND_VECTOR_INREG() 1315 static void createBSWAPShuffleMask(EVT VT, SmallVectorImpl<int> &ShuffleMask) { in createBSWAPShuffleMask() argument 1319 ShuffleMask.push_back((I * ScalarSizeInBytes) + J); in createBSWAPShuffleMask() 1330 SmallVector<int, 16> ShuffleMask; in ExpandBSWAP() local [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | GVNSink.cpp | 377 ArrayRef<int> ShuffleMask; member in __anonac6bc9b30111::InstructionUseExpr 388 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr() 400 MemoryUseOrder, Volatile, ShuffleMask); in getHashValue() 405 ShuffleMask); in getHashValue()
|
H A D | ScalarizeMaskedMemIntrin.cpp | 658 SmallVector<int, 16> ShuffleMask(VectorWidth, PoisonMaskElem); in scalarizeMaskedExpandLoad() local 663 ShuffleMask[Idx] = Idx + VectorWidth; in scalarizeMaskedExpandLoad() 669 ShuffleMask[Idx] = Idx; in scalarizeMaskedExpandLoad() 675 VResult = Builder.CreateShuffleVector(VResult, PassThru, ShuffleMask); in scalarizeMaskedExpandLoad()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | MachineOperand.h | 180 ArrayRef<int> ShuffleMask; // For MO_ShuffleMask member 624 return Contents.ShuffleMask; in getShuffleMask() 986 Op.Contents.ShuffleMask = Mask;
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineCasts.cpp | 2144 ArrayRef<int> ShuffleMask; in optimizeVectorResizeWithIntegerBitCasts() local 2156 ShuffleMask = ShuffleMaskStorage; in optimizeVectorResizeWithIntegerBitCasts() 2158 ShuffleMask = ShuffleMask.take_back(DestElts); in optimizeVectorResizeWithIntegerBitCasts() 2160 ShuffleMask = ShuffleMask.take_front(DestElts); in optimizeVectorResizeWithIntegerBitCasts() 2176 ShuffleMask = ShuffleMaskStorage; in optimizeVectorResizeWithIntegerBitCasts() 2179 return new ShuffleVectorInst(InVal, V2, ShuffleMask); in optimizeVectorResizeWithIntegerBitCasts()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMISelLowering.cpp | 7556 static unsigned isNEONTwoResultShuffleMask(ArrayRef<int> ShuffleMask, EVT VT, in isNEONTwoResultShuffleMask() argument 7560 if (isVTRNMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7562 if (isVUZPMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7564 if (isVZIPMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7568 if (isVTRN_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7570 if (isVUZP_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7572 if (isVZIP_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 8536 ArrayRef<int> ShuffleMask, in LowerVECTOR_SHUFFLEv8i8() argument 8544 for (int I : ShuffleMask) in LowerVECTOR_SHUFFLEv8i8() 8628 ArrayRef<int> ShuffleMask = SVN->getMask(); in LowerVECTOR_SHUFFLE_i1() local [all …]
|