@lanodan @lcamtuf I meant, if I were to implement switch in assembly, having a table determined by labels and indirectly jumping through it would make sense (and there are already examples of such tables).
I didn't expect that this would even work in C in any way (standard probably does not allow manipulating labels at all), though it is not surprising that GCC exposes this functionality (given many architectures support indirect jumps), TIL! I weren't aware that the original post was actually a valid gnu-c code…