Bug 95435 - bad builtin memcpy performance with znver1/znver2 and 32bit
Summary: bad builtin memcpy performance with znver1/znver2 and 32bit
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 10.1.1
: P3 normal
Target Milestone: ---
Assignee: Martin Liška
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-30 10:12 UTC by Jan
Modified: 2020-07-30 08:44 UTC (History)
4 users (show)

See Also:
Host:
Target: x86-*-*
Build:
Known to work:
Known to fail:
Last reconfirmed: 2020-06-01 00:00:00


Attachments
gcc -g -m32 -march=znver2 -O1 -s testmem_modified.c -o tm32 (5.83 KB, text/plain)
2020-05-30 10:12 UTC, Jan
Details
gcc -g -m32 -march=skylake -O1 -s testmem_modified.c -o tm32 (6.01 KB, text/plain)
2020-05-30 10:12 UTC, Jan
Details
source code (2.37 KB, application/x-bzip)
2020-05-30 10:16 UTC, Jan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan 2020-05-30 10:12:06 UTC
Created attachment 48641 [details]
gcc -g -m32  -march=znver2 -O1 -s testmem_modified.c -o tm32

Hi,
I have found a regression with znver2 and 32bit compiles regarding builtin memcpy.
Test program is this one:
https://github.com/level1wendell/memcpy_sse

results:
gcc -g -m32  -march=znver2 -O1 -s testmem_modified.c -o tm32
32 MB = 2.462717 ms

gcc -g -m32  -march=skylake -O1 -s testmem_modified.c -o tm32
32 MB = 1.135762 ms

gcc -fno-builtin-memcpy -g -m32  -march=znver2 -O1 -s testmem_modified.c -o tm32
32 MB = 1.138656 ms

I have attached the generated assembler code for the first 2 cases.
Comment 1 Jan 2020-05-30 10:12:51 UTC
Created attachment 48642 [details]
gcc -g -m32  -march=skylake -O1 -s testmem_modified.c -o tm32
Comment 2 Jan 2020-05-30 10:16:14 UTC
Created attachment 48643 [details]
source code
Comment 3 Marc Glisse 2020-05-30 10:18:57 UTC
"regression" means that a new version of gcc is working worse than an older one, can you mention which older version you are comparing to and what results you were getting with it?
Comment 4 Jan 2020-05-30 10:23:41 UTC
Sorry bad wording on my site. I meant the code is getting slower with znver2.
Comment 5 Alexander Monakov 2020-05-30 16:43:49 UTC
Ugh. Stringop tuning for Ryzens is terribly anachronistic, all AMD processors since K8 (!!) use the exact same tables, and 32-bit memset/memcpy don't use libcall for large sizes:

static stringop_algs znver2_memcpy[2] = {
  {libcall, {{6, loop, false}, {14, unrolled_loop, false},
             {-1, rep_prefix_4_byte, false}}},
  {libcall, {{16, loop, false}, {64, rep_prefix_4_byte, false},
             {-1, libcall, false}}}};

(first subarray is 32-bit tuning, the second is for 64-bit)

Using test_stringop microbenchmark from PR43052 it's easy to see that library memset/memcpy are fastest on sizes 256 and above. Below that, the result from the microbenchmark may be debatable, I think we should prefer the libcall almost always except for tiniest sizes for I-cache locality reasons.

But anyway, current tuning is completely inappropriate.
Comment 6 Martin Liška 2020-06-01 09:33:24 UTC
All right, there are results for a micro-benchmark that we have in contrib folder:

ZNVER1 (AMD Ryzen 7 2700X):

64-bit:

contrib/bench-stringop 64 320000000 gcc -march=znver1
memcpy
  block size  libcall rep1    noalg   rep4    noalg   rep8    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.06 0:00.07 0:00.06 0:00.07 0:00.05 0:00.06 0:00.17 0:00.05 0:00.05    0:00.05 libcall
      819200  0:00.04 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.04 0:00.05 0:00.04 0:00.05 0:00.04 0:00.04 0:00.15 0:00.04 0:00.04    0:00.04 libcall
       81920  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.02 0:00.04 0:00.02 0:00.04 0:00.02 0:00.03 0:00.16 0:00.02 0:00.01    0:00.02 libcall
       20480  0:00.01 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.03 0:00.04 0:00.03 0:00.04 0:00.02 0:00.03 0:00.32 0:00.02 0:00.01    0:00.01 libcall
        8192  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.03 0:00.04 0:00.02 0:00.04 0:00.02 0:00.03 0:00.16 0:00.02 0:00.02    0:00.02 libcall
        4096  0:00.02 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.02 0:00.04 0:00.03 0:00.04 0:00.02 0:00.03 0:00.16 0:00.05 0:00.05    0:00.02 libcall
        2048  0:00.02 0:00.07 0:00.07 0:00.07 0:00.07 0:00.06 0:00.07 0:00.03 0:00.05 0:00.03 0:00.05 0:00.03 0:00.03 0:00.17 0:00.06 0:00.06    0:00.02 libcall
        1024  0:00.03 0:00.09 0:00.09 0:00.08 0:00.09 0:00.08 0:00.08 0:00.04 0:00.05 0:00.03 0:00.05 0:00.04 0:00.04 0:00.18 0:00.08 0:00.08    0:00.03 libcall
         512  0:00.03 0:00.12 0:00.12 0:00.10 0:00.11 0:00.08 0:00.09 0:00.05 0:00.06 0:00.04 0:00.05 0:00.05 0:00.05 0:00.19 0:00.08 0:00.08    0:00.03 libcall
         256  0:00.04 0:00.19 0:00.19 0:00.14 0:00.14 0:00.06 0:00.06 0:00.06 0:00.07 0:00.05 0:00.06 0:00.08 0:00.08 0:00.21 0:00.05 0:00.05    0:00.04 libcall
         128  0:00.08 0:00.29 0:00.29 0:00.10 0:00.10 0:00.08 0:00.08 0:00.09 0:00.09 0:00.09 0:00.09 0:00.14 0:00.11 0:00.24 0:00.08 0:00.08    0:00.08 libcall
          64  0:00.15 0:00.39 0:00.39 0:00.15 0:00.14 0:00.14 0:00.14 0:00.15 0:00.16 0:00.17 0:00.18 0:00.24 0:00.20 0:00.30 0:00.14 0:00.14    0:00.14 rep4noalign
          48  0:00.19 0:00.41 0:00.41 0:00.18 0:00.18 0:00.18 0:00.18 0:00.18 0:00.19 0:00.22 0:00.23 0:00.32 0:00.29 0:00.34 0:00.18 0:00.18    0:00.18 loop
          32  0:00.32 0:00.34 0:00.34 0:00.26 0:00.25 0:00.27 0:00.26 0:00.30 0:00.33 0:00.37 0:00.40 0:00.37 0:00.37 0:00.37 0:00.27 0:00.27    0:00.25 rep4noalign
          24  0:00.40 0:00.40 0:00.39 0:00.33 0:00.32 0:00.34 0:00.33 0:00.36 0:00.40 0:00.50 0:00.53 0:00.52 0:00.52 0:00.43 0:00.34 0:00.34    0:00.32 rep4noalign
          16  0:00.67 0:00.51 0:00.51 0:00.48 0:00.46 0:00.55 0:00.51 0:00.67 0:00.77 0:00.91 0:00.91 0:00.52 0:00.52 0:00.52 0:00.67 0:00.70    0:00.46 rep4noalign
          14  0:00.66 0:00.58 0:00.58 0:00.52 0:00.51 0:00.56 0:00.54 0:00.64 0:00.72 0:00.92 0:00.93 0:00.62 0:00.63 0:00.62 0:00.60 0:00.61    0:00.51 rep4noalign
          12  0:00.85 0:00.64 0:00.64 0:00.62 0:00.61 0:00.66 0:00.66 0:00.82 0:00.93 0:01.11 0:01.11 0:00.69 0:00.70 0:00.64 0:00.78 0:00.81    0:00.61 rep4noalign
          10  0:00.86 0:00.75 0:00.75 0:00.70 0:00.69 0:00.78 0:00.74 0:00.92 0:00.98 0:01.17 0:01.18 0:00.75 0:00.75 0:00.68 0:00.91 0:00.92    0:00.68 byte
           8  0:01.19 0:00.92 0:00.92 0:00.95 0:00.93 0:01.25 0:01.13 0:01.57 0:01.62 0:01.72 0:01.73 0:00.92 0:00.92 0:00.92 0:01.59 0:01.59    0:00.92 byte
           6  0:01.20 0:01.20 0:01.19 0:01.08 0:01.06 0:01.37 0:01.22 0:01.46 0:01.54 0:01.57 0:01.54 0:01.07 0:01.07 0:01.05 0:01.46 0:01.46    0:01.05 byte
           4  0:02.06 0:01.75 0:01.74 0:02.01 0:01.99 0:03.29 0:03.30 0:03.30 0:03.29 0:03.26 0:03.30 0:02.15 0:02.16 0:02.16 0:03.31 0:02.15    0:01.74 rep1noalign
           1  0:01.49 0:05.41 0:05.43 0:00.58 0:00.58 0:00.58 0:00.58 0:00.58 0:00.58 0:00.58 0:00.58 0:00.73 0:00.72 0:00.72 0:00.48 0:00.73    0:00.58 loop
