1// This is a generated file. DO NOT EDIT.
2// Please see util/x86simdgen/generate.pl
3#include "qsimd_p.h"
4
5static const char features_string[] =
6 " sse2\0"
7 " sse3\0"
8 " ssse3\0"
9 " fma\0"
10 " sse4.1\0"
11 " sse4.2\0"
12 " movbe\0"
13 " popcnt\0"
14 " aes\0"
15 " avx\0"
16 " f16c\0"
17 " rdrnd\0"
18 " bmi\0"
19 " hle\0"
20 " avx2\0"
21 " bmi2\0"
22 " rtm\0"
23 " avx512f\0"
24 " avx512dq\0"
25 " rdseed\0"
26 " avx512ifma\0"
27 " avx512pf\0"
28 " avx512er\0"
29 " avx512cd\0"
30 " sha\0"
31 " avx512bw\0"
32 " avx512vl\0"
33 " avx512vbmi\0"
34 " avx512vbmi2\0"
35 " gfni\0"
36 " vaes\0"
37 " avx512vnni\0"
38 " avx512bitalg\0"
39 " avx512vpopcntdq\0"
40 " avx5124nniw\0"
41 " avx5124fmaps\0"
42 "\0";
43
44static const quint16 features_indices[] = {
45 306, 0, 6, 12, 19, 24, 32, 40,
46 47, 55, 60, 65, 71, 78, 83, 88,
47 94, 100, 105, 114, 124, 132, 144, 154,
48 164, 174, 179, 189, 199, 211, 224, 230,
49 236, 248, 262, 279, 292
50};
51
52enum X86CpuidLeaves {
53 Leaf1ECX,
54 Leaf1EDX,
55 Leaf7_0EBX,
56 Leaf7_0ECX,
57 Leaf7_0EDX,
58 X86CpuidMaxLeaf
59};
60
61static const quint8 x86_locators[] = {
62 Leaf1EDX*32 + 26, // sse2
63 Leaf1ECX*32 + 0, // sse3
64 Leaf1ECX*32 + 9, // ssse3
65 Leaf1ECX*32 + 12, // fma
66 Leaf1ECX*32 + 19, // sse4.1
67 Leaf1ECX*32 + 20, // sse4.2
68 Leaf1ECX*32 + 22, // movbe
69 Leaf1ECX*32 + 23, // popcnt
70 Leaf1ECX*32 + 25, // aes
71 Leaf1ECX*32 + 28, // avx
72 Leaf1ECX*32 + 29, // f16c
73 Leaf1ECX*32 + 30, // rdrnd
74 Leaf7_0EBX*32 + 3, // bmi
75 Leaf7_0EBX*32 + 4, // hle
76 Leaf7_0EBX*32 + 5, // avx2
77 Leaf7_0EBX*32 + 8, // bmi2
78 Leaf7_0EBX*32 + 11, // rtm
79 Leaf7_0EBX*32 + 16, // avx512f
80 Leaf7_0EBX*32 + 17, // avx512dq
81 Leaf7_0EBX*32 + 18, // rdseed
82 Leaf7_0EBX*32 + 21, // avx512ifma
83 Leaf7_0EBX*32 + 26, // avx512pf
84 Leaf7_0EBX*32 + 27, // avx512er
85 Leaf7_0EBX*32 + 28, // avx512cd
86 Leaf7_0EBX*32 + 29, // sha
87 Leaf7_0EBX*32 + 30, // avx512bw
88 Leaf7_0EBX*32 + 31, // avx512vl
89 Leaf7_0ECX*32 + 1, // avx512vbmi
90 Leaf7_0ECX*32 + 6, // avx512vbmi2
91 Leaf7_0ECX*32 + 8, // gfni
92 Leaf7_0ECX*32 + 9, // vaes
93 Leaf7_0ECX*32 + 11, // avx512vnni
94 Leaf7_0ECX*32 + 12, // avx512bitalg
95 Leaf7_0ECX*32 + 14, // avx512vpopcntdq
96 Leaf7_0EDX*32 + 2, // avx5124nniw
97 Leaf7_0EDX*32 + 3 // avx5124fmaps
98};
99
100// List of AVX512 features (see detectProcessorFeatures())
101static const quint64 AllAVX512 = 0
102 | CpuFeatureAVX512F
103 | CpuFeatureAVX512DQ
104 | CpuFeatureAVX512IFMA
105 | CpuFeatureAVX512PF
106 | CpuFeatureAVX512ER
107 | CpuFeatureAVX512CD
108 | CpuFeatureAVX512BW
109 | CpuFeatureAVX512VL
110 | CpuFeatureAVX512VBMI
111 | CpuFeatureAVX512VBMI2
112 | CpuFeatureAVX512VNNI
113 | CpuFeatureAVX512BITALG
114 | CpuFeatureAVX512VPOPCNTDQ
115 | CpuFeatureAVX5124NNIW
116 | CpuFeatureAVX5124FMAPS;
117

source code of qtbase/src/corelib/tools/qsimd_x86.cpp