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

--- Comment #57 from Julian Waters <tanksherman27 at gmail dot com> ---
Just a heads up, the minimal reproducer seems to be getting garbage movabsq
instructions emitted again with the first stage gcc in the bootstrap phase

        .file   "tls.c"
        .text
        .section        .text.unlikely,"x"
        .globl  gomp_team_start
        .def    gomp_team_start;        .scl    2;      .type   32;     .endef
        .seh_proc       gomp_team_start
gomp_team_start:
        pushq   %rdi
        .seh_pushreg    %rdi
        pushq   %rsi
        .seh_pushreg    %rsi
        subq    $40, %rsp
        .seh_stackalloc 40
        .seh_endprologue
        leaq    gomp_team_start_team(%rip), %rdi
        movabsq $8+gomp_tls_data@secrel32, %rsi
        call    gomp_display_affinity_thread
        movl    _tls_index(%rip), %edx
        movl    $10, %ecx
        movq    %gs:88, %rax
        addq    (%rax,%rdx,8), %rsi
        rep movsl
        addq    $40, %rsp
        popq    %rsi
        popq    %rdi
        ret
        .seh_endproc
        .globl  gomp_tls_data
        .section        .tls$,"dw"
        .align 8
gomp_tls_data:
        .space 48
        .globl  gomp_team_start_team
        .bss
        .align 32
gomp_team_start_team:
        .space 40
        .ident  "GCC: (Rev1, Built by MSYS2 project) 14.2.0"
        .def    gomp_display_affinity_thread;   .scl    2;      .type   32;    
.endef

This was caught when team.c started to fail in the assembler

Reply via email to