| /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 29 ShuffleMask.push_back(0); in DecodeINSERTPSMask() 30 ShuffleMask.push_back(1); in DecodeINSERTPSMask() 31 ShuffleMask.push_back(2); in DecodeINSERTPSMask() 32 ShuffleMask.push_back(3); in DecodeINSERTPSMask() 42 ShuffleMask[CountD] = InVal; in DecodeINSERTPSMask() 44 if (ZMask & 1) ShuffleMask[0] = SM_SentinelZero; in DecodeINSERTPSMask() 45 if (ZMask & 2) ShuffleMask[1] = SM_SentinelZero; in DecodeINSERTPSMask() 46 if (ZMask & 4) ShuffleMask[2] = SM_SentinelZero; in DecodeINSERTPSMask() 47 if (ZMask & 8) ShuffleMask[3] = SM_SentinelZero; in DecodeINSERTPSMask() [all …]
|
| H A D | X86ShuffleDecode.h | 31 void DecodeINSERTPSMask(unsigned Imm, SmallVectorImpl<int> &ShuffleMask, 37 SmallVectorImpl<int> &ShuffleMask); 41 void DecodeMOVHLPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask); 45 void DecodeMOVLHPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask); 47 void DecodeMOVSLDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 49 void DecodeMOVSHDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 51 void DecodeMOVDDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask); 54 SmallVectorImpl<int> &ShuffleMask); 57 SmallVectorImpl<int> &ShuffleMask); 60 SmallVectorImpl<int> &ShuffleMask); [all …]
|
| H A D | X86InstComments.cpp | 1072 SmallVector<int, 8> ShuffleMask; in EmitAnyX86InstComments() local 1102 ShuffleMask); in EmitAnyX86InstComments() 1118 ShuffleMask); in EmitAnyX86InstComments() 1134 ShuffleMask); in EmitAnyX86InstComments() 1148 ShuffleMask); in EmitAnyX86InstComments() 1160 DecodeINSERTPSMask(MI->getOperand(NumOperands - 1).getImm(), ShuffleMask, in EmitAnyX86InstComments() 1170 DecodeINSERTPSMask(MI->getOperand(NumOperands - 1).getImm(), ShuffleMask, in EmitAnyX86InstComments() 1180 DecodeMOVLHPSMask(2, ShuffleMask); in EmitAnyX86InstComments() 1189 DecodeMOVHLPSMask(2, ShuffleMask); in EmitAnyX86InstComments() 1197 DecodeInsertElementMask(2, 1, 1, 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 | 1764 int ShuffleMask[4] = {0, 1, 2, 3}; in simplifyX86insertps() local 1777 ShuffleMask[DestLane] = SourceLane; in simplifyX86insertps() 1781 ShuffleMask[i] = i + 4; in simplifyX86insertps() 1788 ShuffleMask[DestLane] = SourceLane + 4; in simplifyX86insertps() 1791 return Builder.CreateShuffleVector(II.getArgOperand(0), V1, ShuffleMask); in simplifyX86insertps() 1846 SmallVector<int, 16> ShuffleMask; in simplifyX86extrq() local 1848 ShuffleMask.push_back(i + Index); in simplifyX86extrq() 1850 ShuffleMask.push_back(i + 16); in simplifyX86extrq() 1852 ShuffleMask.push_back(-1); in simplifyX86extrq() 1856 ConstantAggregateZero::get(ShufTy), ShuffleMask); in simplifyX86extrq() [all …]
|
| H A D | X86MCInstLower.cpp | 1481 SmallVector<int, 8> ShuffleMask(Mask); in printShuffleMask() local 1483 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) in printShuffleMask() 1484 if (ShuffleMask[i] >= e) in printShuffleMask() 1485 ShuffleMask[i] -= e; in printShuffleMask() 1487 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) { in printShuffleMask() 1490 if (ShuffleMask[i] == SM_SentinelZero) { in printShuffleMask() 1497 bool isSrc1 = ShuffleMask[i] < (int)e; in printShuffleMask() 1501 while (i != e && ShuffleMask[i] != SM_SentinelZero && in printShuffleMask() 1502 (ShuffleMask[i] < (int)e) == isSrc1) { in printShuffleMask() 1507 if (ShuffleMask[i] == SM_SentinelUndef) in printShuffleMask() [all …]
|
| H A D | X86InterleavedAccess.cpp | 471 SmallVectorImpl<int> &ShuffleMask, in DecodePALIGNRMask() argument 487 ShuffleMask.push_back(Base + l); in DecodePALIGNRMask()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/ |
| H A D | Legality.h | 30 class ShuffleMask { 38 ShuffleMask(SmallVectorImpl<int> &&Indices) : Indices(std::move(Indices)) {} in ShuffleMask() function 39 ShuffleMask(std::initializer_list<int> Indices) : Indices(Indices) {} in ShuffleMask() function 40 explicit ShuffleMask(ArrayRef<int> Indices) : Indices(Indices) {} in ShuffleMask() function 44 static ShuffleMask getIdentity(unsigned Sz) { in getIdentity() 48 return ShuffleMask(std::move(Indices)); in getIdentity() 59 bool operator==(const ShuffleMask &Other) const { 62 bool operator!=(const ShuffleMask &Other) const { return !(*this == Other); } 69 friend raw_ostream &operator<<(raw_ostream &OS, const ShuffleMask &Mask) { 227 ShuffleMask Mask; [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/IR/ |
| H A D | ConstantsContext.h | 172 ShuffleMask.assign(Mask.begin(), Mask.end()); in ShuffleVectorConstantExpr() 177 SmallVector<int, 4> ShuffleMask; variable 392 ArrayRef<int> ShuffleMask; 418 ArrayRef<int> ShuffleMask = {}, 422 ShuffleMask(ShuffleMask), ExplicitTy(ExplicitTy), 428 ShuffleMask(getShuffleMaskIfValid(CE)), 436 ShuffleMask(getShuffleMaskIfValid(CE)), 455 ShuffleMask == X.ShuffleMask && ExplicitTy == X.ExplicitTy && 469 if (ShuffleMask != getShuffleMaskIfValid(CE)) 480 hash_combine_range(ShuffleMask), ExplicitTy); [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonISelDAGToDAGHVX.cpp | 762 struct ShuffleMask { struct 763 ShuffleMask(ArrayRef<int> M) : Mask(M) { in ShuffleMask() function 775 ShuffleMask lo() const { in lo() argument 777 return ShuffleMask(Mask.take_front(H)); in lo() 779 ShuffleMask hi() const { in hi() argument 781 return ShuffleMask(Mask.take_back(H)); in hi() 793 raw_ostream &operator<<(raw_ostream &OS, const ShuffleMask &SM) { in operator <<() 951 static SmallVector<uint32_t, 8> getPerfectCompletions(ShuffleMask SM, 955 static std::optional<int> rotationDistance(ShuffleMask SM, unsigned WrapAt); 971 OpRef packs(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results, [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPULateCodeGenPrepare.cpp | 233 SmallVector<int, 8> ShuffleMask; in convertToOptType() local 236 ShuffleMask.push_back(I); in convertToOptType() 239 ShuffleMask.push_back(OriginalElementCount); in convertToOptType() 241 Value *ExpandedVec = Builder.CreateShuffleVector(V, ShuffleMask); in convertToOptType() 277 SmallVector<int, 8> ShuffleMask(NarrowElementCount); in convertFromOptType() local 278 std::iota(ShuffleMask.begin(), ShuffleMask.end(), 0); in convertFromOptType() 280 return Builder.CreateShuffleVector(Converted, ShuffleMask); in convertFromOptType()
|
| H A D | AMDGPUInstCombineIntrinsic.cpp | 464 SmallVector<int> ShuffleMask; in defaultComponentBroadcast() local 466 SVI->getShuffleMask(ShuffleMask); in defaultComponentBroadcast() 469 if (ShuffleMask.empty()) { in defaultComponentBroadcast() 476 if (ShuffleMask[I] != ShuffleMask[0] && ShuffleMask[I] != PoisonMaskElem) in defaultComponentBroadcast()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/GISel/ |
| H A D | AArch64PostLegalizerLowering.cpp | 156 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchREV() local 170 if (isREVMask(ShuffleMask, EltSize, NumElts, LaneSize)) { in matchREV() 193 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchTRN() local 196 if (!isTRNMask(ShuffleMask, NumElts, WhichResult)) in matchTRN() 214 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchUZP() local 217 if (!isUZPMask(ShuffleMask, NumElts, WhichResult)) in matchUZP() 230 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchZip() local 233 if (!isZIPMask(ShuffleMask, NumElts, WhichResult)) in matchZip() 486 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchINS() local 489 auto DstIsLeftAndDstLane = isINSMask(ShuffleMask, NumElts); in matchINS() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | Instructions.h | 1937 SmallVector<int, 4> ShuffleMask; 1984 int getMaskValue(unsigned Elt) const { return ShuffleMask[Elt]; } 1994 Result.assign(ShuffleMask.begin(), ShuffleMask.end()); 2008 ArrayRef<int> getShuffleMask() const { return ShuffleMask; } 2018 unsigned NumMaskElts = ShuffleMask.size(); 2029 unsigned NumMaskElts = ShuffleMask.size(); 2052 isSingleSourceMask(ShuffleMask, ShuffleMask.size()); 2084 return !changesLength() && isIdentityMask(ShuffleMask, ShuffleMask.size()); 2125 return !changesLength() && isSelectMask(ShuffleMask, ShuffleMask.size()); 2146 return !changesLength() && isReverseMask(ShuffleMask, ShuffleMask.size()); [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/ |
| H A D | BottomUpVec.h | 53 Value *createShuffle(Value *VecOp, const ShuffleMask &Mask,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 1160 &RdxKind](SmallVectorImpl<int> &ShuffleMask, in getShuffleReduction() 1162 Value *Shuf = Builder.CreateShuffleVector(TmpVec, ShuffleMask, "rdx.shuf"); in getShuffleReduction() 1175 SmallVector<int, 32> ShuffleMask(VF); in getShuffleReduction() local 1178 llvm::fill(ShuffleMask, -1); in getShuffleReduction() 1180 ShuffleMask[j] = j + stride; in getShuffleReduction() 1182 BuildShuffledOp(ShuffleMask, TmpVec); in getShuffleReduction() 1185 SmallVector<int, 32> ShuffleMask(VF); in getShuffleReduction() local 1189 ShuffleMask[j] = i / 2 + j; in getShuffleReduction() 1192 std::fill(&ShuffleMask[i / 2], ShuffleMask.end(), -1); in getShuffleReduction() 1193 BuildShuffledOp(ShuffleMask, TmpVec); in getShuffleReduction()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | GVNSink.cpp | 296 ArrayRef<int> ShuffleMask; member in __anonac6bc9b30111::InstructionUseExpr 307 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr() 319 MemoryUseOrder, Volatile, ShuffleMask); in getHashValue() 324 ShuffleMask); in getHashValue()
|
| H A D | ScalarizeMaskedMemIntrin.cpp | 734 SmallVector<int, 16> ShuffleMask(VectorWidth, PoisonMaskElem); in scalarizeMaskedExpandLoad() local 739 ShuffleMask[Idx] = Idx + VectorWidth; in scalarizeMaskedExpandLoad() 745 ShuffleMask[Idx] = Idx; in scalarizeMaskedExpandLoad() 751 VResult = Builder.CreateShuffleVector(VResult, PassThru, ShuffleMask); in scalarizeMaskedExpandLoad()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | LegalizeVectorOps.cpp | 1422 SmallVector<int, 16> ShuffleMask; in ExpandANY_EXTEND_VECTOR_INREG() local 1423 ShuffleMask.resize(NumSrcElements, -1); in ExpandANY_EXTEND_VECTOR_INREG() 1429 ShuffleMask[i * ExtLaneScale + EndianOffset] = i; in ExpandANY_EXTEND_VECTOR_INREG() 1433 DAG.getVectorShuffle(SrcVT, DL, Src, DAG.getUNDEF(SrcVT), ShuffleMask)); in ExpandANY_EXTEND_VECTOR_INREG() 1484 auto ShuffleMask = llvm::to_vector<16>(llvm::seq<int>(0, NumSrcElements)); in ExpandZERO_EXTEND_VECTOR_INREG() local 1489 ShuffleMask[i * ExtLaneScale + EndianOffset] = NumSrcElements + i; in ExpandZERO_EXTEND_VECTOR_INREG() 1492 DAG.getVectorShuffle(SrcVT, DL, Zero, Src, ShuffleMask)); in ExpandZERO_EXTEND_VECTOR_INREG() 1495 static void createBSWAPShuffleMask(EVT VT, SmallVectorImpl<int> &ShuffleMask) { in createBSWAPShuffleMask() argument 1499 ShuffleMask.push_back((I * ScalarSizeInBytes) + J); in createBSWAPShuffleMask() 1510 SmallVector<int, 16> ShuffleMask; in ExpandBSWAP() local [all …]
|
| /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() 991 Op.Contents.ShuffleMask = Mask; in CreateShuffleMask()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/ |
| H A D | BottomUpVec.cpp | 197 Value *BottomUpVec::createShuffle(Value *VecOp, const ShuffleMask &Mask, in createShuffle() 387 const ShuffleMask &Mask = in emitVectors()
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | InterleavedAccessPass.cpp | 548 auto ShuffleMask = SVI->getShuffleMask(); in lowerInterleavedStore() local 552 NewShuffleMask[j] = ShuffleMask[i + Factor * j]; in lowerInterleavedStore()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineCasts.cpp | 2206 ArrayRef<int> ShuffleMask; in optimizeVectorResizeWithIntegerBitCasts() local 2218 ShuffleMask = ShuffleMaskStorage; in optimizeVectorResizeWithIntegerBitCasts() 2220 ShuffleMask = ShuffleMask.take_back(DestElts); in optimizeVectorResizeWithIntegerBitCasts() 2222 ShuffleMask = ShuffleMask.take_front(DestElts); in optimizeVectorResizeWithIntegerBitCasts() 2238 ShuffleMask = ShuffleMaskStorage; in optimizeVectorResizeWithIntegerBitCasts() 2241 return new ShuffleVectorInst(InVal, V2, ShuffleMask); in optimizeVectorResizeWithIntegerBitCasts()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/ |
| H A D | Legality.cpp | 21 void ShuffleMask::dump() const { in dump()
|