]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.simd] cmd/compile: test for int-to-mask conversion
authorDavid Chase <drchase@google.com>
Wed, 23 Jul 2025 18:11:35 +0000 (14:11 -0400)
committerDavid Chase <drchase@google.com>
Fri, 1 Aug 2025 21:26:25 +0000 (14:26 -0700)
Change-Id: If341cb2c25dc535cdebe6f539db3cab8917d5afe
Reviewed-on: https://go-review.googlesource.com/c/go/+/689937
Reviewed-by: Junyang Shao <shaojunyang@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/simd/simd_test.go

index 541a33d34ad3fa2f9069682eab954a22005584d1..72180a304691b2a4c5ae7d566b1b871adabe7adb 100644 (file)
@@ -428,3 +428,19 @@ func TestBitMaskStore(t *testing.T) {
                t.Errorf("Result incorrect: want %b, got %b", want, got)
        }
 }
+
+func TestBitMaskFromBits(t *testing.T) {
+       if !simd.HasAVX512() {
+               t.Skip("Test requires HasAVX512, not available on this hardware")
+               return
+       }
+       results := [2]int64{}
+       want := [2]int64{0, 6}
+       m := simd.Mask64x2FromBits(0b10)
+       simd.LoadInt64x2Slice([]int64{1, 2}).AddMasked(simd.LoadInt64x2Slice([]int64{3, 4}), m).Store(&results)
+       for i := range 2 {
+               if results[i] != want[i] {
+                       t.Errorf("Result at %d incorrect: want %v, got %v", i, want[i], results[i])
+               }
+       }
+}