AMDGPU: Fix SDWA peephole for V_AND_B32
authorNicolai Haehnle <nhaehnle@gmail.com>
Mon, 23 Apr 2018 13:06:03 +0000 (13:06 +0000)
committerNicolai Haehnle <nhaehnle@gmail.com>
Mon, 23 Apr 2018 13:06:03 +0000 (13:06 +0000)
Summary:
Found by inspection. We care about the operand that *doesn't*
contain the immediate.

I believe this is currently not hit because we fold 0xff / 0xffff
immediates only later.

Change-Id: Ic3cf8538bc7da5eff3200d96eccf9d339e6345a7

Reviewers: arsenm, rampitec

Subscribers: kzhuravl, wdng, yaxunl, dstuttard, tpr, t-tye, llvm-commits

Differential Revision: https://reviews.llvm.org/D45886

llvm-svn: 330586

llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp

index 648f97a..3da63ac 100644 (file)
@@ -699,7 +699,7 @@ SIPeepholeSDWA::matchSDWAOperand(MachineInstr &MI) {
 
     MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst);
 
-    if (TRI->isPhysicalRegister(Src1->getReg()) ||
+    if (TRI->isPhysicalRegister(ValSrc->getReg()) ||
         TRI->isPhysicalRegister(Dst->getReg()))
       break;