<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 - Cannot scavenge register without an emergency spill slot!"
   href="https://bugs.llvm.org/show_bug.cgi?id=33031">33031</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Cannot scavenge register without an emergency spill slot!
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

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

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

        <tr>
          <th>OS</th>
          <td>Linux
          </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>new bugs
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>kongy.dev@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>$ llc Math_bad.ll -debug
...

**** Analysing bbs_matMultiplyTranspFlt16
Look into: 0 entry
Look into: 1 for.body.lr.ph
Look into: 2 for.body
Look into: 25 
Look into: 3 for.body6.preheader
Look into: 4 for.body6
Look into: 5 
Look into: 6 for.body11.preheader
Look into: 7 
Look into: 8 min.iters.checked
Look into: 9 
Look into: 10 vector.body.preheader
Look into: 11 vector.body
Use or define CSR(1) or FI(0): %X19<def> = SUBXri %X6, 64, 0

No Shrink wrap candidate found
*** determineCalleeSaves
Used CSRs: %D8 %D9 %D10 %D11 %D12 %X19 %X20 %X21
Estimated stack frame size: 128 bytes.
CSR spill: (D12) -> fi#(9)
CSR spill: (D10, D11) -> fi#(7, 8)
CSR spill: (D8, D9) -> fi#(5, 6)
CSR spill: (X21) -> fi#(4)
CSR spill: (X19, X20) -> fi#(2, 3)
CSR restore: (X19, X20) -> fi#(2, 3)
CSR restore: (X21) -> fi#(4)
CSR restore: (D8, D9) -> fi#(5, 6)
CSR restore: (D10, D11) -> fi#(7, 8)
CSR restore: (D12) -> fi#(9)
alloc FI(2) at SP[-8]
alloc FI(3) at SP[-16]
alloc FI(4) at SP[-24]
alloc FI(5) at SP[-32]
alloc FI(6) at SP[-40]
alloc FI(7) at SP[-48]
alloc FI(8) at SP[-56]
alloc FI(9) at SP[-64]
alloc FI(0) at SP[-96]
alloc FI(1) at SP[-128]
Scavenged register: X21
LLVM ERROR: Error while trying to spill FP from class GPR64: Cannot scavenge
register without an emergency spill slot!</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>