They can. If you look at glibc's implementation, it will look somewhat like
fallback:memchr. However, that's only part of the story. The generic implementation is used only when there isn't a more appropriate one available.
So to reach the same speed, Rust would have to provide something similar on instruction level, which essentially boils down to the same (or better) assembly. At that point you're just duplicating work. It's already there, no need to create everything anew.