@@ -60,10 +60,13 @@ typedef struct sz_implementations_t {
6060
6161 sz_utf8_count_t utf8_count ;
6262 sz_utf8_find_nth_t utf8_find_nth ;
63- sz_utf8_unpack_chunk_t utf8_unpack_chunk ;
6463 sz_utf8_find_boundary_t utf8_find_newline ;
6564 sz_utf8_find_boundary_t utf8_find_whitespace ;
65+ sz_utf8_unpack_chunk_t utf8_unpack_chunk ;
66+
6667 sz_utf8_case_fold_t utf8_case_fold ;
68+ sz_utf8_case_insensitive_find_t utf8_case_insensitive_find ;
69+ sz_utf8_case_insensitive_order_t utf8_case_insensitive_order ;
6770
6871 sz_sequence_argsort_t sequence_argsort ;
6972 sz_sequence_intersect_t sequence_intersect ;
@@ -108,10 +111,13 @@ static void sz_dispatch_table_update_implementation_(sz_capability_t caps) {
108111
109112 impl -> utf8_count = sz_utf8_count_serial ;
110113 impl -> utf8_find_nth = sz_utf8_find_nth_serial ;
111- impl -> utf8_unpack_chunk = sz_utf8_unpack_chunk_serial ;
112114 impl -> utf8_find_newline = sz_utf8_find_newline_serial ;
113115 impl -> utf8_find_whitespace = sz_utf8_find_whitespace_serial ;
116+ impl -> utf8_unpack_chunk = sz_utf8_unpack_chunk_serial ;
117+
114118 impl -> utf8_case_fold = sz_utf8_case_fold_serial ;
119+ impl -> utf8_case_insensitive_find = sz_utf8_case_insensitive_find_serial ;
120+ impl -> utf8_case_insensitive_order = sz_utf8_case_insensitive_order_serial ;
115121
116122 impl -> sequence_argsort = sz_sequence_argsort_serial ;
117123 impl -> sequence_intersect = sz_sequence_intersect_serial ;
@@ -164,10 +170,8 @@ static void sz_dispatch_table_update_implementation_(sz_capability_t caps) {
164170
165171 impl -> utf8_count = sz_utf8_count_haswell ;
166172 impl -> utf8_find_nth = sz_utf8_find_nth_haswell ;
167- impl -> utf8_unpack_chunk = sz_utf8_unpack_chunk_haswell ;
168173 impl -> utf8_find_newline = sz_utf8_find_newline_haswell ;
169174 impl -> utf8_find_whitespace = sz_utf8_find_whitespace_haswell ;
170- impl -> utf8_case_fold = sz_utf8_case_fold_haswell ;
171175 }
172176#endif
173177
@@ -204,10 +208,12 @@ static void sz_dispatch_table_update_implementation_(sz_capability_t caps) {
204208
205209 impl -> utf8_count = sz_utf8_count_ice ;
206210 impl -> utf8_find_nth = sz_utf8_find_nth_ice ;
207- impl -> utf8_unpack_chunk = sz_utf8_unpack_chunk_ice ;
208211 impl -> utf8_find_newline = sz_utf8_find_newline_ice ;
209212 impl -> utf8_find_whitespace = sz_utf8_find_whitespace_ice ;
213+ impl -> utf8_unpack_chunk = sz_utf8_unpack_chunk_ice ;
214+
210215 impl -> utf8_case_fold = sz_utf8_case_fold_ice ;
216+ impl -> utf8_case_insensitive_find = sz_utf8_case_insensitive_find_ice ;
211217
212218 impl -> lookup = sz_lookup_ice ;
213219
@@ -246,10 +252,12 @@ static void sz_dispatch_table_update_implementation_(sz_capability_t caps) {
246252
247253 impl -> utf8_count = sz_utf8_count_neon ;
248254 impl -> utf8_find_nth = sz_utf8_find_nth_neon ;
249- impl -> utf8_unpack_chunk = sz_utf8_unpack_chunk_neon ;
250255 impl -> utf8_find_newline = sz_utf8_find_newline_neon ;
251256 impl -> utf8_find_whitespace = sz_utf8_find_whitespace_neon ;
257+ impl -> utf8_unpack_chunk = sz_utf8_unpack_chunk_neon ;
258+
252259 impl -> utf8_case_fold = sz_utf8_case_fold_neon ;
260+ impl -> utf8_case_insensitive_find = sz_utf8_case_insensitive_find_neon ;
253261 }
254262#endif
255263
@@ -507,6 +515,18 @@ SZ_DYNAMIC sz_size_t sz_utf8_case_fold(sz_cptr_t source, sz_size_t source_length
507515 return sz_dispatch_table .utf8_case_fold (source , source_length , destination );
508516}
509517
518+ SZ_DYNAMIC sz_cptr_t sz_utf8_case_insensitive_find ( //
519+ sz_cptr_t haystack , sz_size_t haystack_length , //
520+ sz_cptr_t needle , sz_size_t needle_length , sz_size_t * matched_length ) {
521+ return sz_dispatch_table .utf8_case_insensitive_find (haystack , haystack_length , needle , needle_length ,
522+ matched_length );
523+ }
524+
525+ SZ_DYNAMIC sz_ordering_t sz_utf8_case_insensitive_order ( //
526+ sz_cptr_t a , sz_size_t a_length , sz_cptr_t b , sz_size_t b_length ) {
527+ return sz_dispatch_table .utf8_case_insensitive_order (a , a_length , b , b_length );
528+ }
529+
510530// Provide overrides for the libc mem* functions
511531#if SZ_OVERRIDE_LIBC && !defined(__CYGWIN__ )
512532
0 commit comments