package cpu

Import Path
	vendor/golang.org/x/sys/cpu (on golang.org and go.dev)

Dependency Relation
	imports 4 packages, and imported by one package

Involved Source Files byteorder.go Package cpu implements processor feature detection for various CPU architectures. cpu_gc_x86.go cpu_linux_noinit.go cpu_x86.go hwcap_linux.go cpu_x86.s
Package-Level Type Names (only one)
/* sort by: | */
CacheLinePad is used to pad structs to avoid false sharing.
Package-Level Variables (total 7)
ARM contains the supported CPU features of the current ARM (32-bit) platform. All feature flags are false if: 1. the current platform is not arm, or 2. the current operating system is not Linux.
ARM64 contains the supported CPU features of the current ARMv8(aarch64) platform. If the current platform is not arm64 then all feature flags are false.
Initialized reports whether the CPU features were initialized. For some GOOS/GOARCH combinations initialization of the CPU features depends on reading an operating specific file, e.g. /proc/self/auxv on linux/arm Initialized will report false if reading the file fails.
MIPS64X contains the supported CPU features of the current mips64/mips64le platforms. If the current platform is not mips64/mips64le or the current operating system is not Linux then all feature flags are false.
PPC64 contains the supported CPU features of the current ppc64/ppc64le platforms. If the current platform is not ppc64/ppc64le then all feature flags are false. For ppc64/ppc64le, it is safe to check only for ISA level starting on ISA v3.00, since there are no optional categories. There are some exceptions that also require kernel support to work (DARN, SCV), so there are feature bits for those as well. The minimum processor requirement is POWER8 (ISA 2.07). The struct is padded to avoid false sharing.
S390X contains the supported CPU features of the current IBM Z (s390x) platform. If the current platform is not IBM Z then all feature flags are false. S390X is padded to avoid false sharing. Further HasVX is only set if the OS supports vector registers in addition to the STFLE feature bit being set.
X86 contains the supported CPU features of the current X86/AMD64 platform. If the current platform is not X86/AMD64 then all feature flags are false. X86 is padded to avoid false sharing. Further the HasAVX and HasAVX2 are only set if the OS supports XMM and YMM registers in addition to the CPUID feature bit being set.