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
|
||||
}
|
||||
|
||||
#[cfg(target_pointer_width = "32")]
|
||||
#[cfg(not(target_pointer_width = "16"))]
|
||||
#[inline]
|
||||
fn repeat_byte(b: u8) -> usize {
|
||||
let mut rep = (b as usize) << 8 | b as usize;
|
||||
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
|
||||
(b as usize) * (::usize::MAX / 255)
|
||||
}
|
||||
|
||||
/// Return the first index matching the byte `x` in `text`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue