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

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2012-08-18 17:42:58 
UTC ---
-m32 also causes extra copy:

[hjl@gnu-6 pr54315]$ gcc -S -O2 -m32 y.i
[hjl@gnu-6 pr54315]$ cat y.s
    .file    "y.i"
    .text
    .p2align 4,,15
    .globl    test160
    .type    test160, @function
test160:
.LFB0:
    .cfi_startproc
    subl    $44, %esp
    .cfi_def_cfa_offset 48
    leal    16(%esp), %eax
    movl    %eax, (%esp)
    call    check160
    .cfi_def_cfa_offset 44
    subl    $4, %esp
    .cfi_def_cfa_offset 48
    fldt    16(%esp)
    fstpt    (%esp)
    call    checkx160
    addl    $44, %esp
    .cfi_def_cfa_offset 4
    ret
    .cfi_endproc
.LFE0:
    .size    test160, .-test160
    .ident    "GCC: (GNU) 4.7.1 20120629 (Red Hat 4.7.1-1)"
    .section    .note.GNU-stack,"",@progbits
[hjl@gnu-6 pr54315]$

Reply via email to