Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:Shuffle

359       // overrides the destination lane, this is a shuffle with the zero vector.
371 // TODO: Model this case as 2 shuffles or a 'logical and' plus shuffle?
385 /// or conversion to a shuffle vector.
426 // If we are inserting whole bytes, we can convert this to a shuffle.
427 // Lowering can recognize EXTRQI shuffle masks.
478 /// folding or conversion to a shuffle vector.
506 // If we are inserting whole bytes, we can convert this to a shuffle.
507 // Lowering can recognize INSERTQI shuffle masks.
574 /// The shuffle mask for a perm2*128 selects any two halves of two 256-bit
601 // If 0 or 1 zero mask bits are set, this is a simple shuffle.
1225 // Attempt to simplify to a constant, shuffle vector or EXTRQI call.
1254 // Attempt to simplify to a constant or shuffle vector.
1282 // Attempt to simplify to a constant, shuffle vector or INSERTQI call.
1316 // Attempt to simplify to a constant or shuffle vector.
1391 // Turn pshufb(V1,mask) -> shuffle(V1,Zero,mask) if mask is a constant.
1396 "Unexpected number of elements in shuffle mask!");
1397 // Initialize the resulting shuffle mask to all zeroes.
1401 // Each byte in the shuffle control mask forms an index to permute the
1405 // If the most significant bit (bit[7]) of each byte of the shuffle
1411 // shuffle control byte.
1418 // significant 4 bits of the respective shuffle control byte.
1426 auto Shuffle = Builder->CreateShuffleVector(V1, V2, NewC);
1427 return ReplaceInstUsesWith(CI, Shuffle);
1456 // shuffle, we have to make that explicit.
1466 auto Shuffle = Builder->CreateShuffleVector(V1, V2, NewC);
1467 return ReplaceInstUsesWith(CI, Shuffle);
1495 // Turn vperm(V1,V2,mask) -> shuffle(V1,V2,mask) if mask is a constant.