Lines Matching refs:TII
41 const SIInstrInfo *TII);
52 const SIInstrInfo *TII; member in __anon5b8513100111::SIPeepholeSDWA
97 virtual MachineInstr *potentialToConvert(const SIInstrInfo *TII,
100 virtual bool convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) = 0;
132 MachineInstr *potentialToConvert(const SIInstrInfo *TII,
135 bool convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) override;
142 uint64_t getSrcMods(const SIInstrInfo *TII,
161 MachineInstr *potentialToConvert(const SIInstrInfo *TII,
164 bool convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) override;
184 bool convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) override;
312 uint64_t SDWASrcOperand::getSrcMods(const SIInstrInfo *TII, in getSrcMods() argument
316 if (TII->getNamedOperand(*MI, AMDGPU::OpName::src0) == SrcOp) { in getSrcMods()
317 if (auto *Mod = TII->getNamedOperand(*MI, AMDGPU::OpName::src0_modifiers)) { in getSrcMods()
320 } else if (TII->getNamedOperand(*MI, AMDGPU::OpName::src1) == SrcOp) { in getSrcMods()
321 if (auto *Mod = TII->getNamedOperand(*MI, AMDGPU::OpName::src1_modifiers)) { in getSrcMods()
337 MachineInstr *SDWASrcOperand::potentialToConvert(const SIInstrInfo *TII, in potentialToConvert() argument
348 if (!isConvertibleToSDWA(UseMI, ST, TII)) in potentialToConvert()
373 bool SDWASrcOperand::convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) { in convertToSDWA() argument
386 MachineOperand *Src = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
387 MachineOperand *SrcSel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
389 TII->getNamedOperand(MI, AMDGPU::OpName::src0_modifiers); in convertToSDWA()
393 Src = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in convertToSDWA()
394 SrcSel = TII->getNamedOperand(MI, AMDGPU::OpName::src1_sel); in convertToSDWA()
395 SrcMods = TII->getNamedOperand(MI, AMDGPU::OpName::src1_modifiers); in convertToSDWA()
405 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
407 TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
416 TII->getNamedImmOperand(MI, AMDGPU::OpName::dst_sel)); in convertToSDWA()
450 SrcMods->setImm(getSrcMods(TII, Src)); in convertToSDWA()
456 MachineInstr *SDWADstOperand::potentialToConvert(const SIInstrInfo *TII, in potentialToConvert() argument
477 bool SDWADstOperand::convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) { in convertToSDWA() argument
489 MachineOperand *Operand = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
494 MachineOperand *DstSel= TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
497 MachineOperand *DstUnused= TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
508 const SIInstrInfo *TII) { in convertToSDWA() argument
533 return SDWADstOperand::convertToSDWA(MI, TII); in convertToSDWA()
550 if (!TII->isFoldableCopy(*DefInst)) in foldToImm()
582 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
590 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
591 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
622 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
627 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
628 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
660 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
665 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in matchSDWAOperand()
689 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
690 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
706 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
707 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
719 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
752 if (!TII->isSDWA(*Op1Inst)) in matchSDWAOperand()
762 MachineOperand *OrSDWA = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
763 MachineOperand *OrOther = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
767 OrSDWA = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
768 OrOther = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
802 if (!TII->isSDWA(*OtherInst)) in matchSDWAOperand()
806 TII->getNamedImmOperand(*SDWAInst, AMDGPU::OpName::dst_sel)); in matchSDWAOperand()
808 TII->getNamedImmOperand(*OtherInst, AMDGPU::OpName::dst_sel)); in matchSDWAOperand()
848 TII->getNamedImmOperand(*OtherInst, AMDGPU::OpName::dst_unused)); in matchSDWAOperand()
853 MachineOperand *OrDst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
907 if (!TII->canShrink(MI, *MRI)) in pseudoOpConvertToVOP2()
911 const MachineOperand *Sdst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
920 MachineOperand *CarryIn = TII->getNamedOperand(MISucc, AMDGPU::OpName::src2); in pseudoOpConvertToVOP2()
923 MachineOperand *CarryOut = TII->getNamedOperand(MISucc, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
941 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(Opc)) in pseudoOpConvertToVOP2()
942 .add(*TII->getNamedOperand(MI, AMDGPU::OpName::vdst)) in pseudoOpConvertToVOP2()
943 .add(*TII->getNamedOperand(MI, AMDGPU::OpName::src0)) in pseudoOpConvertToVOP2()
944 .add(*TII->getNamedOperand(MI, AMDGPU::OpName::src1)) in pseudoOpConvertToVOP2()
957 const SIInstrInfo* TII) { in isConvertibleToSDWA() argument
960 if (TII->isSDWA(Opc)) in isConvertibleToSDWA()
970 if (!ST.hasSDWAOmod() && TII->hasModifiersSet(MI, AMDGPU::OpName::omod)) in isConvertibleToSDWA()
973 if (TII->isVOPC(Opc)) { in isConvertibleToSDWA()
975 const MachineOperand *SDst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in isConvertibleToSDWA()
982 (TII->hasModifiersSet(MI, AMDGPU::OpName::clamp) || in isConvertibleToSDWA()
983 TII->hasModifiersSet(MI, AMDGPU::OpName::omod))) in isConvertibleToSDWA()
986 } else if (TII->getNamedOperand(MI, AMDGPU::OpName::sdst) || in isConvertibleToSDWA()
987 !TII->getNamedOperand(MI, AMDGPU::OpName::vdst)) { in isConvertibleToSDWA()
998 if (TII->pseudoToMCOpcode(Opc) == -1) in isConvertibleToSDWA()
1005 if (MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0)) { in isConvertibleToSDWA()
1010 if (MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1)) { in isConvertibleToSDWA()
1027 if (TII->isSDWA(Opcode)) { in convertToSDWA()
1036 const MCInstrDesc &SDWADesc = TII->get(SDWAOpcode); in convertToSDWA()
1044 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
1048 } else if ((Dst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst))) { in convertToSDWA()
1058 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
1061 if (auto *Mod = TII->getNamedOperand(MI, AMDGPU::OpName::src0_modifiers)) in convertToSDWA()
1068 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in convertToSDWA()
1072 if (auto *Mod = TII->getNamedOperand(MI, AMDGPU::OpName::src1_modifiers)) in convertToSDWA()
1084 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in convertToSDWA()
1091 MachineOperand *Clamp = TII->getNamedOperand(MI, AMDGPU::OpName::clamp); in convertToSDWA()
1100 MachineOperand *OMod = TII->getNamedOperand(MI, AMDGPU::OpName::omod); in convertToSDWA()
1110 MachineOperand *DstSel = TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
1120 MachineOperand *DstUnused = TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
1130 MachineOperand *Src0Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
1140 MachineOperand *Src1Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src1_sel); in convertToSDWA()
1149 auto DstUnused = TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
1182 Converted |= Operand->convertToSDWA(*SDWAInst, TII); in convertToSDWA()
1209 const MCInstrDesc &Desc = TII->get(MI.getOpcode()); in legalizeScalarOperands()
1228 TII->get(AMDGPU::V_MOV_B32_e32), VGPR); in legalizeScalarOperands()
1246 TII = ST.getInstrInfo(); in runOnMachineFunction()
1260 MachineInstr *PotentialMI = Operand->potentialToConvert(TII, ST); in runOnMachineFunction()
1273 MachineInstr *PotentialMI = Operand->potentialToConvert(TII, ST, &PotentialMatches); in runOnMachineFunction()
1274 if (PotentialMI && isConvertibleToSDWA(*PotentialMI, ST, TII)) { in runOnMachineFunction()