https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96955
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- And if possible, optimize, so that if one does say int *p = (int *)__builtin_thread_pointer (); return p[4]; or return p[i]; it will not read %fs:0 into a register and read 16(%reg), but rather read %fs:16 etc. (of course only if not -mno-tls-direct-seg-refs) or not read 16(%reg,%regI,4) but %fs:16(,%regI,4) etc.