aboutsummaryrefslogtreecommitdiff
path: root/src/simd
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2025-08-11 16:03:41 -0400
committerGopher Robot <gobot@golang.org>2025-08-11 13:45:36 -0700
commit702ee2d51ed0522e3942d0dd2819e2c8cb8a10f2 (patch)
tree1046b5a22386c698a11b8205159b085ce8456f89 /src/simd
parente33eb1a7a53a218f86847fc1af354bc54fa8cae4 (diff)
downloadgo-702ee2d51ed0522e3942d0dd2819e2c8cb8a10f2.tar.xz
[dev.simd] cmd/compile, simd: update generated files
This CL is generated by x/arch CL 694861 Change-Id: I2af1aaacbe9374d98b13be972713fc2cb1177927 Reviewed-on: https://go-review.googlesource.com/c/go/+/694918 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Junyang Shao <shaojunyang@google.com> Auto-Submit: Austin Clements <austin@google.com>
Diffstat (limited to 'src/simd')
-rw-r--r--src/simd/cpu.go74
1 files changed, 52 insertions, 22 deletions
diff --git a/src/simd/cpu.go b/src/simd/cpu.go
index 7bc5116525..cbde9a8e1f 100644
--- a/src/simd/cpu.go
+++ b/src/simd/cpu.go
@@ -1,62 +1,92 @@
-// Copyright 2025 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
+// Code generated by x/arch/internal/simdgen using 'go run . -xedPath $XED_PATH -o godefs -goroot $GOROOT go.yaml types.yaml categories.yaml'; DO NOT EDIT.
//go:build goexperiment.simd
-// The build condition == if the experiment is not on, cmd/api TestCheck will see this and complain
-// see also go/doc/comment, where "simd" is inserted to the package list of the experiment is not on.
-
package simd
import "internal/cpu"
-// HasAVX checks AVX CPU feature.
+// HasAVX returns whether the CPU supports the AVX feature.
+//
+// HasAVX is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
func HasAVX() bool {
return cpu.X86.HasAVX
}
-// HasAVXVNNI checks AVX CPU feature VNNI.
-func HasAVXVNNI() bool {
- return cpu.X86.HasAVXVNNI
-}
-
-// HasAVX2 checks AVX2 CPU feature.
+// HasAVX2 returns whether the CPU supports the AVX2 feature.
+//
+// HasAVX2 is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
func HasAVX2() bool {
return cpu.X86.HasAVX2
}
-// HasAVX512 checks AVX512 CPU feature F+CD+BW+DQ+VL.
+// HasAVX512 returns whether the CPU supports the AVX512F+CD+BW+DQ+VL features.
+//
+// These five CPU features are bundled together, and no use of AVX-512
+// is allowed unless all of these features are supported together.
+// Nearly every CPU that has shipped with any support for AVX-512 has
+// supported all five of these features.
+//
+// HasAVX512 is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
func HasAVX512() bool {
return cpu.X86.HasAVX512
}
-// HasAVX512GFNI checks AVX512 CPU feature GFNI.
+// HasAVX512BITALG returns whether the CPU supports the AVX512BITALG feature.
+//
+// HasAVX512BITALG is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
+func HasAVX512BITALG() bool {
+ return cpu.X86.HasAVX512BITALG
+}
+
+// HasAVX512GFNI returns whether the CPU supports the AVX512GFNI feature.
+//
+// HasAVX512GFNI is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
func HasAVX512GFNI() bool {
return cpu.X86.HasAVX512GFNI
}
-// HasAVX512VBMI checks AVX512 CPU feature VBMI
+// HasAVX512VBMI returns whether the CPU supports the AVX512VBMI feature.
+//
+// HasAVX512VBMI is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
func HasAVX512VBMI() bool {
return cpu.X86.HasAVX512VBMI
}
-// HasAVX512VBMI2 checks AVX512 CPU feature VBMI2
+// HasAVX512VBMI2 returns whether the CPU supports the AVX512VBMI2 feature.
+//
+// HasAVX512VBMI2 is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
func HasAVX512VBMI2() bool {
return cpu.X86.HasAVX512VBMI2
}
-// HasAVX512VNNI checks AVX512 CPU feature VNNI
+// HasAVX512VNNI returns whether the CPU supports the AVX512VNNI feature.
+//
+// HasAVX512VNNI is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
func HasAVX512VNNI() bool {
return cpu.X86.HasAVX512VNNI
}
-// HasAVX512VPOPCNTDQ checks AVX512 CPU feature VPOPCNTDQ
+// HasAVX512VPOPCNTDQ returns whether the CPU supports the AVX512VPOPCNTDQ feature.
+//
+// HasAVX512VPOPCNTDQ is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
func HasAVX512VPOPCNTDQ() bool {
return cpu.X86.HasAVX512VPOPCNTDQ
}
-// HasAVX512BITALG checks AVX512 CPU feature BITALG
-func HasAVX512BITALG() bool {
- return cpu.X86.HasAVX512BITALG
+// HasAVXVNNI returns whether the CPU supports the AVXVNNI feature.
+//
+// HasAVXVNNI is defined on all GOARCHes, but will only return true on
+// GOARCH amd64.
+func HasAVXVNNI() bool {
+ return cpu.X86.HasAVXVNNI
}