Searched refs:ShuffleMask (Results 1 - 25 of 34) sorted by relevance

12

/openbsd-current/gnu/llvm/llvm/lib/Target/X86/MCTargetDesc/
H A DX86ShuffleDecode.h31 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 DX86ShuffleDecode.cpp26 void DecodeINSERTPSMask(unsigned Imm, SmallVectorImpl<int> &ShuffleMask) { argument
28 ShuffleMask.push_back(0);
29 ShuffleMask.push_back(1);
30 ShuffleMask.push_back(2);
31 ShuffleMask.push_back(3);
41 ShuffleMask[CountD] = InVal;
43 if (ZMask & 1) ShuffleMask[0] = SM_SentinelZero;
44 if (ZMask & 2) ShuffleMask[1] = SM_SentinelZero;
45 if (ZMask & 4) ShuffleMask[2] = SM_SentinelZero;
46 if (ZMask & 8) ShuffleMask[
49 DecodeInsertElementMask(unsigned NumElts, unsigned Idx, unsigned Len, SmallVectorImpl<int> &ShuffleMask) argument
60 DecodeMOVHLPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask) argument
69 DecodeMOVLHPSMask(unsigned NElts, SmallVectorImpl<int> &ShuffleMask) argument
77 DecodeMOVSLDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) argument
84 DecodeMOVSHDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) argument
91 DecodeMOVDDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) argument
99 DecodePSLLDQMask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
111 DecodePSRLDQMask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
124 DecodePALIGNRMask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
138 DecodeVALIGNMask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
147 DecodePSHUFMask(unsigned NumElts, unsigned ScalarBits, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
163 DecodePSHUFHWMask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
177 DecodePSHUFLWMask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
191 DecodePSWAPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) argument
200 DecodeSHUFPMask(unsigned NumElts, unsigned ScalarBits, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
217 DecodeUNPCKHMask(unsigned NumElts, unsigned ScalarBits, SmallVectorImpl<int> &ShuffleMask) argument
233 DecodeUNPCKLMask(unsigned NumElts, unsigned ScalarBits, SmallVectorImpl<int> &ShuffleMask) argument
249 DecodeVectorBroadcast(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) argument
254 DecodeSubVectorBroadcast(unsigned DstNumElts, unsigned SrcNumElts, SmallVectorImpl<int> &ShuffleMask) argument
263 decodeVSHUF64x2FamilyMask(unsigned NumElts, unsigned ScalarSize, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
280 DecodeVPERM2X128Mask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
292 DecodePSHUFBMask(ArrayRef<uint64_t> RawMask, const APInt &UndefElts, SmallVectorImpl<int> &ShuffleMask) argument
314 DecodeBLENDMask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
324 DecodeVPPERMMask(ArrayRef<uint64_t> RawMask, const APInt &UndefElts, SmallVectorImpl<int> &ShuffleMask) argument
363 DecodeVPERMMask(unsigned NumElts, unsigned Imm, SmallVectorImpl<int> &ShuffleMask) argument
370 DecodeZeroExtendMask(unsigned SrcScalarBits, unsigned DstScalarBits, unsigned NumDstElts, bool IsAnyExtend, SmallVectorImpl<int> &ShuffleMask) argument
476 DecodeVPERMILPMask(unsigned NumElts, unsigned ScalarBits, ArrayRef<uint64_t> RawMask, const APInt &UndefElts, SmallVectorImpl<int> &ShuffleMask) argument
498 DecodeVPERMIL2PMask(unsigned NumElts, unsigned ScalarBits, unsigned M2Z, ArrayRef<uint64_t> RawMask, const APInt &UndefElts, SmallVectorImpl<int> &ShuffleMask) argument
544 DecodeVPERMVMask(ArrayRef<uint64_t> RawMask, const APInt &UndefElts, SmallVectorImpl<int> &ShuffleMask) argument
558 DecodeVPERMV3Mask(ArrayRef<uint64_t> RawMask, const APInt &UndefElts, SmallVectorImpl<int> &ShuffleMask) argument
[all...]
H A DX86InstComments.cpp641 SmallVector<int, 8> ShuffleMask; local
665 ShuffleMask);
681 ShuffleMask);
697 ShuffleMask);
711 ShuffleMask);
728 ShuffleMask);
737 DecodeMOVLHPSMask(2, ShuffleMask);
746 DecodeMOVHLPSMask(2, ShuffleMask);
754 DecodeInsertElementMask(2, 1, 1, ShuffleMask);
762 DecodeInsertElementMask(4, 2, 2, ShuffleMask);
787 DecodeMOVSLDUPMask(getRegOperandNumElts(MI, 32, 0), ShuffleMask); local
796 DecodeMOVSHDUPMask(getRegOperandNumElts(MI, 32, 0), ShuffleMask); local
805 DecodeMOVDDUPMask(getRegOperandNumElts(MI, 64, 0), ShuffleMask); local
960 DecodeUNPCKHMask(getRegOperandNumElts(MI, 8, 0), 8, ShuffleMask); local
973 DecodeUNPCKHMask(getRegOperandNumElts(MI, 16, 0), 16, ShuffleMask); local
986 DecodeUNPCKHMask(getRegOperandNumElts(MI, 32, 0), 32, ShuffleMask); local
997 DecodeUNPCKHMask(getRegOperandNumElts(MI, 64, 0), 64, ShuffleMask); local
1010 DecodeUNPCKLMask(getRegOperandNumElts(MI, 8, 0), 8, ShuffleMask); local
1023 DecodeUNPCKLMask(getRegOperandNumElts(MI, 16, 0), 16, ShuffleMask); local
1036 DecodeUNPCKLMask(getRegOperandNumElts(MI, 32, 0), 32, ShuffleMask); local
1047 DecodeUNPCKLMask(getRegOperandNumElts(MI, 64, 0), 64, ShuffleMask); local
1109 DecodeUNPCKLMask(getRegOperandNumElts(MI, 64, 0), 64, ShuffleMask); local
1120 DecodeUNPCKLMask(getRegOperandNumElts(MI, 32, 0), 32, ShuffleMask); local
1131 DecodeUNPCKHMask(getRegOperandNumElts(MI, 64, 0), 64, ShuffleMask); local
1142 DecodeUNPCKHMask(getRegOperandNumElts(MI, 32, 0), 32, ShuffleMask); local
[all...]
/openbsd-current/gnu/llvm/llvm/lib/Target/X86/
H A DX86ShuffleDecodeConstantPool.h27 SmallVectorImpl<int> &ShuffleMask);
31 SmallVectorImpl<int> &ShuffleMask);
35 unsigned Width, SmallVectorImpl<int> &ShuffleMask);
39 SmallVectorImpl<int> &ShuffleMask);
H A DX86ShuffleDecodeConstantPool.cpp117 SmallVectorImpl<int> &ShuffleMask) {
134 ShuffleMask.push_back(SM_SentinelUndef);
141 ShuffleMask.push_back(SM_SentinelZero);
149 ShuffleMask.push_back(Index);
155 SmallVectorImpl<int> &ShuffleMask) {
174 ShuffleMask.push_back(SM_SentinelUndef);
185 ShuffleMask.push_back(Index);
190 unsigned Width, SmallVectorImpl<int> &ShuffleMask) {
210 ShuffleMask.push_back(SM_SentinelUndef);
228 ShuffleMask
116 DecodePSHUFBMask(const Constant *C, unsigned Width, SmallVectorImpl<int> &ShuffleMask) argument
154 DecodeVPERMILPMask(const Constant *C, unsigned ElSize, unsigned Width, SmallVectorImpl<int> &ShuffleMask) argument
189 DecodeVPERMIL2PMask(const Constant *C, unsigned M2Z, unsigned ElSize, unsigned Width, SmallVectorImpl<int> &ShuffleMask) argument
244 DecodeVPPERMMask(const Constant *C, unsigned Width, SmallVectorImpl<int> &ShuffleMask) argument
[all...]
H A DX86InstCombineIntrinsic.cpp587 int ShuffleMask[4] = {0, 1, 2, 3}; local
600 ShuffleMask[DestLane] = SourceLane;
604 ShuffleMask[i] = i + 4;
611 ShuffleMask[DestLane] = SourceLane + 4;
614 return Builder.CreateShuffleVector(II.getArgOperand(0), V1, ShuffleMask);
669 SmallVector<int, 16> ShuffleMask; local
671 ShuffleMask.push_back(i + Index);
673 ShuffleMask.push_back(i + 16);
675 ShuffleMask.push_back(-1);
679 ConstantAggregateZero::get(ShufTy), ShuffleMask);
746 SmallVector<int, 16> ShuffleMask; local
[all...]
H A DX86InterleavedAccess.cpp473 // function is stored inside ShuffleMask vector and it built as described in
478 SmallVectorImpl<int> &ShuffleMask,
494 ShuffleMask.push_back(Base + l);
477 DecodePALIGNRMask(MVT VT, unsigned Imm, SmallVectorImpl<int> &ShuffleMask, bool AlignDirection = true, bool Unary = false) argument
H A DX86MCInstLower.cpp1921 SmallVector<int, 8> ShuffleMask(Mask);
1923 for (int i = 0, e = ShuffleMask.size(); i != e; ++i)
1924 if (ShuffleMask[i] >= e)
1925 ShuffleMask[i] -= e;
1948 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) {
1951 if (ShuffleMask[i] == SM_SentinelZero) {
1958 bool isSrc1 = ShuffleMask[i] < (int)e;
1962 while (i != e && ShuffleMask[i] != SM_SentinelZero &&
1963 (ShuffleMask[i] < (int)e) == isSrc1) {
1968 if (ShuffleMask[
[all...]
H A DX86LowerAMXIntrinsics.cpp443 int ShuffleMask[4] = {2, 0, 3, 1}; local
444 auto ShuffleArray = ArrayRef(ShuffleMask);
/openbsd-current/gnu/llvm/llvm/lib/IR/
H A DConstantsContext.h188 ShuffleMask.assign(Mask.begin(), Mask.end());
193 SmallVector<int, 4> ShuffleMask; member in class:llvm::final
437 ArrayRef<int> ShuffleMask; member in struct:llvm::ConstantExprKeyType
456 ArrayRef<int> ShuffleMask = std::nullopt,
459 SubclassData(SubclassData), Ops(Ops), ShuffleMask(ShuffleMask),
466 ShuffleMask(getShuffleMaskIfValid(CE)),
474 ShuffleMask(getShuffleMaskIfValid(CE)),
485 ShuffleMask == X.ShuffleMask
[all...]
H A DAutoUpgrade.cpp2732 SmallVector<int, 8> ShuffleMask(NumDstElts);
2734 ShuffleMask[i] = i;
2737 Builder.CreateShuffleVector(CI->getArgOperand(0), ShuffleMask);
2776 SmallVector<int, 8> ShuffleMask(0);
2784 ShuffleMask.push_back(LaneMask * NumElementsInLane + i);
2787 CI->getArgOperand(1), ShuffleMask);
2798 SmallVector<int, 8> ShuffleMask(NumDstElts);
2800 ShuffleMask[i] = i % NumSrcElts;
2804 ShuffleMask);
2997 SmallVector<int, 8> ShuffleMask(NumElt
[all...]
H A DInstructions.cpp2147 int NumMaskElts = ShuffleMask.size();
2260 ShuffleMask.assign(Mask.begin(), Mask.end());
2677 if (ShuffleMask.size() % VF != 0)
2679 ReplicationFactor = ShuffleMask.size() / VF;
2681 return isReplicationMaskWithParams(ShuffleMask, ReplicationFactor, VF);
2709 if (!isSingleSourceMask(ShuffleMask))
2712 return isOneUseSingleSourceMask(ShuffleMask, VF);
H A DIRBuilder.cpp1214 SmallVector<int, 8> ShuffleMask; local
1217 ShuffleMask.push_back(NumElts - i - 1);
1218 return CreateShuffleVector(V, ShuffleMask, Name);
/openbsd-current/gnu/llvm/llvm/lib/Target/Hexagon/
H A DHexagonISelDAGToDAGHVX.cpp767 struct ShuffleMask {
768 ShuffleMask(ArrayRef<int> M) : Mask(M) {
780 ShuffleMask lo() const {
782 return ShuffleMask(Mask.take_front(H));
784 ShuffleMask hi() const {
786 return ShuffleMask(Mask.take_back(H));
798 raw_ostream &operator<<(raw_ostream &OS, const ShuffleMask &SM) {
956 static SmallVector<uint32_t, 8> getPerfectCompletions(ShuffleMask SM,
960 static std::optional<int> rotationDistance(ShuffleMask SM, unsigned WrapAt);
976 OpRef packs(ShuffleMask S
[all...]
/openbsd-current/gnu/llvm/llvm/lib/Target/AArch64/GISel/
H A DAArch64PostLegalizerLowering.cpp225 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); local
238 if (isREVMask(ShuffleMask, EltSize, NumElts, 64)) {
255 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); local
258 if (!isTRNMask(ShuffleMask, NumElts, WhichResult))
276 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); local
279 if (!isUZPMask(ShuffleMask, NumElts, WhichResult))
292 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); local
295 if (!isZipMask(ShuffleMask, NumElts, WhichResult))
474 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); local
477 auto DstIsLeftAndDstLane = isINSMask(ShuffleMask, NumElt
[all...]
/openbsd-current/gnu/llvm/llvm/utils/PerfectShuffle/
H A DPerfectShuffle.cpp109 unsigned short ShuffleMask; member in struct:Operator
115 : Name(name), ShuffleMask(shufflemask), OpNum(opnum),Cost(cost) {
124 return isOnlyLHSMask(ShuffleMask);
134 unsigned SrcElt = (ShuffleMask >> (4*i)) & 0xF;
/openbsd-current/gnu/llvm/llvm/lib/CodeGen/SelectionDAG/
H A DLegalizeVectorOps.cpp1062 SmallVector<int, 16> ShuffleMask; local
1063 ShuffleMask.resize(NumSrcElements, -1);
1069 ShuffleMask[i * ExtLaneScale + EndianOffset] = i;
1073 DAG.getVectorShuffle(SrcVT, DL, Src, DAG.getUNDEF(SrcVT), ShuffleMask));
1125 auto ShuffleMask = llvm::to_vector<16>(llvm::seq<int>(0, NumSrcElements)); local
1130 ShuffleMask[i * ExtLaneScale + EndianOffset] = NumSrcElements + i;
1133 DAG.getVectorShuffle(SrcVT, DL, Zero, Src, ShuffleMask));
1136 static void createBSWAPShuffleMask(EVT VT, SmallVectorImpl<int> &ShuffleMask) { argument
1140 ShuffleMask.push_back((I * ScalarSizeInBytes) + J);
1151 SmallVector<int, 16> ShuffleMask;
[all...]
/openbsd-current/gnu/llvm/llvm/include/llvm/CodeGen/
H A DMachineOperand.h180 ArrayRef<int> ShuffleMask; // For MO_ShuffleMask member in union:llvm::MachineOperand::ContentsUnion
621 return Contents.ShuffleMask;
979 Op.Contents.ShuffleMask = Mask;
/openbsd-current/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DScalarizeMaskedMemIntrin.cpp661 SmallVector<int, 16> ShuffleMask(VectorWidth, UndefMaskElem);
666 ShuffleMask[Idx] = Idx + VectorWidth;
672 ShuffleMask[Idx] = Idx;
678 VResult = Builder.CreateShuffleVector(VResult, PassThru, ShuffleMask);
H A DGVNSink.cpp347 ArrayRef<int> ShuffleMask;
358 ShuffleMask = SVI->getShuffleMask().copy(A);
370 MemoryUseOrder, Volatile, ShuffleMask);
375 ShuffleMask);
/openbsd-current/gnu/llvm/llvm/include/llvm/IR/
H A DInstructions.h2018 SmallVector<int, 4> ShuffleMask; member in class:llvm::CallInst::ShuffleVectorInst
2072 int getMaskValue(unsigned Elt) const { return ShuffleMask[Elt]; }
2082 Result.assign(ShuffleMask.begin(), ShuffleMask.end());
2096 ArrayRef<int> getShuffleMask() const { return ShuffleMask; }
2106 unsigned NumMaskElts = ShuffleMask.size();
2117 unsigned NumMaskElts = ShuffleMask.size();
2138 return !changesLength() && isSingleSourceMask(ShuffleMask);
2170 return !changesLength() && isIdentityMask(ShuffleMask);
2211 return !changesLength() && isSelectMask(ShuffleMask);
[all...]
/openbsd-current/gnu/llvm/llvm/lib/Transforms/Utils/
H A DLoopUtils.cpp961 SmallVector<int, 32> ShuffleMask(VF);
965 ShuffleMask[j] = i / 2 + j;
968 std::fill(&ShuffleMask[i / 2], ShuffleMask.end(), -1);
970 Value *Shuf = Builder.CreateShuffleVector(TmpVec, ShuffleMask, "rdx.shuf");
/openbsd-current/gnu/llvm/llvm/lib/Transforms/InstCombine/
H A DInstCombineCasts.cpp2168 ArrayRef<int> ShuffleMask; local
2180 ShuffleMask = ShuffleMaskStorage;
2182 ShuffleMask = ShuffleMask.take_back(DestElts);
2184 ShuffleMask = ShuffleMask.take_front(DestElts);
2200 ShuffleMask = ShuffleMaskStorage;
2203 return new ShuffleVectorInst(InVal, V2, ShuffleMask);
/openbsd-current/gnu/llvm/llvm/lib/Target/ARM/
H A DARMISelLowering.cpp7477 /// Check if \p ShuffleMask is a NEON two-result shuffle (VZIP, VUZP, VTRN),
7479 static unsigned isNEONTwoResultShuffleMask(ArrayRef<int> ShuffleMask, EVT VT, argument
7483 if (isVTRNMask(ShuffleMask, VT, WhichResult))
7485 if (isVUZPMask(ShuffleMask, VT, WhichResult))
7487 if (isVZIPMask(ShuffleMask, VT, WhichResult))
7491 if (isVTRN_v_undef_Mask(ShuffleMask, VT, WhichResult))
7493 if (isVUZP_v_undef_Mask(ShuffleMask, VT, WhichResult))
7495 if (isVZIP_v_undef_Mask(ShuffleMask, VT, WhichResult))
8459 ArrayRef<int> ShuffleMask,
8467 for (int I : ShuffleMask)
8458 LowerVECTOR_SHUFFLEv8i8(SDValue Op, ArrayRef<int> ShuffleMask, SelectionDAG &DAG) argument
8551 ArrayRef<int> ShuffleMask = SVN->getMask(); local
8599 LowerVECTOR_SHUFFLEUsingMovs(SDValue Op, ArrayRef<int> ShuffleMask, SelectionDAG &DAG) argument
8685 LowerVECTOR_SHUFFLEUsingOneOff(SDValue Op, ArrayRef<int> ShuffleMask, SelectionDAG &DAG) argument
[all...]
/openbsd-current/gnu/llvm/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.cpp11169 static SDValue GenerateTBL(SDValue Op, ArrayRef<int> ShuffleMask,
11197 for (int Val : ShuffleMask) {
11397 ArrayRef<int> ShuffleMask,
11420 if (ShuffleMask[I] < 16)
11421 TBLMaskParts[I] = Mask1->getOperand(ShuffleMask[I]);
11424 dyn_cast<ConstantSDNode>(Mask2->getOperand(ShuffleMask[I] - 16));
11476 ArrayRef<int> ShuffleMask = SVN->getMask();
11482 assert(ShuffleMask.size() == VT.getVectorNumElements() &&
11485 if (SDValue Res = tryToConvertShuffleOfTbl2ToTbl4(Op, ShuffleMask, DAG))
11511 if (isWideDUPMask(ShuffleMask, V
11708 SDValue ShuffleMask = DAG.getNode(ISD::ADD, DL, MVT::nxv2i64, SV, SplatIdx64); local
23694 auto ShuffleMask = SVN->getMask(); local
[all...]

Completed in 1024 milliseconds

12