@@ -94,8 +94,11 @@ const (
94
94
AVX512VNNI // AVX-512 Vector Neural Network Instructions
95
95
AVX512VP2INTERSECT // AVX-512 Intersect for D/Q
96
96
AVX512VPOPCNTDQ // AVX-512 Vector Population Count Doubleword and Quadword
97
+ AVXIFMA // AVX-IFMA instructions
98
+ AVXNECONVERT // AVX-NE-CONVERT instructions
97
99
AVXSLOW // Indicates the CPU performs 2 128 bit operations instead of one
98
100
AVXVNNI // AVX (VEX encoded) VNNI neural network instructions
101
+ AVXVNNIINT8 // AVX-VNNI-INT8 instructions
99
102
BMI1 // Bit Manipulation Instruction Set 1
100
103
BMI2 // Bit Manipulation Instruction Set 2
101
104
CETIBT // Intel CET Indirect Branch Tracking
@@ -104,6 +107,7 @@ const (
104
107
CLMUL // Carry-less Multiplication
105
108
CLZERO // CLZERO instruction supported
106
109
CMOV // i686 CMOV
110
+ CMPCCXADD // CMPCCXADD instructions
107
111
CMPSB_SCADBS_SHORT // Fast short CMPSB and SCASB
108
112
CMPXCHG8 // CMPXCHG8 instruction
109
113
CPBOOST // Core Performance Boost
@@ -1178,15 +1182,19 @@ func support() flagSet {
1178
1182
fs .setIf (edx & (1 << 31 ) != 0 , SPEC_CTRL_SSBD )
1179
1183
1180
1184
// CPUID.(EAX=7, ECX=1).EDX
1185
+ fs .setIf (edx & (1 << 4 ) != 0 , AVXVNNIINT8 )
1186
+ fs .setIf (edx & (1 << 5 ) != 0 , AVXNECONVERT )
1181
1187
fs .setIf (edx & (1 << 14 ) != 0 , PREFETCHI )
1182
1188
1183
- // CPUID.(EAX=7, ECX=1)
1189
+ // CPUID.(EAX=7, ECX=1).EAX
1184
1190
eax1 , _ , _ , _ := cpuidex (7 , 1 )
1185
1191
fs .setIf (fs .inSet (AVX ) && eax1 & (1 << 4 ) != 0 , AVXVNNI )
1192
+ fs .setIf (eax1 & (1 << 7 ) != 0 , CMPCCXADD )
1186
1193
fs .setIf (eax1 & (1 << 10 ) != 0 , MOVSB_ZL )
1187
1194
fs .setIf (eax1 & (1 << 11 ) != 0 , STOSB_SHORT )
1188
1195
fs .setIf (eax1 & (1 << 12 ) != 0 , CMPSB_SCADBS_SHORT )
1189
1196
fs .setIf (eax1 & (1 << 22 ) != 0 , HRESET )
1197
+ fs .setIf (eax1 & (1 << 23 ) != 0 , AVXIFMA )
1190
1198
fs .setIf (eax1 & (1 << 26 ) != 0 , LAM )
1191
1199
1192
1200
// Only detect AVX-512 features if XGETBV is supported
0 commit comments