1 //===-- AMDGPU.td - AMDGPU Tablegen files --------*- tablegen -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===------------------------------------------------------------===//
10 include "llvm/TableGen/SearchableTable.td"
11 include "llvm/Target/Target.td"
12 include "AMDGPUFeatures.td"
14 //===------------------------------------------------------------===//
15 // Subtarget Features (device properties)
16 //===------------------------------------------------------------===//
18 def FeatureFastFMAF32 : SubtargetFeature<"fast-fmaf",
21 "Assuming f32 fma is at least as fast as mul + add"
24 def FeatureMIMG_R128 : SubtargetFeature<"mimg-r128",
27 "Support 128-bit texture resources"
30 def HalfRate64Ops : SubtargetFeature<"half-rate-64-ops",
33 "Most fp64 instructions are half rate instead of quarter"
36 def FeatureFlatAddressSpace : SubtargetFeature<"flat-address-space",
39 "Support flat address space"
42 def FeatureFlatInstOffsets : SubtargetFeature<"flat-inst-offsets",
45 "Flat instructions have immediate offset addressing mode"
48 def FeatureFlatGlobalInsts : SubtargetFeature<"flat-global-insts",
51 "Have global_* flat memory instructions"
54 def FeatureFlatScratchInsts : SubtargetFeature<"flat-scratch-insts",
57 "Have scratch_* flat memory instructions"
60 def FeatureAddNoCarryInsts : SubtargetFeature<"add-no-carry-insts",
63 "Have VALU add/sub instructions without carry out"
66 def FeatureUnalignedBufferAccess : SubtargetFeature<"unaligned-buffer-access",
67 "UnalignedBufferAccess",
69 "Support unaligned global loads and stores"
72 def FeatureTrapHandler: SubtargetFeature<"trap-handler",
75 "Trap handler support"
78 def FeatureUnalignedScratchAccess : SubtargetFeature<"unaligned-scratch-access",
79 "UnalignedScratchAccess",
81 "Support unaligned scratch loads and stores"
84 def FeatureApertureRegs : SubtargetFeature<"aperture-regs",
87 "Has Memory Aperture Base and Size Registers"
90 def FeatureMadMixInsts : SubtargetFeature<"mad-mix-insts",
93 "Has v_mad_mix_f32, v_mad_mixlo_f16, v_mad_mixhi_f16 instructions"
96 def FeatureFmaMixInsts : SubtargetFeature<"fma-mix-insts",
99 "Has v_fma_mix_f32, v_fma_mixlo_f16, v_fma_mixhi_f16 instructions"
102 // XNACK is disabled if SH_MEM_CONFIG.ADDRESS_MODE = GPUVM on chips that support
103 // XNACK. The current default kernel driver setting is:
104 // - graphics ring: XNACK disabled
105 // - compute ring: XNACK enabled
107 // If XNACK is enabled, the VMEM latency can be worse.
108 // If XNACK is disabled, the 2 SGPRs can be used for general purposes.
109 def FeatureXNACK : SubtargetFeature<"xnack",
112 "Enable XNACK support"
115 def FeatureSGPRInitBug : SubtargetFeature<"sgpr-init-bug",
118 "VI SGPR initialization bug requiring a fixed SGPR allocation size"
121 class SubtargetFeatureLDSBankCount <int Value> : SubtargetFeature <
122 "ldsbankcount"#Value,
124 !cast<string>(Value),
125 "The number of LDS banks per compute unit."
128 def FeatureLDSBankCount16 : SubtargetFeatureLDSBankCount<16>;
129 def FeatureLDSBankCount32 : SubtargetFeatureLDSBankCount<32>;
131 def FeatureGCN3Encoding : SubtargetFeature<"gcn3-encoding",
134 "Encoding format for VI"
137 def FeatureCIInsts : SubtargetFeature<"ci-insts",
140 "Additional instructions for CI+"
143 def FeatureGFX9Insts : SubtargetFeature<"gfx9-insts",
146 "Additional instructions for GFX9+"
149 def FeatureSMemRealTime : SubtargetFeature<"s-memrealtime",
152 "Has s_memrealtime instruction"
155 def FeatureInv2PiInlineImm : SubtargetFeature<"inv-2pi-inline-imm",
156 "HasInv2PiInlineImm",
158 "Has 1 / (2 * pi) as inline immediate"
161 def Feature16BitInsts : SubtargetFeature<"16-bit-insts",
164 "Has i16/f16 instructions"
167 def FeatureVOP3P : SubtargetFeature<"vop3p",
170 "Has VOP3P packed instructions"
173 def FeatureMovrel : SubtargetFeature<"movrel",
176 "Has v_movrel*_b32 instructions"
179 def FeatureVGPRIndexMode : SubtargetFeature<"vgpr-index-mode",
182 "Has VGPR mode register indexing"
185 def FeatureScalarStores : SubtargetFeature<"scalar-stores",
188 "Has store scalar memory instructions"
191 def FeatureScalarAtomics : SubtargetFeature<"scalar-atomics",
194 "Has atomic scalar memory instructions"
197 def FeatureSDWA : SubtargetFeature<"sdwa",
200 "Support SDWA (Sub-DWORD Addressing) extension"
203 def FeatureSDWAOmod : SubtargetFeature<"sdwa-omod",
206 "Support OMod with SDWA (Sub-DWORD Addressing) extension"
209 def FeatureSDWAScalar : SubtargetFeature<"sdwa-scalar",
212 "Support scalar register with SDWA (Sub-DWORD Addressing) extension"
215 def FeatureSDWASdst : SubtargetFeature<"sdwa-sdst",
218 "Support scalar dst for VOPC with SDWA (Sub-DWORD Addressing) extension"
221 def FeatureSDWAMac : SubtargetFeature<"sdwa-mav",
224 "Support v_mac_f32/f16 with SDWA (Sub-DWORD Addressing) extension"
227 def FeatureSDWAOutModsVOPC : SubtargetFeature<"sdwa-out-mods-vopc",
228 "HasSDWAOutModsVOPC",
230 "Support clamp for VOPC with SDWA (Sub-DWORD Addressing) extension"
233 def FeatureDPP : SubtargetFeature<"dpp",
236 "Support DPP (Data Parallel Primitives) extension"
239 def FeatureIntClamp : SubtargetFeature<"int-clamp-insts",
242 "Support clamp for integer destination"
245 def FeatureUnpackedD16VMem : SubtargetFeature<"unpacked-d16-vmem",
246 "HasUnpackedD16VMem",
248 "Has unpacked d16 vmem instructions"
251 def FeatureDLInsts : SubtargetFeature<"dl-insts",
254 "Has deep learning instructions"
257 def FeatureD16PreservesUnusedBits : SubtargetFeature<
258 "d16-preserves-unused-bits",
259 "D16PreservesUnusedBits",
261 "If present, then instructions defined by HasD16LoadStore predicate preserve "
262 "unused bits. Otherwise instructions defined by HasD16LoadStore predicate "
266 //===------------------------------------------------------------===//
267 // Subtarget Features (options and debugging)
268 //===------------------------------------------------------------===//
270 // Denormal handling for fp64 and fp16 is controlled by the same
271 // config register when fp16 supported.
272 // TODO: Do we need a separate f16 setting when not legal?
273 def FeatureFP64FP16Denormals : SubtargetFeature<"fp64-fp16-denormals",
276 "Enable double and half precision denormal handling",
280 def FeatureFP64Denormals : SubtargetFeature<"fp64-denormals",
283 "Enable double and half precision denormal handling",
284 [FeatureFP64, FeatureFP64FP16Denormals]
287 def FeatureFP16Denormals : SubtargetFeature<"fp16-denormals",
290 "Enable half precision denormal handling",
291 [FeatureFP64FP16Denormals]
294 def FeatureFPExceptions : SubtargetFeature<"fp-exceptions",
297 "Enable floating point exceptions"
300 class FeatureMaxPrivateElementSize<int size> : SubtargetFeature<
301 "max-private-element-size-"#size,
302 "MaxPrivateElementSize",
304 "Maximum private access size may be "#size
307 def FeatureMaxPrivateElementSize4 : FeatureMaxPrivateElementSize<4>;
308 def FeatureMaxPrivateElementSize8 : FeatureMaxPrivateElementSize<8>;
309 def FeatureMaxPrivateElementSize16 : FeatureMaxPrivateElementSize<16>;
311 def FeatureEnableHugePrivateBuffer : SubtargetFeature<
312 "huge-private-buffer",
313 "EnableHugePrivateBuffer",
315 "Enable private/scratch buffer sizes greater than 128 GB"
318 def FeatureVGPRSpilling : SubtargetFeature<"vgpr-spilling",
319 "EnableVGPRSpilling",
321 "Enable spilling of VGPRs to scratch memory"
324 def FeatureDumpCode : SubtargetFeature <"DumpCode",
327 "Dump MachineInstrs in the CodeEmitter"
330 def FeatureDumpCodeLower : SubtargetFeature <"dumpcode",
333 "Dump MachineInstrs in the CodeEmitter"
336 // XXX - This should probably be removed once enabled by default
337 def FeatureEnableLoadStoreOpt : SubtargetFeature <"load-store-opt",
338 "EnableLoadStoreOpt",
340 "Enable SI load/store optimizer pass"
343 // Performance debugging feature. Allow using DS instruction immediate
344 // offsets even if the base pointer can't be proven to be base. On SI,
345 // base pointer values that won't give the same result as a 16-bit add
346 // are not safe to fold, but this will override the conservative test
347 // for the base pointer.
348 def FeatureEnableUnsafeDSOffsetFolding : SubtargetFeature <
349 "unsafe-ds-offset-folding",
350 "EnableUnsafeDSOffsetFolding",
352 "Force using DS instruction immediate offsets on SI"
355 def FeatureEnableSIScheduler : SubtargetFeature<"si-scheduler",
358 "Enable SI Machine Scheduler"
361 def FeatureEnableDS128 : SubtargetFeature<"enable-ds128",
364 "Use ds_{read|write}_b128"
367 // Unless +-flat-for-global is specified, turn on FlatForGlobal for
368 // all OS-es on VI and newer hardware to avoid assertion failures due
369 // to missing ADDR64 variants of MUBUF instructions.
370 // FIXME: moveToVALU should be able to handle converting addr64 MUBUF
373 def FeatureFlatForGlobal : SubtargetFeature<"flat-for-global",
376 "Force to generate flat instruction for global"
379 def FeatureAutoWaitcntBeforeBarrier : SubtargetFeature <
380 "auto-waitcnt-before-barrier",
381 "AutoWaitcntBeforeBarrier",
383 "Hardware automatically inserts waitcnt before barrier"
386 def FeatureCodeObjectV3 : SubtargetFeature <
390 "Generate code object version 3"
393 // Dummy feature used to disable assembler instructions.
394 def FeatureDisable : SubtargetFeature<"",
395 "FeatureDisable","true",
396 "Dummy feature to disable assembler instructions"
399 def FeatureGCN : SubtargetFeature<"gcn",
405 class GCNSubtargetFeatureGeneration <string Value,
406 list<SubtargetFeature> Implies> :
407 SubtargetFeatureGeneration <Value, "GCNSubtarget", Implies>;
409 def FeatureSouthernIslands : GCNSubtargetFeatureGeneration<"SOUTHERN_ISLANDS",
410 [FeatureFP64, FeatureLocalMemorySize32768, FeatureMIMG_R128,
411 FeatureWavefrontSize64, FeatureGCN,
412 FeatureLDSBankCount32, FeatureMovrel]
415 def FeatureSeaIslands : GCNSubtargetFeatureGeneration<"SEA_ISLANDS",
416 [FeatureFP64, FeatureLocalMemorySize65536, FeatureMIMG_R128,
417 FeatureWavefrontSize64, FeatureGCN, FeatureFlatAddressSpace,
418 FeatureCIInsts, FeatureMovrel]
421 def FeatureVolcanicIslands : GCNSubtargetFeatureGeneration<"VOLCANIC_ISLANDS",
422 [FeatureFP64, FeatureLocalMemorySize65536, FeatureMIMG_R128,
423 FeatureWavefrontSize64, FeatureFlatAddressSpace, FeatureGCN,
424 FeatureGCN3Encoding, FeatureCIInsts, Feature16BitInsts,
425 FeatureSMemRealTime, FeatureVGPRIndexMode, FeatureMovrel,
426 FeatureScalarStores, FeatureInv2PiInlineImm,
427 FeatureSDWA, FeatureSDWAOutModsVOPC, FeatureSDWAMac, FeatureDPP,
432 def FeatureGFX9 : GCNSubtargetFeatureGeneration<"GFX9",
433 [FeatureFP64, FeatureLocalMemorySize65536,
434 FeatureWavefrontSize64, FeatureFlatAddressSpace, FeatureGCN,
435 FeatureGCN3Encoding, FeatureCIInsts, Feature16BitInsts,
436 FeatureSMemRealTime, FeatureScalarStores, FeatureInv2PiInlineImm,
437 FeatureApertureRegs, FeatureGFX9Insts, FeatureVOP3P, FeatureVGPRIndexMode,
438 FeatureFastFMAF32, FeatureDPP, FeatureIntClamp,
439 FeatureSDWA, FeatureSDWAOmod, FeatureSDWAScalar, FeatureSDWASdst,
440 FeatureFlatInstOffsets, FeatureFlatGlobalInsts, FeatureFlatScratchInsts,
441 FeatureAddNoCarryInsts, FeatureScalarAtomics
445 class SubtargetFeatureISAVersion <int Major, int Minor, int Stepping,
446 list<SubtargetFeature> Implies>
448 "isaver"#Major#"."#Minor#"."#Stepping,
450 "ISAVersion"#Major#"_"#Minor#"_"#Stepping,
451 "Instruction set version number",
455 def FeatureISAVersion6_0_0 : SubtargetFeatureISAVersion <6,0,0,
456 [FeatureSouthernIslands,
459 FeatureLDSBankCount32]>;
461 def FeatureISAVersion6_0_1 : SubtargetFeatureISAVersion <6,0,1,
462 [FeatureSouthernIslands,
463 FeatureLDSBankCount32]>;
465 def FeatureISAVersion7_0_0 : SubtargetFeatureISAVersion <7,0,0,
467 FeatureLDSBankCount32]>;
469 def FeatureISAVersion7_0_1 : SubtargetFeatureISAVersion <7,0,1,
472 FeatureLDSBankCount32,
475 def FeatureISAVersion7_0_2 : SubtargetFeatureISAVersion <7,0,2,
477 FeatureLDSBankCount16,
480 def FeatureISAVersion7_0_3 : SubtargetFeatureISAVersion <7,0,3,
482 FeatureLDSBankCount16]>;
484 def FeatureISAVersion7_0_4 : SubtargetFeatureISAVersion <7,0,4,
486 FeatureLDSBankCount32]>;
488 def FeatureISAVersion8_0_1 : SubtargetFeatureISAVersion <8,0,1,
489 [FeatureVolcanicIslands,
492 FeatureLDSBankCount32,
494 FeatureUnpackedD16VMem]>;
496 def FeatureISAVersion8_0_2 : SubtargetFeatureISAVersion <8,0,2,
497 [FeatureVolcanicIslands,
498 FeatureLDSBankCount32,
500 FeatureUnpackedD16VMem]>;
502 def FeatureISAVersion8_0_3 : SubtargetFeatureISAVersion <8,0,3,
503 [FeatureVolcanicIslands,
504 FeatureLDSBankCount32,
505 FeatureUnpackedD16VMem]>;
507 def FeatureISAVersion8_1_0 : SubtargetFeatureISAVersion <8,1,0,
508 [FeatureVolcanicIslands,
509 FeatureLDSBankCount16,
512 def FeatureISAVersion9_0_0 : SubtargetFeatureISAVersion <9,0,0,
515 FeatureLDSBankCount32,
516 FeatureD16PreservesUnusedBits]>;
518 def FeatureISAVersion9_0_2 : SubtargetFeatureISAVersion <9,0,2,
521 FeatureLDSBankCount32,
523 FeatureD16PreservesUnusedBits]>;
525 def FeatureISAVersion9_0_4 : SubtargetFeatureISAVersion <9,0,4,
527 FeatureLDSBankCount32,
529 FeatureD16PreservesUnusedBits]>;
531 def FeatureISAVersion9_0_6 : SubtargetFeatureISAVersion <9,0,6,
535 FeatureLDSBankCount32,
538 //===----------------------------------------------------------------------===//
539 // Debugger related subtarget features.
540 //===----------------------------------------------------------------------===//
542 def FeatureDebuggerInsertNops : SubtargetFeature<
543 "amdgpu-debugger-insert-nops",
544 "DebuggerInsertNops",
546 "Insert one nop instruction for each high level source statement"
549 def FeatureDebuggerEmitPrologue : SubtargetFeature<
550 "amdgpu-debugger-emit-prologue",
551 "DebuggerEmitPrologue",
553 "Emit debugger prologue"
556 //===----------------------------------------------------------------------===//
558 def AMDGPUInstrInfo : InstrInfo {
559 let guessInstructionProperties = 1;
560 let noNamedPositionallyEncodedOperands = 1;
563 def AMDGPUAsmParser : AsmParser {
564 // Some of the R600 registers have the same name, so this crashes.
565 // For example T0_XYZW and T0_XY both have the asm name T0.
566 let ShouldEmitMatchRegisterName = 0;
569 def AMDGPUAsmWriter : AsmWriter {
570 int PassSubtarget = 1;
573 def AMDGPUAsmVariants {
574 string Default = "Default";
576 string VOP3 = "VOP3";
578 string SDWA = "SDWA";
580 string SDWA9 = "SDWA9";
584 string Disable = "Disable";
588 def DefaultAMDGPUAsmParserVariant : AsmParserVariant {
589 let Variant = AMDGPUAsmVariants.Default_ID;
590 let Name = AMDGPUAsmVariants.Default;
593 def VOP3AsmParserVariant : AsmParserVariant {
594 let Variant = AMDGPUAsmVariants.VOP3_ID;
595 let Name = AMDGPUAsmVariants.VOP3;
598 def SDWAAsmParserVariant : AsmParserVariant {
599 let Variant = AMDGPUAsmVariants.SDWA_ID;
600 let Name = AMDGPUAsmVariants.SDWA;
603 def SDWA9AsmParserVariant : AsmParserVariant {
604 let Variant = AMDGPUAsmVariants.SDWA9_ID;
605 let Name = AMDGPUAsmVariants.SDWA9;
609 def DPPAsmParserVariant : AsmParserVariant {
610 let Variant = AMDGPUAsmVariants.DPP_ID;
611 let Name = AMDGPUAsmVariants.DPP;
614 def AMDGPU : Target {
615 // Pull in Instruction Info:
616 let InstructionSet = AMDGPUInstrInfo;
617 let AssemblyParsers = [AMDGPUAsmParser];
618 let AssemblyParserVariants = [DefaultAMDGPUAsmParserVariant,
619 VOP3AsmParserVariant,
620 SDWAAsmParserVariant,
621 SDWA9AsmParserVariant,
622 DPPAsmParserVariant];
623 let AssemblyWriters = [AMDGPUAsmWriter];
624 let AllowRegisterRenaming = 1;
627 // Dummy Instruction itineraries for pseudo instructions
628 def ALU_NULL : FuncUnit;
629 def NullALU : InstrItinClass;
631 //===----------------------------------------------------------------------===//
632 // Predicate helper class
633 //===----------------------------------------------------------------------===//
635 def isSICI : Predicate<
636 "Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS ||"
637 "Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS"
638 >, AssemblerPredicate<"!FeatureGCN3Encoding">;
640 def isVI : Predicate <
641 "Subtarget->getGeneration() >= AMDGPUSubtarget::VOLCANIC_ISLANDS">,
642 AssemblerPredicate<"FeatureGCN3Encoding">;
644 def isGFX9 : Predicate <
645 "Subtarget->getGeneration() >= AMDGPUSubtarget::GFX9">,
646 AssemblerPredicate<"FeatureGFX9Insts">;
648 // TODO: Either the name to be changed or we simply use IsCI!
649 def isCIVI : Predicate <
650 "Subtarget->getGeneration() >= AMDGPUSubtarget::SEA_ISLANDS">,
651 AssemblerPredicate<"FeatureCIInsts">;
653 def HasFlatAddressSpace : Predicate<"Subtarget->hasFlatAddressSpace()">,
654 AssemblerPredicate<"FeatureFlatAddressSpace">;
656 def HasFlatGlobalInsts : Predicate<"Subtarget->hasFlatGlobalInsts()">,
657 AssemblerPredicate<"FeatureFlatGlobalInsts">;
658 def HasFlatScratchInsts : Predicate<"Subtarget->hasFlatScratchInsts()">,
659 AssemblerPredicate<"FeatureFlatScratchInsts">;
660 def HasD16LoadStore : Predicate<"Subtarget->hasD16LoadStore()">,
661 AssemblerPredicate<"FeatureGFX9Insts">;
663 def HasUnpackedD16VMem : Predicate<"Subtarget->hasUnpackedD16VMem()">,
664 AssemblerPredicate<"FeatureUnpackedD16VMem">;
665 def HasPackedD16VMem : Predicate<"!Subtarget->hasUnpackedD16VMem()">,
666 AssemblerPredicate<"!FeatureUnpackedD16VMem">;
668 def D16PreservesUnusedBits : Predicate<"Subtarget->d16PreservesUnusedBits()">,
669 AssemblerPredicate<"FeatureD16PreservesUnusedBits">;
671 def LDSRequiresM0Init : Predicate<"Subtarget->ldsRequiresM0Init()">;
672 def NotLDSRequiresM0Init : Predicate<"!Subtarget->ldsRequiresM0Init()">;
674 def HasDSAddTid : Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::GFX9">,
675 AssemblerPredicate<"FeatureGFX9Insts">;
677 def HasAddNoCarryInsts : Predicate<"Subtarget->hasAddNoCarryInsts()">,
678 AssemblerPredicate<"FeatureAddNoCarryInsts">;
680 def NotHasAddNoCarryInsts : Predicate<"!Subtarget->hasAddNoCarryInsts()">,
681 AssemblerPredicate<"!FeatureAddNoCarryInsts">;
683 def Has16BitInsts : Predicate<"Subtarget->has16BitInsts()">,
684 AssemblerPredicate<"Feature16BitInsts">;
685 def HasVOP3PInsts : Predicate<"Subtarget->hasVOP3PInsts()">,
686 AssemblerPredicate<"FeatureVOP3P">;
688 def NotHasVOP3PInsts : Predicate<"!Subtarget->hasVOP3PInsts()">,
689 AssemblerPredicate<"!FeatureVOP3P">;
691 def HasSDWA : Predicate<"Subtarget->hasSDWA()">,
692 AssemblerPredicate<"FeatureSDWA,FeatureVolcanicIslands">;
694 def HasSDWA9 : Predicate<"Subtarget->hasSDWA()">,
695 AssemblerPredicate<"FeatureSDWA,FeatureGFX9">;
697 def HasDPP : Predicate<"Subtarget->hasDPP()">,
698 AssemblerPredicate<"FeatureDPP">;
700 def HasIntClamp : Predicate<"Subtarget->hasIntClamp()">,
701 AssemblerPredicate<"FeatureIntClamp">;
703 def HasMadMixInsts : Predicate<"Subtarget->hasMadMixInsts()">,
704 AssemblerPredicate<"FeatureMadMixInsts">;
706 def HasScalarAtomics : Predicate<"Subtarget->hasScalarAtomics()">,
707 AssemblerPredicate<"FeatureScalarAtomics">;
709 def has16BankLDS : Predicate<"Subtarget->getLDSBankCount() == 16">;
710 def has32BankLDS : Predicate<"Subtarget->getLDSBankCount() == 32">;
711 def HasVGPRIndexMode : Predicate<"Subtarget->hasVGPRIndexMode()">,
712 AssemblerPredicate<"FeatureVGPRIndexMode">;
713 def HasMovrel : Predicate<"Subtarget->hasMovrel()">,
714 AssemblerPredicate<"FeatureMovrel">;
716 def HasFmaMixInsts : Predicate<"Subtarget->hasFmaMixInsts()">,
717 AssemblerPredicate<"FeatureFmaMixInsts">;
719 def HasDLInsts : Predicate<"Subtarget->hasDLInsts()">,
720 AssemblerPredicate<"FeatureDLInsts">;
723 def EnableLateCFGStructurize : Predicate<
724 "EnableLateStructurizeCFG">;
726 // Include AMDGPU TD files
727 include "SISchedule.td"
728 include "GCNProcessors.td"
729 include "AMDGPUInstrInfo.td"
730 include "AMDGPUIntrinsics.td"
731 include "SIIntrinsics.td"
732 include "AMDGPURegisterInfo.td"
733 include "AMDGPURegisterBanks.td"
734 include "AMDGPUInstructions.td"
735 include "SIInstrInfo.td"
736 include "AMDGPUCallingConv.td"
737 include "AMDGPUSearchableTables.td"