From 2f7c8e014e3c0ceaf39688845c2ff6f919fb03b7 Mon Sep 17 00:00:00 2001 From: Stephan Walter Date: Sat, 15 Apr 2023 18:28:56 +0000 Subject: [PATCH] Fix potential int8 overflow in non-SIMD vec_dot (#986) --- ggml.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ggml.c b/ggml.c index ccad76e..6997498 100644 --- a/ggml.c +++ b/ggml.c @@ -2373,11 +2373,11 @@ static void ggml_vec_dot_q4_0(const int n, float * restrict s, const void * rest const uint8_t v0 = p0[j]; const uint8_t v1 = p1[j]; - const int8_t i0 = (int8_t) (v0 & 0xf) - 8; - const int8_t i1 = (int8_t) (v0 >> 4) - 8; + const int i0 = (v0 & 0xf) - 8; + const int i1 = (v0 >> 4) - 8; - const int8_t i2 = (int8_t) (v1 & 0xf) - 8; - const int8_t i3 = (int8_t) (v1 >> 4) - 8; + const int i2 = (v1 & 0xf) - 8; + const int i3 = (v1 >> 4) - 8; sumi += i0*i2 + i1*i3; }