Skip to content

Replace arm64 minor variant logic with lookup table #17

Closed
@samuelkarp

Description

@samuelkarp

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.

(@samuelkarp)

@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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions