Files
Junyang Shao b70242b3b9 [dev.simd] simd, cmd/compile: rename loads and stores
This CL contains API renamings:

Loads:
Adjust these names to be "scalable first"
LoadT => LoadTArray
LoadTSlice => LoadT
LoadTSlicePart(s []E) T => LoadTPart(s []E) T (note: the next CL will further refine it to return the elements loaded)
LoadTMasked - Let's drop this for now. Passing an array defeats the main purpose of suppressing faults. Passing a slice would require extra work bounds-checking work. It's not clear how to translate this into Go.

Stores:
T.Store => T.StoreArray (not necessary, but gives symmetry and compile-time bounds checking)
T.StoreSlice => T.Store
T.StoreSlicePart => T.StorePart
T.StoreMasked => T.StoreArrayMasked
We may want a slice version of masked store, but we'll leave it out for now. It requires bounds checking. Mostly this will be served by StorePart.

For #78979.

Change-Id: I16dbc269b4566380c19e769892ea55d849024e53
Reviewed-on: https://go-review.googlesource.com/c/go/+/775600
LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
2026-05-08 09:33:15 -07:00

25 lines
409 B
Go

// run -gcflags=all=-d=checkptr
//go:build goexperiment.simd && amd64
// Copyright 2026 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.
// Test case for issue #78413.
package main
import (
"simd/archsimd"
)
//go:noinline
func F() []int32 {
return []int32{0}
}
func main() {
archsimd.LoadInt32x8Part(F())
}