<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </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 --- - [AArch64] Add paired loads/stores to getMemOpBaseRegImmOfsWidth()"
   href="https://llvm.org/bugs/show_bug.cgi?id=26358">26358</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[AArch64] Add paired loads/stores to getMemOpBaseRegImmOfsWidth()
          </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>normal
          </td>
        </tr>

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

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

        <tr>
          <th>Assignee</th>
          <td>mcrosier@codeaurora.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>mcrosier@codeaurora.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>bmakam@codeaurora.org, gberry@codeaurora.org, haicheng@codeaurora.org, junbuml@codeaurora.org, llvm-bugs@lists.llvm.org, mssimpso@codeaurora.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The target specific hook areMemAccessesTriviallyDisjoint() is used by the MI
scheduler  to determine if two memory access are disjoint (i.e., don't alias). 
The helper function getMemOpBaseRegImmOfsWidth() should include all of the
paired instructions (e.g., STPSi, LDPSi, etc.), so the scheduler has more
flexibility when scheduling.  

First <a href="http://reviews.llvm.org/D8705">http://reviews.llvm.org/D8705</a> needs to land, so the scheduler better
handles instructions with multiple MMOs.  Then mergePairedInsns() in the
AArch64 load store optimizer needs to be fixed so that the pair instructions
include their MMOs.  Once complete then paired instructions can be added to the
getMemOpBaseRegImmOfsWidth() function.</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>