| // 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. |
| |
| package midway |
| |
| import ( |
| "internal/buildcfg" |
| ) |
| |
| func rewriteSizes() []int { |
| switch buildcfg.GOARCH { |
| case "wasm": |
| return []int{0, 128} |
| case "amd64": |
| return []int{0, 128, 256, 512} |
| case "arm64": |
| return []int{0, 128} // this will change for SVE and cannot just be a size-based choice. |
| } |
| return nil |
| } |
| |
| const simdPkg = "simd" |
| const archFullPkg = "simd/internal/bridge" |
| const archPkg = "bridge" |
| const vectorSizeFn = "VectorBitSize" |
| const emulatedFn = "Emulated" |
| |
| func isSimdTypeName(s string) bool { |
| switch s { |
| case "Int8s", "Int16s", "Int32s", "Int64s", |
| "Uint8s", "Uint16s", "Uint32s", "Uint64s", |
| "Mask8s", "Mask16s", "Mask32s", "Mask64s", |
| "Float32s", "Float64s": |
| return true |
| } |
| return false |
| } |