Lines Matching refs:TII
49 const SIInstrInfo *TII; member in __anona3dad2400111::SIPeepholeSDWA
95 virtual MachineInstr *potentialToConvert(const SIInstrInfo *TII) = 0;
96 virtual bool convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) = 0;
128 MachineInstr *potentialToConvert(const SIInstrInfo *TII) override;
129 bool convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) override;
136 uint64_t getSrcMods(const SIInstrInfo *TII,
155 MachineInstr *potentialToConvert(const SIInstrInfo *TII) override;
156 bool convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) override;
176 bool convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) override;
304 uint64_t SDWASrcOperand::getSrcMods(const SIInstrInfo *TII, in getSrcMods() argument
308 if (TII->getNamedOperand(*MI, AMDGPU::OpName::src0) == SrcOp) { in getSrcMods()
309 if (auto *Mod = TII->getNamedOperand(*MI, AMDGPU::OpName::src0_modifiers)) { in getSrcMods()
312 } else if (TII->getNamedOperand(*MI, AMDGPU::OpName::src1) == SrcOp) { in getSrcMods()
313 if (auto *Mod = TII->getNamedOperand(*MI, AMDGPU::OpName::src1_modifiers)) { in getSrcMods()
329 MachineInstr *SDWASrcOperand::potentialToConvert(const SIInstrInfo *TII) { in potentialToConvert() argument
339 bool SDWASrcOperand::convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) { in convertToSDWA() argument
343 MachineOperand *Src = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
344 MachineOperand *SrcSel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
346 TII->getNamedOperand(MI, AMDGPU::OpName::src0_modifiers); in convertToSDWA()
350 Src = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in convertToSDWA()
351 SrcSel = TII->getNamedOperand(MI, AMDGPU::OpName::src1_sel); in convertToSDWA()
352 SrcMods = TII->getNamedOperand(MI, AMDGPU::OpName::src1_modifiers); in convertToSDWA()
362 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
364 TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
373 TII->getNamedImmOperand(MI, AMDGPU::OpName::dst_sel)); in convertToSDWA()
407 SrcMods->setImm(getSrcMods(TII, Src)); in convertToSDWA()
413 MachineInstr *SDWADstOperand::potentialToConvert(const SIInstrInfo *TII) { in potentialToConvert() argument
432 bool SDWADstOperand::convertToSDWA(MachineInstr &MI, const SIInstrInfo *TII) { in convertToSDWA() argument
444 MachineOperand *Operand = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
449 MachineOperand *DstSel= TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
452 MachineOperand *DstUnused= TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
463 const SIInstrInfo *TII) { in convertToSDWA() argument
489 return SDWADstOperand::convertToSDWA(MI, TII); in convertToSDWA()
505 if (!TII->isFoldableCopy(*DefInst)) in foldToImm()
537 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
545 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
546 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
577 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
582 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
583 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
616 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
621 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in matchSDWAOperand()
645 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
646 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
661 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
662 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
674 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
705 if (!TII->isSDWA(*Op1Inst)) in matchSDWAOperand()
715 MachineOperand *OrSDWA = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
716 MachineOperand *OrOther = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
720 OrSDWA = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in matchSDWAOperand()
721 OrOther = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in matchSDWAOperand()
755 if (!TII->isSDWA(*OtherInst)) in matchSDWAOperand()
759 TII->getNamedImmOperand(*SDWAInst, AMDGPU::OpName::dst_sel));; in matchSDWAOperand()
761 TII->getNamedImmOperand(*OtherInst, AMDGPU::OpName::dst_sel)); in matchSDWAOperand()
801 TII->getNamedImmOperand(*OtherInst, AMDGPU::OpName::dst_unused)); in matchSDWAOperand()
806 MachineOperand *OrDst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in matchSDWAOperand()
860 if (!TII->canShrink(MI, *MRI)) in pseudoOpConvertToVOP2()
864 const MachineOperand *Sdst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
872 if (!TII->canShrink(MISucc, *MRI)) in pseudoOpConvertToVOP2()
876 MachineOperand *CarryIn = TII->getNamedOperand(MISucc, AMDGPU::OpName::src2); in pseudoOpConvertToVOP2()
879 MachineOperand *CarryOut = TII->getNamedOperand(MISucc, AMDGPU::OpName::sdst); in pseudoOpConvertToVOP2()
898 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(Opc)) in pseudoOpConvertToVOP2()
899 .add(*TII->getNamedOperand(MI, AMDGPU::OpName::vdst)) in pseudoOpConvertToVOP2()
900 .add(*TII->getNamedOperand(MI, AMDGPU::OpName::src0)) in pseudoOpConvertToVOP2()
901 .add(*TII->getNamedOperand(MI, AMDGPU::OpName::src1)) in pseudoOpConvertToVOP2()
907 BuildMI(MBB, MISucc, MISucc.getDebugLoc(), TII->get(SuccOpc)) in pseudoOpConvertToVOP2()
908 .add(*TII->getNamedOperand(MISucc, AMDGPU::OpName::vdst)) in pseudoOpConvertToVOP2()
909 .add(*TII->getNamedOperand(MISucc, AMDGPU::OpName::src0)) in pseudoOpConvertToVOP2()
910 .add(*TII->getNamedOperand(MISucc, AMDGPU::OpName::src1)) in pseudoOpConvertToVOP2()
920 if (TII->isSDWA(Opc)) in isConvertibleToSDWA()
930 if (!ST.hasSDWAOmod() && TII->hasModifiersSet(MI, AMDGPU::OpName::omod)) in isConvertibleToSDWA()
933 if (TII->isVOPC(Opc)) { in isConvertibleToSDWA()
935 const MachineOperand *SDst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst); in isConvertibleToSDWA()
942 (TII->hasModifiersSet(MI, AMDGPU::OpName::clamp) || in isConvertibleToSDWA()
943 TII->hasModifiersSet(MI, AMDGPU::OpName::omod))) in isConvertibleToSDWA()
946 } else if (TII->getNamedOperand(MI, AMDGPU::OpName::sdst) || in isConvertibleToSDWA()
947 !TII->getNamedOperand(MI, AMDGPU::OpName::vdst)) { in isConvertibleToSDWA()
958 if (TII->pseudoToMCOpcode(Opc) == -1) in isConvertibleToSDWA()
965 if (MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0)) { in isConvertibleToSDWA()
970 if (MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1)) { in isConvertibleToSDWA()
986 if (TII->isSDWA(Opcode)) { in convertToSDWA()
995 const MCInstrDesc &SDWADesc = TII->get(SDWAOpcode); in convertToSDWA()
1003 MachineOperand *Dst = TII->getNamedOperand(MI, AMDGPU::OpName::vdst); in convertToSDWA()
1007 } else if ((Dst = TII->getNamedOperand(MI, AMDGPU::OpName::sdst))) { in convertToSDWA()
1018 MachineOperand *Src0 = TII->getNamedOperand(MI, AMDGPU::OpName::src0); in convertToSDWA()
1023 if (auto *Mod = TII->getNamedOperand(MI, AMDGPU::OpName::src0_modifiers)) in convertToSDWA()
1030 MachineOperand *Src1 = TII->getNamedOperand(MI, AMDGPU::OpName::src1); in convertToSDWA()
1035 if (auto *Mod = TII->getNamedOperand(MI, AMDGPU::OpName::src1_modifiers)) in convertToSDWA()
1047 MachineOperand *Src2 = TII->getNamedOperand(MI, AMDGPU::OpName::src2); in convertToSDWA()
1054 MachineOperand *Clamp = TII->getNamedOperand(MI, AMDGPU::OpName::clamp); in convertToSDWA()
1063 MachineOperand *OMod = TII->getNamedOperand(MI, AMDGPU::OpName::omod); in convertToSDWA()
1073 MachineOperand *DstSel = TII->getNamedOperand(MI, AMDGPU::OpName::dst_sel); in convertToSDWA()
1083 MachineOperand *DstUnused = TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
1093 MachineOperand *Src0Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src0_sel); in convertToSDWA()
1103 MachineOperand *Src1Sel = TII->getNamedOperand(MI, AMDGPU::OpName::src1_sel); in convertToSDWA()
1112 auto DstUnused = TII->getNamedOperand(MI, AMDGPU::OpName::dst_unused); in convertToSDWA()
1145 Converted |= Operand->convertToSDWA(*SDWAInst, TII); in convertToSDWA()
1165 const MCInstrDesc &Desc = TII->get(MI.getOpcode()); in legalizeScalarOperands()
1184 TII->get(AMDGPU::V_MOV_B32_e32), VGPR); in legalizeScalarOperands()
1202 TII = ST.getInstrInfo(); in runOnMachineFunction()
1216 MachineInstr *PotentialMI = Operand->potentialToConvert(TII); in runOnMachineFunction()
1229 MachineInstr *PotentialMI = Operand->potentialToConvert(TII); in runOnMachineFunction()