1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00

AMDGPU: Split vi-insts subtarget feature

This will be more useful for marking builtins acceptable for which
subtargets.

llvm-svn: 262121
This commit is contained in:
Matt Arsenault 2016-02-27 08:53:55 +00:00
parent 7522feaa7e
commit 6ecfce9ba2
3 changed files with 24 additions and 6 deletions

View File

@ -149,10 +149,16 @@ def FeatureCIInsts : SubtargetFeature<"ci-insts",
"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"
>;
//===------------------------------------------------------------===//
@ -314,7 +320,9 @@ def FeatureSeaIslands : SubtargetFeatureGeneration<"SEA_ISLANDS",
def FeatureVolcanicIslands : SubtargetFeatureGeneration<"VOLCANIC_ISLANDS",
[FeatureFP64, FeatureLocalMemorySize65536,
FeatureWavefrontSize64, FeatureFlatAddressSpace, FeatureGCN,
FeatureGCN3Encoding, FeatureCIInsts, FeatureVIInsts]
FeatureGCN3Encoding, FeatureCIInsts, Feature16BitInsts,
FeatureSMemRealTime
]
>;
//===----------------------------------------------------------------------===//

View File

@ -81,7 +81,8 @@ AMDGPUSubtarget::AMDGPUSubtarget(const Triple &TT, StringRef GPU, StringRef FS,
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),

View File

@ -88,7 +88,8 @@ private:
bool GCN1Encoding;
bool GCN3Encoding;
bool CIInsts;
bool VIInsts;
bool HasSMemRealTime;
bool Has16BitInsts;
bool FeatureDisable;
int LDSBankCount;
unsigned IsaVersion;
@ -169,6 +170,14 @@ public:
return FlatAddressSpace;
}
bool hasSMemRealTime() const {
return HasSMemRealTime;
}
bool has16BitInsts() const {
return Has16BitInsts;
}
bool useFlatForGlobal() const {
return FlatForGlobal;
}