Lines Matching full:extract
206 /// <0, 2, 4, 6> (mask of index 0 to extract even elements)
207 /// <1, 3, 5, 7> (mask of index 1 to extract odd elements)
259 // them to later check if they can be modified to extract from one of the in lowerInterleavedLoad()
269 auto *Extract = dyn_cast<ExtractElementInst>(User); in lowerInterleavedLoad() local
270 if (Extract && isa<ConstantInt>(Extract->getIndexOperand())) { in lowerInterleavedLoad()
271 Extracts.push_back(Extract); in lowerInterleavedLoad()
404 for (auto *Extract : Extracts) { in tryReplaceExtracts() local
406 auto *IndexOperand = cast<ConstantInt>(Extract->getIndexOperand()); in tryReplaceExtracts()
413 // If the shufflevector instruction doesn't dominate the extract, we in tryReplaceExtracts()
415 if (!DT->dominates(Shuffle, Extract)) in tryReplaceExtracts()
425 assert(Extract->getOperand(0) == Shuffle->getOperand(0) && in tryReplaceExtracts()
427 ReplacementMap[Extract] = std::make_pair(Shuffle, I); in tryReplaceExtracts()
432 if (ReplacementMap.count(Extract)) in tryReplaceExtracts()
438 if (!ReplacementMap.count(Extract)) in tryReplaceExtracts()
445 auto *Extract = Replacement.first; in tryReplaceExtracts() local
448 Builder.SetInsertPoint(Extract); in tryReplaceExtracts()
449 Extract->replaceAllUsesWith(Builder.CreateExtractElement(Vector, Index)); in tryReplaceExtracts()
450 Extract->eraseFromParent(); in tryReplaceExtracts()