mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-30 08:40:07 +00:00
a23bd00f9d
This started as a trivial change to Anton's rawmemchr. I got carried away. This is a hybrid between P8's asympotically faster 64B checks with extremely efficient small string checks e.g <64B (and sometimes a little bit more depending on alignment). The second trick is to align to 64B by running a 48B checking loop 16B at a time until we naturally align to 64B (i.e checking 48/96/144 bytes/iteration based on the alignment after the first 5 comparisons). This allieviates the need to check page boundaries. Finally, explicly use the P7 strlen with the runtime loader when building P9. We need to be cautious about vector/vsx extensions here on P9 only builds.
3 lines
87 B
ArmAsm
3 lines
87 B
ArmAsm
#define STRLEN __strlen_power9
|
|
#include <sysdeps/powerpc/powerpc64/le/power9/strlen.S>
|