pub unsafe fn gemm_basic_generic<S: MixedSimd<T, T, T, T>, T: Copy + Zero + One + Conj + Send + Sync + Debug + Add<Output = T> + Mul<Output = T> + PartialEq + 'static, const N: usize, const MR: usize, const NR: usize, const MR_DIV_N: usize, const H_M: usize, const H_N: usize>(
simd: S,
m: usize,
n: usize,
k: usize,
dst: *mut T,
dst_cs: isize,
dst_rs: isize,
read_dst: bool,
lhs: *const T,
lhs_cs: isize,
lhs_rs: isize,
rhs: *const T,
rhs_cs: isize,
rhs_rs: isize,
alpha: T,
beta: T,
conj_dst: bool,
conj_lhs: bool,
conj_rhs: bool,
mul_add: impl Copy + Fn(T, T, T) -> T,
dispatcher: &[[MicroKernelFn<T>; NR]; MR_DIV_N],
horizontal_dispatcher: &[[HMicroKernelFn<T>; H_N]; H_M],
_requires_row_major_rhs: bool,
parallelism: Parallelism
)