> > All these optimised, vectorised (effectively) string ops rely on two
> > techniques:
> >
> > (1) using properties of carry-chain propagation in addition/subtraction
> >     so as find out whether any byte in a word is zero, and if so
> >     which one
>
> Do you mean the well know and widely use technique: [..]

Yes.

> note that in GLIBC the even the default generic implementation strlen.c
> uses this trick.

Yes.  So Memcheck intercepts strlen et al in glibc.

> Yup. On processors with wide registers and multiple Load/Store and FixPoint
> units it would criminally negligent not to do this. Also you will be see a
> lot more speculative loads in both hand tuned code and with GCC-4.3
> (Auto-vectorization and auto-parallelization). This applies to POWER
> (Altivec) and x86(_64) (SSE4).

In hand tuned code, perhaps.  I would be surprised to see overruns in
autovectorised code, since compilers tend only to vectorise loops for
which the trip count is known at run time before the loop starts, and
so generate a vector loop and a following fixup loop to handle any
leftover iterations.  So the vector loop doesn't overrun memory.

> > * do not strip all symbol names off ld.so
>
> This is not really our call! You are going after LOCAL symbols which are
> only needed for debug (not needed at run-time). The distros can strip
> libraries to save space on the ISO images, so they do. The one concession
> they make is to provide the debug-info images.

In the end I simply arranged for Memcheck on ppc32/64-linux to check for
the presence of the relevant symbols in ld.so, and crap out if they are
not present, printing a message advising the user to install the debuginfo
image.

J

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to