Skip to content

Commit 1cefb5c

Browse files
committed
nano-optimization for memchr::repeat_byte
1 parent 3eadd75 commit 1cefb5c

File tree

1 file changed

+2
-13
lines changed

1 file changed

+2
-13
lines changed

src/libcore/slice/memchr.rs

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,10 @@ fn repeat_byte(b: u8) -> usize {
3939
(b as usize) << 8 | b as usize
4040
}
4141

42-
#[cfg(target_pointer_width = "32")]
42+
#[cfg(not(target_pointer_width = "16"))]
4343
#[inline]
4444
fn repeat_byte(b: u8) -> usize {
45-
let mut rep = (b as usize) << 8 | b as usize;
46-
rep = rep << 16 | rep;
47-
rep
48-
}
49-
50-
#[cfg(target_pointer_width = "64")]
51-
#[inline]
52-
fn repeat_byte(b: u8) -> usize {
53-
let mut rep = (b as usize) << 8 | b as usize;
54-
rep = rep << 16 | rep;
55-
rep = rep << 32 | rep;
56-
rep
45+
(b as usize) * (::usize::MAX / 255)
5746
}
5847

5948
/// Return the first index matching the byte `x` in `text`.

0 commit comments

Comments
 (0)