Closed
Description
#if defined(AVX) && !defined(F16C)
__m256 _mm256_cvtph_ps(__m128i x) {
ggml_fp16_t const * src = (ggml_fp16_t const *)&x;
float dst[8];
for (int i = 0; i < 8; ++i)
dst[i] = GGML_FP16_TO_FP32(src[i]);
return (__m256)&dst;
}
__m128i _mm256_cvtps_ph(__m256 x, int imm) {
float const * src = (float const *)&x;
ggml_fp16_t dst[8];
for (int i = 0; i < 8; ++i)
dst[i] = GGML_FP32_TO_FP16(src[i]);
return (__m128i)&dst;
}
#endif
Metadata
Metadata
Assignees
Labels
No labels