@@ -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_u32_t )0ull , ( sz_u32_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_u32_t )0ull , ( sz_u32_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_u32_t )0ull , ( sz_u32_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_u32_t )0ull , ( sz_u32_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_u32_t )0ull , ( sz_u32_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_u32_t )0ull , ( sz_u32_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_u32_t )0ull , ( sz_u32_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_u32_t )0ull , ( sz_u32_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