[Mesa-dev] [PATCH 2/4] radeon/llvm: SI shader vector instructions implicitly use the EXEC register.

Michel Dänzer michel at daenzer.net
Thu Sep 6 04:00:01 PDT 2012


From: Michel Dänzer <michel.daenzer at amd.com>

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 src/gallium/drivers/radeon/SIInstrInfo.td |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/radeon/SIInstrInfo.td b/src/gallium/drivers/radeon/SIInstrInfo.td
index 135f279..49ef342 100644
--- a/src/gallium/drivers/radeon/SIInstrInfo.td
+++ b/src/gallium/drivers/radeon/SIInstrInfo.td
@@ -99,6 +99,7 @@ def SMRDmemri : Operand<iPTR> {
 def ADDR_Reg     : ComplexPattern<i64, 2, "SelectADDRReg", [], []>;
 def ADDR_Offset8 : ComplexPattern<i64, 2, "SelectADDR8BitOffset", [], []>;
 
+let Uses = [EXEC] in {
 def EXP : Enc64<
   (outs),
   (ins i32imm:$en, i32imm:$tgt, i32imm:$compr, i32imm:$done, i32imm:$vm,
@@ -244,6 +245,7 @@ class MUBUF <bits<7> op, dag outs, dag ins, string asm, list<dag> pattern> :
   let usesCustomInserter = 1;
   let neverHasSideEffects = 1;
 }
+} // End Uses = [EXEC]
 
 class SMRD <bits<5> op, dag outs, dag ins, string asm, list<dag> pattern> :
     Enc32<outs, ins, asm, pattern> {
@@ -337,6 +339,7 @@ class SOPP <bits<7> op, dag ins, string asm, list<dag> pattern> : Enc32 <
 }
     
 
+let Uses = [EXEC] in {
 class VINTRP <bits <2> op, dag outs, dag ins, string asm, list<dag> pattern> :
     Enc32 <outs, ins, asm, pattern> {
 
@@ -430,6 +433,7 @@ class VOPC <bits<8> op, dag ins, string asm, list<dag> pattern> :
   let PostEncoderMethod = "VOPPostEncode";
   let DisableEncoding = "$dst";
 }
+} // End Uses = [EXEC]
 
 class MIMG_Load_Helper <bits<7> op, string asm> : MIMG <
   op,
-- 
1.7.10.4



More information about the mesa-dev mailing list