aboutsummaryrefslogtreecommitdiff
path: root/src/simd/archsimd/_gen/tmplgen/main.go
diff options
context:
space:
mode:
authorDavid Chase <drchase@google.com>2026-01-28 22:13:38 +0200
committerDavid Chase <drchase@google.com>2026-01-28 13:41:19 -0800
commit985b0b3fe26661c10a3201470e80685765656363 (patch)
tree8a1bee9d90361ceb005ee4863da4a664a8b35ac5 /src/simd/archsimd/_gen/tmplgen/main.go
parent83b232b0af1bd498d3df099eb68e3b1e40df2527 (diff)
downloadgo-985b0b3fe26661c10a3201470e80685765656363.tar.xz
simd/archsimd: add missing cpufeature to generated mask/merge methods
Change-Id: I34678f4ef17fe1b8b7657a2c3d39685b4a5951f2 Reviewed-on: https://go-review.googlesource.com/c/go/+/739981 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'src/simd/archsimd/_gen/tmplgen/main.go')
-rw-r--r--src/simd/archsimd/_gen/tmplgen/main.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/simd/archsimd/_gen/tmplgen/main.go b/src/simd/archsimd/_gen/tmplgen/main.go
index 45338b765d..da7eae9029 100644
--- a/src/simd/archsimd/_gen/tmplgen/main.go
+++ b/src/simd/archsimd/_gen/tmplgen/main.go
@@ -801,6 +801,8 @@ func pa{{.VType}}(s []{{.Etype}}) *[{{.Count}}]{{.Etype}} {
var avx2MaskedTemplate = shapedTemplateOf(avx2Shapes, "avx2 .Masked methods", `
// Masked returns x but with elements zeroed where mask is false.
+//
+// Emulated, CPU Feature: {{.CPUfeature}}
func (x {{.VType}}) Masked(mask Mask{{.WxC}}) {{.VType}} {
im := mask.ToInt{{.WxC}}()
{{- if eq .Base "Int" }}
@@ -811,6 +813,8 @@ func (x {{.VType}}) Masked(mask Mask{{.WxC}}) {{.VType}} {
}
// Merge returns x but with elements set to y where mask is false.
+//
+// Emulated, CPU Feature: {{.CPUfeature}}
func (x {{.VType}}) Merge(y {{.VType}}, mask Mask{{.WxC}}) {{.VType}} {
{{- if eq .BxC .WxC -}}
im := mask.ToInt{{.BxC}}()
@@ -830,6 +834,8 @@ func (x {{.VType}}) Merge(y {{.VType}}, mask Mask{{.WxC}}) {{.VType}} {
// TODO perhaps write these in ways that work better on AVX512
var avx512MaskedTemplate = shapedTemplateOf(avx512Shapes, "avx512 .Masked methods", `
// Masked returns x but with elements zeroed where mask is false.
+//
+// Emulated, CPU Feature: AVX512
func (x {{.VType}}) Masked(mask Mask{{.WxC}}) {{.VType}} {
im := mask.ToInt{{.WxC}}()
{{- if eq .Base "Int" }}
@@ -840,6 +846,8 @@ func (x {{.VType}}) Masked(mask Mask{{.WxC}}) {{.VType}} {
}
// Merge returns x but with elements set to y where mask is false.
+//
+// Emulated, CPU Feature: AVX512
func (x {{.VType}}) Merge(y {{.VType}}, mask Mask{{.WxC}}) {{.VType}} {
{{- if eq .Base "Int" }}
return y.blendMasked(x, mask)