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>(
    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],
    _requires_row_major_rhs: bool,
    parallelism: Parallelism
)