]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
Fix potential int8 overflow in non-SIMD vec_dot (#986)
authorStephan Walter <redacted>
Sat, 15 Apr 2023 18:28:56 +0000 (18:28 +0000)
committerGitHub <redacted>
Sat, 15 Apr 2023 18:28:56 +0000 (18:28 +0000)
ggml.c

diff --git a/ggml.c b/ggml.c
index ccad76e8c018e31352d4c599277fccc41adaf1b3..69974989c08f823fbfd0cdeba47c03f39b5df931 100644 (file)
--- 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;
         }