summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/R600Instructions.td
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-05-08 10:01:58 -0400
committerTom Stellard <[email protected]>2012-05-08 15:47:45 -0400
commitad385c402e665b2aedc7b456575d19df32584e73 (patch)
tree4ea5067714c75893931f5bc19e9af376aa3a418f /src/gallium/drivers/radeon/R600Instructions.td
parent52a7f212d36bd9829494bd588ecb9a3ebe9fc28a (diff)
radeon/llvm: Use a custom inserter to lower LOAD_INPUT
Diffstat (limited to 'src/gallium/drivers/radeon/R600Instructions.td')
-rw-r--r--src/gallium/drivers/radeon/R600Instructions.td15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/gallium/drivers/radeon/R600Instructions.td b/src/gallium/drivers/radeon/R600Instructions.td
index 381ad715504..b462a05ea24 100644
--- a/src/gallium/drivers/radeon/R600Instructions.td
+++ b/src/gallium/drivers/radeon/R600Instructions.td
@@ -991,6 +991,13 @@ def LOCAL_SIZE_Y : R600PreloadInst <"LOCAL_SIZE_Y",
def LOCAL_SIZE_Z : R600PreloadInst <"LOCAL_SIZE_Z",
int_r600_read_local_size_z>;
+def LOAD_INPUT : AMDGPUShaderInst <
+ (outs R600_Reg32:$dst),
+ (ins i32imm:$src),
+ "LOAD_INPUT $dst, $src",
+ [(set R600_Reg32:$dst, (int_R600_load_input imm:$src))]
+>;
+
} // End usesCustomInserter = 1, isPseudo = 1
} // End isCodeGenOnly = 1
@@ -1032,12 +1039,4 @@ def : Insert_Element <i32, v4i32, R600_Reg32, R600_Reg128, 7, sel_w>;
include "R600ShaderPatterns.td"
-// We need this pattern to avoid having real registers in PHI nodes.
-// For some reason this pattern only works when it comes after the other
-// instruction defs.
-def : Pat <
- (int_R600_load_input imm:$src),
- (LOAD_INPUT imm:$src)
->;
-
} // End isR600toCayman Predicate