"Additional intstructions for CI+"
>;
-def FeatureVIInsts : SubtargetFeature<"vi-insts",
- "VIInsts",
+def FeatureSMemRealTime : SubtargetFeature<"s-memrealtime",
+ "HasSMemRealTime",
"true",
- "Additional intstructions for VI+"
+ "Has s_memrealtime instruction"
+>;
+
+def Feature16BitInsts : SubtargetFeature<"16-bit-insts",
+ "Has16BitInsts",
+ "true",
+ "Has i16/f16 instructions"
>;
//===------------------------------------------------------------===//
def FeatureVolcanicIslands : SubtargetFeatureGeneration<"VOLCANIC_ISLANDS",
[FeatureFP64, FeatureLocalMemorySize65536,
FeatureWavefrontSize64, FeatureFlatAddressSpace, FeatureGCN,
- FeatureGCN3Encoding, FeatureCIInsts, FeatureVIInsts]
+ FeatureGCN3Encoding, FeatureCIInsts, Feature16BitInsts,
+ FeatureSMemRealTime
+ ]
>;
//===----------------------------------------------------------------------===//
WavefrontSize(0), CFALUBug(false),
LocalMemorySize(0), MaxPrivateElementSize(0),
EnableVGPRSpilling(false), SGPRInitBug(false), IsGCN(false),
- GCN1Encoding(false), GCN3Encoding(false), CIInsts(false), VIInsts(false),
+ GCN1Encoding(false), GCN3Encoding(false), CIInsts(false),
+ HasSMemRealTime(false), Has16BitInsts(false),
LDSBankCount(0),
IsaVersion(ISAVersion0_0_0), EnableHugeScratchBuffer(false),
EnableSIScheduler(false), FrameLowering(nullptr),
bool GCN1Encoding;
bool GCN3Encoding;
bool CIInsts;
- bool VIInsts;
+ bool HasSMemRealTime;
+ bool Has16BitInsts;
bool FeatureDisable;
int LDSBankCount;
unsigned IsaVersion;
return FlatAddressSpace;
}
+ bool hasSMemRealTime() const {
+ return HasSMemRealTime;
+ }
+
+ bool has16BitInsts() const {
+ return Has16BitInsts;
+ }
+
bool useFlatForGlobal() const {
return FlatForGlobal;
}