From 5a9a61ed7d75d2415ddfd4cfedba0b229d064313 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Mon, 22 Sep 2014 15:35:34 +0000 Subject: [PATCH] R600/SI: Remove modifier operands from V_CNDMASK_B32_e64 Modifiers don't work for this instruction. llvm-svn: 218253 --- llvm/lib/Target/R600/SIInstructions.td | 5 ++--- llvm/lib/Target/R600/SILowerI1Copies.cpp | 6 +----- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/llvm/lib/Target/R600/SIInstructions.td b/llvm/lib/Target/R600/SIInstructions.td index e4d7dc79be17..cbf6d86e0e49 100644 --- a/llvm/lib/Target/R600/SIInstructions.td +++ b/llvm/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/llvm/lib/Target/R600/SILowerI1Copies.cpp b/llvm/lib/Target/R600/SILowerI1Copies.cpp index 1f0f24b82bd4..3ab0c2ae8eda 100644 --- a/llvm/lib/Target/R600/SILowerI1Copies.cpp +++ b/llvm/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) {