https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109057
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #5) > (In reply to Andrew Pinski from comment #2) > > No it is not. you just don't notice it there because goldbolt is hiding > > things because it thinks it is unused. > > This actually isn't godbolt hiding anything (which it does sometimes), but > because > nothing is printed in the asm nothing needs to be printed into the assembly > output. > It still acts as a black box to the compiler. Kinda. >More importantly, the entire static array LUT was optimized away from the >object file. the asm code still has LUT array (godbolt does hide unused lables by default). Using the original code we do get: .type LUT, @object .size LUT, 8 LUT: .string "\001\005\003" .ascii "\002\007\001\002"