From 67ad7c445c401af8a9022011194869a485b61894 Mon Sep 17 00:00:00 2001 From: anzz1 Date: Wed, 22 Mar 2023 04:36:29 +0200 Subject: [PATCH] MSVC cvt intrinsics --- ggml.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ggml.c b/ggml.c index 639258c52..95db77798 100644 --- a/ggml.c +++ b/ggml.c @@ -182,8 +182,13 @@ typedef double ggml_float; #ifdef __F16C__ +#ifdef _MSC_VER +#define GGML_COMPUTE_FP16_TO_FP32(x) _mm_cvtss_f32(_mm_cvtph_ps(_mm_cvtsi32_si128(x))) +#define GGML_COMPUTE_FP32_TO_FP16(x) _mm_extract_epi16(_mm_cvtps_ph(_mm_set_ss(x), 0), 0) +#else #define GGML_COMPUTE_FP16_TO_FP32(x) _cvtsh_ss(x) #define GGML_COMPUTE_FP32_TO_FP16(x) _cvtss_sh(x, 0) +#endif #elif defined(__POWER9_VECTOR__)