Lines Matching full:vec
46 /// %wide.vec = load <8 x i32>, <8 x i32>* %ptr
47 /// %v0 = shuffle <8 x i32> %wide.vec, <8 x i32> poison, <0, 2, 4, 6>
48 /// %v1 = shuffle <8 x i32> %wide.vec, <8 x i32> poison, <1, 3, 5, 7>
288 ArrayRef<Value *> Vec, ArrayRef<int> VPShuf, in reorderSubVector() argument
294 TransposedMatrix[i] = Builder.CreateShuffleVector(Vec[i], VPShuf); in reorderSubVector()
305 Vec[i % Stride], Vec[(i + 1) % Stride], OptimizeShuf); in reorderSubVector()
508 // Invec[0] - |0| Vec[0] - |0|
509 // Invec[1] - |1| => Vec[1] - |1|
510 // Invec[2] - |2| Vec[2] - |2|
513 // Invec[0] - |0|1| Vec[0] - |0|3|
514 // Invec[1] - |2|3| => Vec[1] - |1|4|
515 // Invec[2] - |4|5| Vec[2] - |2|5|
518 // Invec[0] - |0|1|2 |3 | Vec[0] - |0|3|6|9 |
519 // Invec[1] - |4|5|6 |7 | => Vec[1] - |1|4|7|10|
520 // Invec[2] - |8|9|10|11| Vec[2] - |2|5|8|11|
522 static void concatSubVector(Value **Vec, ArrayRef<Instruction *> InVec, in concatSubVector() argument
526 Vec[i] = InVec[i]; in concatSubVector()
532 Vec[i + j * 3] = Builder.CreateShuffleVector( in concatSubVector()
539 Vec[i] = Builder.CreateShuffleVector(Vec[i], Vec[i + 3], Concat); in concatSubVector()
556 Value *Vec[6], *TempVector[3]; in deinterleave8bitStride3() local
569 concatSubVector(Vec, InVec, VecElems, Builder); in deinterleave8bitStride3()
570 // Vec[0]= a0 a1 a2 b0 b1 b2 c0 c1 in deinterleave8bitStride3()
571 // Vec[1]= c2 c3 c4 a3 a4 a5 b3 b4 in deinterleave8bitStride3()
572 // Vec[2]= b5 b6 b7 c5 c6 c7 a6 a7 in deinterleave8bitStride3()
575 Vec[i] = Builder.CreateShuffleVector(Vec[i], VPShuf); in deinterleave8bitStride3()
583 Builder.CreateShuffleVector(Vec[(i + 2) % 3], Vec[i], VPAlign[0]); in deinterleave8bitStride3()
585 // Vec[0]= a3 a4 a5 a6 a7 a0 a1 a2 in deinterleave8bitStride3()
586 // Vec[1]= c5 c6 c7 c0 c1 c2 c3 c4 in deinterleave8bitStride3()
587 // Vec[2]= b0 b1 b2 b3 b4 b5 b6 b7 in deinterleave8bitStride3()
590 Vec[i] = Builder.CreateShuffleVector(TempVector[(i + 1) % 3], TempVector[i], in deinterleave8bitStride3()
597 Value *TempVec = Builder.CreateShuffleVector(Vec[1], VPAlign3); in deinterleave8bitStride3()
598 TransposedMatrix[0] = Builder.CreateShuffleVector(Vec[0], VPAlign2); in deinterleave8bitStride3()
599 TransposedMatrix[1] = VecElems == 8 ? Vec[2] : TempVec; in deinterleave8bitStride3()
600 TransposedMatrix[2] = VecElems == 8 ? TempVec : Vec[2]; in deinterleave8bitStride3()
640 Value *Vec[3], *TempVector[3]; in interleave8bitStride3() local
651 // Vec[0]= a3 a4 a5 a6 a7 a0 a1 a2 in interleave8bitStride3()
652 // Vec[1]= c5 c6 c7 c0 c1 c2 c3 c4 in interleave8bitStride3()
653 // Vec[2]= b0 b1 b2 b3 b4 b5 b6 b7 in interleave8bitStride3()
655 Vec[0] = Builder.CreateShuffleVector(InVec[0], VPAlign2); in interleave8bitStride3()
656 Vec[1] = Builder.CreateShuffleVector(InVec[1], VPAlign3); in interleave8bitStride3()
657 Vec[2] = InVec[2]; in interleave8bitStride3()
659 // Vec[0]= a6 a7 a0 a1 a2 b0 b1 b2 in interleave8bitStride3()
660 // Vec[1]= c0 c1 c2 c3 c4 a3 a4 a5 in interleave8bitStride3()
661 // Vec[2]= b3 b4 b5 b6 b7 c5 c6 c7 in interleave8bitStride3()
665 Builder.CreateShuffleVector(Vec[i], Vec[(i + 2) % 3], VPAlign[1]); in interleave8bitStride3()
667 // Vec[0]= a0 a1 a2 b0 b1 b2 c0 c1 in interleave8bitStride3()
668 // Vec[1]= c2 c3 c4 a3 a4 a5 b3 b4 in interleave8bitStride3()
669 // Vec[2]= b5 b6 b7 c5 c6 c7 a6 a7 in interleave8bitStride3()
672 Vec[i] = Builder.CreateShuffleVector(TempVector[i], TempVector[(i + 1) % 3], in interleave8bitStride3()
681 reorderSubVector(VT, TransposedMatrix, Vec, VPShuf, NumOfElm, 3, Builder); in interleave8bitStride3()
795 // 4. Generate a store instruction for wide-vec. in lowerIntoOptimizedSequence()