diff options
author | Tom Stellard <[email protected]> | 2012-05-08 10:01:58 -0400 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2012-05-08 15:47:45 -0400 |
commit | ad385c402e665b2aedc7b456575d19df32584e73 (patch) | |
tree | 4ea5067714c75893931f5bc19e9af376aa3a418f /src/gallium/drivers/radeon/R600Instructions.td | |
parent | 52a7f212d36bd9829494bd588ecb9a3ebe9fc28a (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.td | 15 |
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 |