summaryrefslogtreecommitdiff
path: root/localedata/tst-rpmatch.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-05-20 06:48:04 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-05-21 10:02:58 -0700
commit2e9bca4211cfb79b86d315d12f6d9d4a41bb2dc1 (patch)
tree1fabc0d83269e899abac8dcfdf42f560711bbaac /localedata/tst-rpmatch.c
parent2cdfa9e84886535cf7586bc4449850cdce427c64 (diff)
downloadglibc-2e9bca4211cfb79b86d315d12f6d9d4a41bb2dc1.tar.gz
x86-64: Update strlen.S to support wcslen/wcsnlen
The difference between strlen and wcslen is byte vs int. We can replace pminub and pcmpeqb with pminud and pcmpeqd to turn strlen into wcslen. Tested on Ivy Bridge with benchtests/bench-wcslen.c, the new strlen based wcslen is as fast as the old wcslen. * sysdeps/x86_64/strlen.S (PMINU): New. (PCMPEQ): Likewise. (SHIFT_RETURN): Likewise. (FIND_ZERO): Replace pcmpeqb with PCMPEQ. (strlen): Add SHIFT_RETURN before ret. Replace pcmpeqb and pminub with PCMPEQ and PMINU. * sysdeps/x86_64/wcslen.S: Define AS_WCSLEN and strlen. Include "strlen.S". * sysdeps/x86_64/wcsnlen.S: New file.
Diffstat (limited to 'localedata/tst-rpmatch.c')
0 files changed, 0 insertions, 0 deletions