From: Tom Stellard Date: Mon, 22 Sep 2014 15:35:34 +0000 (+0000) Subject: R600/SI: Remove modifier operands from V_CNDMASK_B32_e64 X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=2de7c388a62448e085a5ae060182dc17ed11d12a;p=oota-llvm.git R600/SI: Remove modifier operands from V_CNDMASK_B32_e64 Modifiers don't work for this instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218253 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/R600/SIInstructions.td b/lib/Target/R600/SIInstructions.td index e4d7dc79be1..cbf6d86e0e4 100644 --- a/lib/Target/R600/SIInstructions.td +++ b/lib/Target/R600/SIInstructions.td @@ -1317,9 +1317,8 @@ def V_CNDMASK_B32_e32 : VOP2 <0x00000000, (outs VReg_32:$dst), } def V_CNDMASK_B32_e64 : VOP3 <0x00000100, (outs VReg_32:$dst), - (ins VSrc_32:$src0, VSrc_32:$src1, SSrc_64:$src2, - InstFlag:$abs, InstFlag:$clamp, InstFlag:$omod, InstFlag:$neg), - "V_CNDMASK_B32_e64 $dst, $src0, $src1, $src2, $abs, $clamp, $omod, $neg", + (ins VSrc_32:$src0, VSrc_32:$src1, SSrc_64:$src2), + "V_CNDMASK_B32_e64 $dst, $src0, $src1, $src2", [(set i32:$dst, (select i1:$src2, i32:$src1, i32:$src0))] > { let src0_modifiers = 0; diff --git a/lib/Target/R600/SILowerI1Copies.cpp b/lib/Target/R600/SILowerI1Copies.cpp index 1f0f24b82bd..3ab0c2ae8ed 100644 --- a/lib/Target/R600/SILowerI1Copies.cpp +++ b/lib/Target/R600/SILowerI1Copies.cpp @@ -127,11 +127,7 @@ bool SILowerI1Copies::runOnMachineFunction(MachineFunction &MF) { .addOperand(MI.getOperand(0)) .addImm(0) .addImm(-1) - .addOperand(MI.getOperand(1)) - .addImm(0) - .addImm(0) - .addImm(0) - .addImm(0); + .addOperand(MI.getOperand(1)); MI.eraseFromParent(); } else if (TRI->getCommonSubClass(DstRC, &AMDGPU::SGPR_64RegClass) && SrcRC == &AMDGPU::VReg_1RegClass) {