- Sep 18, 2011
While, that ARM documentation states SVE2 is optional. It is NOT optional in real world. ARMv9-A lacking SVE2 will be reported and downgraded to ARMv8-A path.I know it was widely reported SVE2 was mandatory, but that's 100% wrong. It is definitely optional, and says nothing about having to report as ARMv8 if it lacks SVE2.
ARMv9-A in tool suites automatically assume SVE/SVE2 support. There has not been an OPTIONAL option of SVE/SVE2 for ARMv9 cores. So, softly spoken document indicates as optional, but the real world big stick with a hammer indicates that it is mandatory. Failure to have SVE/SVE2 in ARMv9A downgrades the processor to ARMv8A.
Thus, SVE/SVE2 ARMv9A is required/mandatory/compulsory or the processor will be required to report ARMv8A status rather than ARMv9A status.
No end-user(laptop/smartphone) ARMv9A solution will lack SVE/SVE2, ever.
There is another ARMv9 datasheet which indicates SVE2 is mandatory. SVE/SVE2 is a base requirement for ARMv9.x and greater. This is reflected with most recent ARMv9 (ARMv4 -> ARMv9) having Enhanced Vector Processing. While prior art didn't include it. That technical document probably hasn't been updated to reflect ARM's mandatory inclusion of SVE/SVE2.
This is the base emphasis:
|‘armv9-a’||Armv9-A||‘armv8.5-a’, ‘+sve’, ‘+sve2’|
- Armv9-A maps to Armv8.5-A.
- Armv9.1-A maps to Armv8.6-A.
- Armv9.2-A maps to Armv8.7-A.
- The SVE2 extension is enabled by default on these architectures.
Extension - SVE/SVE2 - Enabled by default = No
Extension - SVE/SVE2 - Enabled by default = Armv9-A or later
ARMv9-A across everything has SVE/SVE2 included. While, FEAT_SVE+FEAT_SVE2 was optional for custom, it is no longer optional for custom.
SVE/SVE2 "+nosve" will degrade the processor to ARMv8.5A. The legit machineregister/codepath for reporting ARMv(x) version if SVE/SVE2 is missing is to report as ARMv8.5A.
+ARMv9A +AppleInstructions within Xcode.
ARMv9A includes mandatory SVE/SVE2.