Skip to content

Commit

Permalink
internal: add inline for move_mask in line-index
Browse files Browse the repository at this point in the history
  • Loading branch information
roife committed Jan 12, 2024
1 parent 7c3744e commit df53828
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion lib/line-index/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,7 @@ unsafe fn analyze_source_file_sse2(

#[target_feature(enable = "neon")]
#[cfg(any(target_arch = "aarch64"))]
#[inline]
// See https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/porting-x86-vector-bitmask-optimizations-to-arm-neon
//
// The mask is a 64-bit integer, where each 4-bit corresponds to a u8 in the
Expand Down Expand Up @@ -393,7 +394,7 @@ unsafe fn analyze_source_file_neon(
let newlines_test = vceqq_s8(chunk, newline);
let mut newlines_mask = move_mask(newlines_test);

// If the bit mask is all zero, there are no newlines in this chunk.
// If the bit mask is not all zero, there are newlines in this chunk.
if newlines_mask != 0 {
let output_offset = TextSize::from((chunk_index * CHUNK_SIZE + 1) as u32);

Expand Down

0 comments on commit df53828

Please sign in to comment.