------- Comment #2 from ramana at gcc dot gnu dot org  2010-03-20 10:51 -------
TARGET_MD_ASSEMBLE_CLOBBERS might just be the help we need on this one - I
think I have a patch which generates the following code. Does that look any
better to you ? 


foo:
        @ args = 0, pretend = 0, frame = 8
        @ frame_needed = 0, uses_anonymous_args = 0
        @ link register save eliminated.
        fmsr    s13, r0
        fmsr    s14, r0
        fmacs   s13, s14, s14
        fstmfdd sp!, {d8, d9, d10, d11, d12, d13, d14, d15}
        movw    r3, #:lower16:y
        sub     sp, sp, #8
        movt    r3, #:upper16:y
        fsts    s13, [sp, #4]
        fsts    s13, [r3, #0]
@ 5 "/tmp/fail.c" 1
        vmov.i8 q0, #0
@ 6 "/tmp/fail.c" 1
        vmov.i8 q1, #0
@ 7 "/tmp/fail.c" 1
        vmov.i8 q2, #0
@ 8 "/tmp/fail.c" 1
        vmov.i8 q3, #0
@ 9 "/tmp/fail.c" 1
        vmov.i8 q4, #0
@ 10 "/tmp/fail.c" 1
        vmov.i8 q5, #0
@ 11 "/tmp/fail.c" 1
        vmov.i8 q6, #0
@ 12 "/tmp/fail.c" 1
        vmov.i8 q7, #0
        ldr     r0, [sp, #4]    @ float
        add     sp, sp, #8
        fldmfdd sp!, {d8, d9, d10, d11, d12, d13, d14, d15}
        bx      lr
        .size   foo, .-foo
        .comm   y,4,4
        .ident  "GCC: (GNU) 4.5.0 20100319 (experimental)"


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43440

Reply via email to