Lines Matching defs:NumElts
50 void DecodeInsertElementMask(unsigned NumElts, unsigned Idx, unsigned Len,
52 assert((Idx + Len) <= NumElts && "Insertion out of range");
54 for (unsigned i = 0; i != NumElts; ++i)
57 ShuffleMask[Idx + i] = NumElts + i;
78 void DecodeMOVSLDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) {
79 for (int i = 0, e = NumElts / 2; i < e; ++i) {
85 void DecodeMOVSHDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) {
86 for (int i = 0, e = NumElts / 2; i < e; ++i) {
92 void DecodeMOVDDUPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) {
95 for (unsigned l = 0; l < NumElts; l += NumLaneElts)
100 void DecodePSLLDQMask(unsigned NumElts, unsigned Imm,
104 for (unsigned l = 0; l < NumElts; l += NumLaneElts)
112 void DecodePSRLDQMask(unsigned NumElts, unsigned Imm,
116 for (unsigned l = 0; l < NumElts; l += NumLaneElts)
125 void DecodePALIGNRMask(unsigned NumElts, unsigned Imm,
129 for (unsigned l = 0; l != NumElts; l += NumLaneElts) {
133 if (Base >= NumLaneElts) Base += NumElts - NumLaneElts;
139 void DecodeVALIGNMask(unsigned NumElts, unsigned Imm,
142 assert(isPowerOf2_32(NumElts) && "NumElts should be power of 2");
143 Imm = Imm & (NumElts - 1);
144 for (unsigned i = 0; i != NumElts; ++i)
148 void DecodePSHUFMask(unsigned NumElts, unsigned ScalarBits, unsigned Imm,
150 unsigned Size = NumElts * ScalarBits;
153 unsigned NumLaneElts = NumElts / NumLanes;
156 for (unsigned l = 0; l != NumElts; l += NumLaneElts) {
164 void DecodePSHUFHWMask(unsigned NumElts, unsigned Imm,
166 for (unsigned l = 0; l != NumElts; l += 8) {
178 void DecodePSHUFLWMask(unsigned NumElts, unsigned Imm,
180 for (unsigned l = 0; l != NumElts; l += 8) {
192 void DecodePSWAPMask(unsigned NumElts, SmallVectorImpl<int> &ShuffleMask) {
193 unsigned NumHalfElts = NumElts / 2;
201 void DecodeSHUFPMask(unsigned NumElts, unsigned ScalarBits,
206 for (unsigned l = 0; l != NumElts; l += NumLaneElts) {
208 for (unsigned s = 0; s != NumElts * 2; s += NumElts) {
218 void DecodeUNPCKHMask(unsigned NumElts, unsigned ScalarBits,
222 unsigned NumLanes = (NumElts * ScalarBits) / 128;
224 unsigned NumLaneElts = NumElts / NumLanes;
226 for (unsigned l = 0; l != NumElts; l += NumLaneElts) {
229 ShuffleMask.push_back(i + NumElts); // Reads from src/src2
234 void DecodeUNPCKLMask(unsigned NumElts, unsigned ScalarBits,
238 unsigned NumLanes = (NumElts * ScalarBits) / 128;
240 unsigned NumLaneElts = NumElts / NumLanes;
242 for (unsigned l = 0; l != NumElts; l += NumLaneElts) {
245 ShuffleMask.push_back(i + NumElts); // Reads from src/src2
250 void DecodeVectorBroadcast(unsigned NumElts,
252 ShuffleMask.append(NumElts, 0);
264 void decodeVSHUF64x2FamilyMask(unsigned NumElts, unsigned ScalarSize,
268 unsigned NumLanes = NumElts / NumElementsInLane;
270 for (unsigned l = 0; l != NumElts; l += NumElementsInLane) {
274 if (l >= (NumElts / 2))
275 Index += NumElts;
281 void DecodeVPERM2X128Mask(unsigned NumElts, unsigned Imm,
283 unsigned HalfSize = NumElts / 2;
315 void DecodeBLENDMask(unsigned NumElts, unsigned Imm,
317 for (unsigned i = 0; i < NumElts; ++i) {
321 ShuffleMask.push_back(((Imm >> Bit) & 1) ? NumElts + i : i);
364 void DecodeVPERMMask(unsigned NumElts, unsigned Imm,
366 for (unsigned l = 0; l != NumElts; l += 4)
385 void DecodeZeroMoveLowMask(unsigned NumElts,
388 ShuffleMask.append(NumElts - 1, SM_SentinelZero);
391 void DecodeScalarMoveMask(unsigned NumElts, bool IsLoad,
395 ShuffleMask.push_back(NumElts);
396 for (unsigned i = 1; i < NumElts; i++)
400 void DecodeEXTRQIMask(unsigned NumElts, unsigned EltSize, int Len, int Idx,
402 unsigned HalfElts = NumElts / 2;
419 ShuffleMask.append(NumElts, SM_SentinelUndef);
433 for (int i = HalfElts; i != (int)NumElts; ++i)
437 void DecodeINSERTQIMask(unsigned NumElts, unsigned EltSize, int Len, int Idx,
439 unsigned HalfElts = NumElts / 2;
456 ShuffleMask.append(NumElts, SM_SentinelUndef);
470 ShuffleMask.push_back(i + NumElts);
473 for (int i = HalfElts; i != (int)NumElts; ++i)
477 void DecodeVPERMILPMask(unsigned NumElts, unsigned ScalarBits,
480 unsigned VecSize = NumElts * ScalarBits;
482 unsigned NumEltsPerLane = NumElts / NumLanes;
499 void DecodeVPERMIL2PMask(unsigned NumElts, unsigned ScalarBits, unsigned M2Z,
502 unsigned VecSize = NumElts * ScalarBits;
504 unsigned NumEltsPerLane = NumElts / NumLanes;
507 assert((NumElts == RawMask.size()) && "Unexpected mask size");
540 Index += Src * NumElts;