This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/60104] load not folded into indirect branch on x86-64


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60104

--- Comment #3 from Francois-Xavier Coudert <fxcoudert at gcc dot gnu.org> ---
Testcase gcc.target/i386/sibcall-1.c fails on x86_64-apple-darwin14 (compiled
with "-O2 -m32"). Assembler code generated is:

    .section __TEXT,__text_cold,regular,pure_instructions
LCOLDB0:
    .text
LHOTB0:
    .align 4,0x90
    .globl _boo
_boo:
LFB0:
    call    ___x86.get_pc_thunk.ax
L1$pb:
    movl    L_foo$non_lazy_ptr-L1$pb(%eax), %eax
    movl    (%eax), %eax
    jmp    *%eax
LFE0:
    .section __TEXT,__text_cold,regular,pure_instructions
LCOLDE0:
    .text
LHOTE0:
    .section __TEXT,__textcoal_nt,coalesced,pure_instructions
    .weak_definition    ___x86.get_pc_thunk.ax
    .private_extern    ___x86.get_pc_thunk.ax
___x86.get_pc_thunk.ax:
LFB1:
    movl    (%esp), %eax
    ret
LFE1:
    .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
EH_frame1:
    .set L$set$0,LECIE1-LSCIE1
    .long L$set$0
LSCIE1:
    .long    0
    .byte    0x1
    .ascii "zR\0"
    .byte    0x1
    .byte    0x7c
    .byte    0x8
    .byte    0x1
    .byte    0x10
    .byte    0xc
    .byte    0x5
    .byte    0x4
    .byte    0x88
    .byte    0x1
    .align 2
LECIE1:
LSFDE1:
    .set L$set$1,LEFDE1-LASFDE1
    .long L$set$1
LASFDE1:
    .long    LASFDE1-EH_frame1
    .long    LFB0-.
    .set L$set$2,LFE0-LFB0
    .long L$set$2
    .byte    0
    .align 2
LEFDE1:
LSFDE3:
    .set L$set$3,LEFDE3-LASFDE3
    .long L$set$3
LASFDE3:
    .long    LASFDE3-EH_frame1
    .long    LFB1-.
    .set L$set$4,LFE1-LFB1
    .long L$set$4
    .byte    0
    .align 2
LEFDE3:
    .section __IMPORT,__pointers,non_lazy_symbol_pointers
L_foo$non_lazy_ptr:
    .indirect_symbol _foo
    .long    0
    .subsections_via_symbols


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]