diff options
| author | Junyang Shao <shaojunyang@google.com> | 2025-06-20 19:35:35 +0000 |
|---|---|---|
| committer | Junyang Shao <shaojunyang@google.com> | 2025-06-23 08:29:43 -0700 |
| commit | dd63b7aa0e47da12c8db937e486e977690d2e19b (patch) | |
| tree | da674009ce2ed28f0fce7274f1bce27317368ba4 /src/simd | |
| parent | 0cdb2697d1fcfcb68669b5ca9f5e17b35f6b51bf (diff) | |
| download | go-dd63b7aa0e47da12c8db937e486e977690d2e19b.tar.xz | |
[dev.simd] simd: add AVX512 aggregated check
This added check could make AI test code generation's life easier.
Change-Id: I725f567100159acd1ee537e8b1e6cb9c9e2bc690
Reviewed-on: https://go-review.googlesource.com/c/go/+/683016
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src/simd')
| -rw-r--r-- | src/simd/cpu.go | 9 | ||||
| -rw-r--r-- | src/simd/simd_test.go | 20 |
2 files changed, 13 insertions, 16 deletions
diff --git a/src/simd/cpu.go b/src/simd/cpu.go index 52a5614e68..b07b5288f2 100644 --- a/src/simd/cpu.go +++ b/src/simd/cpu.go @@ -11,10 +11,7 @@ package simd import "internal/cpu" -func HasAVX512BW() bool { - return cpu.X86.HasAVX512BW -} - -func HasAVX512VL() bool { - return cpu.X86.HasAVX512VL +// HasAVX512 checks AVX512 CPU feature F+CD+BW+DQ+VL. +func HasAVX512() bool { + return cpu.X86.HasAVX512 } diff --git a/src/simd/simd_test.go b/src/simd/simd_test.go index c92463bb3f..28e25132e6 100644 --- a/src/simd/simd_test.go +++ b/src/simd/simd_test.go @@ -38,8 +38,8 @@ func TestType(t *testing.T) { v.y = &y sink = y - if !simd.HasAVX512BW() || !simd.HasAVX512VL() { - t.Skip("Test requires HasAVX512BW+VL, not available on this hardware") + if !simd.HasAVX512() { + t.Skip("Test requires HasAVX512, not available on this hardware") return } v.z = maskT(simd.LoadInt32x4(&maskv).AsMask32x4()) @@ -113,8 +113,8 @@ func TestAdd(t *testing.T) { } func TestVectorConversion(t *testing.T) { - if !simd.HasAVX512BW() || !simd.HasAVX512VL() { - t.Skip("Test requires HasAVX512BW+VL, not available on this hardware") + if !simd.HasAVX512() { + t.Skip("Test requires HasAVX512, not available on this hardware") return } xv := [4]int32{1, 2, 3, 4} @@ -131,8 +131,8 @@ func TestVectorConversion(t *testing.T) { } func TestMaskConversion(t *testing.T) { - if !simd.HasAVX512BW() || !simd.HasAVX512VL() { - t.Skip("Test requires HasAVX512BW+VL, not available on this hardware") + if !simd.HasAVX512() { + t.Skip("Test requires HasAVX512, not available on this hardware") return } v := [4]int32{1, 0, 1, 0} @@ -152,8 +152,8 @@ func TestMaskConversion(t *testing.T) { } func TestMaskedAdd(t *testing.T) { - if !simd.HasAVX512BW() || !simd.HasAVX512VL() { - t.Skip("Test requires HasAVX512BW+VL, not available on this hardware") + if !simd.HasAVX512() { + t.Skip("Test requires HasAVX512, not available on this hardware") return } xv := [4]int32{1, 2, 3, 4} @@ -180,8 +180,8 @@ func TestCompare(t *testing.T) { want := []int32{8, 0, 8, 0} x := simd.LoadInt32x4(&xv) y := simd.LoadInt32x4(&yv) - if !simd.HasAVX512BW() { - t.Skip("Test requires HasAVX512BW, not available on this hardware") + if !simd.HasAVX512() { + t.Skip("Test requires HasAVX512, not available on this hardware") return } mask := x.Greater(y) |
