Search code examples
armsimdneon

Detailed documentation on arm intrinsics support versions


I am trying to build an infrastructure (and database) so that people can detect the available SIMD intrinsics without connecting to the actual hardware.

It is extremely hard (if ever possible) to get the proper hardware for all those ARM versions and try each intrinsic on them, so I am looking into the possibility of reusing existing database or documentation.

Are there any detailed documentation/database on supported arm SIMD intrinsics for each version (https://en.wikichip.org/wiki/arm/versions)

The arm handbook (https://developer.arm.com/architectures/instruction-sets/intrinsics/) listed all supported instruction for a broader category, but it seems to be no way to check which instructions/intrinsic are supported on a certain version of ARM supports.

Please let me know if you have anything in mind that can help.


Solution

  • Most of the answer to your question is in the xml files at: https://developer.arm.com/downloads/-/exploration-tools where instructions have their sub-architectures. Alternatively in the Arm ARM.

    But sub-architecture doesn't entirely map to what cores actually support as they may support different parts of the architecture. Technical Reference Manuals (TRMs) are available on https://developer.arm.com/ for Arm-designed cores, which will say what parts of the architecture are supported. Other chips will need to be described by their designers.