https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116043
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Biener from comment #4) > -mavx512bw is enough, the "bad" assembly has > > leaq __libc_tsd_CTYPE_B@gottpoff(%rip), %rsi > > the "good" has only movq with gottpoff(%rip) relocations. Note in the object file I see 243: 48 8d 35 00 00 00 00 lea 0x0(%rip),%rsi # 24a <hol_entry_qcmp+0x5a> 24a: 4c 8b 0d 00 00 00 00 mov 0x0(%rip),%r9 # 251 <hol_entry_qcmp+0x61> lld reports ld.lld-14.0.6: error: t.o:(function hol_entry_qcmp: .text+0x243): R_X86_64_GOTTPOFF must be used in MOVQ or ADDQ instructions only ld.lld-14.0.6: error: t.o:(function hol_entry_qcmp: .text+0x365): R_X86_64_GOTTPOFF must be used in MOVQ or ADDQ instructions only so it's a backend issue.