Aligned
  block size  libcall rep1    noalg   rep4    noalg   rep8    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.08 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.09 0:00.09 0:00.20 0:00.08 0:00.09    0:00.08 libcall
      819200  0:00.04 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.16 0:00.04 0:00.04    0:00.04 libcall
       81920  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.03 0:00.03 0:00.02 0:00.02 0:00.02 0:00.02 0:00.16 0:00.02 0:00.02    0:00.02 libcall
       20480  0:00.01 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.03 0:00.03 0:00.03 0:00.02 0:00.02 0:00.02 0:00.33 0:00.02 0:00.02    0:00.01 libcall
        8192  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.03 0:00.03 0:00.02 0:00.02 0:00.17 0:00.02 0:00.02    0:00.02 libcall
        4096  0:00.02 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.04 0:00.04 0:00.03 0:00.03 0:00.02 0:00.02 0:00.16 0:00.05 0:00.05    0:00.02 libcall
        2048  0:00.02 0:00.07 0:00.07 0:00.07 0:00.07 0:00.06 0:00.06 0:00.05 0:00.05 0:00.03 0:00.03 0:00.03 0:00.03 0:00.18 0:00.06 0:00.07    0:00.02 libcall
        1024  0:00.03 0:00.07 0:00.07 0:00.07 0:00.07 0:00.07 0:00.06 0:00.06 0:00.06 0:00.04 0:00.04 0:00.04 0:00.04 0:00.18 0:00.06 0:00.07    0:00.03 libcall
         512  0:00.05 0:00.11 0:00.11 0:00.10 0:00.10 0:00.08 0:00.08 0:00.08 0:00.08 0:00.06 0:00.06 0:00.07 0:00.07 0:00.20 0:00.08 0:00.08    0:00.05 libcall
         256  0:00.07 0:00.15 0:00.15 0:00.13 0:00.12 0:00.07 0:00.07 0:00.09 0:00.08 0:00.07 0:00.07 0:00.10 0:00.10 0:00.22 0:00.07 0:00.07    0:00.07 libcall
         128  0:00.09 0:00.21 0:00.21 0:00.11 0:00.12 0:00.10 0:00.11 0:00.11 0:00.11 0:00.10 0:00.10 0:00.15 0:00.15 0:00.25 0:00.10 0:00.11    0:00.09 libcall
          64  0:00.15 0:00.33 0:00.33 0:00.17 0:00.17 0:00.20 0:00.20 0:00.18 0:00.18 0:00.16 0:00.16 0:00.21 0:00.27 0:00.30 0:00.17 0:00.20    0:00.15 libcall
          48  0:00.19 0:00.39 0:00.39 0:00.21 0:00.21 0:00.20 0:00.20 0:00.19 0:00.19 0:00.19 0:00.19 0:00.32 0:00.31 0:00.35 0:00.20 0:00.20    0:00.19 libcall
          32  0:00.27 0:00.37 0:00.37 0:00.29 0:00.28 0:00.33 0:00.33 0:00.29 0:00.29 0:00.28 0:00.28 0:00.39 0:00.39 0:00.39 0:00.29 0:00.33    0:00.27 libcall
          24  0:00.35 0:00.46 0:00.46 0:00.38 0:00.38 0:00.37 0:00.37 0:00.34 0:00.34 0:00.36 0:00.36 0:00.54 0:00.54 0:00.44 0:00.36 0:00.37    0:00.34 loop
          16  0:00.47 0:00.58 0:00.58 0:00.51 0:00.51 0:00.55 0:00.55 0:00.50 0:00.51 0:00.51 0:00.50 0:00.55 0:00.56 0:00.56 0:00.48 0:00.50    0:00.47 libcall
          14  0:00.52 0:00.67 0:00.67 0:00.59 0:00.59 0:00.58 0:00.58 0:00.53 0:00.53 0:00.55 0:00.55 0:00.68 0:00.68 0:00.68 0:00.52 0:00.53    0:00.52 libcall
          12  0:00.60 0:00.75 0:00.75 0:00.66 0:00.66 0:00.65 0:00.65 0:00.62 0:00.62 0:00.62 0:00.62 0:00.73 0:00.73 0:00.67 0:00.61 0:00.62    0:00.60 libcall
          10  0:00.72 0:00.86 0:00.86 0:00.82 0:00.82 0:00.81 0:00.80 0:00.73 0:00.73 0:00.76 0:00.76 0:00.90 0:00.90 0:00.81 0:00.74 0:00.73    0:00.72 libcall
           8  0:00.79 0:00.99 0:00.98 0:00.86 0:00.86 0:00.89 0:00.89 0:00.86 0:00.86 0:00.85 0:00.85 0:00.91 0:00.90 0:00.91 0:00.86 0:00.86    0:00.79 libcall
           6  0:01.03 0:01.30 0:01.28 0:01.09 0:01.09 0:01.21 0:01.20 0:01.17 0:01.17 0:01.17 0:01.18 0:01.16 0:01.17 0:01.15 0:01.17 0:01.16    0:01.03 libcall
           4  0:01.39 0:01.68 0:01.68 0:01.39 0:01.39 0:01.50 0:01.50 0:01.50 0:01.51 0:01.51 0:01.50 0:01.48 0:01.49 0:01.49 0:01.55 0:01.48    0:01.39 libcall
           1  0:02.94 0:04.18 0:04.18 0:02.55 0:02.58 0:02.55 0:02.55 0:02.56 0:02.54 0:02.54 0:02.55 0:02.56 0:02.54 0:02.55 0:02.56 0:02.55    0:02.54 loopnoalign
memset
  block size  libcall rep1    noalg   rep4    noalg   rep8    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.05 0:00.04 0:00.03 0:00.04 0:00.03 0:00.04 0:00.16 0:00.02 0:00.02    0:00.02 libcall
      819200  0:00.05 0:00.04 0:00.04 0:00.04 0:00.05 0:00.04 0:00.05 0:00.06 0:00.06 0:00.05 0:00.06 0:00.06 0:00.06 0:00.16 0:00.05 0:00.05    0:00.04 rep1
       81920  0:00.01 0:00.01 0:00.01 0:00.01 0:00.02 0:00.01 0:00.02 0:00.04 0:00.03 0:00.02 0:00.03 0:00.02 0:00.03 0:00.15 0:00.01 0:00.01    0:00.01 libcall
       20480  0:00.01 0:00.01 0:00.01 0:00.02 0:00.02 0:00.01 0:00.02 0:00.02 0:00.04 0:00.02 0:00.03 0:00.02 0:00.03 0:00.16 0:00.01 0:00.01    0:00.01 libcall
        8192  0:00.01 0:00.01 0:00.01 0:00.01 0:00.02 0:00.01 0:00.02 0:00.02 0:00.03 0:00.02 0:00.03 0:00.02 0:00.03 0:00.15 0:00.01 0:00.01    0:00.01 libcall
        4096  0:00.01 0:00.02 0:00.02 0:00.02 0:00.03 0:00.02 0:00.02 0:00.02 0:00.03 0:00.02 0:00.03 0:00.02 0:00.03 0:00.15 0:00.02 0:00.02    0:00.01 libcall
        2048  0:00.01 0:00.02 0:00.02 0:00.02 0:00.03 0:00.02 0:00.03 0:00.02 0:00.03 0:00.02 0:00.03 0:00.03 0:00.03 0:00.16 0:00.02 0:00.02    0:00.01 libcall
        1024  0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.16 0:00.03 0:00.03    0:00.02 libcall
         512  0:00.02 0:00.06 0:00.05 0:00.04 0:00.05 0:00.04 0:00.04 0:00.04 0:00.04 0:00.03 0:00.04 0:00.03 0:00.04 0:00.17 0:00.04 0:00.04    0:00.02 libcall
         256  0:00.04 0:00.09 0:00.09 0:00.07 0:00.07 0:00.04 0:00.04 0:00.05 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.18 0:00.04 0:00.04    0:00.04 libcall
         128  0:00.07 0:00.15 0:00.16 0:00.08 0:00.08 0:00.06 0:00.07 0:00.08 0:00.07 0:00.06 0:00.06 0:00.06 0:00.06 0:00.21 0:00.06 0:00.06    0:00.06 rep8
          64  0:00.15 0:00.25 0:00.25 0:00.12 0:00.11 0:00.13 0:00.14 0:00.13 0:00.14 0:00.13 0:00.13 0:00.13 0:00.13 0:00.25 0:00.13 0:00.13    0:00.11 rep4noalign
          48  0:00.20 0:00.29 0:00.29 0:00.14 0:00.14 0:00.16 0:00.18 0:00.17 0:00.19 0:00.17 0:00.16 0:00.17 0:00.17 0:00.28 0:00.16 0:00.17    0:00.14 rep4
          32  0:00.42 0:00.27 0:00.27 0:00.20 0:00.22 0:00.27 0:00.33 0:00.29 0:00.35 0:00.28 0:00.28 0:00.28 0:00.29 0:00.32 0:00.28 0:00.28    0:00.20 rep4
          24  0:00.57 0:00.33 0:00.33 0:00.25 0:00.27 0:00.44 0:00.54 0:00.47 0:00.57 0:00.44 0:00.43 0:00.44 0:00.43 0:00.34 0:00.42 0:00.43    0:00.25 rep4
          16  0:00.99 0:00.40 0:00.39 0:00.42 0:00.52 0:00.91 0:01.02 0:00.90 0:01.03 0:00.93 0:00.93 0:00.93 0:00.93 0:00.42 0:00.91 0:00.92    0:00.39 rep1noalign
          14  0:01.14 0:00.47 0:00.47 0:00.50 0:00.62 0:01.10 0:01.22 0:01.09 0:01.22 0:01.10 0:01.10 0:01.10 0:01.10 0:00.45 0:01.10 0:01.10    0:00.45 byte
          12  0:01.27 0:00.51 0:00.52 0:00.74 0:00.96 0:01.31 0:01.39 0:01.31 0:01.40 0:01.33 0:01.32 0:01.32 0:01.32 0:00.50 0:01.32 0:01.33    0:00.50 byte
          10  0:01.45 0:00.59 0:00.59 0:01.12 0:01.40 0:01.53 0:01.60 0:01.53 0:01.60 0:01.55 0:01.55 0:01.55 0:01.53 0:00.56 0:01.55 0:01.54    0:00.56 byte
           8  0:01.73 0:00.67 0:00.67 0:01.66 0:01.82 0:01.83 0:01.85 0:01.83 0:01.85 0:01.83 0:01.83 0:01.83 0:01.83 0:00.65 0:01.82 0:01.83    0:00.65 byte
           6  0:02.15 0:00.86 0:00.86 0:02.21 0:02.34 0:02.36 0:02.40 0:02.35 0:02.39 0:02.37 0:02.38 0:02.38 0:02.38 0:00.86 0:02.37 0:02.37    0:00.86 byte
           4  0:02.83 0:01.79 0:01.79 0:02.98 0:02.99 0:02.99 0:02.98 0:02.99 0:02.99 0:02.99 0:02.99 0:02.99 0:02.99 0:02.17 0:02.97 0:02.17    0:01.79 rep1
           1  0:01.78 0:02.88 0:02.88 0:00.58 0:00.58 0:00.58 0:00.59 0:00.58 0:00.59 0:00.58 0:00.58 0:00.59 0:00.58 0:00.58 0:00.43 0:00.58    0:00.58 byte
Aligned
  block size  libcall rep1    noalg   rep4    noalg   rep8    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.08 0:00.08 0:00.08 0:00.08 0:00.08 0:00.08 0:00.08 0:00.08 0:00.09 0:00.08 0:00.08 0:00.08 0:00.09 0:00.19 0:00.08 0:00.08    0:00.08 libcall
      819200  0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.16 0:00.05 0:00.05    0:00.05 libcall
       81920  0:00.01 0:00.01 0:00.01 0:00.01 0:00.01 0:00.01 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.16 0:00.01 0:00.01    0:00.01 libcall
       20480  0:00.01 0:00.01 0:00.01 0:00.01 0:00.02 0:00.02 0:00.01 0:00.04 0:00.04 0:00.02 0:00.02 0:00.02 0:00.02 0:00.16 0:00.01 0:00.02    0:00.01 libcall
        8192  0:00.01 0:00.02 0:00.02 0:00.01 0:00.02 0:00.01 0:00.02 0:00.03 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.15 0:00.02 0:00.02    0:00.01 libcall
        4096  0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.03 0:00.03 0:00.02 0:00.02 0:00.02 0:00.02 0:00.16 0:00.02 0:00.02    0:00.02 libcall
        2048  0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.16 0:00.02 0:00.02    0:00.02 libcall
        1024  0:00.03 0:00.05 0:00.05 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.17 0:00.04 0:00.04    0:00.03 libcall
         512  0:00.04 0:00.08 0:00.07 0:00.07 0:00.07 0:00.06 0:00.06 0:00.06 0:00.06 0:00.05 0:00.05 0:00.05 0:00.05 0:00.20 0:00.06 0:00.06    0:00.04 libcall
         256  0:00.06 0:00.11 0:00.11 0:00.09 0:00.09 0:00.07 0:00.07 0:00.07 0:00.07 0:00.06 0:00.06 0:00.06 0:00.06 0:00.21 0:00.07 0:00.07    0:00.06 libcall
         128  0:00.09 0:00.17 0:00.17 0:00.11 0:00.11 0:00.10 0:00.10 0:00.11 0:00.10 0:00.09 0:00.09 0:00.09 0:00.09 0:00.23 0:00.10 0:00.10    0:00.09 libcall
          64  0:00.14 0:00.26 0:00.26 0:00.15 0:00.16 0:00.18 0:00.18 0:00.19 0:00.19 0:00.15 0:00.15 0:00.15 0:00.15 0:00.29 0:00.18 0:00.18    0:00.14 libcall
          48  0:00.17 0:00.31 0:00.31 0:00.20 0:00.20 0:00.20 0:00.20 0:00.17 0:00.17 0:00.17 0:00.17 0:00.17 0:00.17 0:00.31 0:00.17 0:00.17    0:00.17 libcall
          32  0:00.24 0:00.36 0:00.36 0:00.27 0:00.27 0:00.25 0:00.25 0:00.26 0:00.26 0:00.23 0:00.24 0:00.23 0:00.23 0:00.37 0:00.24 0:00.23    0:00.23 sse
          24  0:00.30 0:00.45 0:00.44 0:00.34 0:00.35 0:00.30 0:00.30 0:00.29 0:00.29 0:00.30 0:00.30 0:00.30 0:00.30 0:00.42 0:00.30 0:00.30    0:00.29 loop
          16  0:00.42 0:00.56 0:00.56 0:00.46 0:00.46 0:00.41 0:00.41 0:00.40 0:00.40 0:00.41 0:00.41 0:00.41 0:00.41 0:00.54 0:00.41 0:00.41    0:00.40 loop
          14  0:00.46 0:00.64 0:00.65 0:00.51 0:00.51 0:00.46 0:00.46 0:00.44 0:00.44 0:00.46 0:00.45 0:00.45 0:00.45 0:00.59 0:00.46 0:00.45    0:00.44 loop
          12  0:00.54 0:00.71 0:00.71 0:00.59 0:00.59 0:00.52 0:00.52 0:00.50 0:00.50 0:00.52 0:00.52 0:00.52 0:00.52 0:00.66 0:00.52 0:00.52    0:00.50 loop
          10  0:00.63 0:00.91 0:00.91 0:00.67 0:00.67 0:00.59 0:00.58 0:00.57 0:00.57 0:00.59 0:00.59 0:00.59 0:00.59 0:00.79 0:00.59 0:00.59    0:00.57 loop
           8  0:00.75 0:00.89 0:00.89 0:00.75 0:00.76 0:00.69 0:00.69 0:00.68 0:00.68 0:00.68 0:00.68 0:00.68 0:00.68 0:00.85 0:00.69 0:00.68    0:00.68 loop
           6  0:00.98 0:01.24 0:01.24 0:00.99 0:00.99 0:00.90 0:00.90 0:00.89 0:00.89 0:00.90 0:00.90 0:00.90 0:00.90 0:01.11 0:00.90 0:00.91    0:00.89 loop
           4  0:01.32 0:01.44 0:01.45 0:01.28 0:01.28 0:01.22 0:01.22 0:01.23 0:01.23 0:01.22 0:01.23 0:01.23 0:01.23 0:01.37 0:01.22 0:01.38    0:01.22 rep8
           1  0:03.11 0:03.01 0:03.01 0:02.52 0:02.52 0:02.52 0:02.54 0:02.52 0:02.50 0:02.50 0:02.52 0:02.50 0:02.52 0:02.52 0:02.49 0:02.50    0:02.50 loopnoalign

