We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents b8f4527 + 5f44f71 commit 1ab7d5eCopy full SHA for 1ab7d5e
1 file changed
c/lib.c
@@ -291,8 +291,11 @@ SIMSIMD_DYNAMIC simsimd_capability_t simsimd_capabilities(void) {
291
simsimd_distance_t *dummy_results = &dummy_results_buffer[0];
292
293
// Passing `NULL` as `x` will trigger all kinds of `nonull` warnings on GCC.
294
+ // The buffer must be large enough to cover the widest SIMD register (SVE: up to 2048 bits = 256 bytes).
295
+ // SVE functions use `do { } while (i < n)` loops that execute once even with n=0, and MemorySanitizer
296
+ // instruments predicated loads as full-width reads, so all bytes must be initialized.
297
typedef double largest_scalar_t;
- largest_scalar_t dummy_input[1] = {0};
298
+ largest_scalar_t dummy_input[32] = {0};
299
void *x = &dummy_input[0];
300
301
// Dense:
0 commit comments