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 | } | ||