This means we don't have to remember to update this code as much.
This is all tested in lldb/test/Shell/Commands/command-disassemble-aarch64-extensions.s
which I added previously.
We don't have a way to get the latest base architecture yet
so that remains manual. Having all the extensions specified
will probably be equivalent to the latest architecture version
in any case.
If you use features_str as the initial accumulator value, then I'd expect you shouldn't need to use += on the line above. Otherwise, you'd get the +v9.3a bit twice.
But I'd just say features_str += llvm::join(features, ","); instead...