• Kyung Min Park's avatar
    Enumerate AVX Vector Neural Network instructions · b85a0425
    Kyung Min Park authored
    Add AVX version of the Vector Neural Network (VNNI) Instructions.
    
    A processor supports AVX VNNI instructions if CPUID.0x07.0x1:EAX[4] is
    present. The following instructions are available when this feature is
    present.
      1. VPDPBUS: Multiply and Add Unsigned and Signed Bytes
      2. VPDPBUSDS: Multiply and Add Unsigned and Signed Bytes with Saturation
      3. VPDPWSSD: Multiply and Add Signed Word Integers
      4. VPDPWSSDS: Multiply and Add Signed Integers with Saturation
    
    The only in-kernel usage of this is kvm passthrough. The CPU feature
    flag is shown as "avx_vnni" in /proc/cpuinfo.
    
    This instruction is currently documented in the latest "extensions"
    manual (ISE). It will appear in the "main" manual (SDM) in the future.
    Signed-off-by: default avatarKyung Min Park <kyung.min.park@intel.com>
    Signed-off-by: default avatarYang Zhong <yang.zhong@intel.com>
    Reviewed-by: default avatarTony Luck <tony.luck@intel.com>
    Message-Id: <20210105004909.42000-2-yang.zhong@intel.com>
    Acked-by: default avatarBorislav Petkov <bp@suse.de>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    b85a0425
cpufeatures.h 26.8 KB