Skip to content

Make SME kernels ABI compliant

Emil Ohlsson requested to merge emil/abi-compliance into main

When SME kernels are used in a call chain that makes use of ZA register, you must commit the ZA register to the lazy save buffer. This change does this, by calling kai_commit_za() within the kernel. kai_commit_za() will use the support function set up by the compiler to commit the register.

This behavior is also tested by the new test file abi_checker.hpp, which writes a known pattern to ZA register, as well as floating point registers, and checks that values are preserved across the call.

Note that this support relies on SME support from compiler, but without this support it is unlikely that you need the lazy saving support.

Signed-off-by: Emil Ohlsson emil.ohlsson@arm.com

Merge request reports

Loading