reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
507 return getCopyToPartsVector(DAG, DL, Val, Parts, NumParts, PartVT, V, 511 unsigned OrigNumParts = NumParts; 515 if (NumParts == 0) 521 assert(NumParts == 1 && "No-op copy with multiple parts!"); 526 if (NumParts * PartBits > ValueVT.getSizeInBits()) { 529 assert(NumParts == 1 && "Do not know what to promote to!"); 541 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); 548 assert(NumParts == 1 && PartEVT != ValueVT); 550 } else if (NumParts * PartBits < ValueVT.getSizeInBits()) { 555 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); 563 assert(NumParts * PartBits == ValueVT.getSizeInBits() && 566 if (NumParts == 1) { 578 if (NumParts & (NumParts - 1)) { 578 if (NumParts & (NumParts - 1)) { 582 unsigned RoundParts = 1 << Log2_32(NumParts); 584 unsigned OddParts = NumParts - RoundParts; 593 std::reverse(Parts + RoundParts, Parts + NumParts); 595 NumParts = RoundParts; 596 ValueVT = EVT::getIntegerVT(*DAG.getContext(), NumParts * PartBits); 607 for (unsigned StepSize = NumParts; StepSize > 1; StepSize /= 2) { 608 for (unsigned i = 0; i < NumParts; i += StepSize) {