| /openbsd-src/gnu/llvm/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 | 641 SmallVector<int, 8> ShuffleMask; in EmitAnyX86InstComments() local 665 ShuffleMask); in EmitAnyX86InstComments() 681 ShuffleMask); in EmitAnyX86InstComments() 697 ShuffleMask); in EmitAnyX86InstComments() 711 ShuffleMask); in EmitAnyX86InstComments() 728 ShuffleMask); in EmitAnyX86InstComments() 737 DecodeMOVLHPSMask(2, ShuffleMask); in EmitAnyX86InstComments() 746 DecodeMOVHLPSMask(2, ShuffleMask); in EmitAnyX86InstComments() 754 DecodeInsertElementMask(2, 1, 1, ShuffleMask); in EmitAnyX86InstComments() 762 DecodeInsertElementMask(4, 2, 2, ShuffleMask); in EmitAnyX86InstComments() [all …]
|
| /openbsd-src/gnu/llvm/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 | 587 int ShuffleMask[4] = {0, 1, 2, 3}; in simplifyX86insertps() local 600 ShuffleMask[DestLane] = SourceLane; in simplifyX86insertps() 604 ShuffleMask[i] = i + 4; in simplifyX86insertps() 611 ShuffleMask[DestLane] = SourceLane + 4; in simplifyX86insertps() 614 return Builder.CreateShuffleVector(II.getArgOperand(0), V1, ShuffleMask); in simplifyX86insertps() 669 SmallVector<int, 16> ShuffleMask; in simplifyX86extrq() local 671 ShuffleMask.push_back(i + Index); in simplifyX86extrq() 673 ShuffleMask.push_back(i + 16); in simplifyX86extrq() 675 ShuffleMask.push_back(-1); in simplifyX86extrq() 679 ConstantAggregateZero::get(ShufTy), ShuffleMask); in simplifyX86extrq() [all …]
|
| H A D | X86MCInstLower.cpp | 1921 SmallVector<int, 8> ShuffleMask(Mask); in getShuffleComment() local 1923 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) in getShuffleComment() 1924 if (ShuffleMask[i] >= e) in getShuffleComment() 1925 ShuffleMask[i] -= e; in getShuffleComment() 1948 for (int i = 0, e = ShuffleMask.size(); i != e; ++i) { in getShuffleComment() 1951 if (ShuffleMask[i] == SM_SentinelZero) { in getShuffleComment() 1958 bool isSrc1 = ShuffleMask[i] < (int)e; in getShuffleComment() 1962 while (i != e && ShuffleMask[i] != SM_SentinelZero && in getShuffleComment() 1963 (ShuffleMask[i] < (int)e) == isSrc1) { in getShuffleComment() 1968 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 = ArrayRef(ShuffleMask); in createTileDPLoops()
|
| /openbsd-src/gnu/llvm/llvm/lib/IR/ |
| H A D | ConstantsContext.h | 188 ShuffleMask.assign(Mask.begin(), Mask.end()); in ShuffleVectorConstantExpr() 193 SmallVector<int, 4> ShuffleMask; variable 437 ArrayRef<int> ShuffleMask; 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 && ExplicitTy == X.ExplicitTy; 500 if (ShuffleMask != getShuffleMaskIfValid(CE)) 511 hash_combine_range(ShuffleMask.begin(), ShuffleMask.end()), ExplicitTy); [all …]
|
| H A D | AutoUpgrade.cpp | 2732 SmallVector<int, 8> ShuffleMask(NumDstElts); in UpgradeIntrinsicCall() local 2734 ShuffleMask[i] = i; in UpgradeIntrinsicCall() 2737 Builder.CreateShuffleVector(CI->getArgOperand(0), ShuffleMask); in UpgradeIntrinsicCall() 2776 SmallVector<int, 8> ShuffleMask(0); in UpgradeIntrinsicCall() local 2784 ShuffleMask.push_back(LaneMask * NumElementsInLane + i); in UpgradeIntrinsicCall() 2787 CI->getArgOperand(1), ShuffleMask); in UpgradeIntrinsicCall() 2798 SmallVector<int, 8> ShuffleMask(NumDstElts); in UpgradeIntrinsicCall() local 2800 ShuffleMask[i] = i % NumSrcElts; in UpgradeIntrinsicCall() 2804 ShuffleMask); in UpgradeIntrinsicCall() 2997 SmallVector<int, 8> ShuffleMask(NumElts); in UpgradeIntrinsicCall() local [all …]
|
| H A D | IRBuilder.cpp | 1214 SmallVector<int, 8> ShuffleMask; in CreateVectorReverse() local 1217 ShuffleMask.push_back(NumElts - i - 1); in CreateVectorReverse() 1218 return CreateShuffleVector(V, ShuffleMask, Name); in CreateVectorReverse()
|
| H A D | Instructions.cpp | 2147 int NumMaskElts = ShuffleMask.size(); in commute() 2260 ShuffleMask.assign(Mask.begin(), Mask.end()); in setShuffleMask() 2677 if (ShuffleMask.size() % VF != 0) in isReplicationMask() 2679 ReplicationFactor = ShuffleMask.size() / VF; in isReplicationMask() 2681 return isReplicationMaskWithParams(ShuffleMask, ReplicationFactor, VF); in isReplicationMask() 2709 if (!isSingleSourceMask(ShuffleMask)) in isOneUseSingleSourceMask() 2712 return isOneUseSingleSourceMask(ShuffleMask, VF); in isOneUseSingleSourceMask()
|
| /openbsd-src/gnu/llvm/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 SM, OpRef Va, OpRef Vb, ResultStack &Results, [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/GISel/ |
| H A D | AArch64PostLegalizerLowering.cpp | 225 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchREV() local 238 if (isREVMask(ShuffleMask, EltSize, NumElts, 64)) { in matchREV() 255 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchTRN() local 258 if (!isTRNMask(ShuffleMask, NumElts, WhichResult)) in matchTRN() 276 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchUZP() local 279 if (!isUZPMask(ShuffleMask, NumElts, WhichResult)) in matchUZP() 292 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchZip() local 295 if (!isZipMask(ShuffleMask, NumElts, WhichResult)) in matchZip() 474 ArrayRef<int> ShuffleMask = MI.getOperand(3).getShuffleMask(); in matchINS() local 477 auto DstIsLeftAndDstLane = isINSMask(ShuffleMask, NumElts); in matchINS() [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | LegalizeVectorOps.cpp | 1062 SmallVector<int, 16> ShuffleMask; in ExpandANY_EXTEND_VECTOR_INREG() local 1063 ShuffleMask.resize(NumSrcElements, -1); in ExpandANY_EXTEND_VECTOR_INREG() 1069 ShuffleMask[i * ExtLaneScale + EndianOffset] = i; in ExpandANY_EXTEND_VECTOR_INREG() 1073 DAG.getVectorShuffle(SrcVT, DL, Src, DAG.getUNDEF(SrcVT), ShuffleMask)); in ExpandANY_EXTEND_VECTOR_INREG() 1125 auto ShuffleMask = llvm::to_vector<16>(llvm::seq<int>(0, NumSrcElements)); in ExpandZERO_EXTEND_VECTOR_INREG() local 1130 ShuffleMask[i * ExtLaneScale + EndianOffset] = NumSrcElements + i; in ExpandZERO_EXTEND_VECTOR_INREG() 1133 DAG.getVectorShuffle(SrcVT, DL, Zero, Src, ShuffleMask)); in ExpandZERO_EXTEND_VECTOR_INREG() 1136 static void createBSWAPShuffleMask(EVT VT, SmallVectorImpl<int> &ShuffleMask) { in createBSWAPShuffleMask() argument 1140 ShuffleMask.push_back((I * ScalarSizeInBytes) + J); in createBSWAPShuffleMask() 1151 SmallVector<int, 16> ShuffleMask; in ExpandBSWAP() local [all …]
|
| /openbsd-src/gnu/llvm/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()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| H A D | GVNSink.cpp | 347 ArrayRef<int> ShuffleMask; member in __anon97a272aa0111::InstructionUseExpr 358 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr() 370 MemoryUseOrder, Volatile, ShuffleMask); in getHashValue() 375 ShuffleMask); in getHashValue()
|
| H A D | ScalarizeMaskedMemIntrin.cpp | 661 SmallVector<int, 16> ShuffleMask(VectorWidth, UndefMaskElem); in scalarizeMaskedExpandLoad() local 666 ShuffleMask[Idx] = Idx + VectorWidth; in scalarizeMaskedExpandLoad() 672 ShuffleMask[Idx] = Idx; in scalarizeMaskedExpandLoad() 678 VResult = Builder.CreateShuffleVector(VResult, PassThru, ShuffleMask); in scalarizeMaskedExpandLoad()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/ |
| H A D | MachineOperand.h | 180 ArrayRef<int> ShuffleMask; // For MO_ShuffleMask member 621 return Contents.ShuffleMask; in getShuffleMask() 979 Op.Contents.ShuffleMask = Mask; in CreateShuffleMask()
|
| /openbsd-src/gnu/llvm/llvm/include/llvm/IR/ |
| H A D | Instructions.h | 2018 SmallVector<int, 4> ShuffleMask; 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); 2231 return !changesLength() && isReverseMask(ShuffleMask); [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 961 SmallVector<int, 32> ShuffleMask(VF); in getShuffleReduction() local 965 ShuffleMask[j] = i / 2 + j; in getShuffleReduction() 968 std::fill(&ShuffleMask[i / 2], ShuffleMask.end(), -1); in getShuffleReduction() 970 Value *Shuf = Builder.CreateShuffleVector(TmpVec, ShuffleMask, "rdx.shuf"); in getShuffleReduction()
|
| /openbsd-src/gnu/llvm/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineCasts.cpp | 2168 ArrayRef<int> ShuffleMask; in optimizeVectorResizeWithIntegerBitCasts() local 2180 ShuffleMask = ShuffleMaskStorage; in optimizeVectorResizeWithIntegerBitCasts() 2182 ShuffleMask = ShuffleMask.take_back(DestElts); in optimizeVectorResizeWithIntegerBitCasts() 2184 ShuffleMask = ShuffleMask.take_front(DestElts); in optimizeVectorResizeWithIntegerBitCasts() 2200 ShuffleMask = ShuffleMaskStorage; in optimizeVectorResizeWithIntegerBitCasts() 2203 return new ShuffleVectorInst(InVal, V2, ShuffleMask); in optimizeVectorResizeWithIntegerBitCasts()
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/ARM/ |
| H A D | ARMISelLowering.cpp | 7479 static unsigned isNEONTwoResultShuffleMask(ArrayRef<int> ShuffleMask, EVT VT, in isNEONTwoResultShuffleMask() argument 7483 if (isVTRNMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7485 if (isVUZPMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7487 if (isVZIPMask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7491 if (isVTRN_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7493 if (isVUZP_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 7495 if (isVZIP_v_undef_Mask(ShuffleMask, VT, WhichResult)) in isNEONTwoResultShuffleMask() 8459 ArrayRef<int> ShuffleMask, in LowerVECTOR_SHUFFLEv8i8() argument 8467 for (int I : ShuffleMask) in LowerVECTOR_SHUFFLEv8i8() 8551 ArrayRef<int> ShuffleMask = SVN->getMask(); in LowerVECTOR_SHUFFLE_i1() local [all …]
|
| /openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/ |
| H A D | AArch64ISelLowering.cpp | 11169 static SDValue GenerateTBL(SDValue Op, ArrayRef<int> ShuffleMask, in GenerateTBL() argument 11197 for (int Val : ShuffleMask) { in GenerateTBL() 11397 ArrayRef<int> ShuffleMask, in tryToConvertShuffleOfTbl2ToTbl4() argument 11420 if (ShuffleMask[I] < 16) in tryToConvertShuffleOfTbl2ToTbl4() 11421 TBLMaskParts[I] = Mask1->getOperand(ShuffleMask[I]); in tryToConvertShuffleOfTbl2ToTbl4() 11424 dyn_cast<ConstantSDNode>(Mask2->getOperand(ShuffleMask[I] - 16)); in tryToConvertShuffleOfTbl2ToTbl4() 11476 ArrayRef<int> ShuffleMask = SVN->getMask(); in LowerVECTOR_SHUFFLE() local 11482 assert(ShuffleMask.size() == VT.getVectorNumElements() && in LowerVECTOR_SHUFFLE() 11485 if (SDValue Res = tryToConvertShuffleOfTbl2ToTbl4(Op, ShuffleMask, DAG)) in LowerVECTOR_SHUFFLE() 11511 if (isWideDUPMask(ShuffleMask, VT, LaneSize, Lane)) { in LowerVECTOR_SHUFFLE() [all …]
|