According to the i386 psABI, the direct flag should be set to zero before entry and upon exit from a function, why does glibc use "cld" in some functions where the direct flag won't be changed? One example is sysdeps/i386/i686/mempcpy.S. H.J.