<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Potential improvement for Loop Vectorization: XMM vs YMM vs ZMM"
   href="https://bugs.llvm.org/show_bug.cgi?id=35299">35299</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Potential improvement for Loop Vectorization: XMM vs YMM vs ZMM
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: X86
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>serguei.katkov@azul.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>What is motivation to choose the lowest Vectorization Factor for equal vector
cost?

Specifically in LoopVectorizationCostModel::selectVectorizationFactor(unsigned
MaxVF):
  for (unsigned i = 2; i <= MaxVF; i *= 2) {
...
    if (VectorCost < Cost) {
      Cost = VectorCost;
      Width = i;
    }
  }
...
  VectorizationFactor Factor = {Width, (unsigned)(Width * Cost)};
  return Factor;


So we update vectorization factor to higher value only if the cost is strongly
less than previous computed cost.

So if the computed vectorization cost is equal for XMM, YMM and ZMM we always
will use XMM.

So my question is why it is done on this way?
why not to choose the maximum VF for equal cost?</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>