Lines Matching defs:VCmp
59 MachineInstr &VCmp, MCRegister Exec) const;
577 MachineInstr &SaveExecInstr, MachineInstr &VCmp, MCRegister Exec) const {
578 const int NewOpcode = AMDGPU::getVCMPXOpFromVCMP(VCmp.getOpcode());
583 MachineOperand *Src0 = TII->getNamedOperand(VCmp, AMDGPU::OpName::src0);
584 MachineOperand *Src1 = TII->getNamedOperand(VCmp, AMDGPU::OpName::src1);
599 auto Builder = BuildMI(*VCmp.getParent(), std::next(InsertPosIt),
600 VCmp.getDebugLoc(), TII->get(NewOpcode));
604 if (auto *Mod = TII->getNamedOperand(VCmp, OperandName))
626 VCmp.eraseFromParent();
662 MachineInstr *VCmp = nullptr;
666 VCmp = findInstrBackwards(
674 if (!VCmp)
677 MachineOperand *VCmpDest = TII->getNamedOperand(*VCmp, AMDGPU::OpName::sdst);
681 MachineOperand *Src0 = TII->getNamedOperand(*VCmp, AMDGPU::OpName::src0);
686 MachineOperand *Src1 = TII->getNamedOperand(*VCmp, AMDGPU::OpName::src1);
695 if (isLiveOut(*VCmp->getParent(), VCmpDest->getReg()))
700 if (isRegisterInUseBetween(*VCmp, MI, VCmpDest->getReg(), false, true) ||
704 // Try to determine if there is a write to any of the VCmp
716 MI, [&](MachineInstr *Check) { return Check == VCmp; }, NonDefRegs,
717 VCmp, &KillFlagCandidates))
720 if (VCmp)
721 SaveExecVCmpMapping[&MI] = VCmp;