|
|
@@ -392,7 +392,7 @@ void ggml_gemv_q4_0_4x4_q8_0(int n, float * restrict s, size_t bs, const void *
|
|
|
#if defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8)
|
|
|
GGML_ASSERT(!(ggml_cpu_has_neon() && ggml_cpu_has_matmul_int8()) &&
|
|
|
"__ARM_NEON and __ARM_FEATURE_MATMUL_INT8 defined, use the Q4_0_4_8 quantization format for optimal performance");
|
|
|
-#elif defined(__ARM_NEON) && defined(__aarch64__)
|
|
|
+#elif defined(__ARM_NEON) && defined(__aarch64__) && ! ((defined(_MSC_VER)) && ! defined(__clang__))
|
|
|
const void * b_ptr = vx;
|
|
|
const void * a_ptr = vy;
|
|
|
float * res_ptr = s;
|
|
|
@@ -501,7 +501,7 @@ void ggml_gemv_q4_0_4x8_q8_0(int n, float * restrict s, size_t bs, const void *
|
|
|
"__ARM_FEATURE_SVE defined, use the Q4_0_8_8 quantization format for optimal performance");
|
|
|
}
|
|
|
#endif
|
|
|
-#if defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8)
|
|
|
+#if defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8) && ! ((defined(_MSC_VER)) && ! defined(__clang__))
|
|
|
const void * b_ptr = vx;
|
|
|
const void * a_ptr = vy;
|
|
|
float * res_ptr = s;
|
|
|
@@ -613,7 +613,7 @@ void ggml_gemv_q4_0_8x8_q8_0(int n, float * restrict s, size_t bs, const void *
|
|
|
UNUSED(ncols_interleaved);
|
|
|
UNUSED(blocklen);
|
|
|
|
|
|
-#if defined(__ARM_FEATURE_SVE)
|
|
|
+#if defined(__ARM_FEATURE_SVE) && ! ((defined(_MSC_VER)) && ! defined(__clang__))
|
|
|
if (svcntw() == 8) {
|
|
|
const void * b_ptr = vx;
|
|
|
const void * a_ptr = vy;
|
|
|
@@ -753,7 +753,7 @@ void ggml_gemm_q4_0_4x4_q8_0(int n, float * restrict s, size_t bs, const void *
|
|
|
#if defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8)
|
|
|
GGML_ASSERT(!(ggml_cpu_has_neon() && ggml_cpu_has_matmul_int8()) &&
|
|
|
"__ARM_NEON and __ARM_FEATURE_MATMUL_INT8 defined, use the Q4_0_4_8 quantization format for optimal performance");
|
|
|
-#elif defined(__ARM_NEON) && defined(__aarch64__)
|
|
|
+#elif defined(__ARM_NEON) && defined(__aarch64__) && ! ((defined(_MSC_VER)) && ! defined(__clang__))
|
|
|
const void * b_ptr = vx;
|
|
|
const void * a_ptr = vy;
|
|
|
float * res_ptr = s;
|
|
|
@@ -1271,7 +1271,7 @@ void ggml_gemm_q4_0_4x8_q8_0(int n, float * restrict s, size_t bs, const void *
|
|
|
"__ARM_FEATURE_SVE defined, use the Q4_0_8_8 quantization format for optimal performance");
|
|
|
}
|
|
|
#endif
|
|
|
-#if defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8)
|
|
|
+#if defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8) && ! ((defined(_MSC_VER)) && ! defined(__clang__))
|
|
|
const void * b_ptr = vx;
|
|
|
const void * a_ptr = vy;
|
|
|
float * res_ptr = s;
|
|
|
@@ -1727,7 +1727,7 @@ void ggml_gemm_q4_0_8x8_q8_0(int n, float * restrict s, size_t bs, const void *
|
|
|
UNUSED(ncols_interleaved);
|
|
|
UNUSED(blocklen);
|
|
|
|
|
|
-#if defined(__ARM_FEATURE_SVE) && defined(__ARM_FEATURE_MATMUL_INT8)
|
|
|
+#if defined(__ARM_FEATURE_SVE) && defined(__ARM_FEATURE_MATMUL_INT8) && ! ((defined(_MSC_VER)) && ! defined(__clang__))
|
|
|
if (svcntw() == 8) {
|
|
|
const void * b_ptr = vx;
|
|
|
const void * a_ptr = vy;
|