reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/X86/X86ISelLowering.cpp
12807       count_if(Mask, [Size](int M) { return M >= 0 && M % Size < Size / 2; });
12807       count_if(Mask, [Size](int M) { return M >= 0 && M % Size < Size / 2; });
12807       count_if(Mask, [Size](int M) { return M >= 0 && M % Size < Size / 2; });
12809       count_if(Mask, [Size](int M) { return M % Size >= Size / 2; });
12809       count_if(Mask, [Size](int M) { return M % Size >= Size / 2; });
12809       count_if(Mask, [Size](int M) { return M % Size >= Size / 2; });
12814     SmallVector<int, 16> V1Mask((unsigned)Size, -1);
12815     SmallVector<int, 16> V2Mask((unsigned)Size, -1);
12817     for (int i = 0; i < Size; ++i) {
12826       if ((UnpackIdx % 2 == 0) != (Mask[i] < Size))
12832       VMask[(UnpackIdx / 2) * Scale + i % Scale + (UnpackLo ? 0 : Size / 2)] =
12833           Mask[i] % Size;
12847     MVT UnpackVT = MVT::getVectorVT(MVT::getIntegerVT(ScalarSize), Size / Scale);
12875     int HalfOffset = NumLoInputs == 0 ? Size / 2 : 0;
12882     SmallVector<int, 32> PermMask((unsigned)Size, -1);
12883     for (int i = 0; i < Size; ++i) {
12887       assert(Mask[i] % Size >= HalfOffset && "Found input from wrong half!");
12890           2 * ((Mask[i] % Size) - HalfOffset) + (Mask[i] < Size ? 0 : 1);
12890           2 * ((Mask[i] % Size) - HalfOffset) + (Mask[i] < Size ? 0 : 1);