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.
This commit is contained in:
Brian Inglis 2020-02-21 14:28:08 -07:00 committed by Corinna Vinschen
parent bf33f72d43
commit 86f9ce97bc

View File

@ -1346,6 +1346,7 @@ format_proc_cpuinfo (void *, char *&destbuf)
ftcprint (features1, 2, "avx512_4vnniw"); /* vec dot prod dw */ ftcprint (features1, 2, "avx512_4vnniw"); /* vec dot prod dw */
ftcprint (features1, 3, "avx512_4fmaps"); /* vec 4 FMA single */ 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, 8, "avx512_vp2intersect"); /* vec intcpt d/q */
ftcprint (features1, 10, "md_clear"); /* verw clear buf */ ftcprint (features1, 10, "md_clear"); /* verw clear buf */
ftcprint (features1, 18, "pconfig"); /* platform config */ ftcprint (features1, 18, "pconfig"); /* platform config */