https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53929
--- Comment #24 from LIU Hao <lh_mouse at 126 dot com> --- I've composed a proposal to address this issue: https://github.com/lhmouse/mcfgthread/wiki/Formalized-Intel-Syntax-for-x86#the-proposal The proposal is to treat names between `ptr` and `[` as symbols, and to treat to treat names between `[` and `]` as registers. This lea rax, bx[rip] should be rejected due to invalidity, while lea rax, BYTE PTR bx[rip] can be parsed as referencing the symbol `bx` with no ambiguity.