12345678910111213141516171819202122232425262728293031323334 |
- // Package cpuinfo gives runtime info about the current CPU.
- //
- // This is a very limited module meant for use internally
- // in this project. For more versatile solution check
- // https://github.com/klauspost/cpuid.
- package cpuinfo
- // HasBMI1 checks whether an x86 CPU supports the BMI1 extension.
- func HasBMI1() bool {
- return hasBMI1
- }
- // HasBMI2 checks whether an x86 CPU supports the BMI2 extension.
- func HasBMI2() bool {
- return hasBMI2
- }
- // DisableBMI2 will disable BMI2, for testing purposes.
- // Call returned function to restore previous state.
- func DisableBMI2() func() {
- old := hasBMI2
- hasBMI2 = false
- return func() {
- hasBMI2 = old
- }
- }
- // HasBMI checks whether an x86 CPU supports both BMI1 and BMI2 extensions.
- func HasBMI() bool {
- return HasBMI1() && HasBMI2()
- }
- var hasBMI1 bool
- var hasBMI2 bool
|