32-bit:

contrib/bench-stringop 32 320000000 gcc -march=znver1
memcpy
  block size  libcall rep1    noalg   rep4    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.04 0:00.05 0:00.05 0:00.05 0:00.05 0:00.08 0:00.08 0:00.07 0:00.09 0:00.06 0:00.06 0:00.23 0:00.05 0:00.05    0:00.04 libcall
      819200  0:00.02 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.08 0:00.04 0:00.04 0:00.22 0:00.06 0:00.06    0:00.02 libcall
       81920  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.05 0:00.05 0:00.05 0:00.08 0:00.02 0:00.03 0:00.23 0:00.04 0:00.04    0:00.02 libcall
       20480  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.08 0:00.06 0:00.05 0:00.08 0:00.02 0:00.03 0:00.23 0:00.04 0:00.04    0:00.02 libcall
        8192  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.06 0:00.05 0:00.04 0:00.07 0:00.02 0:00.03 0:00.21 0:00.04 0:00.04    0:00.02 libcall
        4096  0:00.02 0:00.05 0:00.05 0:00.05 0:00.05 0:00.06 0:00.06 0:00.04 0:00.07 0:00.02 0:00.03 0:00.22 0:00.05 0:00.05    0:00.02 libcall
        2048  0:00.02 0:00.07 0:00.07 0:00.07 0:00.07 0:00.06 0:00.06 0:00.05 0:00.07 0:00.03 0:00.03 0:00.22 0:00.07 0:00.07    0:00.02 libcall
        1024  0:00.03 0:00.09 0:00.09 0:00.08 0:00.09 0:00.07 0:00.07 0:00.05 0:00.08 0:00.04 0:00.04 0:00.22 0:00.08 0:00.08    0:00.03 libcall
         512  0:00.04 0:00.12 0:00.12 0:00.11 0:00.11 0:00.08 0:00.08 0:00.06 0:00.08 0:00.06 0:00.05 0:00.23 0:00.11 0:00.11    0:00.04 libcall
         256  0:00.05 0:00.19 0:00.19 0:00.14 0:00.15 0:00.09 0:00.09 0:00.07 0:00.09 0:00.09 0:00.08 0:00.25 0:00.14 0:00.14    0:00.05 libcall
         128  0:00.09 0:00.29 0:00.29 0:00.11 0:00.10 0:00.12 0:00.12 0:00.10 0:00.11 0:00.15 0:00.12 0:00.27 0:00.10 0:00.11    0:00.09 libcall
          64  0:00.15 0:00.39 0:00.39 0:00.15 0:00.15 0:00.16 0:00.16 0:00.15 0:00.16 0:00.25 0:00.21 0:00.31 0:00.15 0:00.15    0:00.15 libcall
          48  0:00.20 0:00.41 0:00.41 0:00.18 0:00.19 0:00.21 0:00.18 0:00.19 0:00.19 0:00.27 0:00.26 0:00.34 0:00.19 0:00.18    0:00.18 loopnoalign
          32  0:00.28 0:00.33 0:00.33 0:00.27 0:00.25 0:00.28 0:00.28 0:00.28 0:00.29 0:00.38 0:00.38 0:00.38 0:00.26 0:00.27    0:00.25 rep4noalign
          24  0:00.35 0:00.40 0:00.40 0:00.33 0:00.34 0:00.34 0:00.34 0:00.34 0:00.35 0:00.45 0:00.45 0:00.44 0:00.34 0:00.33    0:00.33 rep4
          16  0:00.50 0:00.50 0:00.50 0:00.50 0:00.47 0:00.55 0:00.59 0:00.60 0:00.62 0:00.53 0:00.53 0:00.54 0:00.49 0:00.50    0:00.47 rep4noalign
          14  0:00.58 0:00.58 0:00.58 0:00.52 0:00.53 0:00.54 0:00.55 0:00.55 0:00.61 0:00.57 0:00.57 0:00.57 0:00.56 0:00.55    0:00.52 rep4
          12  0:00.66 0:00.66 0:00.66 0:00.61 0:00.63 0:00.65 0:00.70 0:00.68 0:00.76 0:00.64 0:00.64 0:00.64 0:00.70 0:00.67    0:00.61 rep4
          10  0:00.78 0:00.76 0:00.76 0:00.70 0:00.70 0:00.73 0:00.75 0:00.76 0:00.84 0:00.68 0:00.68 0:00.68 0:00.79 0:00.77    0:00.68 byte
           8  0:00.95 0:00.91 0:00.91 0:00.96 0:00.94 0:01.28 0:01.37 0:01.37 0:01.52 0:00.95 0:00.93 0:00.93 0:01.27 0:01.40    0:00.91 rep1
           6  0:01.26 0:01.19 0:01.19 0:01.07 0:01.08 0:01.15 0:01.24 0:01.18 0:01.36 0:01.04 0:01.04 0:01.05 0:01.14 0:01.17    0:01.04 sse
           4  0:01.74 0:01.73 0:01.73 0:02.01 0:02.06 0:02.90 0:03.05 0:03.36 0:03.40 0:02.29 0:02.29 0:02.28 0:02.57 0:02.29    0:01.73 rep1
           1  0:02.30 0:05.35 0:05.34 0:00.58 0:00.58 0:00.58 0:00.58 0:00.58 0:00.58 0:00.77 0:00.77 0:00.78 0:00.73 0:00.77    0:00.58 loop
Aligned
  block size  libcall rep1    noalg   rep4    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.05 0:00.06 0:00.06 0:00.06 0:00.06 0:00.08 0:00.08 0:00.07 0:00.08 0:00.06 0:00.06 0:00.24 0:00.06 0:00.06    0:00.05 libcall
      819200  0:00.03 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.07 0:00.06 0:00.06 0:00.04 0:00.04 0:00.22 0:00.06 0:00.06    0:00.03 libcall
       81920  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.06 0:00.06 0:00.05 0:00.05 0:00.02 0:00.02 0:00.23 0:00.04 0:00.04    0:00.02 libcall
       20480  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.06 0:00.06 0:00.04 0:00.04 0:00.02 0:00.02 0:00.22 0:00.04 0:00.04    0:00.02 libcall
        8192  0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.06 0:00.06 0:00.04 0:00.04 0:00.02 0:00.02 0:00.22 0:00.04 0:00.04    0:00.02 libcall
        4096  0:00.02 0:00.05 0:00.05 0:00.05 0:00.05 0:00.06 0:00.06 0:00.04 0:00.04 0:00.02 0:00.03 0:00.22 0:00.05 0:00.05    0:00.02 libcall
        2048  0:00.03 0:00.07 0:00.07 0:00.07 0:00.07 0:00.06 0:00.06 0:00.05 0:00.05 0:00.03 0:00.03 0:00.22 0:00.07 0:00.07    0:00.03 libcall
        1024  0:00.03 0:00.10 0:00.10 0:00.10 0:00.10 0:00.07 0:00.07 0:00.06 0:00.06 0:00.04 0:00.04 0:00.23 0:00.10 0:00.10    0:00.03 libcall
         512  0:00.05 0:00.15 0:00.15 0:00.13 0:00.13 0:00.08 0:00.08 0:00.07 0:00.07 0:00.06 0:00.06 0:00.24 0:00.13 0:00.13    0:00.05 libcall
         256  0:00.06 0:00.24 0:00.24 0:00.17 0:00.17 0:00.10 0:00.10 0:00.09 0:00.08 0:00.09 0:00.08 0:00.25 0:00.17 0:00.17    0:00.06 libcall
         128  0:00.10 0:00.35 0:00.35 0:00.11 0:00.11 0:00.13 0:00.13 0:00.12 0:00.12 0:00.14 0:00.14 0:00.28 0:00.11 0:00.11    0:00.10 libcall
          64  0:00.18 0:00.49 0:00.49 0:00.17 0:00.17 0:00.18 0:00.18 0:00.18 0:00.18 0:00.24 0:00.24 0:00.33 0:00.17 0:00.17    0:00.17 rep4
          48  0:00.23 0:00.51 0:00.51 0:00.21 0:00.22 0:00.22 0:00.22 0:00.22 0:00.22 0:00.30 0:00.28 0:00.38 0:00.22 0:00.22    0:00.21 rep4
          32  0:00.31 0:00.37 0:00.37 0:00.30 0:00.30 0:00.32 0:00.32 0:00.32 0:00.32 0:00.43 0:00.43 0:00.43 0:00.30 0:00.30    0:00.30 rep4
          24  0:00.38 0:00.44 0:00.44 0:00.39 0:00.39 0:00.38 0:00.38 0:00.38 0:00.38 0:00.48 0:00.48 0:00.48 0:00.38 0:00.39    0:00.38 libcall
          16  0:00.56 0:00.62 0:00.62 0:00.58 0:00.58 0:00.69 0:00.69 0:00.70 0:00.70 0:00.66 0:00.65 0:00.65 0:00.57 0:00.58    0:00.56 libcall
          14  0:00.65 0:00.68 0:00.68 0:00.62 0:00.62 0:00.62 0:00.62 0:00.65 0:00.65 0:00.65 0:00.65 0:00.65 0:00.62 0:00.65    0:00.62 loop
          12  0:00.74 0:00.76 0:00.76 0:00.74 0:00.73 0:00.76 0:00.76 0:00.78 0:00.78 0:00.75 0:00.75 0:00.74 0:00.74 0:00.78    0:00.73 rep4noalign
          10  0:00.88 0:00.90 0:00.90 0:00.82 0:00.82 0:00.84 0:00.84 0:00.87 0:00.88 0:00.81 0:00.81 0:00.81 0:00.82 0:00.88    0:00.81 byte
           8  0:01.07 0:01.08 0:01.08 0:01.10 0:01.10 0:01.31 0:01.32 0:01.35 0:01.36 0:01.05 0:01.05 0:01.04 0:01.12 0:01.36    0:01.04 byte
           6  0:01.45 0:01.47 0:01.45 0:01.31 0:01.31 0:01.31 0:01.32 0:01.36 0:01.38 0:01.23 0:01.24 0:01.25 0:01.31 0:01.32    0:01.23 sse
           4  0:01.97 0:02.09 0:02.08 0:02.11 0:02.11 0:02.58 0:02.57 0:02.80 0:02.80 0:02.14 0:02.13 0:02.15 0:02.35 0:02.13    0:01.97 libcall
           1  0:02.55 0:06.00 0:06.04 0:01.48 0:01.47 0:01.48 0:01.51 0:01.48 0:01.56 0:01.54 0:01.57 0:01.53 0:01.54 0:01.53    0:01.47 rep4noalign
