[newlib-cygwin] fhandler_proc/cpuinfo: support fast short REP MOVSB

Corinna Vinschen corinna@sourceware.org
Mon Feb 24 10:11:00 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=86f9ce97bc4dd8dd14757157ae944c2c678d62a9

commit 86f9ce97bc4dd8dd14757157ae944c2c678d62a9
Author: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
Date:   Fri Feb 21 14:28:08 2020 -0700

    fhandler_proc/cpuinfo: support fast short REP MOVSB
    
    Added in Linux 5.6:
    Check FSRM and use REP MOVSB for short copies on systems that have it.
    
    >From the Intel Optimization Reference Manual:
    
    3.7.6.1 Fast Short REP MOVSB
    Beginning with processors based on Ice Lake Client microarchitecture,
    REP MOVSB performance is enhanced with string lengths up to 128 bytes.
    Support for fast-short REP MOVSB is indicated by the CPUID feature flag:
    CPUID [EAX=7H, ECX=0H).EDX.FAST_SHORT_REP_MOVSB[bit 4] = 1.
    There is no change in the REP STOS performance.

Diff:
---
 winsup/cygwin/fhandler_proc.cc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/winsup/cygwin/fhandler_proc.cc b/winsup/cygwin/fhandler_proc.cc
index 78a6970..030ade6 100644
--- a/winsup/cygwin/fhandler_proc.cc
+++ b/winsup/cygwin/fhandler_proc.cc
@@ -1346,6 +1346,7 @@ format_proc_cpuinfo (void *, char *&destbuf)
 
           ftcprint (features1,  2, "avx512_4vnniw");	   /* vec dot prod dw */
           ftcprint (features1,  3, "avx512_4fmaps");       /* vec 4 FMA single */
+          ftcprint (features1,  4, "fsrm");		   /* fast short REP MOVSB */
           ftcprint (features1,  8, "avx512_vp2intersect"); /* vec intcpt d/q */
           ftcprint (features1, 10, "md_clear");            /* verw clear buf */
           ftcprint (features1, 18, "pconfig");		   /* platform config */



More information about the Cygwin-cvs mailing list