https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101727
--- Comment #3 from zhan3299 at purdue dot edu --- (In reply to Jakub Jelinek from comment #2) > Note, the documentation talks about it: > https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/Basic-Asm.html#Basic-Asm > Under certain circumstances, GCC may duplicate (or remove duplicates of) > your assembly code when optimizing. This can lead to unexpected duplicate > symbol errors during compilation if your assembly code defines symbols or > labels. > and > https://gcc.gnu.org/onlinedocs/gcc-11.2.0/gcc/Extended-Asm.html#Extended-Asm > Under certain circumstances, GCC may duplicate (or remove duplicates of) > your assembly code when optimizing. This can lead to unexpected duplicate > symbol errors during compilation if your asm code defines symbols or labels. > Using ‘%=’ (see AssemblerTemplate) may help resolve this problem. > Normally people use numbered labels instead (leal 1f(...); ... 1: ...) or > one can use %=. Thanks for letting me know. I do apologize that I haven't gone through the whole document and bothering you by this invalid issue. Sorry about it.