Lines Matching refs:FirstMI
68 static bool matchingRegOps(const MachineInstr &FirstMI,
72 const MachineOperand &Op1 = FirstMI.getOperand(FirstMIOpIndex);
93 // Return true if the FirstMI meets the constraints of SecondMI according to
96 const MachineInstr &FirstMI,
127 const MachineOperand &SI = FirstMI.getOperand(2);
152 return (matchingImmOps(FirstMI, 2, 3) && matchingImmOps(FirstMI, 3, 60)) ||
153 (matchingImmOps(FirstMI, 2, 6) && matchingImmOps(FirstMI, 3, 57));
157 return matchingImmOps(FirstMI, 2, 1) && matchingImmOps(FirstMI, 3, 0);
161 return matchingImmOps(FirstMI, 2, 1) && matchingImmOps(FirstMI, 3, 63);
192 return (FirstMI.getOpcode() != PPC::MTSPR &&
193 FirstMI.getOpcode() != PPC::MTSPR8) ||
194 matchingImmOps(FirstMI, 0, 9);
199 return (FirstMI.getOpcode() != PPC::MTSPR &&
200 FirstMI.getOpcode() != PPC::MTSPR8) ||
201 matchingImmOps(FirstMI, 0, 8);
205 const MachineOperand &RA = FirstMI.getOperand(1);
216 const MachineOperand &RA = FirstMI.getOperand(1);
217 const MachineOperand &SI = FirstMI.getOperand(2);
231 /// Check if the instr pair, FirstMI and SecondMI, should be fused together.
232 /// Given SecondMI, when FirstMI is unspecified, then check if SecondMI may be
236 const MachineInstr *FirstMI,
257 // fusable FirstMI.
259 // If FirstMI == nullptr, that means, we're only checking whether SecondMI
261 if (!FirstMI)
264 // Checking if the FirstMI is fusable with the SecondMI.
265 if (!Feature.hasOp1(FirstMI->getOpcode()))
270 // Checking if the result of the FirstMI is the desired operand of the
272 if (!matchingRegOps(*FirstMI, 0, SecondMI, *DepOpIdx))
277 if (checkOpConstraints(Feature.getKind(), *FirstMI, SecondMI))