simd/archsimd: skip tests if AVX is not available

The simd operations require AVX. If AVX is not available, skip the
tests.

Change-Id: I3c384ba07e1e6c2c198dfb27bc84a2e27f825680
Reviewed-on: https://go-review.googlesource.com/c/go/+/729820
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
diff --git a/src/simd/archsimd/internal/simd_test/simd_test.go b/src/simd/archsimd/internal/simd_test/simd_test.go
index 1f57f60..83925ae 100644
--- a/src/simd/archsimd/internal/simd_test/simd_test.go
+++ b/src/simd/archsimd/internal/simd_test/simd_test.go
@@ -7,12 +7,22 @@
 package simd_test
 
 import (
+	"fmt"
+	"os"
 	"reflect"
 	"simd/archsimd"
 	"slices"
 	"testing"
 )
 
+func TestMain(m *testing.M) {
+	if !archsimd.X86.AVX() {
+		fmt.Fprintln(os.Stderr, "Skipping tests: AVX is not available")
+		os.Exit(0)
+	}
+	os.Exit(m.Run())
+}
+
 var sink any
 
 func TestType(t *testing.T) {
diff --git a/src/simd/archsimd/pkginternal_test.go b/src/simd/archsimd/pkginternal_test.go
index a20da34..2b9dea1 100644
--- a/src/simd/archsimd/pkginternal_test.go
+++ b/src/simd/archsimd/pkginternal_test.go
@@ -7,11 +7,21 @@
 package archsimd_test
 
 import (
+	"fmt"
+	"os"
 	"simd/archsimd"
 	"simd/archsimd/internal/test_helpers"
 	"testing"
 )
 
+func TestMain(m *testing.M) {
+	if !archsimd.X86.AVX() {
+		fmt.Fprintln(os.Stderr, "Skipping tests: AVX is not available")
+		os.Exit(0)
+	}
+	os.Exit(m.Run())
+}
+
 func TestConcatSelectedConstant64(t *testing.T) {
 	a := make([]int64, 2)
 	x := archsimd.LoadInt64x2Slice([]int64{4, 5})