diff options
| author | Rutger Broekhoff | 2023-12-29 21:31:53 +0100 |
|---|---|---|
| committer | Rutger Broekhoff | 2023-12-29 21:31:53 +0100 |
| commit | 404aeae4545d2426c089a5f8d5e82dae56f5212b (patch) | |
| tree | 2d84e00af272b39fc04f3795ae06bc48970e57b5 /vendor/github.com/klauspost/cpuid/v2/detect_x86.go | |
| parent | 209d8b0187ed025dec9ac149ebcced3462877bff (diff) | |
| download | gitolfs3-404aeae4545d2426c089a5f8d5e82dae56f5212b.tar.gz gitolfs3-404aeae4545d2426c089a5f8d5e82dae56f5212b.zip | |
Make Nix builds work
Diffstat (limited to 'vendor/github.com/klauspost/cpuid/v2/detect_x86.go')
| -rw-r--r-- | vendor/github.com/klauspost/cpuid/v2/detect_x86.go | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go new file mode 100644 index 0000000..c7dfa12 --- /dev/null +++ b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. | ||
| 2 | |||
| 3 | //go:build (386 && !gccgo && !noasm && !appengine) || (amd64 && !gccgo && !noasm && !appengine) | ||
| 4 | // +build 386,!gccgo,!noasm,!appengine amd64,!gccgo,!noasm,!appengine | ||
| 5 | |||
| 6 | package cpuid | ||
| 7 | |||
| 8 | func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) | ||
| 9 | func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) | ||
| 10 | func asmXgetbv(index uint32) (eax, edx uint32) | ||
| 11 | func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) | ||
| 12 | func asmDarwinHasAVX512() bool | ||
| 13 | |||
| 14 | func initCPU() { | ||
| 15 | cpuid = asmCpuid | ||
| 16 | cpuidex = asmCpuidex | ||
| 17 | xgetbv = asmXgetbv | ||
| 18 | rdtscpAsm = asmRdtscpAsm | ||
| 19 | darwinHasAVX512 = asmDarwinHasAVX512 | ||
| 20 | } | ||
| 21 | |||
| 22 | func addInfo(c *CPUInfo, safe bool) { | ||
| 23 | c.maxFunc = maxFunctionID() | ||
| 24 | c.maxExFunc = maxExtendedFunction() | ||
| 25 | c.BrandName = brandName() | ||
| 26 | c.CacheLine = cacheLine() | ||
| 27 | c.Family, c.Model, c.Stepping = familyModel() | ||
| 28 | c.featureSet = support() | ||
| 29 | c.SGX = hasSGX(c.featureSet.inSet(SGX), c.featureSet.inSet(SGXLC)) | ||
| 30 | c.ThreadsPerCore = threadsPerCore() | ||
| 31 | c.LogicalCores = logicalCores() | ||
| 32 | c.PhysicalCores = physicalCores() | ||
| 33 | c.VendorID, c.VendorString = vendorID() | ||
| 34 | c.AVX10Level = c.supportAVX10() | ||
| 35 | c.cacheSize() | ||
| 36 | c.frequencies() | ||
| 37 | } | ||