var internal/cpu.X86
74 uses
internal/cpu (current package)
cpu.go#L26: var X86 struct {
cpu_x86.go#L48: {Name: "adx", Feature: &X86.HasADX},
cpu_x86.go#L49: {Name: "aes", Feature: &X86.HasAES},
cpu_x86.go#L50: {Name: "avx", Feature: &X86.HasAVX},
cpu_x86.go#L51: {Name: "avx2", Feature: &X86.HasAVX2},
cpu_x86.go#L52: {Name: "bmi1", Feature: &X86.HasBMI1},
cpu_x86.go#L53: {Name: "bmi2", Feature: &X86.HasBMI2},
cpu_x86.go#L54: {Name: "erms", Feature: &X86.HasERMS},
cpu_x86.go#L55: {Name: "fma", Feature: &X86.HasFMA},
cpu_x86.go#L56: {Name: "pclmulqdq", Feature: &X86.HasPCLMULQDQ},
cpu_x86.go#L57: {Name: "popcnt", Feature: &X86.HasPOPCNT},
cpu_x86.go#L58: {Name: "rdtscp", Feature: &X86.HasRDTSCP},
cpu_x86.go#L59: {Name: "sse3", Feature: &X86.HasSSE3},
cpu_x86.go#L60: {Name: "sse41", Feature: &X86.HasSSE41},
cpu_x86.go#L61: {Name: "sse42", Feature: &X86.HasSSE42},
cpu_x86.go#L62: {Name: "ssse3", Feature: &X86.HasSSSE3},
cpu_x86.go#L75: X86.HasSSE3 = isSet(ecx1, cpuid_SSE3)
cpu_x86.go#L76: X86.HasPCLMULQDQ = isSet(ecx1, cpuid_PCLMULQDQ)
cpu_x86.go#L77: X86.HasSSSE3 = isSet(ecx1, cpuid_SSSE3)
cpu_x86.go#L78: X86.HasSSE41 = isSet(ecx1, cpuid_SSE41)
cpu_x86.go#L79: X86.HasSSE42 = isSet(ecx1, cpuid_SSE42)
cpu_x86.go#L80: X86.HasPOPCNT = isSet(ecx1, cpuid_POPCNT)
cpu_x86.go#L81: X86.HasAES = isSet(ecx1, cpuid_AES)
cpu_x86.go#L86: X86.HasOSXSAVE = isSet(ecx1, cpuid_OSXSAVE)
cpu_x86.go#L92: X86.HasFMA = isSet(ecx1, cpuid_FMA) && X86.HasOSXSAVE
cpu_x86.go#L96: if X86.HasOSXSAVE {
cpu_x86.go#L102: X86.HasAVX = isSet(ecx1, cpuid_AVX) && osSupportsAVX
cpu_x86.go#L109: X86.HasBMI1 = isSet(ebx7, cpuid_BMI1)
cpu_x86.go#L110: X86.HasAVX2 = isSet(ebx7, cpuid_AVX2) && osSupportsAVX
cpu_x86.go#L111: X86.HasBMI2 = isSet(ebx7, cpuid_BMI2)
cpu_x86.go#L112: X86.HasERMS = isSet(ebx7, cpuid_ERMS)
cpu_x86.go#L113: X86.HasADX = isSet(ebx7, cpuid_ADX)
cpu_x86.go#L123: X86.HasRDTSCP = isSet(edxExt1, cpuid_RDTSCP)
internal/bytealg
bytealg.go#L14: offsetX86HasSSE42 = unsafe.Offsetof(cpu.X86.HasSSE42)
bytealg.go#L15: offsetX86HasAVX2 = unsafe.Offsetof(cpu.X86.HasAVX2)
bytealg.go#L16: offsetX86HasPOPCNT = unsafe.Offsetof(cpu.X86.HasPOPCNT)
index_amd64.go#L12: if cpu.X86.HasAVX2 {
crypto/aes
cipher_asm.go#L30: var supportsAES = cpu.X86.HasAES || cpu.ARM64.HasAES
cipher_asm.go#L31: var supportsGFMUL = cpu.X86.HasPCLMULQDQ || cpu.ARM64.HasPMULL
crypto/sha1
sha1block_amd64.go#L15: var useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI1 && cpu.X86.HasBMI2
crypto/sha256
sha256block_amd64.go#L9: var useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI2
crypto/sha512
sha512block_amd64.go#L17: var useAVX2 = cpu.X86.HasAVX2 && cpu.X86.HasBMI1 && cpu.X86.HasBMI2
crypto/tls
cipher_suites.go#L358: hasGCMAsmAMD64 = cpu.X86.HasAES && cpu.X86.HasPCLMULQDQ
hash/crc32
crc32_amd64.go#L47: return cpu.X86.HasSSE42
crc32_amd64.go#L51: if !cpu.X86.HasSSE42 {
crc32_amd64.go#L83: if !cpu.X86.HasSSE42 {
crc32_amd64.go#L194: return cpu.X86.HasPCLMULQDQ && cpu.X86.HasSSE41
crc32_amd64.go#L200: if !cpu.X86.HasPCLMULQDQ || !cpu.X86.HasSSE41 {
crc32_amd64.go#L208: if !cpu.X86.HasPCLMULQDQ || !cpu.X86.HasSSE41 {
math
exp_amd64.go#L11: var useFMA = cpu.X86.HasAVX && cpu.X86.HasFMA
math/big
arith_amd64.go#L12: var support_adx = cpu.X86.HasADX && cpu.X86.HasBMI2
runtime
alg.go#L314: cpu.X86.HasAES && // AESENC
alg.go#L315: cpu.X86.HasSSSE3 && // PSHUFB
alg.go#L316: cpu.X86.HasSSE41 { // PINSR{D,Q}
cpuflags.go#L14: offsetX86HasAVX = unsafe.Offsetof(cpu.X86.HasAVX)
cpuflags.go#L15: offsetX86HasAVX2 = unsafe.Offsetof(cpu.X86.HasAVX2)
cpuflags.go#L16: offsetX86HasERMS = unsafe.Offsetof(cpu.X86.HasERMS)
cpuflags.go#L17: offsetX86HasRDTSCP = unsafe.Offsetof(cpu.X86.HasRDTSCP)
cpuflags_amd64.go#L23: useAVXmemmove = cpu.X86.HasAVX && !isIntelBridgeFamily
proc.go#L636: x86HasPOPCNT = cpu.X86.HasPOPCNT
proc.go#L637: x86HasSSE41 = cpu.X86.HasSSE41
proc.go#L638: x86HasFMA = cpu.X86.HasFMA