Lines Matching refs:PMul0
349 auto CanPair = [&](BinOpChain *PMul0, BinOpChain *PMul1) { in CreateParallelMACPairs() argument
350 if (!PMul0->AreSymmetrical(PMul1)) in CreateParallelMACPairs()
357 for (unsigned x = 0; x < PMul0->LHS.size(); x += 2) { in CreateParallelMACPairs()
358 auto *Ld0 = dyn_cast<LoadInst>(PMul0->LHS[x]); in CreateParallelMACPairs()
360 auto *Ld2 = dyn_cast<LoadInst>(PMul0->RHS[x]); in CreateParallelMACPairs()
373 if (AreSequentialLoads(Ld0, Ld1, PMul0->VecLd)) { in CreateParallelMACPairs()
376 PMACPairs.push_back(std::make_pair(PMul0, PMul1)); in CreateParallelMACPairs()
382 PMACPairs.push_back(std::make_pair(PMul0, PMul1)); in CreateParallelMACPairs()
385 } else if (AreSequentialLoads(Ld1, Ld0, PMul0->VecLd) && in CreateParallelMACPairs()
390 PMul0->Exchange = true; in CreateParallelMACPairs()
392 PMACPairs.push_back(std::make_pair(PMul1, PMul0)); in CreateParallelMACPairs()
401 BinOpChain *PMul0 = static_cast<BinOpChain*>(Candidates[i].get()); in CreateParallelMACPairs() local
402 if (Paired.count(PMul0->Root)) in CreateParallelMACPairs()
413 const Instruction *Mul0 = PMul0->Root; in CreateParallelMACPairs()
418 assert(PMul0 != PMul1 && "expected different chains"); in CreateParallelMACPairs()
425 if (CanPair(PMul0, PMul1)) { in CreateParallelMACPairs()
439 BinOpChain *PMul0 = Pair.first; in InsertParallelMACs() local
442 dbgs() << "- "; PMul0->Root->dump(); in InsertParallelMACs()
445 auto *VecLd0 = cast<LoadInst>(PMul0->VecLd[0]); in InsertParallelMACs()