nano-optimization for memchr::repeat_byte
This commit is contained in:
parent
3eadd75473
commit
1cefb5ce31
1 changed files with 2 additions and 13 deletions
|
@ -39,21 +39,10 @@ fn repeat_byte(b: u8) -> usize {
|
||||||
(b as usize) << 8 | b as usize
|
(b as usize) << 8 | b as usize
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "32")]
|
#[cfg(not(target_pointer_width = "16"))]
|
||||||
#[inline]
|
#[inline]
|
||||||
fn repeat_byte(b: u8) -> usize {
|
fn repeat_byte(b: u8) -> usize {
|
||||||
let mut rep = (b as usize) << 8 | b as usize;
|
(b as usize) * (::usize::MAX / 255)
|
||||||
rep = rep << 16 | rep;
|
|
||||||
rep
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(target_pointer_width = "64")]
|
|
||||||
#[inline]
|
|
||||||
fn repeat_byte(b: u8) -> usize {
|
|
||||||
let mut rep = (b as usize) << 8 | b as usize;
|
|
||||||
rep = rep << 16 | rep;
|
|
||||||
rep = rep << 32 | rep;
|
|
||||||
rep
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Return the first index matching the byte `x` in `text`.
|
/// Return the first index matching the byte `x` in `text`.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue