Add FP16 IGEMM support
This change introduces three new kernels
kai_lhs_imatmul_pack_x16p2vlx2_x16p_sme
kai_rhs_imatmul_pack_kxn_x16p2vlx2b_x16_x16_sme
kai_imatmul_clamp_f16_f16p2vlx2_f16p2vlx2_2vlx2vl_sme2_mopa
These are used for indirect matmul, for 16-bit floating point data.
This change also adds unit testing for the FP16 imatmul kernels. The
code is written in a type agnostic manner, as to easily allow testing
for other data types with very low effort. This required the addition of
non-templated read
/write
functions, as to allow runtime-generic
access.
Signed-off-by: Emil Ohlsson emil.ohlsson@arm.com