summaryrefslogtreecommitdiff
path: root/lib/Target/R600/AMDGPU.td
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-01-22 21:55:40 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-01-22 21:55:40 +0000
commit1684d47d8f73250616bfbed63607121fb82555bb (patch)
treea0a9840bd8f6ed2dfe054693efd44128caac02fb /lib/Target/R600/AMDGPU.td
parent0ed0ced91c07ca19179b6b28f3b69e8d3825c106 (diff)
downloadllvm-1684d47d8f73250616bfbed63607121fb82555bb.tar.gz
llvm-1684d47d8f73250616bfbed63607121fb82555bb.tar.bz2
llvm-1684d47d8f73250616bfbed63607121fb82555bb.tar.xz
R600: Add wavefront size property to the subtargets v2
v2: - Initialize wavefront size to 0 reviewed-by: Vincent Lejeune <vljn at ovi.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199838 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/R600/AMDGPU.td')
-rw-r--r--lib/Target/R600/AMDGPU.td12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/Target/R600/AMDGPU.td b/lib/Target/R600/AMDGPU.td
index 36c4156091..c4e5efc8d6 100644
--- a/lib/Target/R600/AMDGPU.td
+++ b/lib/Target/R600/AMDGPU.td
@@ -72,6 +72,16 @@ class SubtargetFeatureFetchLimit <string Value> :
def FeatureFetchLimit8 : SubtargetFeatureFetchLimit <"8">;
def FeatureFetchLimit16 : SubtargetFeatureFetchLimit <"16">;
+class SubtargetFeatureWavefrontSize <int Value> : SubtargetFeature<
+ "wavefrontsize"#Value,
+ "WavefrontSize",
+ !cast<string>(Value),
+ "The number of threads per wavefront">;
+
+def FeatureWavefrontSize16 : SubtargetFeatureWavefrontSize<16>;
+def FeatureWavefrontSize32 : SubtargetFeatureWavefrontSize<32>;
+def FeatureWavefrontSize64 : SubtargetFeatureWavefrontSize<64>;
+
class SubtargetFeatureGeneration <string Value,
list<SubtargetFeature> Implies> :
SubtargetFeature <Value, "Gen", "AMDGPUSubtarget::"#Value,
@@ -87,7 +97,7 @@ def FeatureEvergreen : SubtargetFeatureGeneration<"EVERGREEN",
[FeatureFetchLimit16]>;
def FeatureNorthernIslands : SubtargetFeatureGeneration<"NORTHERN_ISLANDS",
- [FeatureFetchLimit16]>;
+ [FeatureFetchLimit16, FeatureWavefrontSize64]>;
def FeatureSouthernIslands : SubtargetFeatureGeneration<"SOUTHERN_ISLANDS",
[Feature64BitPtr, FeatureFP64]>;