We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 552c4e8 commit eabbd5cCopy full SHA for eabbd5c
cpu/cpu.go
@@ -54,6 +54,9 @@ var X86 struct {
54
HasAVX512VBMI2 bool // Advanced vector extension 512 Vector Byte Manipulation Instructions 2
55
HasAVX512BITALG bool // Advanced vector extension 512 Bit Algorithms
56
HasAVX512BF16 bool // Advanced vector extension 512 BFloat16 Instructions
57
+ HasAMXTile bool // Advanced Matrix Extension Tile instructions
58
+ HasAMXInt8 bool // Advanced Matrix Extension Int8 instructions
59
+ HasAMXBF16 bool // Advanced Matrix Extension BFloat16 instructions
60
HasBMI1 bool // Bit manipulation instruction set 1
61
HasBMI2 bool // Bit manipulation instruction set 2
62
HasCX16 bool // Compare and exchange 16 Bytes
cpu/cpu_x86.go
@@ -37,6 +37,9 @@ func initOptions() {
37
{Name: "avx512vbmi2", Feature: &X86.HasAVX512VBMI2},
38
{Name: "avx512bitalg", Feature: &X86.HasAVX512BITALG},
39
{Name: "avx512bf16", Feature: &X86.HasAVX512BF16},
40
+ {Name: "amxtile", Feature: &X86.HasAMXTile},
41
+ {Name: "amxint8", Feature: &X86.HasAMXInt8},
42
+ {Name: "amxbf16", Feature: &X86.HasAMXBF16},
43
{Name: "bmi1", Feature: &X86.HasBMI1},
44
{Name: "bmi2", Feature: &X86.HasBMI2},
45
{Name: "cx16", Feature: &X86.HasCX16},
@@ -138,6 +141,10 @@ func archInit() {
138
141
eax71, _, _, _ := cpuid(7, 1)
139
142
X86.HasAVX512BF16 = isSet(5, eax71)
140
143
}
144
+
145
+ X86.HasAMXTile = isSet(24, edx7)
146
+ X86.HasAMXInt8 = isSet(25, edx7)
147
+ X86.HasAMXBF16 = isSet(22, edx7)
148
149
150
func isSet(bitpos uint, value uint32) bool {
0 commit comments