@@ -1186,13 +1186,8 @@ func support() flagSet {
11861186 fs .setIf (edx & (1 << 30 ) != 0 , IA32_CORE_CAP )
11871187 fs .setIf (edx & (1 << 31 ) != 0 , SPEC_CTRL_SSBD )
11881188
1189- // CPUID.(EAX=7, ECX=1).EDX
1190- fs .setIf (edx & (1 << 4 ) != 0 , AVXVNNIINT8 )
1191- fs .setIf (edx & (1 << 5 ) != 0 , AVXNECONVERT )
1192- fs .setIf (edx & (1 << 14 ) != 0 , PREFETCHI )
1193-
11941189 // CPUID.(EAX=7, ECX=1).EAX
1195- eax1 , _ , _ , _ := cpuidex (7 , 1 )
1190+ eax1 , _ , _ , edx1 := cpuidex (7 , 1 )
11961191 fs .setIf (fs .inSet (AVX ) && eax1 & (1 << 4 ) != 0 , AVXVNNI )
11971192 fs .setIf (eax1 & (1 << 7 ) != 0 , CMPCCXADD )
11981193 fs .setIf (eax1 & (1 << 10 ) != 0 , MOVSB_ZL )
@@ -1202,6 +1197,11 @@ func support() flagSet {
12021197 fs .setIf (eax1 & (1 << 23 ) != 0 , AVXIFMA )
12031198 fs .setIf (eax1 & (1 << 26 ) != 0 , LAM )
12041199
1200+ // CPUID.(EAX=7, ECX=1).EDX
1201+ fs .setIf (edx1 & (1 << 4 ) != 0 , AVXVNNIINT8 )
1202+ fs .setIf (edx1 & (1 << 5 ) != 0 , AVXNECONVERT )
1203+ fs .setIf (edx1 & (1 << 14 ) != 0 , PREFETCHI )
1204+
12051205 // Only detect AVX-512 features if XGETBV is supported
12061206 if c & ((1 << 26 )| (1 << 27 )) == (1 << 26 )| (1 << 27 ) {
12071207 // Check for OS support
0 commit comments