| 3523 | *sc = (q[j + 4] & 0xF) | ((q[j - 4] >> 6) << 4); |
| 3524 | *m = (q[j + 4] >> 4) | ((q[j - 0] >> 6) << 4); |
| 3525 | } |
| 3526 | } |
| 3527 | |
| 3528 | static void ds4_vec_dot_q4_K_q8_K(int n, float *s, const block_q4_K *x, const block_q8_K *y) { |
| 3529 | const int nb = n / QK_K; |
| 3530 | |
| 3531 | #if defined(__ARM_NEON) && defined(__ARM_FEATURE_DOTPROD) |
| 3532 | const int32x4_t zero = vdupq_n_s32(0); |
| 3533 | float sumf = 0.0f; |
| 3534 | |
| 3535 | for (int i = 0; i < nb; i++) { |
| 3536 | const float d = y[i].d * f16_to_f32(x[i].d); |
no test coverage detected