<html>
    <head>
      <base href="http://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 --- - Disagreement on spill slot for VFP registers"
   href="http://llvm.org/bugs/show_bug.cgi?id=19652">19652</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Disagreement on spill slot for VFP registers
          </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>Linux
          </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: ARM
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>joerg@NetBSD.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>grosbach@apple.com, llvmbugs@cs.uiuc.edu, t.p.northover@gmail.com
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=12475" name="attach_12475" title="Test case">attachment 12475</a> <a href="attachment.cgi?id=12475&action=edit" title="Test case">[details]</a></span>
Test case

Consider the attached test patch case with the helper patch to enable DWARF
unwinding. The code in PEI places the VFP spill slots on aligned positions, but
the ARM frame lowering places the aligning SP update after the vpush:

f:                                      @ @f
    .cfi_startproc
@ BB#0:                                 @ %entry
    push    {r4, r11, lr}
.Ltmp0:
    .cfi_def_cfa_offset 12
.Ltmp1:
    .cfi_offset lr, -4
.Ltmp2:
    .cfi_offset r11, -8
.Ltmp3:
    .cfi_offset r4, -12
    add    r11, sp, #4
.Ltmp4:
    .cfi_def_cfa r11, 8
    vpush    {d8, d9}
.Ltmp5:
    .cfi_offset d9, -24
.Ltmp6:
    .cfi_offset d8, -32
    sub    sp, sp, #4</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>