Lines Matching refs:Scale
349 void llvm::narrowShuffleMaskElts(int Scale, ArrayRef<int> Mask, in narrowShuffleMaskElts() argument
351 assert(Scale > 0 && "Unexpected scaling factor"); in narrowShuffleMaskElts()
354 if (Scale == 1) { in narrowShuffleMaskElts()
362 assert(((uint64_t)Scale * MaskElt + (Scale - 1)) <= INT32_MAX && in narrowShuffleMaskElts()
365 for (int SliceElt = 0; SliceElt != Scale; ++SliceElt) in narrowShuffleMaskElts()
366 ScaledMask.push_back(MaskElt < 0 ? MaskElt : Scale * MaskElt + SliceElt); in narrowShuffleMaskElts()
370 bool llvm::widenShuffleMaskElts(int Scale, ArrayRef<int> Mask, in widenShuffleMaskElts() argument
372 assert(Scale > 0 && "Unexpected scaling factor"); in widenShuffleMaskElts()
375 if (Scale == 1) { in widenShuffleMaskElts()
382 if (NumElts % Scale != 0) in widenShuffleMaskElts()
386 ScaledMask.reserve(NumElts / Scale); in widenShuffleMaskElts()
390 ArrayRef<int> MaskSlice = Mask.take_front(Scale); in widenShuffleMaskElts()
391 assert((int)MaskSlice.size() == Scale && "Expected Scale-sized slice."); in widenShuffleMaskElts()
403 if (SliceFront % Scale != 0) in widenShuffleMaskElts()
406 for (int i = 1; i < Scale; ++i) in widenShuffleMaskElts()
409 ScaledMask.push_back(SliceFront / Scale); in widenShuffleMaskElts()
411 Mask = Mask.drop_front(Scale); in widenShuffleMaskElts()
414 assert((int)ScaledMask.size() * Scale == NumElts && "Unexpected scaled mask"); in widenShuffleMaskElts()
437 int Scale = NumSrcElts / NumDstElts; in scaleShuffleMaskElts() local
438 return widenShuffleMaskElts(Scale, Mask, ScaledMask); in scaleShuffleMaskElts()
441 int Scale = NumDstElts / NumSrcElts; in scaleShuffleMaskElts() local
442 narrowShuffleMaskElts(Scale, Mask, ScaledMask); in scaleShuffleMaskElts()
451 for (unsigned Scale = 2; Scale <= InputMask.size(); ++Scale) { in getShuffleMaskWithWidestElts() local
452 while (widenShuffleMaskElts(Scale, InputMask, *Output)) { in getShuffleMaskWithWidestElts()