pub unsafe fn gemm_basic_generic<const N: usize, const MR: usize, const NR: usize, const MR_DIV_N: usize, S: MixedSimd<f16, f16, f16, f32>>(
    simd: S,
    m: usize,
    n: usize,
    k: usize,
    dst: *mut f16,
    dst_cs: isize,
    dst_rs: isize,
    read_dst: bool,
    lhs: *const f16,
    lhs_cs: isize,
    lhs_rs: isize,
    rhs: *const f16,
    rhs_cs: isize,
    rhs_rs: isize,
    alpha: f16,
    beta: f16,
    dispatcher: &[[MicroKernelFn<f32>; NR]; MR_DIV_N],
    parallelism: Parallelism
)