diff options
| author | David Chase <drchase@google.com> | 2026-01-28 22:13:38 +0200 |
|---|---|---|
| committer | David Chase <drchase@google.com> | 2026-01-28 13:41:19 -0800 |
| commit | 985b0b3fe26661c10a3201470e80685765656363 (patch) | |
| tree | 8a1bee9d90361ceb005ee4863da4a664a8b35ac5 /src/simd/archsimd/_gen | |
| parent | 83b232b0af1bd498d3df099eb68e3b1e40df2527 (diff) | |
| download | go-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')
| -rw-r--r-- | src/simd/archsimd/_gen/tmplgen/main.go | 8 |
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) |
