• Tony Luck's avatar
    x86/cpufeatures: Add support for fast short REP; MOVSB · f444a5ff
    Tony Luck authored
    >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 of short operations is enhanced. The enhancement
    applies to string lengths between 1 and 128 bytes long.  Support for
    fast-short REP MOVSB is enumerated 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.
    
    Add an X86_FEATURE_FSRM flag for this.
    
    memmove() avoids REP MOVSB for short (< 32 byte) copies. Check FSRM and
    use REP MOVSB for short copies on systems that support it.
    
     [ bp: Massage and add comment. ]
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Link: https://lkml.kernel.org/r/20191216214254.26492-1-tony.luck@intel.com
    f444a5ff
memmove_64.S 3.63 KB