[Bug rtl-optimization/44323] New: IRA/reload moves asm statement

hjl dot tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat May 29 15:25:00 GMT 2010


On Linux/x86-64, IRA/reload moves asm statement by
adding "movss" at -O2:

[hjl@gnu-6 vzeroupper-1]$ cat foo.c
extern void bar2 (void);
float
foo (float y)
{
  asm volatile ("nop");
  bar2 ();
  return y;
}
[hjl@gnu-6 vzeroupper-1]$ gcc -S -O foo.c
[hjl@gnu-6 vzeroupper-1]$ cat foo.s
        .file   "foo.c"
        .text
.globl foo
        .type   foo, @function
foo:
.LFB0:
        .cfi_startproc
        subq    $24, %rsp
        .cfi_def_cfa_offset 32
        movss   %xmm0, 12(%rsp)
#APP
# 5 "foo.c" 1
        nop
# 0 "" 2
#NO_APP
        call    bar2
        movss   12(%rsp), %xmm0
        addq    $24, %rsp
        .cfi_def_cfa_offset 8
        ret
        .cfi_endproc
.LFE0:
        .size   foo, .-foo
        .ident  "GCC: (GNU) 4.4.3 20100127 (Red Hat 4.4.3-4)"
        .section        .note.GNU-stack,"",@progbits
[hjl@gnu-6 vzeroupper-1]$ gcc -S -O2 foo.c
[hjl@gnu-6 vzeroupper-1]$ cat foo.s
        .file   "foo.c"
        .text
        .p2align 4,,15
.globl foo
        .type   foo, @function
foo:
.LFB0:
        .cfi_startproc
        subq    $24, %rsp
        .cfi_def_cfa_offset 32
#APP
# 5 "foo.c" 1
        nop
# 0 "" 2
#NO_APP
        movss   %xmm0, (%rsp)
        call    bar2
        movss   (%rsp), %xmm0
        addq    $24, %rsp
        .cfi_def_cfa_offset 8
        ret
        .cfi_endproc
.LFE0:
        .size   foo, .-foo
        .ident  "GCC: (GNU) 4.4.3 20100127 (Red Hat 4.4.3-4)"
        .section        .note.GNU-stack,"",@progbits
[hjl@gnu-6 vzeroupper-1]$


-- 
           Summary: IRA/reload moves asm statement
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl dot tools at gmail dot com


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



More information about the Gcc-bugs mailing list