• Heiko Carstens's avatar
    s390: provide memmove implementation · b4623d4e
    Heiko Carstens authored
    Provide an s390 specific memmove implementation which is faster than
    the generic implementation which copies byte-wise.
    
    For non-destructive (as defined by the mvc instruction) memmove
    operations the following table compares the old default implementation
    versus the new s390 specific implementation:
    
    size     old   new
       1     1ns   8ns
       2     2ns   8ns
       4     4ns   8ns
       8     7ns   8ns
      16    17ns   8ns
      32    35ns   8ns
      64    65ns   9ns
     128   146ns  10ns
     256   298ns  11ns
     512   537ns  11ns
    1024  1193ns  19ns
    2048  2405ns  36ns
    
    So only for very small sizes the old implementation is faster. For
    overlapping memmoves, where the mvc instruction can't be used, the new
    implementation is as slow as the old one.
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    b4623d4e
string.h 3.71 KB