Commit 685f70894 for llama.cpp

commit 685f70894b6618824156a876325f05919248e147
Author: Leebr Data Consulting <harrak.amine1987@gmail.com>
Date:   Wed Oct 14 18:36:06 2026 +0200

    ggml-cpu : keep the FP16->FP32 lookup table on x86 with F16C (#30342) (#30343)

    * ggml-cpu : keep the FP16->FP32 lookup table on x86 with F16C (#30342)

    #30270 routed both scalar conversions through F16C. For FP16->FP32, Clang 20.1.8
    lowers the intrinsic to a vpinsrw merging into the live accumulator register of
    the quantized dot products, which serialises the loop (19 vs 4 cycles/iteration
    estimated, 45-65% slower Q8_0/Q4_0 MUL_MAT_ID kernels measured). Keep F16C for
    FP32->FP16 as intended and the table for FP16->FP32.

    * ggml-cpu : comment out the F16C FP16->FP32 define instead of removing it (review)

diff --git a/ggml/src/ggml-cpu/simd-mappings.h b/ggml/src/ggml-cpu/simd-mappings.h
index fb53ecdf4..ebb54a4ab 100644
--- a/ggml/src/ggml-cpu/simd-mappings.h
+++ b/ggml/src/ggml-cpu/simd-mappings.h
@@ -144,7 +144,9 @@ extern float ggml_table_f32_ue4m3[1 << 8];
 // do not produce codegen as checks below don't test for __F16C__
 // but this check does.
 #if defined(__F16C__)
-#define GGML_CPU_FP16_TO_FP32(x) GGML_CPU_COMPUTE_FP16_TO_FP32(x)
+// force FP16 -> FP32 conversion to use LUT instead
+// see: https://github.com/ggml-org/llama.cpp/issues/30342
+//#define GGML_CPU_FP16_TO_FP32(x) GGML_CPU_COMPUTE_FP16_TO_FP32(x)
 #define GGML_CPU_FP32_TO_FP16(x) GGML_CPU_COMPUTE_FP32_TO_FP16(x)
 #endif