cpuid.go 392 B

1234567891011121314151617
  1. package base64x
  2. import (
  3. `fmt`
  4. `os`
  5. `github.com/klauspost/cpuid/v2`
  6. )
  7. func hasAVX2() bool {
  8. switch v := os.Getenv("B64X_MODE"); v {
  9. case "" : fallthrough
  10. case "auto" : return cpuid.CPU.Has(cpuid.AVX2)
  11. case "noavx2" : return false
  12. default : panic(fmt.Sprintf("invalid mode: '%s', should be one of 'auto', 'noavx2'", v))
  13. }
  14. }