Skip to content

Commit 45dd093

Browse files
committed
Fix: Missing size_t SVE overload
1 parent 3898481 commit 45dd093

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

include/stringzilla/stringzilla.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6137,7 +6137,7 @@ SZ_PUBLIC void sz_fill_sve(sz_ptr_t target, sz_size_t length, sz_u8_t value) {
61376137

61386138
if (length <= vec_len) {
61396139
// Small buffer case: use mask to handle small writes
6140-
svbool_t mask = svwhilelt_b8((sz_size_t)0ull, length);
6140+
svbool_t mask = svwhilelt_b8((sz_u64_t)0ull, (sz_u64_t)length);
61416141
svst1_u8(mask, (unsigned char *)target, value_vec);
61426142
}
61436143
else {
@@ -6147,7 +6147,7 @@ SZ_PUBLIC void sz_fill_sve(sz_ptr_t target, sz_size_t length, sz_u8_t value) {
61476147
sz_size_t body_length = length - head_length - tail_length;
61486148

61496149
// Handle unaligned head
6150-
svbool_t head_mask = svwhilelt_b8((sz_size_t)0ull, head_length);
6150+
svbool_t head_mask = svwhilelt_b8((sz_u64_t)0ull, (sz_u64_t)head_length);
61516151
svst1_u8(head_mask, (unsigned char *)target, value_vec);
61526152
target += head_length;
61536153

@@ -6157,7 +6157,7 @@ SZ_PUBLIC void sz_fill_sve(sz_ptr_t target, sz_size_t length, sz_u8_t value) {
61576157
}
61586158

61596159
// Handle unaligned tail
6160-
svbool_t tail_mask = svwhilelt_b8((sz_size_t)0ull, tail_length);
6160+
svbool_t tail_mask = svwhilelt_b8((sz_u64_t)0ull, (sz_u64_t)tail_length);
61616161
svst1_u8(tail_mask, (unsigned char *)target, value_vec);
61626162
}
61636163
}
@@ -6174,7 +6174,7 @@ SZ_PUBLIC void sz_copy_sve(sz_ptr_t target, sz_cptr_t source, sz_size_t length)
61746174
// When the buffer is small, there isn't much to innovate.
61756175
if (length <= vec_len) {
61766176
// Small buffer case: use mask to handle small writes
6177-
svbool_t mask = svwhilelt_b8((sz_size_t)0ull, length);
6177+
svbool_t mask = svwhilelt_b8((sz_u64_t)0ull, (sz_u64_t)length);
61786178
svuint8_t data = svld1_u8(mask, (unsigned char *)source);
61796179
svst1_u8(mask, (unsigned char *)target, data);
61806180
}
@@ -6199,10 +6199,10 @@ SZ_PUBLIC void sz_copy_sve(sz_ptr_t target, sz_cptr_t source, sz_size_t length)
61996199
sz_size_t body_length = length - head_length - tail_length;
62006200

62016201
// Handle unaligned parts
6202-
svbool_t head_mask = svwhilelt_b8((sz_size_t)0ull, head_length);
6202+
svbool_t head_mask = svwhilelt_b8((sz_u64_t)0ull, (sz_u64_t)head_length);
62036203
svuint8_t head_data = svld1_u8(head_mask, (unsigned char *)source);
62046204
svst1_u8(head_mask, (unsigned char *)target, head_data);
6205-
svbool_t tail_mask = svwhilelt_b8((sz_size_t)0ull, tail_length);
6205+
svbool_t tail_mask = svwhilelt_b8((sz_u64_t)0ull, (sz_u64_t)tail_length);
62066206
svuint8_t tail_data = svld1_u8(tail_mask, (unsigned char *)source + head_length + body_length);
62076207
svst1_u8(tail_mask, (unsigned char *)target + head_length + body_length, tail_data);
62086208
target += head_length;
@@ -6218,15 +6218,15 @@ SZ_PUBLIC void sz_copy_sve(sz_ptr_t target, sz_cptr_t source, sz_size_t length)
62186218
// Up to (vec_len * 2 - 1) bytes of data may be left in the body,
62196219
// so we can unroll the last two optional loop iterations.
62206220
if (body_length > vec_len) {
6221-
svbool_t mask = svwhilelt_b8((sz_size_t)0ull, body_length);
6221+
svbool_t mask = svwhilelt_b8((sz_u64_t)0ull, (sz_u64_t)body_length);
62226222
svuint8_t data = svld1_u8(mask, (unsigned char *)source);
62236223
svst1_u8(mask, (unsigned char *)target, data);
62246224
body_length -= vec_len;
62256225
source += body_length;
62266226
target += body_length;
62276227
}
62286228
if (body_length) {
6229-
svbool_t mask = svwhilelt_b8((sz_size_t)0ull, body_length);
6229+
svbool_t mask = svwhilelt_b8((sz_u64_t)0ull, (sz_u64_t)body_length);
62306230
svuint8_t data = svld1_u8(mask, (unsigned char *)source);
62316231
svst1_u8(mask, (unsigned char *)target, data);
62326232
}

0 commit comments

Comments
 (0)