Skip to content

Commit 88c17e6

Browse files
committed
simd: drop 2 unnecessary instructions
1 parent fbb0bdd commit 88c17e6

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

src/simd/avx2.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,8 @@ unsafe fn match_header_value_char_32_avx(buf: &[u8]) -> usize {
108108
let tab = _mm256_cmpeq_epi8(dat, TAB);
109109
let del = _mm256_cmpeq_epi8(dat, DEL);
110110
let bit = _mm256_andnot_si256(del, _mm256_or_si256(low, tab));
111-
let rev = _mm256_cmpeq_epi8(bit, _mm256_setzero_si256());
112-
let res = _mm256_movemask_epi8(rev) as u32;
113-
114-
res.trailing_zeros() as usize
111+
let res = _mm256_movemask_epi8(bit) as u32;
112+
res.trailing_ones() as usize
115113
}
116114

117115
#[test]

src/simd/sse42.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,9 @@ unsafe fn match_header_value_char_16_sse(buf: &[u8]) -> usize {
9595
let tab = _mm_cmpeq_epi8(dat, TAB);
9696
let del = _mm_cmpeq_epi8(dat, DEL);
9797
let bit = _mm_andnot_si128(del, _mm_or_si128(low, tab));
98-
let rev = _mm_cmpeq_epi8(bit, _mm_setzero_si128());
99-
let res = _mm_movemask_epi8(rev) as u16;
98+
let res = _mm_movemask_epi8(bit) as u16;
10099

101-
res.trailing_zeros() as usize
100+
res.trailing_ones() as usize
102101
}
103102

104103
#[test]

0 commit comments

Comments
 (0)