about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-06-05 07:58:11 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-06-05 07:58:23 -0700
commit30cb625a21bc7ad450fdc45d1f682e2b27c353de (patch)
treee104957e2f5bf150b00ad8cb31dbb19e1275dc0f /ChangeLog
parent7395928b957ebb35afb696c3278d14122aa97b51 (diff)
downloadglibc-30cb625a21bc7ad450fdc45d1f682e2b27c353de.tar.gz
glibc-30cb625a21bc7ad450fdc45d1f682e2b27c353de.tar.xz
glibc-30cb625a21bc7ad450fdc45d1f682e2b27c353de.zip
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.

	* 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/wcsnlen.S: New file.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog10
1 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1549eb6422..5a70bf18e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2017-06-05  H.J. Lu  <hongjiu.lu@intel.com>
 
+	* 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/wcsnlen.S: New file.
+
+2017-06-05  H.J. Lu  <hongjiu.lu@intel.com>
+
 	* sysdeps/x86_64/memrchr.S (__memrchr): Use 32-bit registers for
 	the lower 32 bits.  Remove redundant instructions.