Paul E. Murphy
a23bd00f9d
powerpc64le: add optimized strlen for P9
...
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.
2020-06-05 15:30:00 -05:00
..
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-05 15:30:00 -05:00
2020-01-01 00:14:33 +00:00
2020-06-05 15:30:00 -05:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-18 17:08:54 -05:00
2020-01-01 00:14:33 +00:00
2020-05-18 17:08:54 -05:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-18 08:26:22 -05:00
2020-01-01 00:14:33 +00:00
2020-05-18 08:26:22 -05:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-05-18 08:26:22 -05:00
2020-01-01 00:14:33 +00:00
2020-05-18 08:26:22 -05:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-06-05 15:30:00 -05:00
2020-01-01 00:14:33 +00:00
2020-06-05 15:30:00 -05:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00
2020-01-01 00:14:33 +00:00