[LLVMbugs] [Bug 19167] New: [ARM] Unnecessary callee saved VFP reg is used

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Mar 17 12:09:13 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=19167

            Bug ID: 19167
           Summary: [ARM] Unnecessary callee saved VFP reg is used
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: weimingz at codeaurora.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

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.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140317/556a2c10/attachment.html>


More information about the llvm-bugs mailing list