@@ -33,6 +33,12 @@ def FeatureFastFMAF32 : SubtargetFeature<"fast-fmaf",
33
33
"Assuming f32 fma is at least as fast as mul + add"
34
34
>;
35
35
36
+ def FeatureFastDenormalF32 : SubtargetFeature<"fast-denormal-f32",
37
+ "FastDenormalF32",
38
+ "true",
39
+ "Enabling denormals does not cause f32 instructions to run at f64 rates"
40
+ >;
41
+
36
42
def FeatureMIMG_R128 : SubtargetFeature<"mimg-r128",
37
43
"MIMG_R128",
38
44
"true",
@@ -632,7 +638,7 @@ def FeatureVolcanicIslands : GCNSubtargetFeatureGeneration<"VOLCANIC_ISLANDS",
632
638
FeatureScalarStores, FeatureInv2PiInlineImm,
633
639
FeatureSDWA, FeatureSDWAOutModsVOPC, FeatureSDWAMac, FeatureDPP,
634
640
FeatureIntClamp, FeatureTrigReducedRange, FeatureDoesNotSupportSRAMECC,
635
- FeatureGFX8Insts, FeatureGFX7GFX8GFX9Insts
641
+ FeatureGFX8Insts, FeatureGFX7GFX8GFX9Insts, FeatureFastDenormalF32
636
642
]
637
643
>;
638
644
@@ -647,8 +653,8 @@ def FeatureGFX9 : GCNSubtargetFeatureGeneration<"GFX9",
647
653
FeatureSDWA, FeatureSDWAOmod, FeatureSDWAScalar, FeatureSDWASdst,
648
654
FeatureFlatInstOffsets, FeatureFlatGlobalInsts, FeatureFlatScratchInsts,
649
655
FeatureAddNoCarryInsts, FeatureGFX8Insts, FeatureGFX7GFX8GFX9Insts,
650
- FeatureScalarFlatScratchInsts, FeatureScalarAtomics, FeatureR128A16
651
- ]
656
+ FeatureScalarFlatScratchInsts, FeatureScalarAtomics, FeatureR128A16,
657
+ FeatureFastDenormalF32 ]
652
658
>;
653
659
654
660
def FeatureGFX10 : GCNSubtargetFeatureGeneration<"GFX10",
@@ -665,7 +671,7 @@ def FeatureGFX10 : GCNSubtargetFeatureGeneration<"GFX10",
665
671
FeatureNoSdstCMPX, FeatureVscnt, FeatureRegisterBanking,
666
672
FeatureVOP3Literal, FeatureDPP8,
667
673
FeatureNoDataDepHazard, FeaturePkFmacF16Inst, FeatureDoesNotSupportSRAMECC,
668
- FeatureGFX10A16
674
+ FeatureGFX10A16, FeatureFastDenormalF32
669
675
]
670
676
>;
671
677
0 commit comments