Comment by camel-cdr

12 hours ago

https://support.arm.com/documentation/109697/2026_06/Feature...

> In an Armv9.0 implementation, if FEAT_FP and FEAT_AdvSIMD are implemented, the following features are implemented: ...

This implies they don't have to be implemented.

https://support.arm.com/documentation/109697/2026_06/Feature...

> FEAT_FP is OPTIONAL from Armv8.0.

> FEAT_AdvSIMD is OPTIONAL from Armv8.0.

But also:

> All Armv8-A systems that support standard operating systems with rich application environments also provide hardware support for Advanced SIMD instructions.

and

> All Armv8-A systems that support standard operating systems with rich application environments provide hardware support for Advanced SIMD and floating-point instructions. All Armv9-A systems that support standard operating systems with rich application environments also provide hardware support for SVE2 instructions. It is a requirement of the ARM Procedure Call Standard for AArch64, see Procedure Call Standard for the Arm 64-bit Architecture

So, both FEAT_FP and FEAT_AdvSIMD are optional for Armv9-A and Armv8-A.

But both are mandated in cores for "rich operating systems", which basically means it's mandated by the OS.

Also, Armv9-A on OS level mandates SVE2.