eal/x86: add more CPU flags
authorKevin Laatz <kevin.laatz@intel.com>
Tue, 28 Apr 2020 12:40:26 +0000 (13:40 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 7 May 2020 12:51:06 +0000 (14:51 +0200)
commitdec44d41109dac609d83805c0b906df446f8680e
tree063840725dd708207eed0037c95aae8424067218
parent5ebf83784d5d243e74ab1f4933182350c5aaebb0
eal/x86: add more CPU flags

This patch adds CPU flags which will enable the detection of ISA
features available on more recent x86 based CPUs.

The CPUID leaf information can be found in
Table 1-2. "Information Returned by CPUID Instruction" of this document:
https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf

The following CPU flags are added in this patch:
    - AVX-512 doubleword and quadword instructions.
    - AVX-512 integer fused multiply-add instructions.
    - AVX-512 conflict detection instructions.
    - AVX-512 byte and word instructions.
    - AVX-512 vector length instructions.
    - AVX-512 vector bit manipulation instructions.
    - AVX-512 vector bit manipulation 2 instructions.
    - Galois field new instructions.
    - Vector AES instructions.
    - Vector carry-less multiply instructions.
    - AVX-512 vector neural network instructions.
    - AVX-512 for bit algorithm instructions.
    - AVX-512 vector popcount instructions.
    - Cache line demote instructions.
    - Direct store instructions.
    - Direct store 64B instructions.
    - AVX-512 two register intersection instructions.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
devtools/libabigail.abignore
lib/librte_eal/x86/include/rte_cpuflags.h
lib/librte_eal/x86/rte_cpuflags.c