aboutsummaryrefslogtreecommitdiff
path: root/util/cpuid.c
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2017-11-06 12:29:30 -0800
committerFrank Barchard <fbarchard@google.com>2017-11-07 00:56:37 +0000
commit522fd699e6753edb810bccb3e75d620237e2da45 (patch)
tree5f595e37ac35a92b35c24ae42821d50708d18989 /util/cpuid.c
parentafa98e1f0870af15fb4125eb5beda6727df35ad6 (diff)
downloadlibyuv-522fd699e6753edb810bccb3e75d620237e2da45.tar.gz
AVX512 feature detects for cnl and icl
Key instruction sets added for each microarchitecture: AVX512BW, AVX512VL, AVX512DQ - skylake server or later AVX512_VBMI, AVX512_IFMA - cannon lake or later AVX512_BITALG, AVX512_VBMI2, AVX512_VPOPCNTDQ, AVX512_VNNI, GFNI, VAES, VPCLMULQDQ - ice lake or later Bug: libyuv:752 Test: ~/intelsde/sde -icl -- out/Release/libyuv_unittest --gtest_filter=*Cpu* Change-Id: I9ee28904c90009d66721b9f805a440c5fc2da122 Reviewed-on: https://chromium-review.googlesource.com/755617 Reviewed-by: Frank Barchard <fbarchard@google.com> Reviewed-by: richard winterton <rrwinterton@gmail.com>
Diffstat (limited to 'util/cpuid.c')
-rw-r--r--util/cpuid.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/util/cpuid.c b/util/cpuid.c
index 1e007a3e..9ff618e0 100644
--- a/util/cpuid.c
+++ b/util/cpuid.c
@@ -79,20 +79,32 @@ int main(int argc, const char* argv[]) {
int has_sse42 = TestCpuFlag(kCpuHasSSE42);
int has_avx = TestCpuFlag(kCpuHasAVX);
int has_avx2 = TestCpuFlag(kCpuHasAVX2);
- int has_avx3 = TestCpuFlag(kCpuHasAVX3);
int has_erms = TestCpuFlag(kCpuHasERMS);
int has_fma3 = TestCpuFlag(kCpuHasFMA3);
- int has_f16c = TestCpuFlag(kCpuHasF16C);
+ int has_f16c = TestCpuFlag(kCpuHasF16C);
+ int has_gfni = TestCpuFlag(kCpuHasGFNI);
+ int has_avx512bw = TestCpuFlag(kCpuHasAVX512BW);
+ int has_avx512vl = TestCpuFlag(kCpuHasAVX512VL);
+ int has_avx512vbmi = TestCpuFlag(kCpuHasAVX512VBMI);
+ int has_avx512vbmi2 = TestCpuFlag(kCpuHasAVX512VBMI2);
+ int has_avx512vbitalg = TestCpuFlag(kCpuHasAVX512VBITALG);
+ int has_avx512vpopcntdq = TestCpuFlag(kCpuHasAVX512VPOPCNTDQ);
printf("Has SSE2 %x\n", has_sse2);
printf("Has SSSE3 %x\n", has_ssse3);
printf("Has SSE4.1 %x\n", has_sse41);
printf("Has SSE4.2 %x\n", has_sse42);
printf("Has AVX %x\n", has_avx);
printf("Has AVX2 %x\n", has_avx2);
- printf("Has AVX3 %x\n", has_avx3);
printf("Has ERMS %x\n", has_erms);
printf("Has FMA3 %x\n", has_fma3);
printf("Has F16C %x\n", has_f16c);
+ printf("Has GFNI %x\n", has_gfni);
+ printf("Has AVX512BW %x\n", has_avx512bw);
+ printf("Has AVX512VL %x\n", has_avx512vl);
+ printf("Has AVX512VBMI %x\n", has_avx512vbmi);
+ printf("Has AVX512VBMI2 %x\n", has_avx512vbmi2);
+ printf("Has AVX512VBITALG %x\n", has_avx512vbitalg);
+ printf("Has AVX512VPOPCNTDQ %x\n", has_avx512vpopcntdq);
}
return 0;
}