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