---
 lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp 
b/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
index d5ae33d..f499c78 100644
--- a/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
+++ b/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp
@@ -276,11 +276,20 @@ bool 
R600ExpandSpecialInstrsPass::runOnMachineFunction(MachineFunction &MF) {
         } else {
           Opcode = MI.getOpcode();
         }
-        MachineInstr *NewMI =
-          BuildMI(MBB, I, MBB.findDebugLoc(I), TII->get(Opcode), DstReg)
-                  .addReg(Src0)
-                  .addReg(Src1)
-                  .addImm(0); // Flag
+
+        MachineInstr *NewMI;
+        if (MI.getNumExplicitOperands() == 5) {
+          NewMI = BuildMI(MBB, I, MBB.findDebugLoc(I), TII->get(Opcode), 
DstReg)
+              .addReg(Src0)
+              .addReg(Src1)
+              .addReg(0) // Pred
+              .addImm(0); // Flag
+        } else {
+          NewMI = BuildMI(MBB, I, MBB.findDebugLoc(I), TII->get(Opcode), 
DstReg)
+              .addReg(Src0)
+              .addReg(Src1)
+              .addImm(0); // Flag
+        }
 
         NewMI->setIsInsideBundle(Chan != 0);
         TII->addFlag(NewMI, 0, Flags);
-- 
1.7.11.7

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to