• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/X86/

Lines Matching refs:Vec

292                              ArrayRef<Value *> Vec, ArrayRef<int> VPShuf,
299 Vec[i], UndefValue::get(Vec[i]->getType()), VPShuf);
310 Vec[i % Stride], Vec[(i + 1) % Stride], OptimizeShuf);
513 // Invec[0] - |0| Vec[0] - |0|
514 // Invec[1] - |1| => Vec[1] - |1|
515 // Invec[2] - |2| Vec[2] - |2|
518 // Invec[0] - |0|1| Vec[0] - |0|3|
519 // Invec[1] - |2|3| => Vec[1] - |1|4|
520 // Invec[2] - |4|5| Vec[2] - |2|5|
523 // Invec[0] - |0|1|2 |3 | Vec[0] - |0|3|6|9 |
524 // Invec[1] - |4|5|6 |7 | => Vec[1] - |1|4|7|10|
525 // Invec[2] - |8|9|10|11| Vec[2] - |2|5|8|11|
527 static void concatSubVector(Value **Vec, ArrayRef<Instruction *> InVec,
531 Vec[i] = InVec[i];
537 Vec[i + j * 3] = Builder.CreateShuffleVector(
544 Vec[i] = Builder.CreateShuffleVector(Vec[i], Vec[i + 3], Concat);
561 Value *Vec[6], *TempVector[3];
574 concatSubVector(Vec, InVec, VecElems, Builder);
575 // Vec[0]= a0 a1 a2 b0 b1 b2 c0 c1
576 // Vec[1]= c2 c3 c4 a3 a4 a5 b3 b4
577 // Vec[2]= b5 b6 b7 c5 c6 c7 a6 a7
580 Vec[i] = Builder.CreateShuffleVector(
581 Vec[i], UndefValue::get(Vec[0]->getType()), VPShuf);
589 Builder.CreateShuffleVector(Vec[(i + 2) % 3], Vec[i], VPAlign[0]);
591 // Vec[0]= a3 a4 a5 a6 a7 a0 a1 a2
592 // Vec[1]= c5 c6 c7 c0 c1 c2 c3 c4
593 // Vec[2]= b0 b1 b2 b3 b4 b5 b6 b7
596 Vec[i] = Builder.CreateShuffleVector(TempVector[(i + 1) % 3], TempVector[i],
604 Vec[1], UndefValue::get(Vec[1]->getType()), VPAlign3);
606 Vec[0], UndefValue::get(Vec[1]->getType()), VPAlign2);
607 TransposedMatrix[1] = VecElems == 8 ? Vec[2] : TempVec;
608 TransposedMatrix[2] = VecElems == 8 ? TempVec : Vec[2];
648 Value *Vec[3], *TempVector[3];
659 // Vec[0]= a3 a4 a5 a6 a7 a0 a1 a2
660 // Vec[1]= c5 c6 c7 c0 c1 c2 c3 c4
661 // Vec[2]= b0 b1 b2 b3 b4 b5 b6 b7
663 Vec[0] = Builder.CreateShuffleVector(
665 Vec[1] = Builder.CreateShuffleVector(
667 Vec[2] = InVec[2];
669 // Vec[0]= a6 a7 a0 a1 a2 b0 b1 b2
670 // Vec[1]= c0 c1 c2 c3 c4 a3 a4 a5
671 // Vec[2]= b3 b4 b5 b6 b7 c5 c6 c7
675 Builder.CreateShuffleVector(Vec[i], Vec[(i + 2) % 3], VPAlign[1]);
677 // Vec[0]= a0 a1 a2 b0 b1 b2 c0 c1
678 // Vec[1]= c2 c3 c4 a3 a4 a5 b3 b4
679 // Vec[2]= b5 b6 b7 c5 c6 c7 a6 a7
682 Vec[i] = Builder.CreateShuffleVector(TempVector[i], TempVector[(i + 1) % 3],
691 reorderSubVector(VT, TransposedMatrix, Vec, VPShuf, NumOfElm, 3, Builder);