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

References

utils/PerfectShuffle/PerfectShuffle.cpp
  147   if (ShufTab[Op].Arg0 == 0x0123)
  149   else if (ShufTab[Op].Arg0 == 0x4567)
  161   std::cerr << " = " << ShufTab[ThisOp].Op->getName() << "(";
  163   if (ShufTab[ShufTab[ThisOp].Arg0].Cost == 0) {
  163   if (ShufTab[ShufTab[ThisOp].Arg0].Cost == 0) {
  164     std::cerr << getZeroCostOpName(ShufTab[ThisOp].Arg0);
  165     PrintMask(ShufTab[ThisOp].Arg0, std::cerr);
  169       if (Vals[i] == ShufTab[ThisOp].Arg0) {
  175   if (!ShufTab[Vals[ValNo]].Op->isOnlyLHSOperator()) {
  177     if (ShufTab[ShufTab[ThisOp].Arg1].Cost == 0) {
  177     if (ShufTab[ShufTab[ThisOp].Arg1].Cost == 0) {
  178       std::cerr << getZeroCostOpName(ShufTab[ThisOp].Arg1);
  179       PrintMask(ShufTab[ThisOp].Arg1, std::cerr);
  183         if (Vals[i] == ShufTab[ThisOp].Arg1) {
  195     Count += ShufTab[i].Cost < 100;
  201   if (ShufTab[Elt].Cost == 0) return;
  208   unsigned Arg0 = ShufTab[Elt].Arg0, Arg1 = ShufTab[Elt].Arg1;
  208   unsigned Arg0 = ShufTab[Elt].Arg0, Arg1 = ShufTab[Elt].Arg1;
  209   if (ShufTab[Arg0].Cost)
  211   if (Arg0 != Arg1 && ShufTab[Arg1].Cost)
  220   ShufTab[0x0123].Cost = 0;
  221   ShufTab[0x0123].Op = nullptr;
  222   ShufTab[0x0123].Arg0 = 0x0123;
  223   ShufTab[0x4567].Cost = 0;
  224   ShufTab[0x4567].Op = nullptr;
  225   ShufTab[0x4567].Arg0 = 0x4567;
  240     unsigned MaxCost = ShufTab[0].Cost;
  243       if (ShufTab[i].Cost > MaxCost)
  244         MaxCost = ShufTab[i].Cost;
  274         unsigned MinCost = ShufTab[i].Cost;
  279           if (ShufTab[NewElt].Cost < MinCost) {
  280             MinCost = ShufTab[NewElt].Cost;
  288           ShufTab[i] = ShufTab[MinVal];
  288           ShufTab[i] = ShufTab[MinVal];
  295       if (ShufTab[LHS].Cost > 1000) continue;
  299       if (ShufTab[LHS].Cost + 1 >= MaxCost)
  308         unsigned Cost = ShufTab[LHS].Cost + Op->getCost();
  309         if (Cost < ShufTab[ResultMask].Cost) {
  310           ShufTab[ResultMask].Cost = Cost;
  311           ShufTab[ResultMask].Op = Op;
  312           ShufTab[ResultMask].Arg0 = LHS;
  313           ShufTab[ResultMask].Arg1 = LHS;
  323           if (ShufTab[RHS].Cost > 1000) continue;
  327           if (ShufTab[RHS].Cost + 1 >= MaxCost)
  334           if (ShufTab[ResultMask].Cost <= OpCount ||
  335               ShufTab[ResultMask].Cost <= ShufTab[LHS].Cost ||
  335               ShufTab[ResultMask].Cost <= ShufTab[LHS].Cost ||
  336               ShufTab[ResultMask].Cost <= ShufTab[RHS].Cost)
  336               ShufTab[ResultMask].Cost <= ShufTab[RHS].Cost)
  347           if (Cost < ShufTab[ResultMask].Cost) {
  348             ShufTab[ResultMask].Cost = Cost;
  349             ShufTab[ResultMask].Op = Op;
  350             ShufTab[ResultMask].Arg0 = LHS;
  351             ShufTab[ResultMask].Arg1 = RHS;
  367     if (ShufTab[i].Cost > 9)
  370       ++CostArray[ShufTab[i].Cost];
  388     unsigned CostSat = ShufTab[i].Cost;
  393     unsigned OpNum = ShufTab[i].Op ? ShufTab[i].Op->OpNum : 0;
  393     unsigned OpNum = ShufTab[i].Op ? ShufTab[i].Op->OpNum : 0;
  396     unsigned LHS = getCompressedMask(ShufTab[i].Arg0);
  397     unsigned RHS = getCompressedMask(ShufTab[i].Arg1);
  405     std::cout << ": Cost " << ShufTab[i].Cost;
  406     std::cout << " " << (ShufTab[i].Op ? ShufTab[i].Op->getName() : "copy");
  406     std::cout << " " << (ShufTab[i].Op ? ShufTab[i].Op->getName() : "copy");
  408     if (ShufTab[ShufTab[i].Arg0].Cost == 0) {
  408     if (ShufTab[ShufTab[i].Arg0].Cost == 0) {
  409       std::cout << getZeroCostOpName(ShufTab[i].Arg0);
  411       PrintMask(ShufTab[i].Arg0, std::cout);
  414     if (ShufTab[i].Op && !ShufTab[i].Op->isOnlyLHSOperator()) {
  414     if (ShufTab[i].Op && !ShufTab[i].Op->isOnlyLHSOperator()) {
  416       if (ShufTab[ShufTab[i].Arg1].Cost == 0) {
  416       if (ShufTab[ShufTab[i].Arg1].Cost == 0) {
  417         std::cout << getZeroCostOpName(ShufTab[i].Arg1);
  419         PrintMask(ShufTab[i].Arg1, std::cout);
  430       if (ShufTab[i].Cost < 1000) {
  432         std::cerr << " - Cost " << ShufTab[i].Cost << " - ";