https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103457
--- Comment #2 from Roland Illig <roland.illig at gmx dot de> --- Cool, thank you for taking this optimization. Just to give you a bit of background: I discovered this while converting some of the enum types in BSD Make to proper bitfields, which theoretically should be possible without affecting the generated code. https://github.com/NetBSD/src/blob/trunk/usr.bin/make/make.h It was interesting to play around with this code on https://godbolt.org/, seeing how differently the available compilers translate this simple code fragment. That's where the Intel assembler syntax comes from. :)