]> git.ipfire.org Git - thirdparty/glibc.git/commit
x86: Set rep_movsb_threshold to 2112 on processors with FSRM
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 30 Apr 2021 12:58:59 +0000 (05:58 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 3 May 2021 12:08:22 +0000 (05:08 -0700)
commitcf2c57526ba4b57e6863ad4db8a868e2678adce8
treebf6a69a19ea3df3d4e905c73298dbbee74559ebe
parent98544f5bcf1bef9311463ded60ddd3941c75a547
x86: Set rep_movsb_threshold to 2112 on processors with FSRM

The glibc memcpy benchmark on Intel Core i7-1065G7 (Ice Lake) showed
that REP MOVSB became faster after 2112 bytes:

                                      Vector Move       REP MOVSB
length=2112, align1=0, align2=0:        24.20             24.40
length=2112, align1=1, align2=0:        26.07             23.13
length=2112, align1=0, align2=1:        27.18             28.13
length=2112, align1=1, align2=1:        26.23             25.16
length=2176, align1=0, align2=0:        23.18             22.52
length=2176, align1=2, align2=0:        25.45             22.52
length=2176, align1=0, align2=2:        27.14             27.82
length=2176, align1=2, align2=2:        22.73             25.56
length=2240, align1=0, align2=0:        24.62             24.25
length=2240, align1=3, align2=0:        29.77             27.15
length=2240, align1=0, align2=3:        35.55             29.93
length=2240, align1=3, align2=3:        34.49             25.15
length=2304, align1=0, align2=0:        34.75             26.64
length=2304, align1=4, align2=0:        32.09             22.63
length=2304, align1=0, align2=4:        28.43             31.24

Use REP MOVSB for data size > 2112 bytes in memcpy on processors with
fast short REP MOVSB (FSRM).

* sysdeps/x86/dl-cacheinfo.h (dl_init_cacheinfo): Set
rep_movsb_threshold to 2112 on processors with fast short REP
MOVSB (FSRM).
sysdeps/x86/dl-cacheinfo.h