@@ -586,8 +586,8 @@ def FeatureRealTrue16Insts : SubtargetFeature<"real-true16",
586
586
"Use true 16-bit registers"
587
587
>;
588
588
589
- def Feature16bitD16HWBug : SubtargetFeature<"d16-hw-bug ",
590
- "Enable16bitD16HWBug ",
589
+ def FeatureD16Writes32BitVgpr : SubtargetFeature<"d16-write-vgpr32 ",
590
+ "EnableD16Writes32BitVgpr ",
591
591
"true",
592
592
"D16 instructions potentially have 32-bit data dependencies"
593
593
>;
@@ -1941,7 +1941,7 @@ def FeatureISAVersion11_Common : FeatureSet<
1941
1941
FeatureVcmpxPermlaneHazard,
1942
1942
FeatureMemoryAtomicFAddF32DenormalSupport,
1943
1943
FeatureRealTrue16Insts,
1944
- Feature16bitD16HWBug ,
1944
+ FeatureD16Writes32BitVgpr ,
1945
1945
]>;
1946
1946
1947
1947
// There are few workarounds that need to be
@@ -2578,10 +2578,10 @@ def UseFakeTrue16Insts : True16PredicateClass<"Subtarget->hasTrue16BitInsts() &&
2578
2578
// FIXME When we default to RealTrue16 instead of Fake, change the line as follows.
2579
2579
// AssemblerPredicate<(all_of FeatureTrue16BitInsts, (not FeatureRealTrue16Insts))>;
2580
2580
2581
- def Has16bitD16HWBug : Predicate<"Subtarget->has16bitD16HWBug ()">,
2582
- AssemblerPredicate<(all_of FeatureTrue16BitInsts, FeatureRealTrue16Insts, Feature16bitD16HWBug )>;
2583
- def NotHas16bitD16HWBug : Predicate<"!Subtarget->has16bitD16HWBug ()">,
2584
- AssemblerPredicate<(all_of FeatureTrue16BitInsts, FeatureRealTrue16Insts, (not Feature16bitD16HWBug ))>;
2581
+ def HasD16Writes32BitVgpr : Predicate<"Subtarget->hasD16Writes32BitVgpr ()">,
2582
+ AssemblerPredicate<(all_of FeatureTrue16BitInsts, FeatureRealTrue16Insts, FeatureD16Writes32BitVgpr )>;
2583
+ def NotHasD16Writes32BitVgpr : Predicate<"!Subtarget->hasD16Writes32BitVgpr ()">,
2584
+ AssemblerPredicate<(all_of FeatureTrue16BitInsts, FeatureRealTrue16Insts, (not FeatureD16Writes32BitVgpr ))>;
2585
2585
2586
2586
def HasBF16TransInsts : Predicate<"Subtarget->hasBF16TransInsts()">,
2587
2587
AssemblerPredicate<(all_of FeatureBF16TransInsts)>;
0 commit comments