https://github.com/lenary approved this pull request. LGTM I wonder if the easiest way to restructure is to have a function `parseSingleRegisterOrRange` which we can invoke (up to) twice, depending on what range it got to? https://github.com/llvm/llvm-project/pull/134182