Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/
H A DX86ShuffleDecode.cpp26 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 DX86ShuffleDecode.h31 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 DX86InstComments.cpp1072 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 DX86ShuffleDecodeConstantPool.cpp117 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 DX86ShuffleDecodeConstantPool.h27 SmallVectorImpl<int> &ShuffleMask);
31 SmallVectorImpl<int> &ShuffleMask);
35 unsigned Width, SmallVectorImpl<int> &ShuffleMask);
39 SmallVectorImpl<int> &ShuffleMask);
H A DX86InstCombineIntrinsic.cpp1764 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 DX86MCInstLower.cpp1481 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 DX86InterleavedAccess.cpp471 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 DLegality.h30 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 DConstantsContext.h172 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 DHexagonISelDAGToDAGHVX.cpp762 struct ShuffleMask { struct
763 ShuffleMask(ArrayRef<int> M) : Mask(M) { in ShuffleMask() argument
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 DAMDGPULateCodeGenPrepare.cpp233 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 DAMDGPUInstCombineIntrinsic.cpp464 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 DAArch64PostLegalizerLowering.cpp156 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 DInstructions.h1937 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 DBottomUpVec.h53 Value *createShuffle(Value *VecOp, const ShuffleMask &Mask,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp1160 &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 DGVNSink.cpp296 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 DScalarizeMaskedMemIntrin.cpp734 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 DLegalizeVectorOps.cpp1422 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 DMachineOperand.h180 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 DBottomUpVec.cpp197 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 DInterleavedAccessPass.cpp548 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 DInstCombineCasts.cpp2206 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 DLegality.cpp21 void ShuffleMask::dump() const { in dump()

12