Author: aurel32 Date: 2009-11-20 23:06:30 +0000 (Fri, 20 Nov 2009) New Revision: 3998
Modified: glibc-package/trunk/debian/patches/ia64/cvs-memchr.diff Log: Update from upstream Modified: glibc-package/trunk/debian/patches/ia64/cvs-memchr.diff =================================================================== --- glibc-package/trunk/debian/patches/ia64/cvs-memchr.diff 2009-11-20 19:04:51 UTC (rev 3997) +++ glibc-package/trunk/debian/patches/ia64/cvs-memchr.diff 2009-11-20 23:06:30 UTC (rev 3998) @@ -1,3 +1,9 @@ +2009-11-18 H.J. Lu <hongjiu...@intel.com> + + [BZ #10162] + * sysdeps/ia64/memchr.S: Don't use a simple loop on data shorter + than software pipeline. Properly recover from shorter read. + 2009-11-09 H.J. Lu <hongjiu...@intel.com> [BZ #10162] @@ -3,17 +9,25 @@ * sysdeps/ia64/memchr.S: Use a simple loop on data shorter than software pipeline. - + diff --git a/sysdeps/ia64/memchr.S b/sysdeps/ia64/memchr.S -index cd062b2..e721e17 100644 +index cd062b2..cdd71ca 100644 --- a/sysdeps/ia64/memchr.S +++ b/sysdeps/ia64/memchr.S -@@ -71,7 +71,8 @@ ENTRY(__memchr) - cmp.ne p7, p0 = r0, r0 // clear p7 - extr.u chr = in1, 0, 8 // chr = (unsigned char) in1 - mov len = in2 -- cmp.gtu p6, p0 = 16, in2 // use a simple loop for short -+ // use a simple loop on data shorter than software pipeline -+ cmp.gtu p6, p0 = ((MEMLAT + 1) * 8), in2 - (p6) br.cond.spnt .srchfew ;; // searches - sub loopcnt = 8, tmp // loopcnt = 8 - tmp - cmp.eq p6, p0 = tmp, r0 +@@ -126,7 +126,16 @@ ENTRY(__memchr) + br.ret.sptk.many b0 + + .recovery: +- adds ret0 = -((MEMLAT + 1) * 8), ret0;; ++#if MEMLAT != 6 ++# error "MEMLAT must be 6!" ++#endif ++(p[MEMLAT-6]) add ret0 = -8, ret0;; ++(p[MEMLAT-5]) add ret0 = -8, ret0;; ++(p[MEMLAT-4]) add ret0 = -8, ret0;; ++(p[MEMLAT-3]) add ret0 = -8, ret0;; ++(p[MEMLAT-2]) add ret0 = -8, ret0;; ++(p[MEMLAT-1]) add ret0 = -8, ret0;; ++(p[MEMLAT]) add ret0 = -8, ret0;; + (p[MEMLAT+1]) add ret0 = -8, ret0;; + (p[MEMLAT+2]) add ret0 = -8, ret0;; + .l4: -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org