<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 --- - [ARM] Unnecessary callee saved VFP reg is used"
   href="http://llvm.org/bugs/show_bug.cgi?id=19167">19167</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[ARM] Unnecessary callee saved VFP reg is used
          </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>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>new bugs
          </td>
        </tr>

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

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

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>For the following code:

target triple = "thumbv7--linux-gnueabi"

declare float @foo()
declare float @bar()

define float @test() minsize {
entry:
  %call1 = call float @foo()
  %call2 = call float @bar()
  %sum = fadd float %call1, %call2
  ret float %sum
}

llc -O3 < test.ll generates:

    .text
    .syntax unified
    .eabi_attribute    6, 10    @ Tag_CPU_arch
    .eabi_attribute    8, 1    @ Tag_ARM_ISA_use
    .eabi_attribute    9, 2    @ Tag_THUMB_ISA_use
    .fpu    neon
    .eabi_attribute    20, 1    @ Tag_ABI_FP_denormal
    .eabi_attribute    21, 1    @ Tag_ABI_FP_exceptions
    .eabi_attribute    23, 3    @ Tag_ABI_FP_number_model
    .eabi_attribute    24, 1    @ Tag_ABI_align_needed
    .eabi_attribute    25, 1    @ Tag_ABI_align_preserved
    .file    "<stdin>"
    .globl    test
    .align    2
    .type    test,%function
    .code    16                      @ @test
    .thumb_func
test:
    .fnstart
.Leh_func_begin0:
@ BB#0:                                 @ %entry
    .save    {r11, lr}
    push.w    {r11, lr}
    .vsave    {d8}
    vpush    {d8}
    bl    foo
    vmov    s16, r0    ================> why use s16 instead of s1 ?
    bl    bar
    vmov    s0, r0
    vadd.f32    s0, s16, s0
    vmov    r0, s0
    vpop    {d8}
    pop.w    {r11, pc}
.Ltmp0:
    .size    test, .Ltmp0-test
.Leh_func_end0:
    .fnend


same for using -O2 and/or minsize attribute.</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>