memset
  block size  libcall rep1    noalg   rep4    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.05 0:00.08 0:00.05 0:00.06 0:00.05 0:00.06 0:00.16 0:00.02 0:00.02    0:00.02 libcall
      819200  0:00.04 0:00.04 0:00.10 0:00.04 0:00.05 0:00.06 0:00.08 0:00.06 0:00.07 0:00.06 0:00.07 0:00.15 0:00.04 0:00.04    0:00.04 libcall
       81920  0:00.01 0:00.01 0:00.01 0:00.01 0:00.02 0:00.04 0:00.08 0:00.04 0:00.05 0:00.04 0:00.05 0:00.16 0:00.01 0:00.01    0:00.01 libcall
       20480  0:00.01 0:00.01 0:00.01 0:00.01 0:00.02 0:00.04 0:00.05 0:00.04 0:00.05 0:00.04 0:00.05 0:00.32 0:00.01 0:00.01    0:00.01 libcall
        8192  0:00.02 0:00.02 0:00.01 0:00.02 0:00.02 0:00.09 0:00.05 0:00.04 0:00.05 0:00.04 0:00.05 0:00.15 0:00.01 0:00.01    0:00.01 rep1noalign
        4096  0:00.01 0:00.02 0:00.02 0:00.02 0:00.02 0:00.08 0:00.05 0:00.04 0:00.05 0:00.04 0:00.05 0:00.15 0:00.02 0:00.02    0:00.01 libcall
        2048  0:00.01 0:00.02 0:00.02 0:00.02 0:00.03 0:00.08 0:00.05 0:00.04 0:00.05 0:00.04 0:00.05 0:00.16 0:00.02 0:00.01    0:00.01 libcall
        1024  0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.08 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.16 0:00.03 0:00.03    0:00.02 libcall
         512  0:00.03 0:00.07 0:00.07 0:00.04 0:00.04 0:00.09 0:00.06 0:00.04 0:00.05 0:00.05 0:00.05 0:00.17 0:00.04 0:00.05    0:00.03 libcall
         256  0:00.05 0:00.09 0:00.09 0:00.06 0:00.07 0:00.10 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.18 0:00.07 0:00.06    0:00.05 libcall
         128  0:00.08 0:00.16 0:00.16 0:00.08 0:00.08 0:00.11 0:00.09 0:00.07 0:00.08 0:00.07 0:00.08 0:00.22 0:00.08 0:00.08    0:00.07 sse
          64  0:00.13 0:00.25 0:00.24 0:00.12 0:00.12 0:00.12 0:00.12 0:00.11 0:00.11 0:00.11 0:00.11 0:00.26 0:00.11 0:00.12    0:00.11 sse
          48  0:00.17 0:00.29 0:00.29 0:00.14 0:00.14 0:00.14 0:00.15 0:00.14 0:00.14 0:00.14 0:00.14 0:00.41 0:00.14 0:00.14    0:00.14 loop
          32  0:00.24 0:00.27 0:00.27 0:00.20 0:00.22 0:00.21 0:00.23 0:00.20 0:00.22 0:00.21 0:00.22 0:00.31 0:00.20 0:00.20    0:00.20 rep4
          24  0:00.30 0:00.33 0:00.33 0:00.25 0:00.27 0:00.28 0:00.30 0:00.26 0:00.28 0:00.27 0:00.29 0:00.45 0:00.26 0:00.27    0:00.25 rep4
          16  0:00.49 0:00.39 0:00.40 0:00.43 0:00.52 0:00.48 0:00.56 0:00.45 0:00.52 0:00.45 0:00.52 0:00.41 0:00.45 0:00.45    0:00.39 rep1
          14  0:00.58 0:00.46 0:00.46 0:00.47 0:00.61 0:00.57 0:00.72 0:00.53 0:00.64 0:00.53 0:00.64 0:00.51 0:00.52 0:00.54    0:00.46 rep1
          12  0:00.70 0:00.51 0:00.51 0:00.70 0:00.95 0:00.80 0:01.00 0:00.69 0:00.88 0:00.68 0:00.87 0:00.55 0:00.70 0:00.69    0:00.51 rep1
          10  0:00.79 0:00.59 0:00.59 0:01.03 0:01.39 0:01.13 0:01.39 0:00.96 0:01.23 0:01.01 0:01.23 0:00.59 0:01.03 0:01.02    0:00.59 byte
           8  0:00.90 0:00.67 0:00.67 0:01.65 0:01.78 0:01.59 0:01.82 0:01.55 0:01.79 0:01.55 0:01.79 0:00.64 0:01.63 0:01.63    0:00.64 byte
           6  0:01.23 0:00.86 0:00.86 0:02.20 0:02.25 0:02.20 0:02.33 0:02.21 0:02.24 0:02.21 0:02.25 0:00.86 0:02.20 0:02.22    0:00.86 byte
           4  0:01.80 0:01.75 0:01.76 0:02.98 0:03.00 0:02.99 0:02.99 0:02.99 0:02.99 0:02.99 0:02.98 0:02.10 0:02.99 0:02.09    0:01.75 rep1
           1  0:02.45 0:02.90 0:02.88 0:00.49 0:00.48 0:00.48 0:00.48 0:00.48 0:00.48 0:00.48 0:00.49 0:00.53 0:00.58 0:00.53    0:00.48 loop
Aligned
  block size  libcall rep1    noalg   rep4    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.03 0:00.04 0:00.04 0:00.04 0:00.04 0:00.09 0:00.09 0:00.06 0:00.06 0:00.06 0:00.06 0:00.17 0:00.03 0:00.03    0:00.03 libcall
      819200  0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.08 0:00.08 0:00.13 0:00.07 0:00.06 0:00.06 0:00.16 0:00.04 0:00.04    0:00.04 libcall
       81920  0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.08 0:00.08 0:00.04 0:00.04 0:00.04 0:00.05 0:00.16 0:00.01 0:00.01    0:00.02 libcall
       20480  0:00.01 0:00.01 0:00.01 0:00.02 0:00.01 0:00.05 0:00.04 0:00.04 0:00.04 0:00.05 0:00.04 0:00.33 0:00.01 0:00.01    0:00.01 libcall
        8192  0:00.01 0:00.02 0:00.02 0:00.02 0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.16 0:00.01 0:00.02    0:00.01 libcall
        4096  0:00.02 0:00.02 0:00.01 0:00.02 0:00.02 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.15 0:00.02 0:00.02    0:00.01 rep1noalign
        2048  0:00.02 0:00.03 0:00.03 0:00.02 0:00.02 0:00.05 0:00.04 0:00.05 0:00.04 0:00.04 0:00.04 0:00.16 0:00.02 0:00.02    0:00.02 libcall
        1024  0:00.03 0:00.04 0:00.04 0:00.04 0:00.04 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.16 0:00.04 0:00.04    0:00.03 libcall
         512  0:00.04 0:00.06 0:00.06 0:00.05 0:00.05 0:00.06 0:00.06 0:00.06 0:00.05 0:00.05 0:00.06 0:00.17 0:00.05 0:00.05    0:00.04 libcall
         256  0:00.05 0:00.09 0:00.09 0:00.07 0:00.07 0:00.08 0:00.07 0:00.06 0:00.07 0:00.06 0:00.07 0:00.19 0:00.07 0:00.07    0:00.05 libcall
         128  0:00.09 0:00.16 0:00.16 0:00.08 0:00.08 0:00.10 0:00.09 0:00.09 0:00.08 0:00.08 0:00.08 0:00.22 0:00.08 0:00.09    0:00.08 rep4
          64  0:00.15 0:00.26 0:00.25 0:00.14 0:00.14 0:00.14 0:00.14 0:00.14 0:00.13 0:00.13 0:00.13 0:00.27 0:00.13 0:00.14    0:00.13 sse
          48  0:00.19 0:00.30 0:00.30 0:00.17 0:00.17 0:00.17 0:00.17 0:00.16 0:00.16 0:00.16 0:00.16 0:00.42 0:00.16 0:00.17    0:00.16 sse
          32  0:00.27 0:00.30 0:00.30 0:00.23 0:00.24 0:00.24 0:00.24 0:00.25 0:00.24 0:00.25 0:00.25 0:00.34 0:00.23 0:00.23    0:00.23 rep4
          24  0:00.33 0:00.36 0:00.36 0:00.29 0:00.28 0:00.30 0:00.30 0:00.29 0:00.29 0:00.29 0:00.29 0:00.47 0:00.29 0:00.29    0:00.28 rep4noalign
          16  0:00.52 0:00.48 0:00.48 0:00.51 0:00.51 0:00.54 0:00.54 0:00.52 0:00.53 0:00.53 0:00.53 0:00.48 0:00.51 0:00.52    0:00.48 byte
          14  0:00.62 0:00.53 0:00.53 0:00.52 0:00.52 0:00.61 0:00.61 0:00.56 0:00.56 0:00.56 0:00.56 0:00.51 0:00.50 0:00.56    0:00.51 byte
          12  0:00.74 0:00.59 0:00.59 0:00.69 0:00.69 0:00.80 0:00.79 0:00.72 0:00.72 0:00.72 0:00.72 0:00.62 0:00.59 0:00.72    0:00.59 rep1
          10  0:00.85 0:00.69 0:00.69 0:01.03 0:01.02 0:01.11 0:01.10 0:01.00 0:01.01 0:01.00 0:01.01 0:00.69 0:00.81 0:01.01    0:00.69 byte
           8  0:00.98 0:00.81 0:00.82 0:01.38 0:01.39 0:01.39 0:01.38 0:01.33 0:01.36 0:01.35 0:01.34 0:00.80 0:01.39 0:01.40    0:00.80 byte
           6  0:01.34 0:01.03 0:01.03 0:01.76 0:01.76 0:01.76 0:01.77 0:01.71 0:01.71 0:01.71 0:01.70 0:00.99 0:01.66 0:01.76    0:00.99 byte
           4  0:01.93 0:01.46 0:01.49 0:02.18 0:02.16 0:02.16 0:02.16 0:02.19 0:02.19 0:02.19 0:02.19 0:01.56 0:02.17 0:01.57    0:01.46 rep1
           1  0:02.53 0:02.90 0:02.90 0:01.45 0:01.46 0:01.47 0:01.46 0:01.46 0:01.45 0:01.50 0:01.45 0:01.45 0:01.46 0:01.57    0:01.45 byte
