Description
Follow up from #8:
LGTM; although if this gets any more complicated it might be easier to have some form of lookup table rather than trying to follow a set of for loops?
(@estesp)
LGTM per discussion in the maintainer channel, though +1 to @estesp's comment; this is probably much easier to maintain if we convert it to a lookup table rather than math and loops.
@dmcgowan also pointed to https://en.wikipedia.org/wiki/AArch64 and https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2024 to document some of the complexity in arm64 variant logic. The matching pairs of 8.5|9.0 until 9.5, and some instructions added to 9.x only make it difficult for us to accurately capture the compatibility in logic and ensure that it is kept up to date as Arm development continues. While a lookup table would be more tedious to write initially, it would be clear to understand at a glance which minor variants are compatible with each other.