https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90193
--- Comment #2 from Mathieu Desnoyers <mathieu.desnoyers at efficios dot com> --- By the way, it can also be reproduced by replacing the "jmp" instruction within the inline asm by a ".long": # 1 "test-asm-goto-data.c" # 1 "<built-in>" # 1 "<command-line>" # 31 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 32 "<command-line>" 2 # 1 "test-asm-goto-data.c" __thread int var; static int fct(void) { asm goto ( ".long %l[testlabel]\n\t" : : [var] "m" (var) : : testlabel); return 0; testlabel: return 1; } int main() { return fct(); }