Comment 7 Uroš Bizjak 2020-06-01 09:48:56 UTC
I think that stringops (including memcmp) for x86 targets should be retuned for new glibc, once [1] is approved and committed. Please note that currently bench-stringop doesn't benchmark memcmp.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2020-May/546919.html
Comment 8 Alexander Monakov 2020-06-01 10:24:36 UTC
There's no tuning tables for memcmp at all, existing structs cover only memset and memcpy. So as far as I see retuning memset/memcpy doesn't need to wait for [1], because there's no infrastructure in place for memcmp tuning, and adding that can be done independently. Updating Ryzen tables would not touch any code updated by H.J.Lu's patchset at all.
Comment 9 Uroš Bizjak 2020-06-01 10:48:26 UTC
(In reply to Alexander Monakov from comment #8)
> There's no tuning tables for memcmp at all, existing structs cover only
> memset and memcpy. So as far as I see retuning memset/memcpy doesn't need to
> wait for [1], because there's no infrastructure in place for memcmp tuning,
> and adding that can be done independently. Updating Ryzen tables would not
> touch any code updated by H.J.Lu's patchset at all.

Agreed.
Comment 10 Martin Liška 2020-06-01 10:58:23 UTC
And this is for znver2:
AMD EPYC 7502P 32-Core Processor

64-bit:

memcpy
  block size  libcall rep1    noalg   rep4    noalg   rep8    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.05 0:00.08 0:00.08 0:00.08 0:00.08 0:00.08 0:00.08 0:00.09 0:00.10 0:00.06 0:00.09 0:00.04 0:00.04 0:00.63 0:00.04 0:00.04    0:00.04 sse
      819200  0:00.03 0:00.07 0:00.07 0:00.06 0:00.06 0:00.06 0:00.06 0:00.08 0:00.09 0:00.05 0:00.08 0:00.03 0:00.04 0:00.61 0:00.03 0:00.03    0:00.03 libcall
       81920  0:00.02 0:00.06 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.08 0:00.09 0:00.05 0:00.08 0:00.02 0:00.03 0:00.63 0:00.03 0:00.02    0:00.02 libcall
       20480  0:00.02 0:00.05 0:00.05 0:00.05 0:00.06 0:00.05 0:00.05 0:00.08 0:00.10 0:00.05 0:00.09 0:00.03 0:00.04 0:00.75 0:00.02 0:00.02    0:00.02 libcall
        8192  0:00.02 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.08 0:00.09 0:00.05 0:00.08 0:00.03 0:00.04 0:00.61 0:00.02 0:00.02    0:00.02 libcall
        4096  0:00.02 0:00.06 0:00.06 0:00.06 0:00.07 0:00.06 0:00.06 0:00.08 0:00.09 0:00.05 0:00.08 0:00.04 0:00.05 0:00.60 0:00.02 0:00.03    0:00.02 libcall
        2048  0:00.03 0:00.09 0:00.09 0:00.09 0:00.09 0:00.08 0:00.09 0:00.09 0:00.10 0:00.06 0:00.09 0:00.06 0:00.06 0:00.61 0:00.03 0:00.03    0:00.03 libcall
        1024  0:00.04 0:00.13 0:00.13 0:00.12 0:00.12 0:00.11 0:00.11 0:00.09 0:00.11 0:00.07 0:00.09 0:00.09 0:00.09 0:00.58 0:00.04 0:00.04    0:00.04 libcall
         512  0:00.06 0:00.21 0:00.20 0:00.17 0:00.18 0:00.14 0:00.15 0:00.11 0:00.12 0:00.08 0:00.10 0:00.14 0:00.14 0:00.62 0:00.06 0:00.05    0:00.06 libcall
         256  0:00.10 0:00.33 0:00.33 0:00.23 0:00.24 0:00.12 0:00.12 0:00.13 0:00.14 0:00.11 0:00.11 0:00.21 0:00.20 0:00.64 0:00.10 0:00.10    0:00.10 libcall
         128  0:00.21 0:00.53 0:00.59 0:00.22 0:00.22 0:00.18 0:00.18 0:00.17 0:00.18 0:00.19 0:00.20 0:00.51 0:00.47 0:00.68 0:00.23 0:00.18    0:00.17 loop
          64  0:00.40 0:00.75 0:00.71 0:00.24 0:00.20 0:00.17 0:00.16 0:00.16 0:00.31 0:00.38 0:00.39 0:00.73 0:00.58 0:00.45 0:00.33 0:00.31    0:00.16 loop
          48  0:00.48 0:00.88 0:00.83 0:00.42 0:00.40 0:00.39 0:00.38 0:00.38 0:00.36 0:00.41 0:00.40 0:00.70 0:00.55 0:00.46 0:00.41 0:00.40    0:00.36 loopnoalign
          32  0:00.85 0:00.76 0:00.76 0:00.56 0:00.54 0:00.57 0:00.54 0:00.55 0:00.60 0:00.79 0:00.85 0:00.72 0:00.85 0:00.85 0:00.41 0:00.33    0:00.54 rep4noalign
          24  0:00.45 0:00.48 0:00.48 0:00.39 0:00.38 0:00.39 0:00.37 0:00.37 0:00.72 0:00.91 0:00.94 0:01.03 0:01.03 0:00.87 0:00.73 0:00.73    0:00.37 loop
          16  0:00.90 0:00.63 0:00.60 0:00.56 0:00.54 0:00.60 0:00.57 0:00.62 0:00.72 0:01.27 0:01.27 0:00.56 0:00.56 0:00.56 0:01.13 0:01.06    0:00.54 rep4noalign
          14  0:00.70 0:00.69 0:00.69 0:00.61 0:00.59 0:00.62 0:00.59 0:00.59 0:00.63 0:00.84 0:00.84 0:00.63 0:00.63 0:00.64 0:01.10 0:01.10    0:00.59 loop
          12  0:01.20 0:00.78 0:00.77 0:00.72 0:00.70 0:00.74 0:00.71 0:00.73 0:00.80 0:01.00 0:01.01 0:00.72 0:00.72 0:00.69 0:01.17 0:01.36    0:00.69 byte
          10  0:01.18 0:00.89 0:00.88 0:01.50 0:01.14 0:00.83 0:00.80 0:00.82 0:01.65 0:01.88 0:01.88 0:01.47 0:01.11 0:00.77 0:01.20 0:00.82    0:00.77 byte
           8  0:01.10 0:01.93 0:01.93 0:01.97 0:01.90 0:01.41 0:01.14 0:01.40 0:01.60 0:03.15 0:03.16 0:01.85 0:01.82 0:01.84 0:01.37 0:02.45    0:01.10 libcall
           6  0:02.16 0:02.37 0:01.39 0:02.18 0:02.14 0:01.39 0:02.21 0:01.43 0:01.38 0:01.37 0:02.41 0:02.10 0:01.26 0:01.16 0:01.30 0:01.30    0:01.16 byte
           4  0:02.07 0:01.96 0:01.95 0:02.00 0:01.96 0:03.61 0:03.59 0:03.61 0:04.76 0:04.71 0:03.65 0:03.26 0:02.15 0:03.19 0:03.98 0:03.20    0:01.95 rep1noalign
           1  0:02.21 0:06.20 0:06.14 0:00.63 0:00.70 0:00.63 0:00.63 0:00.63 0:00.63 0:01.22 0:01.06 0:01.78 0:01.27 0:01.78 0:00.82 0:00.97    0:00.63 loop
Aligned
  block size  libcall rep1    noalg   rep4    noalg   rep8    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.08 0:00.10 0:00.10 0:00.11 0:00.11 0:00.11 0:00.11 0:00.10 0:00.10 0:00.09 0:00.09 0:00.09 0:00.08 0:00.65 0:00.08 0:00.08    0:00.08 libcall
      819200  0:00.03 0:00.07 0:00.06 0:00.07 0:00.06 0:00.07 0:00.06 0:00.08 0:00.08 0:00.05 0:00.05 0:00.04 0:00.03 0:00.60 0:00.03 0:00.03    0:00.03 libcall
       81920  0:00.03 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.08 0:00.08 0:00.05 0:00.05 0:00.03 0:00.03 0:00.63 0:00.02 0:00.03    0:00.03 libcall
       20480  0:00.03 0:00.06 0:00.06 0:00.06 0:00.06 0:00.05 0:00.05 0:00.08 0:00.09 0:00.05 0:00.05 0:00.03 0:00.03 0:00.77 0:00.03 0:00.03    0:00.03 libcall
        8192  0:00.03 0:00.06 0:00.06 0:00.05 0:00.05 0:00.05 0:00.05 0:00.09 0:00.09 0:00.05 0:00.05 0:00.03 0:00.03 0:00.61 0:00.02 0:00.02    0:00.03 libcall
        4096  0:00.03 0:00.07 0:00.07 0:00.07 0:00.07 0:00.06 0:00.07 0:00.09 0:00.09 0:00.05 0:00.06 0:00.04 0:00.04 0:00.61 0:00.03 0:00.03    0:00.03 libcall
        2048  0:00.04 0:00.10 0:00.10 0:00.09 0:00.09 0:00.09 0:00.09 0:00.10 0:00.10 0:00.07 0:00.07 0:00.07 0:00.07 0:00.61 0:00.04 0:00.04    0:00.04 libcall
        1024  0:00.06 0:00.16 0:00.15 0:00.12 0:00.14 0:00.12 0:00.13 0:00.12 0:00.12 0:00.08 0:00.08 0:00.11 0:00.10 0:00.63 0:00.06 0:00.06    0:00.06 libcall
         512  0:00.09 0:00.25 0:00.23 0:00.19 0:00.19 0:00.16 0:00.16 0:00.14 0:00.14 0:00.10 0:00.11 0:00.17 0:00.17 0:00.64 0:00.09 0:00.09    0:00.09 libcall
         256  0:00.15 0:00.38 0:00.39 0:00.27 0:00.27 0:00.15 0:00.15 0:00.16 0:00.17 0:00.14 0:00.14 0:00.29 0:00.29 0:00.66 0:00.15 0:00.14    0:00.14 unrl
         128  0:00.27 0:00.63 0:00.61 0:00.24 0:00.23 0:00.20 0:00.18 0:00.17 0:00.16 0:00.14 0:00.23 0:00.51 0:00.51 0:00.68 0:00.29 0:00.24    0:00.14 unrl
          64  0:00.49 0:01.01 0:00.95 0:00.23 0:00.22 0:00.34 0:00.34 0:00.31 0:00.31 0:00.23 0:00.28 0:00.79 0:00.79 0:00.79 0:00.37 0:00.41    0:00.22 rep4noalign
          48  0:00.56 0:01.03 0:00.92 0:00.28 0:00.28 0:00.26 0:00.26 0:00.29 0:00.29 0:00.35 0:00.33 0:00.58 0:00.58 0:00.51 0:00.46 0:00.49    0:00.26 rep8
          32  0:00.85 0:00.78 0:00.56 0:00.36 0:00.36 0:00.69 0:00.83 0:00.76 0:00.71 0:00.59 0:00.47 0:00.51 0:00.51 0:00.51 0:00.60 0:00.60    0:00.36 rep4
          24  0:00.67 0:00.58 0:00.56 0:00.81 0:00.81 0:00.69 0:00.51 0:00.47 0:00.46 0:00.52 0:00.95 0:01.08 0:00.76 0:00.56 0:00.80 0:00.81    0:00.46 loopnoalign
          16  0:01.11 0:01.19 0:00.78 0:00.66 0:00.66 0:00.91 0:00.88 0:00.71 0:00.70 0:00.90 0:00.90 0:00.69 0:01.19 0:01.09 0:00.97 0:00.74    0:00.66 rep4
          14  0:01.17 0:01.52 0:01.53 0:01.35 0:01.35 0:01.32 0:01.31 0:01.07 0:00.72 0:01.36 0:01.13 0:00.80 0:00.78 0:00.78 0:01.03 0:01.23    0:00.72 loopnoalign
          12  0:01.16 0:00.96 0:00.92 0:00.85 0:01.45 0:01.50 0:01.07 0:00.82 0:00.82 0:00.86 0:00.86 0:00.88 0:00.88 0:00.85 0:01.05 0:00.84    0:00.82 loop
          10  0:00.94 0:01.06 0:01.80 0:01.68 0:01.64 0:01.19 0:01.68 0:01.56 0:01.22 0:01.03 0:01.03 0:01.07 0:01.08 0:01.06 0:01.20 0:01.56    0:00.94 libcall
           8  0:01.31 0:01.26 0:01.27 0:01.71 0:01.32 0:01.22 0:01.19 0:01.21 0:01.24 0:01.30 0:01.31 0:01.70 0:01.34 0:01.15 0:01.94 0:01.30    0:01.15 byte
           6  0:01.27 0:01.63 0:02.49 0:01.44 0:01.46 0:01.53 0:01.52 0:01.41 0:02.25 0:01.53 0:02.33 0:01.49 0:01.46 0:02.09 0:01.44 0:01.43    0:01.27 libcall
           4  0:02.03 0:02.95 0:02.15 0:02.67 0:01.96 0:02.12 0:02.10 0:02.11 0:02.12 0:02.12 0:02.11 0:01.92 0:01.91 0:01.96 0:02.23 0:02.60    0:01.91 ssenoalign
           1  0:03.64 0:06.56 0:06.73 0:02.90 0:03.04 0:02.97 0:03.03 0:03.10 0:02.96 0:03.20 0:02.98 0:03.14 0:02.93 0:02.92 0:02.83 0:03.01    0:02.90 rep4
memset
  block size  libcall rep1    noalg   rep4    noalg   rep8    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.02 0:00.02 0:00.03 0:00.02 0:00.03 0:00.03 0:00.04 0:00.10 0:00.06 0:00.05 0:00.06 0:00.05 0:00.06 0:00.38 0:00.02 0:00.02    0:00.02 libcall
      819200  0:00.02 0:00.03 0:00.02 0:00.02 0:00.03 0:00.03 0:00.03 0:00.09 0:00.06 0:00.05 0:00.06 0:00.05 0:00.06 0:00.36 0:00.02 0:00.02    0:00.02 libcall
       81920  0:00.02 0:00.02 0:00.02 0:00.02 0:00.03 0:00.02 0:00.03 0:00.09 0:00.06 0:00.04 0:00.06 0:00.04 0:00.06 0:00.37 0:00.02 0:00.02    0:00.02 libcall
       20480  0:00.02 0:00.02 0:00.02 0:00.02 0:00.03 0:00.02 0:00.03 0:00.05 0:00.10 0:00.05 0:00.06 0:00.05 0:00.06 0:00.38 0:00.02 0:00.02    0:00.02 libcall
        8192  0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.05 0:00.06 0:00.04 0:00.06 0:00.05 0:00.06 0:00.36 0:00.02 0:00.02    0:00.02 libcall
        4096  0:00.02 0:00.02 0:00.02 0:00.02 0:00.03 0:00.02 0:00.03 0:00.05 0:00.06 0:00.05 0:00.06 0:00.05 0:00.06 0:00.36 0:00.02 0:00.02    0:00.02 libcall
        2048  0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.05 0:00.06 0:00.05 0:00.06 0:00.05 0:00.06 0:00.36 0:00.02 0:00.02    0:00.02 libcall
        1024  0:00.02 0:00.05 0:00.05 0:00.04 0:00.04 0:00.04 0:00.04 0:00.06 0:00.07 0:00.05 0:00.06 0:00.05 0:00.06 0:00.37 0:00.02 0:00.02    0:00.02 libcall
         512  0:00.04 0:00.08 0:00.09 0:00.07 0:00.07 0:00.07 0:00.07 0:00.07 0:00.08 0:00.06 0:00.07 0:00.06 0:00.07 0:00.38 0:00.04 0:00.03    0:00.04 libcall
         256  0:00.07 0:00.16 0:00.15 0:00.14 0:00.14 0:00.09 0:00.09 0:00.08 0:00.09 0:00.07 0:00.08 0:00.07 0:00.08 0:00.40 0:00.08 0:00.06    0:00.07 libcall
         128  0:00.17 0:00.29 0:00.29 0:00.18 0:00.17 0:00.13 0:00.12 0:00.14 0:00.13 0:00.12 0:00.12 0:00.12 0:00.12 0:00.40 0:00.13 0:00.11    0:00.12 rep8noalign
          64  0:00.51 0:00.52 0:00.52 0:00.25 0:00.22 0:00.19 0:00.16 0:00.16 0:00.17 0:00.14 0:00.13 0:00.13 0:00.13 0:00.28 0:00.22 0:00.22    0:00.13 sse
          48  0:00.75 0:00.55 0:00.42 0:00.19 0:00.17 0:00.28 0:00.27 0:00.30 0:00.34 0:00.30 0:00.30 0:00.30 0:00.30 0:00.52 0:00.29 0:00.28    0:00.17 rep4noalign
          32  0:01.50 0:00.65 0:00.65 0:00.40 0:00.37 0:00.43 0:00.42 0:00.48 0:00.63 0:00.52 0:00.52 0:00.47 0:00.37 0:00.34 0:00.43 0:00.42    0:00.34 byte
          24  0:01.22 0:00.44 0:00.81 0:00.52 0:00.49 0:00.45 0:00.57 0:00.85 0:01.02 0:00.58 0:00.43 0:00.42 0:00.76 0:00.61 0:00.52 0:00.51    0:00.42 sse
          16  0:01.89 0:00.89 0:00.89 0:00.58 0:00.41 0:00.80 0:01.83 0:01.10 0:01.91 0:01.09 0:00.91 0:01.68 0:01.68 0:00.63 0:00.69 0:00.69    0:00.41 rep4noalign
          14  0:01.86 0:00.62 0:00.62 0:00.43 0:00.44 0:00.94 0:01.15 0:01.13 0:01.24 0:01.10 0:01.10 0:01.11 0:01.10 0:00.43 0:00.81 0:00.64    0:00.43 byte
          12  0:02.28 0:00.72 0:01.24 0:00.86 0:00.60 0:01.28 0:01.38 0:02.37 0:02.46 0:01.37 0:01.36 0:01.36 0:02.38 0:00.53 0:00.91 0:00.91    0:00.53 byte
          10  0:02.12 0:00.76 0:00.75 0:00.59 0:00.66 0:01.56 0:01.64 0:01.59 0:01.66 0:01.59 0:02.64 0:01.61 0:01.59 0:00.56 0:00.98 0:00.65    0:00.56 byte
           8  0:02.72 0:01.42 0:01.16 0:01.11 0:01.61 0:01.82 0:01.81 0:01.82 0:01.83 0:02.87 0:02.82 0:01.82 0:01.81 0:00.67 0:01.57 0:01.11    0:00.67 byte
           6  0:02.09 0:01.10 0:01.11 0:01.85 0:02.26 0:02.50 0:03.59 0:03.56 0:03.58 0:03.54 0:03.59 0:02.52 0:02.53 0:00.88 0:02.95 0:02.89    0:00.88 byte
           4  0:03.57 0:02.47 0:01.46 0:03.73 0:03.68 0:02.67 0:03.72 0:02.68 0:02.67 0:03.73 0:03.73 0:02.67 0:02.67 0:01.91 0:02.69 0:01.90    0:01.46 rep1noalign
           1  0:02.87 0:04.79 0:04.82 0:00.58 0:00.58 0:00.59 0:00.59 0:01.08 0:01.04 0:01.07 0:01.03 0:00.70 0:01.08 0:01.17 0:01.09 0:01.17    0:00.58 rep4
Aligned
  block size  libcall rep1    noalg   rep4    noalg   rep8    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.06 0:00.07 0:00.07 0:00.07 0:00.07 0:00.07 0:00.07 0:00.08 0:00.08 0:00.08 0:00.08 0:00.08 0:00.08 0:00.39 0:00.06 0:00.06    0:00.06 libcall
      819200  0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.36 0:00.02 0:00.02    0:00.02 libcall
       81920  0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.38 0:00.02 0:00.02    0:00.02 libcall
       20480  0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.10 0:00.10 0:00.05 0:00.05 0:00.05 0:00.05 0:00.39 0:00.02 0:00.02    0:00.02 libcall
        8192  0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.36 0:00.02 0:00.02    0:00.02 libcall
        4096  0:00.02 0:00.03 0:00.03 0:00.02 0:00.02 0:00.02 0:00.02 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.05 0:00.36 0:00.02 0:00.02    0:00.02 libcall
        2048  0:00.03 0:00.04 0:00.04 0:00.04 0:00.04 0:00.03 0:00.04 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.06 0:00.37 0:00.03 0:00.03    0:00.03 libcall
        1024  0:00.04 0:00.06 0:00.06 0:00.05 0:00.05 0:00.05 0:00.05 0:00.07 0:00.07 0:00.06 0:00.06 0:00.06 0:00.06 0:00.38 0:00.04 0:00.04    0:00.04 libcall
         512  0:00.06 0:00.10 0:00.10 0:00.08 0:00.08 0:00.08 0:00.08 0:00.09 0:00.09 0:00.07 0:00.07 0:00.07 0:00.07 0:00.39 0:00.06 0:00.06    0:00.06 libcall
         256  0:00.10 0:00.17 0:00.17 0:00.16 0:00.15 0:00.10 0:00.10 0:00.10 0:00.10 0:00.09 0:00.09 0:00.09 0:00.09 0:00.42 0:00.09 0:00.09    0:00.09 sse
         128  0:00.16 0:00.30 0:00.30 0:00.19 0:00.19 0:00.14 0:00.14 0:00.14 0:00.14 0:00.14 0:00.14 0:00.13 0:00.13 0:00.34 0:00.14 0:00.13    0:00.13 sse
          64  0:00.34 0:00.55 0:00.55 0:00.27 0:00.27 0:00.22 0:00.22 0:00.24 0:00.22 0:00.21 0:00.22 0:00.20 0:00.19 0:00.33 0:00.22 0:00.22    0:00.19 ssenoalign
          48  0:00.42 0:00.65 0:00.63 0:00.31 0:00.29 0:00.21 0:00.21 0:00.22 0:00.22 0:00.22 0:00.27 0:00.28 0:00.28 0:00.66 0:00.30 0:00.29    0:00.21 rep8
          32  0:00.54 0:00.75 0:00.75 0:00.42 0:00.37 0:00.32 0:00.30 0:00.35 0:00.37 0:00.36 0:00.36 0:00.36 0:00.35 0:00.66 0:00.37 0:00.36    0:00.30 rep8noalign
          24  0:00.48 0:00.88 0:00.62 0:00.57 0:00.59 0:00.47 0:00.45 0:00.38 0:00.37 0:00.35 0:00.35 0:00.35 0:00.36 0:00.44 0:00.59 0:00.56    0:00.35 sse
          16  0:00.51 0:00.64 0:01.15 0:00.68 0:00.59 0:00.49 0:00.48 0:00.47 0:00.55 0:00.56 0:00.57 0:00.56 0:00.57 0:00.83 0:00.70 0:00.63    0:00.47 loop
          14  0:00.54 0:01.37 0:01.39 0:00.81 0:00.94 0:00.70 0:00.69 0:00.58 0:00.57 0:00.59 0:00.59 0:00.54 0:00.63 0:01.17 0:00.99 0:00.86    0:00.54 libcall
          12  0:00.62 0:00.86 0:00.83 0:00.96 0:00.95 0:00.65 0:00.57 0:00.56 0:00.62 0:00.64 0:00.63 0:00.60 0:00.57 0:00.76 0:00.89 0:00.68    0:00.56 loop
          10  0:00.64 0:01.63 0:01.57 0:00.92 0:00.73 0:00.84 0:00.84 0:00.69 0:00.69 0:00.71 0:00.65 0:00.64 0:00.63 0:01.07 0:01.11 0:01.02    0:00.63 ssenoalign
           8  0:00.75 0:01.03 0:01.51 0:01.12 0:01.09 0:00.80 0:00.91 0:00.81 0:00.82 0:00.83 0:00.82 0:00.78 0:00.81 0:00.89 0:00.98 0:00.83    0:00.75 libcall
           6  0:01.21 0:01.69 0:01.34 0:01.13 0:01.11 0:01.00 0:01.14 0:01.15 0:01.00 0:01.05 0:01.01 0:01.14 0:01.17 0:01.30 0:01.60 0:01.26    0:01.00 loopnoalign
           4  0:01.70 0:01.96 0:02.39 0:01.46 0:01.46 0:01.36 0:01.34 0:01.32 0:01.34 0:01.36 0:01.34 0:01.36 0:01.33 0:01.50 0:01.89 0:01.65    0:01.32 loop
           1  0:03.54 0:05.47 0:05.36 0:02.47 0:02.50 0:02.49 0:02.47 0:02.64 0:02.60 0:02.50 0:02.71 0:02.56 0:02.68 0:02.52 0:02.79 0:02.47    0:02.47 rep4

and 32-bit:

memcpy
  block size  libcall rep1    noalg   rep4    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.05 0:00.07 0:00.08 0:00.08 0:00.08 0:00.16 0:00.16 0:00.10 0:00.14 0:00.04 0:00.04 0:00.62 0:00.08 0:00.08    0:00.04 sse
      819200  0:00.04 0:00.06 0:00.06 0:00.06 0:00.06 0:00.15 0:00.15 0:00.10 0:00.13 0:00.03 0:00.04 0:00.58 0:00.07 0:00.06    0:00.03 sse
       81920  0:00.03 0:00.05 0:00.05 0:00.05 0:00.05 0:00.15 0:00.15 0:00.10 0:00.13 0:00.03 0:00.03 0:00.61 0:00.06 0:00.05    0:00.03 libcall
       20480  0:00.03 0:00.05 0:00.05 0:00.05 0:00.05 0:00.19 0:00.15 0:00.10 0:00.14 0:00.03 0:00.04 0:00.62 0:00.05 0:00.05    0:00.03 libcall
        8192  0:00.03 0:00.05 0:00.05 0:00.05 0:00.05 0:00.15 0:00.13 0:00.09 0:00.13 0:00.03 0:00.04 0:00.59 0:00.05 0:00.05    0:00.03 libcall
        4096  0:00.04 0:00.06 0:00.07 0:00.06 0:00.07 0:00.15 0:00.13 0:00.10 0:00.13 0:00.04 0:00.04 0:00.59 0:00.06 0:00.06    0:00.04 libcall
        2048  0:00.05 0:00.09 0:00.09 0:00.08 0:00.09 0:00.16 0:00.14 0:00.10 0:00.13 0:00.05 0:00.06 0:00.59 0:00.09 0:00.08    0:00.05 libcall
        1024  0:00.06 0:00.13 0:00.13 0:00.11 0:00.12 0:00.17 0:00.15 0:00.12 0:00.14 0:00.08 0:00.08 0:00.59 0:00.12 0:00.11    0:00.06 libcall
         512  0:00.07 0:00.21 0:00.21 0:00.17 0:00.18 0:00.18 0:00.16 0:00.14 0:00.16 0:00.14 0:00.12 0:00.60 0:00.17 0:00.18    0:00.07 libcall
         256  0:00.11 0:00.35 0:00.35 0:00.26 0:00.25 0:00.22 0:00.20 0:00.16 0:00.18 0:00.24 0:00.21 0:00.54 0:00.24 0:00.24    0:00.11 libcall
         128  0:00.18 0:00.55 0:00.54 0:00.23 0:00.22 0:00.25 0:00.24 0:00.21 0:00.21 0:00.42 0:00.39 0:00.53 0:00.23 0:00.23    0:00.18 libcall
          64  0:00.30 0:00.76 0:00.72 0:00.23 0:00.20 0:00.18 0:00.18 0:00.17 0:00.18 0:00.38 0:00.38 0:00.38 0:00.33 0:00.33    0:00.17 unrl
          48  0:00.39 0:00.83 0:00.68 0:00.23 0:00.22 0:00.22 0:00.21 0:00.21 0:00.21 0:00.43 0:00.85 0:00.82 0:00.42 0:00.40    0:00.21 loopnoalign
          32  0:00.44 0:00.46 0:00.41 0:00.31 0:00.29 0:00.30 0:00.31 0:00.56 0:00.59 0:00.81 0:00.79 0:00.59 0:00.56 0:00.46    0:00.29 rep4noalign
          24  0:00.46 0:00.49 0:00.49 0:00.40 0:00.73 0:00.68 0:00.67 0:00.68 0:00.61 0:00.88 0:00.88 0:00.72 0:00.65 0:00.48    0:00.40 rep4
          16  0:01.00 0:01.05 0:00.71 0:00.56 0:00.54 0:00.57 0:00.61 0:01.16 0:01.26 0:01.05 0:00.95 0:00.63 0:00.60 0:01.03    0:00.54 rep4noalign
          14  0:01.12 0:00.79 0:00.71 0:00.61 0:01.16 0:01.00 0:00.68 0:00.60 0:00.63 0:00.60 0:00.60 0:00.60 0:01.11 0:01.04    0:00.60 byte
          12  0:00.84 0:00.79 0:00.79 0:00.72 0:00.72 0:00.69 0:00.70 0:00.72 0:00.75 0:00.69 0:00.69 0:01.27 0:01.33 0:01.13    0:00.69 loop
          10  0:00.81 0:00.91 0:00.91 0:00.81 0:00.80 0:00.77 0:00.80 0:01.52 0:01.21 0:00.77 0:00.76 0:00.76 0:01.51 0:01.52    0:00.76 byte
           8  0:01.33 0:01.04 0:01.05 0:01.95 0:01.91 0:01.41 0:01.39 0:01.43 0:01.54 0:01.87 0:01.21 0:01.87 0:01.31 0:01.43    0:01.04 rep1
           6  0:02.12 0:02.41 0:02.37 0:02.18 0:01.30 0:01.18 0:02.22 0:01.35 0:02.32 0:01.18 0:01.14 0:01.14 0:01.17 0:02.15    0:01.14 byte
           4  0:01.99 0:01.94 0:01.94 0:02.02 0:01.96 0:03.89 0:03.13 0:04.16 0:04.10 0:02.25 0:03.28 0:02.25 0:03.66 0:02.26    0:01.94 rep1
           1  0:04.04 0:06.14 0:06.17 0:00.59 0:00.59 0:00.59 0:01.08 0:01.08 0:00.91 0:01.03 0:01.01 0:01.83 0:00.89 0:01.00    0:00.59 loop
Aligned
  block size  libcall rep1    noalg   rep4    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.06 0:00.09 0:00.09 0:00.09 0:00.09 0:00.16 0:00.16 0:00.11 0:00.11 0:00.07 0:00.06 0:00.62 0:00.09 0:00.09    0:00.06 libcall
      819200  0:00.04 0:00.06 0:00.06 0:00.06 0:00.06 0:00.15 0:00.15 0:00.10 0:00.10 0:00.03 0:00.03 0:00.59 0:00.07 0:00.07    0:00.03 sse
       81920  0:00.03 0:00.05 0:00.05 0:00.05 0:00.05 0:00.16 0:00.16 0:00.10 0:00.10 0:00.03 0:00.03 0:00.61 0:00.06 0:00.05    0:00.03 libcall
       20480  0:00.03 0:00.06 0:00.05 0:00.05 0:00.05 0:00.16 0:00.16 0:00.10 0:00.10 0:00.03 0:00.03 0:00.63 0:00.05 0:00.05    0:00.03 libcall
        8192  0:00.04 0:00.06 0:00.06 0:00.05 0:00.05 0:00.15 0:00.15 0:00.10 0:00.10 0:00.03 0:00.03 0:00.59 0:00.05 0:00.05    0:00.03 sse
        4096  0:00.04 0:00.07 0:00.07 0:00.07 0:00.06 0:00.14 0:00.15 0:00.10 0:00.10 0:00.04 0:00.04 0:00.58 0:00.07 0:00.06    0:00.04 libcall
        2048  0:00.05 0:00.10 0:00.10 0:00.09 0:00.09 0:00.15 0:00.16 0:00.11 0:00.11 0:00.06 0:00.05 0:00.58 0:00.09 0:00.09    0:00.05 libcall
        1024  0:00.07 0:00.15 0:00.15 0:00.13 0:00.13 0:00.17 0:00.17 0:00.13 0:00.12 0:00.09 0:00.08 0:00.60 0:00.13 0:00.13    0:00.07 libcall
         512  0:00.08 0:00.25 0:00.24 0:00.20 0:00.20 0:00.19 0:00.19 0:00.15 0:00.15 0:00.13 0:00.12 0:00.48 0:00.20 0:00.20    0:00.08 libcall
         256  0:00.12 0:00.40 0:00.40 0:00.27 0:00.26 0:00.23 0:00.23 0:00.18 0:00.18 0:00.25 0:00.23 0:00.63 0:00.27 0:00.27    0:00.12 libcall
         128  0:00.19 0:00.62 0:00.62 0:00.25 0:00.25 0:00.25 0:00.22 0:00.17 0:00.16 0:00.24 0:00.43 0:00.70 0:00.25 0:00.25    0:00.16 unrlnoalign
          64  0:00.33 0:00.86 0:00.73 0:00.27 0:00.27 0:00.29 0:00.30 0:00.26 0:00.24 0:00.43 0:00.43 0:00.43 0:00.38 0:00.40    0:00.24 unrlnoalign
          48  0:00.43 0:01.05 0:00.95 0:00.32 0:00.26 0:00.25 0:00.25 0:00.25 0:00.25 0:00.45 0:00.90 0:00.90 0:00.45 0:00.45    0:00.25 loop
          32  0:00.50 0:00.53 0:00.48 0:00.38 0:00.38 0:00.38 0:00.38 0:00.37 0:00.67 0:00.93 0:00.79 0:00.56 0:00.63 0:00.65    0:00.37 unrl
          24  0:00.75 0:00.66 0:00.97 0:00.81 0:00.80 0:00.74 0:00.74 0:00.74 0:00.68 0:00.61 0:00.53 0:00.53 0:00.67 0:00.50    0:00.53 byte
          16  0:00.63 0:01.35 0:01.16 0:00.73 0:01.18 0:01.17 0:00.81 0:00.81 0:00.81 0:00.77 0:00.77 0:00.76 0:01.19 0:01.13    0:00.63 libcall
          14  0:00.76 0:00.85 0:00.84 0:00.75 0:00.74 0:00.73 0:00.73 0:00.75 0:00.76 0:00.75 0:00.75 0:00.75 0:00.75 0:01.28    0:00.73 loop
          12  0:01.51 0:01.13 0:00.95 0:00.90 0:01.50 0:01.46 0:01.20 0:00.92 0:00.92 0:00.88 0:00.88 0:00.88 0:00.90 0:01.53    0:00.88 byte
          10  0:01.26 0:01.13 0:01.14 0:01.04 0:01.04 0:01.02 0:01.01 0:01.04 0:01.05 0:01.03 0:01.62 0:01.27 0:01.72 0:01.27    0:01.01 loopnoalign
           8  0:01.19 0:01.40 0:01.41 0:01.42 0:01.42 0:02.37 0:02.39 0:01.59 0:02.53 0:02.10 0:02.08 0:02.14 0:01.36 0:01.51    0:01.19 libcall
           6  0:02.38 0:02.65 0:02.67 0:02.53 0:02.49 0:01.54 0:01.52 0:01.76 0:02.61 0:01.64 0:01.57 0:01.51 0:02.49 0:01.68    0:01.51 byte
           4  0:03.15 0:02.56 0:02.58 0:02.54 0:02.50 0:02.91 0:02.91 0:03.13 0:03.14 0:02.50 0:03.32 0:02.52 0:02.58 0:02.48    0:02.50 rep4noalign
           1  0:04.12 0:07.51 0:07.52 0:01.56 0:01.60 0:01.56 0:01.86 0:01.84 0:01.81 0:01.74 0:01.71 0:01.60 0:01.77 0:02.22    0:01.56 loop
memset
  block size  libcall rep1    noalg   rep4    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.03 0:00.02 0:00.03 0:00.03 0:00.03 0:00.07 0:00.13 0:00.07 0:00.07 0:00.06 0:00.07 0:00.23 0:00.04 0:00.04    0:00.02 rep1
      819200  0:00.02 0:00.03 0:00.03 0:00.03 0:00.03 0:00.09 0:00.18 0:00.09 0:00.10 0:00.09 0:00.10 0:00.36 0:00.03 0:00.03    0:00.02 libcall
       81920  0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.09 0:00.19 0:00.09 0:00.10 0:00.09 0:00.10 0:00.37 0:00.02 0:00.02    0:00.02 libcall
       20480  0:00.03 0:00.02 0:00.02 0:00.02 0:00.03 0:00.10 0:00.11 0:00.10 0:00.11 0:00.10 0:00.11 0:00.76 0:00.02 0:00.03    0:00.02 rep1
        8192  0:00.03 0:00.02 0:00.02 0:00.02 0:00.03 0:00.18 0:00.10 0:00.09 0:00.10 0:00.09 0:00.10 0:00.36 0:00.02 0:00.03    0:00.02 rep1
        4096  0:00.03 0:00.02 0:00.02 0:00.02 0:00.03 0:00.18 0:00.10 0:00.09 0:00.10 0:00.09 0:00.10 0:00.36 0:00.03 0:00.03    0:00.02 rep1
        2048  0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.18 0:00.10 0:00.09 0:00.10 0:00.09 0:00.10 0:00.36 0:00.03 0:00.03    0:00.03 libcall
        1024  0:00.04 0:00.05 0:00.05 0:00.04 0:00.04 0:00.19 0:00.11 0:00.10 0:00.11 0:00.10 0:00.11 0:00.37 0:00.04 0:00.04    0:00.04 libcall
         512  0:00.05 0:00.09 0:00.09 0:00.07 0:00.07 0:00.19 0:00.12 0:00.11 0:00.12 0:00.11 0:00.12 0:00.38 0:00.07 0:00.07    0:00.05 libcall
         256  0:00.08 0:00.16 0:00.16 0:00.14 0:00.14 0:00.22 0:00.15 0:00.12 0:00.12 0:00.12 0:00.12 0:00.36 0:00.14 0:00.14    0:00.08 libcall
         128  0:00.13 0:00.29 0:00.29 0:00.18 0:00.17 0:00.23 0:00.17 0:00.14 0:00.14 0:00.14 0:00.13 0:00.36 0:00.18 0:00.17    0:00.13 libcall
          64  0:00.25 0:00.52 0:00.52 0:00.26 0:00.23 0:00.20 0:00.19 0:00.16 0:00.16 0:00.14 0:00.14 0:00.29 0:00.26 0:00.26    0:00.14 sse
          48  0:00.34 0:00.60 0:00.55 0:00.24 0:00.21 0:00.15 0:00.15 0:00.14 0:00.14 0:00.14 0:00.15 0:00.49 0:00.32 0:00.32    0:00.14 sse
          32  0:00.48 0:00.64 0:00.64 0:00.40 0:00.35 0:00.30 0:00.27 0:00.21 0:00.23 0:00.20 0:00.24 0:00.38 0:00.22 0:00.41    0:00.20 sse
          24  0:00.58 0:00.79 0:00.64 0:00.32 0:00.28 0:00.26 0:00.28 0:00.26 0:00.28 0:00.49 0:00.52 0:00.94 0:00.46 0:00.39    0:00.26 loop
          16  0:00.99 0:00.89 0:00.90 0:00.69 0:00.57 0:00.50 0:00.53 0:00.44 0:00.92 0:00.81 0:00.73 0:00.43 0:00.55 0:00.80    0:00.43 byte
          14  0:01.21 0:00.74 0:00.60 0:00.45 0:00.44 0:00.52 0:00.67 0:00.51 0:00.60 0:00.51 0:00.60 0:00.50 0:00.54 0:00.94    0:00.44 rep4noalign
          12  0:01.47 0:01.02 0:00.67 0:00.50 0:00.49 0:00.70 0:00.95 0:01.23 0:01.31 0:00.67 0:00.82 0:00.53 0:00.63 0:00.66    0:00.49 rep4noalign
          10  0:00.94 0:00.74 0:00.74 0:00.59 0:00.63 0:01.07 0:01.43 0:00.96 0:01.21 0:00.96 0:01.21 0:00.59 0:00.94 0:00.96    0:00.59 byte
           8  0:00.99 0:00.77 0:01.42 0:01.98 0:01.72 0:02.74 0:01.75 0:01.57 0:01.69 0:02.65 0:01.74 0:00.67 0:01.68 0:02.76    0:00.67 byte
           6  0:01.34 0:01.10 0:02.00 0:02.72 0:03.10 0:03.32 0:03.50 0:03.28 0:02.35 0:02.23 0:03.38 0:00.87 0:03.28 0:02.26    0:00.87 byte
           4  0:01.97 0:02.46 0:02.46 0:03.71 0:03.67 0:03.72 0:03.72 0:02.69 0:02.67 0:02.69 0:02.67 0:01.86 0:02.68 0:02.91    0:01.86 byte
           1  0:03.17 0:04.85 0:04.86 0:00.61 0:01.12 0:01.12 0:01.05 0:00.69 0:00.61 0:00.61 0:00.61 0:01.08 0:00.68 0:00.59    0:00.61 rep4
Aligned
  block size  libcall rep1    noalg   rep4    noalg   loop    noalg   unrl    noalg   sse     noalg   byte    PGO     dynamic    BEST
     8192000  0:00.04 0:00.04 0:00.04 0:00.04 0:00.04 0:00.12 0:00.11 0:00.07 0:00.11 0:00.11 0:00.11 0:00.38 0:00.04 0:00.04    0:00.04 libcall
      819200  0:00.03 0:00.03 0:00.03 0:00.03 0:00.03 0:00.18 0:00.18 0:00.09 0:00.09 0:00.09 0:00.09 0:00.36 0:00.03 0:00.03    0:00.03 libcall
       81920  0:00.02 0:00.02 0:00.02 0:00.02 0:00.02 0:00.19 0:00.19 0:00.09 0:00.09 0:00.09 0:00.09 0:00.38 0:00.02 0:00.02    0:00.02 libcall
       20480  0:00.03 0:00.02 0:00.02 0:00.02 0:00.02 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.76 0:00.03 0:00.03    0:00.02 rep1
        8192  0:00.03 0:00.02 0:00.02 0:00.02 0:00.02 0:00.09 0:00.09 0:00.09 0:00.09 0:00.09 0:00.09 0:00.36 0:00.03 0:00.03    0:00.02 rep1
        4096  0:00.03 0:00.03 0:00.03 0:00.02 0:00.02 0:00.09 0:00.09 0:00.09 0:00.09 0:00.09 0:00.09 0:00.36 0:00.03 0:00.03    0:00.02 rep4
        2048  0:00.03 0:00.03 0:00.04 0:00.03 0:00.03 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.10 0:00.35 0:00.04 0:00.03    0:00.03 libcall
        1024  0:00.05 0:00.06 0:00.05 0:00.05 0:00.05 0:00.11 0:00.11 0:00.11 0:00.11 0:00.11 0:00.11 0:00.38 0:00.05 0:00.05    0:00.05 libcall
         512  0:00.06 0:00.09 0:00.09 0:00.08 0:00.08 0:00.12 0:00.12 0:00.12 0:00.12 0:00.12 0:00.12 0:00.37 0:00.08 0:00.08    0:00.06 libcall
         256  0:00.09 0:00.16 0:00.16 0:00.15 0:00.15 0:00.15 0:00.15 0:00.13 0:00.13 0:00.13 0:00.13 0:00.41 0:00.14 0:00.15    0:00.09 libcall
         128  0:00.16 0:00.30 0:00.30 0:00.18 0:00.17 0:00.18 0:00.18 0:00.16 0:00.15 0:00.16 0:00.16 0:00.46 0:00.18 0:00.18    0:00.15 unrlnoalign
          64  0:00.29 0:00.54 0:00.54 0:00.26 0:00.26 0:00.24 0:00.24 0:00.33 0:00.32 0:00.31 0:00.30 0:00.36 0:00.25 0:00.26    0:00.24 loop
          48  0:00.36 0:00.61 0:00.57 0:00.27 0:00.23 0:00.18 0:00.29 0:00.29 0:00.29 0:00.29 0:00.29 0:00.81 0:00.34 0:00.34    0:00.18 loop
          32  0:00.46 0:00.50 0:00.41 0:00.25 0:00.25 0:00.26 0:00.26 0:00.26 0:00.26 0:00.26 0:00.26 0:00.39 0:00.43 0:00.42    0:00.25 rep4
          24  0:00.61 0:00.83 0:00.76 0:00.40 0:00.33 0:00.31 0:00.31 0:00.31 0:00.31 0:00.31 0:00.31 0:00.54 0:00.49 0:00.45    0:00.31 loop
          16  0:00.66 0:00.98 0:00.97 0:00.61 0:00.49 0:00.56 0:00.55 0:00.54 0:00.55 0:00.54 0:00.55 0:00.90 0:00.58 0:00.91    0:00.49 rep4noalign
          14  0:01.24 0:00.76 0:00.71 0:00.89 0:00.88 0:00.77 0:00.61 0:00.58 0:00.92 0:00.91 0:00.74 0:00.57 0:00.83 0:00.91    0:00.57 byte
          12  0:01.05 0:01.27 0:01.27 0:00.88 0:01.02 0:01.21 0:01.12 0:00.75 0:00.71 0:00.71 0:00.71 0:00.65 0:00.61 0:00.72    0:00.65 byte
          10  0:01.76 0:01.09 0:01.45 0:01.27 0:01.15 0:01.90 0:01.29 0:01.02 0:01.04 0:01.70 0:01.69 0:00.86 0:00.82 0:01.70    0:00.86 byte
           8  0:01.85 0:01.10 0:01.01 0:01.05 0:01.06 0:01.44 0:01.45 0:01.42 0:01.43 0:01.42 0:01.42 0:00.83 0:02.32 0:01.48    0:00.83 byte
           6  0:01.60 0:01.36 0:01.35 0:01.43 0:02.27 0:01.93 0:01.90 0:01.78 0:01.75 0:01.75 0:01.76 0:01.07 0:01.67 0:01.86    0:01.07 byte
           4  0:02.18 0:01.85 0:01.90 0:02.17 0:02.20 0:02.34 0:02.34 0:02.36 0:02.37 0:02.39 0:03.22 0:01.59 0:02.36 0:01.62    0:01.59 byte
           1  0:03.24 0:06.12 0:06.04 0:01.64 0:01.56 0:01.73 0:01.63 0:01.62 0:01.59 0:01.56 0:01.60 0:01.62 0:01.87 0:01.59    0:01.56 rep4noalign
Comment 11 CVS Commits 2020-07-30 08:32:27 UTC
The master branch has been updated by Martin Liska <marxin@gcc.gnu.org>:

https://gcc.gnu.org/g:dc65aba7a4725d1b464c8c64a5f739ee910e8943

commit r11-2422-gdc65aba7a4725d1b464c8c64a5f739ee910e8943
Author: Martin Liska <mliska@suse.cz>
Date:   Mon Jun 1 13:21:40 2020 +0200

    Tune memcpy and memset for Zen cores.
    
    Based on the collected numbers in PR95435, I suggest the following
    tuning changes:
    
    gcc/ChangeLog:
    
            PR target/95435
            * config/i386/x86-tune-costs.h: Use libcall for large sizes for
            -m32. Start using libcall from 128+ bytes.
Comment 12 CVS Commits 2020-07-30 08:39:47 UTC
The releases/gcc-10 branch has been updated by Martin Liska <marxin@gcc.gnu.org>:

https://gcc.gnu.org/g:809b4d226c7f5ded392a88ffafe8d652f911b473

commit r10-8554-g809b4d226c7f5ded392a88ffafe8d652f911b473
Author: Martin Liska <mliska@suse.cz>
Date:   Mon Jun 1 13:21:40 2020 +0200

    Tune memcpy and memset for Zen cores.
    
    Based on the collected numbers in PR95435, I suggest the following
    tuning changes:
    
    gcc/ChangeLog:
    
            PR target/95435
            * config/i386/x86-tune-costs.h: Use libcall for large sizes for
            -m32. Start using libcall from 128+ bytes.
    
    (cherry picked from commit dc65aba7a4725d1b464c8c64a5f739ee910e8943)
Comment 13 Martin Liška 2020-07-30 08:44:48 UTC
Fixed on master and gcc-10 release branch, closing now.