Lines Matching full:bool
69 bool FastDenormalF32 = false;
70 bool HalfRate64Ops = false;
71 bool FullRate64Ops = false;
74 bool FlatForGlobal = false;
75 bool AutoWaitcntBeforeBarrier = false;
76 bool BackOffBarrier = false;
77 bool UnalignedScratchAccess = false;
78 bool UnalignedAccessMode = false;
79 bool HasApertureRegs = false;
80 bool SupportsXNACK = false;
81 bool KernargPreload = false;
85 bool EnableXNACK = false;
87 bool EnableTgSplit = false;
88 bool EnableCuMode = false;
89 bool TrapHandler = false;
90 bool EnablePreciseMemory = false;
93 bool EnableLoadStoreOpt = false;
94 bool EnableUnsafeDSOffsetFolding = false;
95 bool EnableSIScheduler = false;
96 bool EnableDS128 = false;
97 bool EnablePRTStrictNull = false;
98 bool DumpCode = false;
101 bool FP64 = false;
102 bool FMA = false;
103 bool MIMG_R128 = false;
104 bool CIInsts = false;
105 bool GFX8Insts = false;
106 bool GFX9Insts = false;
107 bool GFX90AInsts = false;
108 bool GFX940Insts = false;
109 bool GFX10Insts = false;
110 bool GFX11Insts = false;
111 bool GFX12Insts = false;
112 bool GFX10_3Insts = false;
113 bool GFX7GFX8GFX9Insts = false;
114 bool SGPRInitBug = false;
115 bool UserSGPRInit16Bug = false;
116 bool NegativeScratchOffsetBug = false;
117 bool NegativeUnalignedScratchOffsetBug = false;
118 bool HasSMemRealTime = false;
119 bool HasIntClamp = false;
120 bool HasFmaMixInsts = false;
121 bool HasMovrel = false;
122 bool HasVGPRIndexMode = false;
123 bool HasScalarDwordx3Loads = false;
124 bool HasScalarStores = false;
125 bool HasScalarAtomics = false;
126 bool HasSDWAOmod = false;
127 bool HasSDWAScalar = false;
128 bool HasSDWASdst = false;
129 bool HasSDWAMac = false;
130 bool HasSDWAOutModsVOPC = false;
131 bool HasDPP = false;
132 bool HasDPP8 = false;
133 bool HasDPALU_DPP = false;
134 bool HasDPPSrc1SGPR = false;
135 bool HasPackedFP32Ops = false;
136 bool HasImageInsts = false;
137 bool HasExtendedImageInsts = false;
138 bool HasR128A16 = false;
139 bool HasA16 = false;
140 bool HasG16 = false;
141 bool HasNSAEncoding = false;
142 bool HasPartialNSAEncoding = false;
143 bool GFX10_AEncoding = false;
144 bool GFX10_BEncoding = false;
145 bool HasDLInsts = false;
146 bool HasFmacF64Inst = false;
147 bool HasDot1Insts = false;
148 bool HasDot2Insts = false;
149 bool HasDot3Insts = false;
150 bool HasDot4Insts = false;
151 bool HasDot5Insts = false;
152 bool HasDot6Insts = false;
153 bool HasDot7Insts = false;
154 bool HasDot8Insts = false;
155 bool HasDot9Insts = false;
156 bool HasDot10Insts = false;
157 bool HasDot11Insts = false;
158 bool HasMAIInsts = false;
159 bool HasFP8Insts = false;
160 bool HasFP8ConversionInsts = false;
161 bool HasPkFmacF16Inst = false;
162 bool HasAtomicFMinFMaxF32GlobalInsts = false;
163 bool HasAtomicFMinFMaxF64GlobalInsts = false;
164 bool HasAtomicFMinFMaxF32FlatInsts = false;
165 bool HasAtomicFMinFMaxF64FlatInsts = false;
166 bool HasAtomicDsPkAdd16Insts = false;
167 bool HasAtomicFlatPkAdd16Insts = false;
168 bool HasAtomicFaddRtnInsts = false;
169 bool HasAtomicFaddNoRtnInsts = false;
170 bool HasMemoryAtomicFaddF32DenormalSupport = false;
171 bool HasAtomicBufferGlobalPkAddF16NoRtnInsts = false;
172 bool HasAtomicBufferGlobalPkAddF16Insts = false;
173 bool HasAtomicCSubNoRtnInsts = false;
174 bool HasAtomicGlobalPkAddBF16Inst = false;
175 bool HasAtomicBufferPkAddBF16Inst = false;
176 bool HasFlatAtomicFaddF32Inst = false;
177 bool HasFlatBufferGlobalAtomicFaddF64Inst = false;
178 bool HasDefaultComponentZero = false;
179 bool HasAgentScopeFineGrainedRemoteMemoryAtomics = false;
180 bool HasDefaultComponentBroadcast = false;
185 bool SupportsSRAMECC = false;
189 bool EnableSRAMECC = false;
191 bool HasNoSdstCMPX = false;
192 bool HasVscnt = false;
193 bool HasGetWaveIdInst = false;
194 bool HasSMemTimeInst = false;
195 bool HasShaderCyclesRegister = false;
196 bool HasShaderCyclesHiLoRegisters = false;
197 bool HasVOP3Literal = false;
198 bool HasNoDataDepHazard = false;
199 bool FlatAddressSpace = false;
200 bool FlatInstOffsets = false;
201 bool FlatGlobalInsts = false;
202 bool FlatScratchInsts = false;
203 bool ScalarFlatScratchInsts = false;
204 bool HasArchitectedFlatScratch = false;
205 bool EnableFlatScratch = false;
206 bool HasArchitectedSGPRs = false;
207 bool HasGDS = false;
208 bool HasGWS = false;
209 bool AddNoCarryInsts = false;
210 bool HasUnpackedD16VMem = false;
211 bool LDSMisalignedBug = false;
212 bool HasMFMAInlineLiteralBug = false;
213 bool UnalignedBufferAccess = false;
214 bool UnalignedDSAccess = false;
215 bool HasPackedTID = false;
216 bool ScalarizeGlobal = false;
217 bool HasSALUFloatInsts = false;
218 bool HasVGPRSingleUseHintInsts = false;
219 bool HasPseudoScalarTrans = false;
220 bool HasRestrictedSOffset = false;
222 bool HasVcmpxPermlaneHazard = false;
223 bool HasVMEMtoScalarWriteHazard = false;
224 bool HasSMEMtoVectorWriteHazard = false;
225 bool HasInstFwdPrefetchBug = false;
226 bool HasVcmpxExecWARHazard = false;
227 bool HasLdsBranchVmemWARHazard = false;
228 bool HasNSAtoVMEMBug = false;
229 bool HasNSAClauseBug = false;
230 bool HasOffset3fBug = false;
231 bool HasFlatSegmentOffsetBug = false;
232 bool HasImageStoreD16Bug = false;
233 bool HasImageGather4D16Bug = false;
234 bool HasMSAALoadDstSelBug = false;
235 bool HasPrivEnabledTrap2NopBug = false;
236 bool Has1_5xVGPRs = false;
237 bool HasMADIntraFwdBug = false;
238 bool HasVOPDInsts = false;
239 bool HasVALUTransUseHazard = false;
240 bool HasForceStoreSC0SC1 = false;
241 bool HasRequiredExportPriority = false;
242 bool HasVmemWriteVgprInOrder = false;
244 bool RequiresCOV6 = false;
247 bool FeatureDisable = false;
345 unsigned getMaxPrivateElementSize(bool ForBufferRSrc = false) const {
354 bool zeroesHigh16BitsOfDest(unsigned Opcode) const;
356 bool supportsWGP() const { return getGeneration() >= GFX10; }
358 bool hasIntClamp() const {
362 bool hasFP64() const {
366 bool hasMIMG_R128() const {
370 bool hasHWFP64() const {
374 bool hasHalfRate64Ops() const {
378 bool hasFullRate64Ops() const {
382 bool hasAddr64() const {
386 bool hasFlat() const {
392 bool hasOnlyRevVALUShifts() const {
396 bool hasFractBug() const {
400 bool hasBFE() const {
404 bool hasBFI() const {
408 bool hasBFM() const {
412 bool hasBCNT(unsigned Size) const {
416 bool hasFFBL() const {
420 bool hasFFBH() const {
424 bool hasMed3_16() const {
428 bool hasMin3Max3_16() const {
432 bool hasFmaMixInsts() const {
436 bool hasCARRY() const {
440 bool hasFMA() const {
444 bool hasSwap() const {
448 bool hasScalarPackInsts() const {
452 bool hasScalarMulHiInsts() const {
456 bool hasScalarSubwordLoads() const { return getGeneration() >= GFX12; }
462 bool supportsGetDoorbellID() const {
469 bool hasUsableDSOffset() const {
473 bool unsafeDSOffsetFoldingEnabled() const {
478 bool hasUsableDivScaleConditionOutput() const {
484 bool hasReadVCCZBug() const {
489 bool partialVCCWritesUpdateVCCZ() const {
495 bool hasSMRDReadVALUDefHazard() const {
501 bool hasVMEMReadSGPRVALUDefHazard() const {
505 bool hasRFEHazards() const {
514 bool dumpCode() const {
523 bool supportsMinMaxDenormModes() const {
528 bool hasDenormModeInst() const {
532 bool useFlatForGlobal() const {
538 bool useDS128() const {
543 bool hasDS96AndDS128() const {
548 bool haveRoundOpsF64() const {
554 bool privateMemoryResourceIsRangeChecked() const {
560 bool usePRTStrictNull() const {
564 bool hasAutoWaitcntBeforeBarrier() const {
570 bool supportsBackOffBarrier() const {
574 bool hasUnalignedBufferAccess() const {
578 bool hasUnalignedBufferAccessEnabled() const {
582 bool hasUnalignedDSAccess() const {
586 bool hasUnalignedDSAccessEnabled() const {
590 bool hasUnalignedScratchAccess() const {
594 bool hasUnalignedAccessMode() const {
598 bool hasApertureRegs() const {
602 bool isTrapHandlerEnabled() const {
606 bool isXNACKEnabled() const {
610 bool isTgSplitEnabled() const {
614 bool isCuModeEnabled() const {
618 bool isPreciseMemoryEnabled() const { return EnablePreciseMemory; }
620 bool hasFlatAddressSpace() const {
624 bool hasFlatScrRegister() const {
628 bool hasFlatInstOffsets() const {
632 bool hasFlatGlobalInsts() const {
636 bool hasFlatScratchInsts() const {
643 bool hasFlatScratchSTMode() const {
647 bool hasFlatScratchSVSMode() const { return GFX940Insts || GFX11Insts; }
649 bool hasScalarFlatScratchInsts() const {
653 bool enableFlatScratch() const {
658 bool hasGlobalAddTidInsts() const {
662 bool hasAtomicCSub() const {
666 bool hasExportInsts() const {
670 bool hasVINTERPEncoding() const {
675 bool hasLdsAtomicAddF64() const { return hasGFX90AInsts(); }
677 bool hasMultiDwordFlatScratchAddressing() const {
681 bool hasFlatSegmentOffsetBug() const {
685 bool hasFlatLgkmVMemCountInOrder() const {
689 bool hasD16LoadStore() const {
693 bool d16PreservesUnusedBits() const {
697 bool hasD16Images() const {
703 bool ldsRequiresM0Init() const {
712 bool hasGWSAutoReplay() const {
717 bool hasGWSSemaReleaseAll() const {
725 bool hasAddNoCarry() const {
729 bool hasScalarAddSub64() const { return getGeneration() >= GFX12; }
731 bool hasScalarSMulU64() const { return getGeneration() >= GFX12; }
733 bool hasUnpackedD16VMem() const {
738 bool isMesaGfxShader(const Function &F) const {
742 bool hasMad64_32() const {
746 bool hasSDWAOmod() const {
750 bool hasSDWAScalar() const {
754 bool hasSDWASdst() const {
758 bool hasSDWAMac() const {
762 bool hasSDWAOutModsVOPC() const {
766 bool hasDLInsts() const {
770 bool hasFmacF64Inst() const { return HasFmacF64Inst; }
772 bool hasDot1Insts() const {
776 bool hasDot2Insts() const {
780 bool hasDot3Insts() const {
784 bool hasDot4Insts() const {
788 bool hasDot5Insts() const {
792 bool hasDot6Insts() const {
796 bool hasDot7Insts() const {
800 bool hasDot8Insts() const {
804 bool hasDot9Insts() const {
808 bool hasDot10Insts() const {
812 bool hasDot11Insts() const {
816 bool hasMAIInsts() const {
820 bool hasFP8Insts() const {
824 bool hasFP8ConversionInsts() const { return HasFP8ConversionInsts; }
826 bool hasPkFmacF16Inst() const {
830 bool hasAtomicFMinFMaxF32GlobalInsts() const {
834 bool hasAtomicFMinFMaxF64GlobalInsts() const {
838 bool hasAtomicFMinFMaxF32FlatInsts() const {
842 bool hasAtomicFMinFMaxF64FlatInsts() const {
846 bool hasAtomicDsPkAdd16Insts() const { return HasAtomicDsPkAdd16Insts; }
848 bool hasAtomicFlatPkAdd16Insts() const { return HasAtomicFlatPkAdd16Insts; }
850 bool hasAtomicFaddInsts() const {
854 bool hasAtomicFaddRtnInsts() const { return HasAtomicFaddRtnInsts; }
856 bool hasAtomicFaddNoRtnInsts() const { return HasAtomicFaddNoRtnInsts; }
858 bool hasAtomicBufferGlobalPkAddF16NoRtnInsts() const {
862 bool hasAtomicBufferGlobalPkAddF16Insts() const {
866 bool hasAtomicGlobalPkAddBF16Inst() const {
870 bool hasAtomicBufferPkAddBF16Inst() const {
874 bool hasFlatAtomicFaddF32Inst() const { return HasFlatAtomicFaddF32Inst; }
878 bool hasFlatBufferGlobalAtomicFaddF64Inst() const {
884 bool hasMemoryAtomicFaddF32DenormalSupport() const {
891 bool supportsAgentScopeFineGrainedRemoteMemoryAtomics() const {
895 bool hasDefaultComponentZero() const { return HasDefaultComponentZero; }
897 bool hasDefaultComponentBroadcast() const {
901 bool hasNoSdstCMPX() const {
905 bool hasVscnt() const {
909 bool hasGetWaveIdInst() const {
913 bool hasSMemTimeInst() const {
917 bool hasShaderCyclesRegister() const {
921 bool hasShaderCyclesHiLoRegisters() const {
925 bool hasVOP3Literal() const {
929 bool hasNoDataDepHazard() const {
933 bool vmemWriteNeedsExpWaitcnt() const {
937 bool hasInstPrefetch() const {
941 bool hasPrefetch() const { return GFX12Insts; }
944 bool hasSCmpK() const { return getGeneration() < GFX12; }
956 bool enableMachineScheduler() const override {
960 bool useAA() const override;
962 bool enableSubRegLiveness() const override {
966 void setScalarizeGlobalBehavior(bool b) { ScalarizeGlobal = b; }
967 bool getScalarizeGlobalBehavior() const { return ScalarizeGlobal; }
970 static bool hasHalfRate64Ops(const TargetSubtargetInfo &STI);
973 bool enableEarlyIfConversion() const override {
986 bool hasSMemRealTime() const {
990 bool hasMovrel() const {
994 bool hasVGPRIndexMode() const {
998 bool useVGPRIndexMode() const;
1000 bool hasScalarCompareEq64() const {
1004 bool hasScalarDwordx3Loads() const { return HasScalarDwordx3Loads; }
1006 bool hasScalarStores() const {
1010 bool hasScalarAtomics() const {
1014 bool hasLDSFPAtomicAddF32() const { return GFX8Insts; }
1015 bool hasLDSFPAtomicAddF64() const { return GFX90AInsts; }
1018 bool hasPermLaneX16() const { return getGeneration() >= GFX10; }
1021 bool hasPermLane64() const { return getGeneration() >= GFX11; }
1023 bool hasDPP() const {
1027 bool hasDPPBroadcasts() const {
1031 bool hasDPPWavefrontShifts() const {
1035 bool hasDPP8() const {
1039 bool hasDPALU_DPP() const {
1043 bool hasDPPSrc1SGPR() const { return HasDPPSrc1SGPR; }
1045 bool hasPackedFP32Ops() const {
1050 bool hasPkMovB32() const {
1054 bool hasFmaakFmamkF32Insts() const {
1058 bool hasImageInsts() const {
1062 bool hasExtendedImageInsts() const {
1066 bool hasR128A16() const {
1070 bool hasA16() const { return HasA16; }
1072 bool hasG16() const { return HasG16; }
1074 bool hasOffset3fBug() const {
1078 bool hasImageStoreD16Bug() const { return HasImageStoreD16Bug; }
1080 bool hasImageGather4D16Bug() const { return HasImageGather4D16Bug; }
1082 bool hasMADIntraFwdBug() const { return HasMADIntraFwdBug; }
1084 bool hasMSAALoadDstSelBug() const { return HasMSAALoadDstSelBug; }
1086 bool hasPrivEnabledTrap2NopBug() const { return HasPrivEnabledTrap2NopBug; }
1088 bool hasNSAEncoding() const { return HasNSAEncoding; }
1090 bool hasNonNSAEncoding() const { return getGeneration() < GFX12; }
1092 bool hasPartialNSAEncoding() const { return HasPartialNSAEncoding; }
1094 unsigned getNSAMaxSize(bool HasSampler = false) const {
1098 bool hasGFX10_AEncoding() const {
1102 bool hasGFX10_BEncoding() const {
1106 bool hasGFX10_3Insts() const {
1110 bool hasMadF16() const;
1112 bool hasMovB64() const { return GFX940Insts; }
1114 bool hasLshlAddB64() const { return GFX940Insts; }
1116 bool enableSIScheduler() const {
1120 bool loadStoreOptEnabled() const {
1124 bool hasSGPRInitBug() const {
1128 bool hasUserSGPRInit16Bug() const {
1132 bool hasNegativeScratchOffsetBug() const { return NegativeScratchOffsetBug; }
1134 bool hasNegativeUnalignedScratchOffsetBug() const {
1138 bool hasMFMAInlineLiteralBug() const {
1142 bool has12DWordStoreHazard() const {
1147 bool hasDwordx3LoadStores() const {
1151 bool hasReadM0MovRelInterpHazard() const {
1155 bool hasReadM0SendMsgHazard() const {
1160 bool hasReadM0LdsDmaHazard() const {
1164 bool hasReadM0LdsDirectHazard() const {
1168 bool hasVcmpxPermlaneHazard() const {
1172 bool hasVMEMtoScalarWriteHazard() const {
1176 bool hasSMEMtoVectorWriteHazard() const {
1180 bool hasLDSMisalignedBug() const {
1184 bool hasInstFwdPrefetchBug() const {
1188 bool hasVcmpxExecWARHazard() const {
1192 bool hasLdsBranchVmemWARHazard() const {
1198 bool hasShift64HighRegBug() const {
1204 bool hasTransForwardingHazard() const { return GFX940Insts; }
1208 bool hasDstSelForwardingHazard() const { return GFX940Insts; }
1211 bool hasDOTOpSelHazard() const { return GFX940Insts || GFX11Insts; }
1214 bool hasVDecCoExecHazard() const {
1218 bool hasNSAtoVMEMBug() const {
1222 bool hasNSAClauseBug() const { return HasNSAClauseBug; }
1224 bool hasHardClauses() const { return MaxHardClauseLength > 0; }
1226 bool hasGFX90AInsts() const { return GFX90AInsts; }
1228 bool hasFPAtomicToDenormModeHazard() const {
1232 bool hasVOP3DPP() const { return getGeneration() >= GFX11; }
1234 bool hasLdsDirect() const { return getGeneration() >= GFX11; }
1236 bool hasLdsWaitVMSRC() const { return getGeneration() >= GFX12; }
1238 bool hasVALUPartialForwardingHazard() const {
1242 bool hasVALUTransUseHazard() const { return HasVALUTransUseHazard; }
1244 bool hasForceStoreSC0SC1() const { return HasForceStoreSC0SC1; }
1246 bool requiresCodeObjectV6() const { return RequiresCOV6; }
1248 bool hasVALUMaskWriteHazard() const { return getGeneration() == GFX11; }
1251 bool needsAlignedVGPRs() const { return GFX90AInsts; }
1254 bool hasSPackHL() const { return GFX11Insts; }
1258 bool hasCompressedExport() const { return !GFX11Insts; }
1262 bool hasNullExportTarget() const { return !GFX11Insts; }
1264 bool has1_5xVGPRs() const { return Has1_5xVGPRs; }
1266 bool hasVOPDInsts() const { return HasVOPDInsts; }
1268 bool hasFlatScratchSVSSwizzleBug() const { return getGeneration() == GFX11; }
1271 bool hasDelayAlu() const { return GFX11Insts; }
1273 bool hasPackedTID() const { return HasPackedTID; }
1277 bool hasGFX940Insts() const { return GFX940Insts; }
1279 bool hasSALUFloatInsts() const { return HasSALUFloatInsts; }
1281 bool hasVGPRSingleUseHintInsts() const { return HasVGPRSingleUseHintInsts; }
1283 bool hasPseudoScalarTrans() const { return HasPseudoScalarTrans; }
1285 bool hasRestrictedSOffset() const { return HasRestrictedSOffset; }
1287 bool hasRequiredExportPriority() const { return HasRequiredExportPriority; }
1289 bool hasVmemWriteVgprInOrder() const { return HasVmemWriteVgprInOrder; }
1293 bool hasExtendedWaitCounts() const { return getGeneration() >= GFX12; }
1297 bool hasNoF16PseudoScalarTransInlineConstants() const {
1323 bool flatScratchIsPointer() const {
1329 bool flatScratchIsArchitected() const { return HasArchitectedFlatScratch; }
1332 bool hasArchitectedSGPRs() const { return HasArchitectedSGPRs; }
1335 bool hasGDS() const { return HasGDS; }
1338 bool hasGWS() const { return HasGWS; }
1342 bool hasMergedShaders() const {
1347 bool hasLegacyGeometry() const { return getGeneration() < GFX11; }
1350 bool hasKernargPreload() const { return KernargPreload; }
1353 bool hasSplitBarriers() const { return getGeneration() >= GFX12; }
1356 bool hasCvtFP8VOP1Bug() const { return true; }
1360 bool hasAtomicCSubNoRtnInsts() const { return HasAtomicCSubNoRtnInsts; }
1363 bool hasDX10ClampMode() const { return getGeneration() < GFX12; }
1366 bool hasIEEEMode() const { return getGeneration() < GFX12; }
1369 bool hasIEEEMinMax() const { return getGeneration() >= GFX12; }
1372 bool hasIEEEMinMax3() const { return hasIEEEMinMax(); }
1375 bool hasRrWGMode() const { return getGeneration() >= GFX12; }
1379 bool hasSignedScratchOffsets() const { return getGeneration() >= GFX12; }
1383 bool hasGetPCZeroExtension() const { return GFX12Insts; }
1413 unsigned getMaxNumSGPRs(unsigned WavesPerEU, bool Addressable) const {
1420 unsigned getBaseReservedNumSGPRs(const bool HasFlatScratch) const;
1528 bool isWave32() const {
1532 bool isWave64() const {
1575 bool shouldClusterStores() const { return getGeneration() >= GFX11; }
1583 bool requiresNopBeforeDeallocVGPRs() const {
1592 bool hasImplicitBufferPtr() const { return ImplicitBufferPtr; }
1594 bool hasPrivateSegmentBuffer() const { return PrivateSegmentBuffer; }
1596 bool hasDispatchPtr() const { return DispatchPtr; }
1598 bool hasQueuePtr() const { return QueuePtr; }
1600 bool hasKernargSegmentPtr() const { return KernargSegmentPtr; }
1602 bool hasDispatchID() const { return DispatchID; }
1604 bool hasFlatScratchInit() const { return FlatScratchInit; }
1606 bool hasPrivateSegmentSize() const { return PrivateSegmentSize; }
1658 bool ImplicitBufferPtr = false;
1660 bool PrivateSegmentBuffer = false;
1662 bool DispatchPtr = false;
1664 bool QueuePtr = false;
1666 bool KernargSegmentPtr = false;
1668 bool DispatchID = false;
1670 bool FlatScratchInit = false;
1672 bool PrivateSegmentSize = false;