Lines Matching full:unsigned

48 static constexpr unsigned GFX9 = 1;
49 static constexpr unsigned GFX10_1 = 1;
50 static constexpr unsigned GFX10_3 = 1;
51 static constexpr unsigned GFX11 = 1;
52 static constexpr unsigned GFX12 = 1;
61 unsigned getAMDHSACodeObjectVersion(const Module &M);
64 unsigned getAMDHSACodeObjectVersion(unsigned ABIVersion);
69 unsigned getDefaultAMDHSACodeObjectVersion();
73 uint8_t getELFABIVersion(const Triple &OS, unsigned CodeObjectVersion);
76 unsigned getMultigridSyncArgImplicitArgPosition(unsigned COV);
79 unsigned getHostcallImplicitArgPosition(unsigned COV);
81 unsigned getDefaultQueueImplicitArgPosition(unsigned COV);
82 unsigned getCompletionActionImplicitArgPosition(unsigned COV);
85 unsigned Format;
86 unsigned BitsPerComp;
87 unsigned NumComponents;
88 unsigned NumFormat;
89 unsigned DataFormat;
199 unsigned getWavefrontSize(const MCSubtargetInfo *STI);
202 unsigned getLocalMemorySize(const MCSubtargetInfo *STI);
206 unsigned getAddressableLocalMemorySize(const MCSubtargetInfo *STI);
210 unsigned getEUsPerCU(const MCSubtargetInfo *STI);
214 unsigned getMaxWorkGroupsPerCU(const MCSubtargetInfo *STI,
215 unsigned FlatWorkGroupSize);
219 unsigned getMinWavesPerEU(const MCSubtargetInfo *STI);
223 unsigned getMaxWavesPerEU(const MCSubtargetInfo *STI);
227 unsigned getWavesPerEUForWorkGroup(const MCSubtargetInfo *STI,
228 unsigned FlatWorkGroupSize);
231 unsigned getMinFlatWorkGroupSize(const MCSubtargetInfo *STI);
234 unsigned getMaxFlatWorkGroupSize(const MCSubtargetInfo *STI);
238 unsigned getWavesPerWorkGroup(const MCSubtargetInfo *STI,
239 unsigned FlatWorkGroupSize);
242 unsigned getSGPRAllocGranule(const MCSubtargetInfo *STI);
245 unsigned getSGPREncodingGranule(const MCSubtargetInfo *STI);
248 unsigned getTotalNumSGPRs(const MCSubtargetInfo *STI);
251 unsigned getAddressableNumSGPRs(const MCSubtargetInfo *STI);
255 unsigned getMinNumSGPRs(const MCSubtargetInfo *STI, unsigned WavesPerEU);
259 unsigned getMaxNumSGPRs(const MCSubtargetInfo *STI, unsigned WavesPerEU,
264 unsigned getNumExtraSGPRs(const MCSubtargetInfo *STI, bool VCCUsed,
270 unsigned getNumExtraSGPRs(const MCSubtargetInfo *STI, bool VCCUsed,
276 unsigned getNumSGPRBlocks(const MCSubtargetInfo *STI, unsigned NumSGPRs);
282 unsigned
290 unsigned getVGPREncodingGranule(
295 unsigned getTotalNumVGPRs(const MCSubtargetInfo *STI);
299 unsigned getAddressableNumArchVGPRs(const MCSubtargetInfo *STI);
302 unsigned getAddressableNumVGPRs(const MCSubtargetInfo *STI);
306 unsigned getMinNumVGPRs(const MCSubtargetInfo *STI, unsigned WavesPerEU);
310 unsigned getMaxNumVGPRs(const MCSubtargetInfo *STI, unsigned WavesPerEU);
314 unsigned getNumWavesPerEUWithNumVGPRs(const MCSubtargetInfo *STI,
315 unsigned NumVGPRs);
319 unsigned getNumWavesPerEUWithNumVGPRs(unsigned NumVGPRs, unsigned Granule,
320 unsigned MaxWaves,
321 unsigned TotalNumVGPRs);
325 unsigned getOccupancyWithNumSGPRs(unsigned SGPRs, unsigned MaxWaves,
334 unsigned getEncodedNumVGPRBlocks(
335 const MCSubtargetInfo *STI, unsigned NumVGPRs,
340 unsigned getAllocatedNumVGPRBlocks(
341 const MCSubtargetInfo *STI, unsigned NumVGPRs,
347 template <unsigned HighBit, unsigned LowBit, unsigned D = 0>
350 static constexpr unsigned Offset = LowBit;
351 static constexpr unsigned Width = HighBit - LowBit + 1;
353 using ValueType = unsigned;
364 template <unsigned Bit, unsigned D = 0>
411 const MIMGBaseOpcodeInfo *getMIMGBaseOpcode(unsigned Opc);
414 const MIMGBaseOpcodeInfo *getMIMGBaseOpcodeInfo(unsigned BaseOpcode);
427 const MIMGDimInfo *getMIMGDimInfo(unsigned DimEnum);
461 const MIMGLZMappingInfo *getMIMGLZMappingInfo(unsigned L);
464 unsigned Opcode2Addr;
465 unsigned Opcode3Addr;
469 const MIMGMIPMappingInfo *getMIMGMIPMappingInfo(unsigned MIP);
472 const MIMGBiasMappingInfo *getMIMGBiasMappingInfo(unsigned Bias);
475 const MIMGOffsetMappingInfo *getMIMGOffsetMappingInfo(unsigned Offset);
478 const MIMGG16MappingInfo *getMIMGG16MappingInfo(unsigned G);
481 int getMIMGOpcode(unsigned BaseOpcode, unsigned MIMGEncoding,
482 unsigned VDataDwords, unsigned VAddrDwords);
485 int getMaskedMIMGOp(unsigned Opc, unsigned NewChannels);
488 unsigned getAddrSizeMIMGOp(const MIMGBaseOpcodeInfo *BaseOpcode,
502 const MIMGInfo *getMIMGInfo(unsigned Opc);
505 int getMTBUFBaseOpcode(unsigned Opc);
508 int getMTBUFOpcode(unsigned BaseOpc, unsigned Elements);
511 int getMTBUFElements(unsigned Opc);
514 bool getMTBUFHasVAddr(unsigned Opc);
517 bool getMTBUFHasSrsrc(unsigned Opc);
520 bool getMTBUFHasSoffset(unsigned Opc);
523 int getMUBUFBaseOpcode(unsigned Opc);
526 int getMUBUFOpcode(unsigned BaseOpc, unsigned Elements);
529 int getMUBUFElements(unsigned Opc);
532 bool getMUBUFHasVAddr(unsigned Opc);
535 bool getMUBUFHasSrsrc(unsigned Opc);
538 bool getMUBUFHasSoffset(unsigned Opc);
541 bool getMUBUFIsBufferInv(unsigned Opc);
544 bool getMUBUFTfe(unsigned Opc);
547 bool getSMEMIsBuffer(unsigned Opc);
550 bool getVOP1IsSingle(unsigned Opc);
553 bool getVOP2IsSingle(unsigned Opc);
556 bool getVOP3IsSingle(unsigned Opc);
559 bool isVOPC64DPP(unsigned Opc);
562 bool isVOPCAsmOnly(unsigned Opc);
566 bool getMAIIsDGEMM(unsigned Opc);
569 bool getMAIIsGFX940XDL(unsigned Opc);
578 unsigned getVOPDEncodingFamily(const MCSubtargetInfo &ST);
581 CanBeVOPD getCanBeVOPD(unsigned Opc);
593 int getMCOpcode(uint16_t Opcode, unsigned Gen);
596 unsigned getVOPDOpcode(unsigned Opc);
599 int getVOPDFull(unsigned OpX, unsigned OpY, unsigned EncodingFamily);
602 bool isVOPD(unsigned Opc);
605 bool isMAC(unsigned Opc);
608 bool isPermlane16(unsigned Opc);
611 bool isGenericAtomic(unsigned Opc);
614 bool isCvt_F32_Fp8_Bf8_e64(unsigned Opc);
618 enum Component : unsigned {
631 constexpr unsigned VOPD_VGPR_BANK_MASKS[] = {1, 3, 3, 1};
633 enum ComponentIndex : unsigned { X = 0, Y = 1 };
634 constexpr unsigned COMPONENTS[] = {ComponentIndex::X, ComponentIndex::Y};
635 constexpr unsigned COMPONENTS_NUM = 2;
640 unsigned SrcOperandsNum = 0;
641 unsigned MandatoryLiteralIdx = ~0u;
649 unsigned getCompSrcOperandsNum() const { return SrcOperandsNum; } in getCompSrcOperandsNum()
652 unsigned getCompParsedSrcOperandsNum() const { in getCompParsedSrcOperandsNum()
661 unsigned getMandatoryLiteralCompOperandIndex() const { in getMandatoryLiteralCompOperandIndex()
668 bool hasRegSrcOperand(unsigned CompSrcIdx) const { in hasRegSrcOperand()
677 bool hasMandatoryLiteralAt(unsigned CompSrcIdx) const { in hasMandatoryLiteralAt()
683 enum ComponentKind : unsigned {
727 static constexpr unsigned MC_DST_IDX[] = {0, 0, 1};
728 static constexpr unsigned FIRST_MC_SRC_IDX[] = {1, 2, 2 /* + OpX.MCSrcNum */};
736 static constexpr unsigned PARSED_DST_IDX[] = {1, 1,
738 static constexpr unsigned FIRST_PARSED_SRC_IDX[] = {
757 unsigned getIndexOfDstInMCOperands() const { return MC_DST_IDX[Kind]; } in getIndexOfDstInMCOperands()
760 unsigned getIndexOfSrcInMCOperands(unsigned CompSrcIdx) const { in getIndexOfSrcInMCOperands()
766 unsigned getIndexOfDstInParsedOperands() const { in getIndexOfDstInParsedOperands()
771 unsigned getIndexOfSrcInParsedOperands(unsigned CompSrcIdx) const { in getIndexOfSrcInParsedOperands()
777 unsigned getPrevCompSrcNum() const { in getPrevCompSrcNum()
780 unsigned getPrevCompParsedSrcNum() const { in getPrevCompParsedSrcNum()
799 unsigned getIndexInParsedOperands(unsigned CompOprIdx) const;
808 using RegIndices = std::array<unsigned, Component::MAX_OPR_NUM>;
827 bool hasInvalidOperand(std::function<unsigned(unsigned, unsigned)> GetRegIdx,
836 std::optional<unsigned> getInvalidCompOperandIndex(
837 std::function<unsigned(unsigned, unsigned)> GetRegIdx,
842 getRegIndices(unsigned ComponentIdx,
843 std::function<unsigned(unsigned, unsigned)> GetRegIdx) const;
849 std::pair<unsigned, unsigned> getVOPDComponents(unsigned VOPDOpcode);
859 getVOPDInstInfo(unsigned VOPDOpcode, const MCInstrInfo *InstrInfo);
862 bool isTrue16Inst(unsigned Opc);
865 bool isInvalidSingleUseConsumerInst(unsigned Opc);
868 bool isInvalidSingleUseProducerInst(unsigned Opc);
871 unsigned mapWMMA2AddrTo3AddrOpcode(unsigned Opc);
874 unsigned mapWMMA3AddrTo2AddrOpcode(unsigned Opc);
904 std::pair<unsigned, unsigned>
906 std::pair<unsigned, unsigned> Default,
916 SmallVector<unsigned> getIntegerVecAttribute(const Function &F, StringRef Name,
917 unsigned Size);
924 unsigned LoadCnt = ~0u; // Corresponds to Vmcnt prior to gfx12.
925 unsigned ExpCnt = ~0u;
926 unsigned DsCnt = ~0u; // Corresponds to LGKMcnt prior to gfx12.
927 unsigned StoreCnt = ~0u; // Corresponds to VScnt on gfx10/gfx11.
928 unsigned SampleCnt = ~0u; // gfx12+ only.
929 unsigned BvhCnt = ~0u; // gfx12+ only.
930 unsigned KmCnt = ~0u; // gfx12+ only.
934 Waitcnt(unsigned VmCnt, unsigned ExpCnt, unsigned LgkmCnt, unsigned VsCnt) in Waitcnt()
939 Waitcnt(unsigned LoadCnt, unsigned ExpCnt, unsigned DsCnt, unsigned StoreCnt, in Waitcnt()
940 unsigned SampleCnt, unsigned BvhCnt, unsigned KmCnt) in Waitcnt()
968 unsigned getVmcntBitMask(const IsaVersion &Version);
971 unsigned getExpcntBitMask(const IsaVersion &Version);
974 unsigned getLgkmcntBitMask(const IsaVersion &Version);
977 unsigned getWaitcntBitMask(const IsaVersion &Version);
980 unsigned decodeVmcnt(const IsaVersion &Version, unsigned Waitcnt);
983 unsigned decodeExpcnt(const IsaVersion &Version, unsigned Waitcnt);
986 unsigned decodeLgkmcnt(const IsaVersion &Version, unsigned Waitcnt);
1003 void decodeWaitcnt(const IsaVersion &Version, unsigned Waitcnt,
1004 unsigned &Vmcnt, unsigned &Expcnt, unsigned &Lgkmcnt);
1006 Waitcnt decodeWaitcnt(const IsaVersion &Version, unsigned Encoded);
1009 unsigned encodeVmcnt(const IsaVersion &Version, unsigned Waitcnt,
1010 unsigned Vmcnt);
1013 unsigned encodeExpcnt(const IsaVersion &Version, unsigned Waitcnt,
1014 unsigned Expcnt);
1017 unsigned encodeLgkmcnt(const IsaVersion &Version, unsigned Waitcnt,
1018 unsigned Lgkmcnt);
1038 unsigned encodeWaitcnt(const IsaVersion &Version,
1039 unsigned Vmcnt, unsigned Expcnt, unsigned Lgkmcnt);
1041 unsigned encodeWaitcnt(const IsaVersion &Version, const Waitcnt &Decoded);
1048 unsigned getLoadcntBitMask(const IsaVersion &Version);
1052 unsigned getSamplecntBitMask(const IsaVersion &Version);
1056 unsigned getBvhcntBitMask(const IsaVersion &Version);
1060 unsigned getDscntBitMask(const IsaVersion &Version);
1064 unsigned getKmcntBitMask(const IsaVersion &Version);
1070 unsigned getStorecntBitMask(const IsaVersion &Version);
1077 Waitcnt decodeLoadcntDscnt(const IsaVersion &Version, unsigned LoadcntDscnt);
1081 Waitcnt decodeStorecntDscnt(const IsaVersion &Version, unsigned StorecntDscnt);
1086 unsigned encodeLoadcntDscnt(const IsaVersion &Version, const Waitcnt &Decoded);
1091 unsigned encodeStorecntDscnt(const IsaVersion &Version, const Waitcnt &Decoded);
1111 int encodeDepCtr(const StringRef Name, int64_t Val, unsigned &UsedOprMask,
1113 bool isSymbolicDepCtrEncoding(unsigned Code, bool &HasNonDefaultVal,
1115 bool decodeDepCtr(unsigned Code, int &Id, StringRef &Name, unsigned &Val,
1119 unsigned decodeFieldVaVdst(unsigned Encoded);
1122 unsigned decodeFieldVmVsrc(unsigned Encoded);
1125 unsigned decodeFieldSaSdst(unsigned Encoded);
1128 unsigned encodeFieldVmVsrc(unsigned VmVsrc);
1131 unsigned encodeFieldVmVsrc(unsigned Encoded, unsigned VmVsrc);
1134 unsigned encodeFieldVaVdst(unsigned VaVdst);
1137 unsigned encodeFieldVaVdst(unsigned Encoded, unsigned VaVdst);
1140 unsigned encodeFieldSaSdst(unsigned SaSdst);
1143 unsigned encodeFieldSaSdst(unsigned Encoded, unsigned SaSdst);
1149 bool getTgtName(unsigned Id, StringRef &Name, int &Index);
1152 unsigned getTgtId(const StringRef Name);
1155 bool isSupportedTgtId(unsigned Id, const MCSubtargetInfo &STI);
1162 int64_t encodeDfmtNfmt(unsigned Dfmt, unsigned Nfmt);
1164 void decodeDfmtNfmt(unsigned Format, unsigned &Dfmt, unsigned &Nfmt);
1168 StringRef getDfmtName(unsigned Id);
1172 StringRef getNfmtName(unsigned Id, const MCSubtargetInfo &STI);
1174 bool isValidDfmtNfmt(unsigned Val, const MCSubtargetInfo &STI);
1176 bool isValidNfmt(unsigned Val, const MCSubtargetInfo &STI);
1180 StringRef getUnifiedFormatName(unsigned Id, const MCSubtargetInfo &STI);
1182 bool isValidUnifiedFormat(unsigned Val, const MCSubtargetInfo &STI);
1184 int64_t convertDfmtNfmt2Ufmt(unsigned Dfmt, unsigned Nfmt,
1187 bool isValidFormatEncoding(unsigned Val, const MCSubtargetInfo &STI);
1189 unsigned getDefaultFormatEncoding(const MCSubtargetInfo &STI);
1212 void decodeMsg(unsigned Val, uint16_t &MsgId, uint16_t &OpId,
1223 unsigned getInitialPSInputAddr(const Function &F);
1274 unsigned getNSAMaxSize(const MCSubtargetInfo &STI, bool HasSampler = false);
1275 unsigned getMaxNumUserSGPRs(const MCSubtargetInfo &STI);
1310 unsigned hasKernargPreload(const MCSubtargetInfo &STI);
1314 bool isSGPR(unsigned Reg, const MCRegisterInfo* TRI);
1318 bool isHi(unsigned Reg, const MCRegisterInfo &MRI);
1322 unsigned getMCReg(unsigned Reg, const MCSubtargetInfo &STI);
1326 unsigned mc2PseudoReg(unsigned Reg);
1329 bool isInlineValue(unsigned Reg);
1333 bool isSISrcOperand(const MCInstrDesc &Desc, unsigned OpNo);
1336 bool isKImmOperand(const MCInstrDesc &Desc, unsigned OpNo);
1339 bool isSISrcFPOperand(const MCInstrDesc &Desc, unsigned OpNo);
1342 bool isSISrcInlinableOperand(const MCInstrDesc &Desc, unsigned OpNo);
1345 unsigned getRegBitWidth(unsigned RCID);
1348 unsigned getRegBitWidth(const MCRegisterClass &RC);
1351 unsigned getRegOperandSize(const MCRegisterInfo *MRI, const MCInstrDesc &Desc,
1352 unsigned OpNo);
1355 inline unsigned getOperandSize(const MCOperandInfo &OpInfo) { in getOperandSize()
1408 inline unsigned getOperandSize(const MCInstrDesc &Desc, unsigned OpNo) { in getOperandSize()
1439 std::optional<unsigned> getInlineEncodingV2I16(uint32_t Literal);
1442 std::optional<unsigned> getInlineEncodingV2BF16(uint32_t Literal);
1445 std::optional<unsigned> getInlineEncodingV2F16(uint32_t Literal);
1464 bool isArgPassedInSGPR(const CallBase *CB, unsigned ArgNo);
1482 /// unsigned. S_BUFFER has an unsigned offset for all subtargets.
1498 unsigned getNumFlatOffsetBits(const MCSubtargetInfo &ST);
1506 inline bool isLegalDPALU_DPPControl(unsigned DC) { in isLegalDPALU_DPPControl()
1517 bool isIntrinsicSourceOfDivergence(unsigned IntrID);
1520 bool isIntrinsicAlwaysUniform(unsigned IntrID);
1525 unsigned getLdsDwGranularity(const MCSubtargetInfo &ST);