aboutsummaryrefslogtreecommitdiff
path: root/internal/cpu
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-04-02 06:23:30 +0000
committerGravatar Runxi Yu2026-04-02 06:28:39 +0000
commita041d523de389b65b98a5373a8034041db2a8d83 (patch)
tree7b423dc735f463be616045f2c3c2095a7737aca7 /internal/cpu
parentresearch: Add dynamic pack resources (diff)
*: Remove
Diffstat (limited to 'internal/cpu')
-rw-r--r--internal/cpu/LICENSE27
-rw-r--r--internal/cpu/cpu.go9
-rw-r--r--internal/cpu/cpu_amd64.go34
-rw-r--r--internal/cpu/cpu_amd64.s22
-rw-r--r--internal/cpu/cpu_other.go3
5 files changed, 0 insertions, 95 deletions
diff --git a/internal/cpu/LICENSE b/internal/cpu/LICENSE
deleted file mode 100644
index 2a7cf70d..00000000
--- a/internal/cpu/LICENSE
+++ /dev/null
@@ -1,27 +0,0 @@
-Copyright 2009 The Go Authors.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
- * Neither the name of Google LLC nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/internal/cpu/cpu.go b/internal/cpu/cpu.go
deleted file mode 100644
index ab4cc0bd..00000000
--- a/internal/cpu/cpu.go
+++ /dev/null
@@ -1,9 +0,0 @@
-// Package cpu provides routines for CPU feature detection.
-package cpu
-
-// X86 contains x86 CPU feature flags detected at runtime.
-//
-//nolint:gochecknoglobals
-var X86 struct {
- HasAVX2 bool
-}
diff --git a/internal/cpu/cpu_amd64.go b/internal/cpu/cpu_amd64.go
deleted file mode 100644
index 7fe59633..00000000
--- a/internal/cpu/cpu_amd64.go
+++ /dev/null
@@ -1,34 +0,0 @@
-//go:build amd64 && !purego
-
-package cpu
-
-const (
- cpuidOSXSAVE = 1 << 27
- cpuidAVX = 1 << 28
- cpuidAVX2 = 1 << 5
-)
-
-// cpuid is implemented in cpu_amd64.s.
-func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32)
-
-// xgetbv with ecx = 0 is implemented in cpu_amd64.s.
-func xgetbv() (eax, edx uint32)
-
-func init() { //nolint:gochecknoinits
- maxID, _, _, _ := cpuid(0, 0)
- if maxID < 7 {
- return
- }
-
- _, _, ecx1, _ := cpuid(1, 0)
-
- osSupportsAVX := false
-
- if ecx1&cpuidOSXSAVE != 0 {
- eax, _ := xgetbv()
- osSupportsAVX = eax&(1<<1) != 0 && eax&(1<<2) != 0
- }
-
- _, ebx7, _, _ := cpuid(7, 0)
- X86.HasAVX2 = osSupportsAVX && ecx1&cpuidAVX != 0 && ebx7&cpuidAVX2 != 0
-}
diff --git a/internal/cpu/cpu_amd64.s b/internal/cpu/cpu_amd64.s
deleted file mode 100644
index 250a34e2..00000000
--- a/internal/cpu/cpu_amd64.s
+++ /dev/null
@@ -1,22 +0,0 @@
-//go:build amd64 && !purego
-
-#include "textflag.h"
-
-// func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32)
-TEXT ·cpuid(SB), NOSPLIT, $0-24
- MOVL eaxArg+0(FP), AX
- MOVL ecxArg+4(FP), CX
- CPUID
- MOVL AX, eax+8(FP)
- MOVL BX, ebx+12(FP)
- MOVL CX, ecx+16(FP)
- MOVL DX, edx+20(FP)
- RET
-
-// func xgetbv() (eax, edx uint32)
-TEXT ·xgetbv(SB), NOSPLIT, $0-8
- MOVL $0, CX
- XGETBV
- MOVL AX, eax+0(FP)
- MOVL DX, edx+4(FP)
- RET
diff --git a/internal/cpu/cpu_other.go b/internal/cpu/cpu_other.go
deleted file mode 100644
index 969c68ef..00000000
--- a/internal/cpu/cpu_other.go
+++ /dev/null
@@ -1,3 +0,0 @@
-//go:build !amd64 || purego
-
-package cpu