diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp b/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp index 87bacc5..4774041 100644 --- a/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp +++ b/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp @@ -992,6 +992,16 @@ bool SIPeepholeSDWA::isConvertibleToSDWA(MachineInstr &MI, if (Opc == AMDGPU::V_CNDMASK_B32_e32) return false; + if (MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0)) { + if (!Src0->isReg() && !Src0->isImm()) + return false; + } + + if (MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1)) { + if (!Src1->isReg() && !Src1->isImm()) + return false; + } + return true; } |