var internal/cpu.X86

133 uses

	internal/cpu (current package)
		cpu.go#L23: var X86 struct {
		cpu_x86.go#L73: 		{Name: "adx", Feature: &X86.HasADX},
		cpu_x86.go#L74: 		{Name: "aes", Feature: &X86.HasAES},
		cpu_x86.go#L75: 		{Name: "erms", Feature: &X86.HasERMS},
		cpu_x86.go#L76: 		{Name: "fsrm", Feature: &X86.HasFSRM},
		cpu_x86.go#L77: 		{Name: "pclmulqdq", Feature: &X86.HasPCLMULQDQ},
		cpu_x86.go#L78: 		{Name: "rdtscp", Feature: &X86.HasRDTSCP},
		cpu_x86.go#L79: 		{Name: "sha", Feature: &X86.HasSHA},
		cpu_x86.go#L80: 		{Name: "vpclmulqdq", Feature: &X86.HasAVX512VPCLMULQDQ},
		cpu_x86.go#L87: 			option{Name: "popcnt", Feature: &X86.HasPOPCNT},
		cpu_x86.go#L88: 			option{Name: "sse3", Feature: &X86.HasSSE3},
		cpu_x86.go#L89: 			option{Name: "sse41", Feature: &X86.HasSSE41},
		cpu_x86.go#L90: 			option{Name: "sse42", Feature: &X86.HasSSE42},
		cpu_x86.go#L91: 			option{Name: "ssse3", Feature: &X86.HasSSSE3})
		cpu_x86.go#L97: 			option{Name: "avx", Feature: &X86.HasAVX},
		cpu_x86.go#L98: 			option{Name: "avx2", Feature: &X86.HasAVX2},
		cpu_x86.go#L99: 			option{Name: "bmi1", Feature: &X86.HasBMI1},
		cpu_x86.go#L100: 			option{Name: "bmi2", Feature: &X86.HasBMI2},
		cpu_x86.go#L101: 			option{Name: "fma", Feature: &X86.HasFMA})
		cpu_x86.go#L107: 			option{Name: "avx512f", Feature: &X86.HasAVX512F},
		cpu_x86.go#L108: 			option{Name: "avx512cd", Feature: &X86.HasAVX512CD},
		cpu_x86.go#L109: 			option{Name: "avx512bw", Feature: &X86.HasAVX512BW},
		cpu_x86.go#L110: 			option{Name: "avx512dq", Feature: &X86.HasAVX512DQ},
		cpu_x86.go#L111: 			option{Name: "avx512vl", Feature: &X86.HasAVX512VL},
		cpu_x86.go#L126: 	X86.HasSSE3 = isSet(ecx1, cpuid_SSE3)
		cpu_x86.go#L127: 	X86.HasPCLMULQDQ = isSet(ecx1, cpuid_PCLMULQDQ)
		cpu_x86.go#L128: 	X86.HasSSSE3 = isSet(ecx1, cpuid_SSSE3)
		cpu_x86.go#L129: 	X86.HasSSE41 = isSet(ecx1, cpuid_SSE41)
		cpu_x86.go#L130: 	X86.HasSSE42 = isSet(ecx1, cpuid_SSE42)
		cpu_x86.go#L131: 	X86.HasPOPCNT = isSet(ecx1, cpuid_POPCNT)
		cpu_x86.go#L132: 	X86.HasAES = isSet(ecx1, cpuid_AES)
		cpu_x86.go#L137: 	X86.HasOSXSAVE = isSet(ecx1, cpuid_OSXSAVE)
		cpu_x86.go#L142: 	if X86.HasOSXSAVE {
		cpu_x86.go#L154: 	X86.HasAVX = isSet(ecx1, cpuid_AVX) && osSupportsAVX
		cpu_x86.go#L162: 	X86.HasFMA = isSet(ecx1, cpuid_FMA) && X86.HasAVX && X86.HasOSXSAVE
		cpu_x86.go#L170: 	X86.HasBMI1 = isSet(ebx7, cpuid_BMI1)
		cpu_x86.go#L171: 	X86.HasAVX2 = isSet(ebx7, cpuid_AVX2) && osSupportsAVX
		cpu_x86.go#L172: 	X86.HasBMI2 = isSet(ebx7, cpuid_BMI2)
		cpu_x86.go#L173: 	X86.HasERMS = isSet(ebx7, cpuid_ERMS)
		cpu_x86.go#L174: 	X86.HasADX = isSet(ebx7, cpuid_ADX)
		cpu_x86.go#L175: 	X86.HasSHA = isSet(ebx7, cpuid_SHA)
		cpu_x86.go#L176: 	X86.HasVAES = isSet(ecx7, cpuid_VAES) && X86.HasAVX
		cpu_x86.go#L178: 	X86.HasAVX512F = isSet(ebx7, cpuid_AVX512F) && osSupportsAVX512
		cpu_x86.go#L179: 	if X86.HasAVX512F {
		cpu_x86.go#L180: 		X86.HasAVX512CD = isSet(ebx7, cpuid_AVX512CD)
		cpu_x86.go#L181: 		X86.HasAVX512BW = isSet(ebx7, cpuid_AVX512BW)
		cpu_x86.go#L182: 		X86.HasAVX512DQ = isSet(ebx7, cpuid_AVX512DQ)
		cpu_x86.go#L183: 		X86.HasAVX512VL = isSet(ebx7, cpuid_AVX512VL)
		cpu_x86.go#L184: 		X86.HasAVX512GFNI = isSet(ecx7, cpuid_AVX512GFNI)
		cpu_x86.go#L185: 		X86.HasAVX512BITALG = isSet(ecx7, cpuid_AVX512BITALG)
		cpu_x86.go#L186: 		X86.HasAVX512VPOPCNTDQ = isSet(ecx7, cpuid_AVX512VPOPCNTDQ)
		cpu_x86.go#L187: 		X86.HasAVX512VBMI = isSet(ecx7, cpuid_AVX512VBMI)
		cpu_x86.go#L188: 		X86.HasAVX512VBMI2 = isSet(ecx7, cpuid_AVX512VBMI2)
		cpu_x86.go#L189: 		X86.HasAVX512VAES = isSet(ecx7, cpuid_VAES) && X86.HasAES && isSet(ebx7, cpuid_AVX512VL)
		cpu_x86.go#L190: 		X86.HasAVX512VNNI = isSet(ecx7, cpuid_AVX512VNNI)
		cpu_x86.go#L191: 		X86.HasAVX512VPCLMULQDQ = isSet(ecx7, cpuid_AVX512VPCLMULQDQ)
		cpu_x86.go#L192: 		X86.HasAVX512VBMI = isSet(ecx7, cpuid_AVX512_VBMI)
		cpu_x86.go#L193: 		X86.HasAVX512VBMI2 = isSet(ecx7, cpuid_AVX512_VBMI2)
		cpu_x86.go#L194: 		X86.HasGFNI = isSet(ecx7, cpuid_GFNI)
		cpu_x86.go#L195: 		X86.HasAVX512BITALG = isSet(ecx7, cpuid_AVX512_BITALG)
		cpu_x86.go#L198: 	X86.HasFSRM = isSet(edx7, cpuid_FSRM)
		cpu_x86.go#L209: 	X86.HasRDTSCP = isSet(edxExt1, cpuid_RDTSCP)
		cpu_x86.go#L219: 		X86.HasAVX512 = X86.HasAVX512F && X86.HasAVX512CD && X86.HasAVX512BW && X86.HasAVX512DQ && X86.HasAVX512VL
		cpu_x86.go#L224: 		if X86.HasAVX {
		cpu_x86.go#L225: 			X86.HasAVXVNNI = isSet(eax71, cpuid_AVXVNNI)

	internal/bytealg
		bytealg.go#L23: 	offsetX86HasSSE42  = unsafe.Offsetof(cpu.X86.HasSSE42)
		bytealg.go#L24: 	offsetX86HasAVX2   = unsafe.Offsetof(cpu.X86.HasAVX2)
		bytealg.go#L25: 	offsetX86HasPOPCNT = unsafe.Offsetof(cpu.X86.HasPOPCNT)
		index_amd64.go#L12: 	if cpu.X86.HasAVX2 {

	internal/runtime/gc/scan
		scan_amd64.go#L37: var avx512ScanPackedReqsMet = cpu.X86.HasAVX512VL &&
		scan_amd64.go#L38: 	cpu.X86.HasAVX512BW &&
		scan_amd64.go#L39: 	cpu.X86.HasGFNI &&
		scan_amd64.go#L40: 	cpu.X86.HasAVX512BITALG &&
		scan_amd64.go#L41: 	cpu.X86.HasAVX512VBMI

	crypto/internal/fips140deps/cpu
		cpu.go#L40: 	X86HasAES       = cpu.X86.HasAES
		cpu.go#L41: 	X86HasADX       = cpu.X86.HasADX
		cpu.go#L42: 	X86HasAVX       = cpu.X86.HasAVX
		cpu.go#L43: 	X86HasAVX2      = cpu.X86.HasAVX2
		cpu.go#L44: 	X86HasBMI2      = cpu.X86.HasBMI2
		cpu.go#L45: 	X86HasPCLMULQDQ = cpu.X86.HasPCLMULQDQ
		cpu.go#L46: 	X86HasSHA       = cpu.X86.HasSHA
		cpu.go#L47: 	X86HasSSE41     = cpu.X86.HasSSE41
		cpu.go#L48: 	X86HasSSSE3     = cpu.X86.HasSSSE3

	crypto/sha1
		sha1block_amd64.go#L20: var useAVX2 = cpu.X86.HasAVX && cpu.X86.HasAVX2 && cpu.X86.HasBMI1 && cpu.X86.HasBMI2
		sha1block_amd64.go#L21: var useSHANI = cpu.X86.HasAVX && cpu.X86.HasSHA && cpu.X86.HasSSE41 && cpu.X86.HasSSSE3

	crypto/tls
		cipher_suites.go#L371: 	hasGCMAsmAMD64 = cpu.X86.HasAES && cpu.X86.HasPCLMULQDQ && cpu.X86.HasSSE41 && cpu.X86.HasSSSE3

	hash/crc32
		crc32_amd64.go#L18: 	offsetX86HasAVX512VPCLMULQDQL = unsafe.Offsetof(cpu.X86.HasAVX512VPCLMULQDQ)
		crc32_amd64.go#L55: 	return cpu.X86.HasSSE42
		crc32_amd64.go#L59: 	if !cpu.X86.HasSSE42 {
		crc32_amd64.go#L91: 	if !cpu.X86.HasSSE42 {
		crc32_amd64.go#L202: 	return cpu.X86.HasPCLMULQDQ && cpu.X86.HasSSE41
		crc32_amd64.go#L208: 	if !cpu.X86.HasPCLMULQDQ || !cpu.X86.HasSSE41 {
		crc32_amd64.go#L216: 	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#L11: var hasADX = cpu.X86.HasADX && cpu.X86.HasBMI2

	runtime
		alg.go#L395: 		cpu.X86.HasAES && // AESENC
		alg.go#L396: 		cpu.X86.HasSSSE3 && // PSHUFB
		alg.go#L397: 		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: 	offsetX86HasAVX512 = unsafe.Offsetof(cpu.X86.HasAVX512) // F+CD+BW+DQ+VL
		cpuflags.go#L17: 	offsetX86HasERMS   = unsafe.Offsetof(cpu.X86.HasERMS)
		cpuflags.go#L18: 	offsetX86HasRDTSCP = unsafe.Offsetof(cpu.X86.HasRDTSCP)
		cpuflags_amd64.go#L31: 	useREPMOV := isERMSNiceCPU && cpu.X86.HasERMS && cpu.X86.HasFSRM
		cpuflags_amd64.go#L32: 	if cpu.X86.HasAVX {
		proc.go#L767: 		x86HasAVX = cpu.X86.HasAVX
		proc.go#L768: 		x86HasFMA = cpu.X86.HasFMA
		proc.go#L769: 		x86HasPOPCNT = cpu.X86.HasPOPCNT
		proc.go#L770: 		x86HasSSE41 = cpu.X86.HasSSE41