Lines Matching refs:SourceHalfMask
13568 MutableArrayRef<int> SourceHalfMask, in lowerV8I16GeneralSingleInputShuffle()
13573 SourceHalfMask[InPlaceInputs[0] - HalfOffset] = in lowerV8I16GeneralSingleInputShuffle()
13581 SourceHalfMask[Input - HalfOffset] = Input - HalfOffset; in lowerV8I16GeneralSingleInputShuffle()
13588 SourceHalfMask[InPlaceInputs[0] - HalfOffset] = in lowerV8I16GeneralSingleInputShuffle()
13593 SourceHalfMask[AdjIndex - HalfOffset] = InPlaceInputs[1] - HalfOffset; in lowerV8I16GeneralSingleInputShuffle()
13606 MutableArrayRef<int> SourceHalfMask, MutableArrayRef<int> HalfMask, in lowerV8I16GeneralSingleInputShuffle()
13609 auto isWordClobbered = [](ArrayRef<int> SourceHalfMask, int Word) { in lowerV8I16GeneralSingleInputShuffle() argument
13610 return SourceHalfMask[Word] >= 0 && SourceHalfMask[Word] != Word; in lowerV8I16GeneralSingleInputShuffle()
13612 auto isDWordClobbered = [&isWordClobbered](ArrayRef<int> SourceHalfMask, in lowerV8I16GeneralSingleInputShuffle()
13616 return isWordClobbered(SourceHalfMask, LowWord) || in lowerV8I16GeneralSingleInputShuffle()
13617 isWordClobbered(SourceHalfMask, HighWord); in lowerV8I16GeneralSingleInputShuffle()
13628 if (isWordClobbered(SourceHalfMask, Input - SourceOffset)) { in lowerV8I16GeneralSingleInputShuffle()
13629 if (SourceHalfMask[SourceHalfMask[Input - SourceOffset]] < 0) { in lowerV8I16GeneralSingleInputShuffle()
13630 SourceHalfMask[SourceHalfMask[Input - SourceOffset]] = in lowerV8I16GeneralSingleInputShuffle()
13634 if (M == SourceHalfMask[Input - SourceOffset] + SourceOffset) in lowerV8I16GeneralSingleInputShuffle()
13637 M = SourceHalfMask[Input - SourceOffset] + SourceOffset; in lowerV8I16GeneralSingleInputShuffle()
13639 assert(SourceHalfMask[SourceHalfMask[Input - SourceOffset]] == in lowerV8I16GeneralSingleInputShuffle()
13646 Input = SourceHalfMask[Input - SourceOffset] + SourceOffset; in lowerV8I16GeneralSingleInputShuffle()
13673 if (isWordClobbered(SourceHalfMask, IncomingInputs[0] - SourceOffset)) { in lowerV8I16GeneralSingleInputShuffle()
13674 int InputFixed = find(SourceHalfMask, -1) - std::begin(SourceHalfMask) + in lowerV8I16GeneralSingleInputShuffle()
13676 SourceHalfMask[InputFixed - SourceOffset] = in lowerV8I16GeneralSingleInputShuffle()
13684 isDWordClobbered(SourceHalfMask, IncomingInputs[0] - SourceOffset)) { in lowerV8I16GeneralSingleInputShuffle()
13694 if (!isWordClobbered(SourceHalfMask, InputsFixed[0]) && in lowerV8I16GeneralSingleInputShuffle()
13695 SourceHalfMask[InputsFixed[0] ^ 1] < 0) { in lowerV8I16GeneralSingleInputShuffle()
13696 SourceHalfMask[InputsFixed[0]] = InputsFixed[0]; in lowerV8I16GeneralSingleInputShuffle()
13697 SourceHalfMask[InputsFixed[0] ^ 1] = InputsFixed[1]; in lowerV8I16GeneralSingleInputShuffle()
13699 } else if (!isWordClobbered(SourceHalfMask, InputsFixed[1]) && in lowerV8I16GeneralSingleInputShuffle()
13700 SourceHalfMask[InputsFixed[1] ^ 1] < 0) { in lowerV8I16GeneralSingleInputShuffle()
13701 SourceHalfMask[InputsFixed[1]] = InputsFixed[1]; in lowerV8I16GeneralSingleInputShuffle()
13702 SourceHalfMask[InputsFixed[1] ^ 1] = InputsFixed[0]; in lowerV8I16GeneralSingleInputShuffle()
13704 } else if (SourceHalfMask[2 * ((InputsFixed[0] / 2) ^ 1)] < 0 && in lowerV8I16GeneralSingleInputShuffle()
13705 SourceHalfMask[2 * ((InputsFixed[0] / 2) ^ 1) + 1] < 0) { in lowerV8I16GeneralSingleInputShuffle()
13709 SourceHalfMask[2 * ((InputsFixed[0] / 2) ^ 1)] = InputsFixed[0]; in lowerV8I16GeneralSingleInputShuffle()
13710 SourceHalfMask[2 * ((InputsFixed[0] / 2) ^ 1) + 1] = InputsFixed[1]; in lowerV8I16GeneralSingleInputShuffle()
13719 assert((SourceHalfMask[i] < 0 || SourceHalfMask[i] == i) && in lowerV8I16GeneralSingleInputShuffle()
13724 SourceHalfMask[InputsFixed[0] ^ 1] = InputsFixed[1]; in lowerV8I16GeneralSingleInputShuffle()
13725 SourceHalfMask[InputsFixed[1]] = InputsFixed[0] ^ 1; in lowerV8I16GeneralSingleInputShuffle()