diff options
| author | 2025-03-09 17:47:56 +0100 | |
|---|---|---|
| committer | 2025-12-01 22:08:04 +0100 | |
| commit | b1af8fd87760b34e3ff2fd3bda38f211815a0473 (patch) | |
| tree | 9317fad1a7ec298d7a8d2678e4e422953bbc6f33 /vendor/github.com/cloudwego/base64x/internal/native/dispatch.go | |
| parent | [chore] update URLs to forked source (diff) | |
| download | gotosocial-b1af8fd87760b34e3ff2fd3bda38f211815a0473.tar.xz | |
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/cloudwego/base64x/internal/native/dispatch.go')
| -rw-r--r-- | vendor/github.com/cloudwego/base64x/internal/native/dispatch.go | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/vendor/github.com/cloudwego/base64x/internal/native/dispatch.go b/vendor/github.com/cloudwego/base64x/internal/native/dispatch.go deleted file mode 100644 index c4f489b10..000000000 --- a/vendor/github.com/cloudwego/base64x/internal/native/dispatch.go +++ /dev/null @@ -1,63 +0,0 @@ -package native - -import ( - "unsafe" - - `github.com/klauspost/cpuid/v2` - "github.com/cloudwego/base64x/internal/rt" - "github.com/cloudwego/base64x/internal/native/avx2" - "github.com/cloudwego/base64x/internal/native/sse" -) - -var ( - hasAVX2 = cpuid.CPU.Has(cpuid.AVX2) - hasSSE = cpuid.CPU.Has(cpuid.SSE) -) - -var ( - S_b64decode uintptr - S_b64encode uintptr -) - -var ( - F_b64decode func(out unsafe.Pointer, src unsafe.Pointer, len int, mod int) (ret int) - F_b64encode func(out unsafe.Pointer, src unsafe.Pointer, mod int) -) - -func useAVX2() { - avx2.Use() - S_b64decode = avx2.S_b64decode - S_b64encode = avx2.S_b64encode - - F_b64decode = avx2.F_b64decode - F_b64encode = avx2.F_b64encode -} - -func useSSE() { - sse.Use() - S_b64decode = sse.S_b64decode - S_b64encode = sse.S_b64encode - - F_b64decode = sse.F_b64decode - F_b64encode = sse.F_b64encode -} - -//go:nosplit -func B64Decode(out *[]byte, src unsafe.Pointer, len int, mod int) (ret int) { - return F_b64decode(rt.NoEscape(unsafe.Pointer(out)), rt.NoEscape(unsafe.Pointer(src)), len, mod) -} - -//go:nosplit -func B64Encode(out *[]byte, src *[]byte, mod int) { - F_b64encode(rt.NoEscape(unsafe.Pointer(out)), rt.NoEscape(unsafe.Pointer(src)), mod) -} - -func init() { - if hasAVX2 { - useAVX2() - } else if hasSSE { - useSSE() - } else { - panic("Unsupported CPU, lacks of AVX2 or SSE CPUID Flag. maybe it's too old to run Sonic.") - } -} |
