]> Cypherpunks repositories - gostls13.git/commit
[dev.simd] cmd/compile: add masked merging ops and optimizations
authorJunyang Shao <shaojunyang@google.com>
Wed, 5 Nov 2025 19:25:00 +0000 (19:25 +0000)
committerJunyang Shao <shaojunyang@google.com>
Tue, 11 Nov 2025 21:34:39 +0000 (13:34 -0800)
commit86b4fe31d9b7fe4b249a3a8007290305eaa4f16a
tree23f7b2fed426e41c055c39d864835012e602119c
parent771a1dc216ff02dd23c78ada35a207a363690d11
[dev.simd] cmd/compile: add masked merging ops and optimizations

This CL generates optimizations for masked variant of AVX512
instructions for patterns:

x.Op(y).Merge(z, mask) => OpMasked(z, x, y mask), where OpMasked is
resultInArg0.

Change-Id: Ife7ccc9ddbf76ae921a085bd6a42b965da9bc179
Reviewed-on: https://go-review.googlesource.com/c/go/+/718160
Reviewed-by: David Chase <drchase@google.com>
TryBot-Bypass: Junyang Shao <shaojunyang@google.com>
15 files changed:
src/cmd/compile/internal/amd64/simdssa.go
src/cmd/compile/internal/amd64/ssa.go
src/cmd/compile/internal/ssa/_gen/AMD64Ops.go
src/cmd/compile/internal/ssa/_gen/simdAMD64.rules
src/cmd/compile/internal/ssa/_gen/simdAMD64ops.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/simd/_gen/simdgen/gen_simdMachineOps.go
src/simd/_gen/simdgen/gen_simdTypes.go
src/simd/_gen/simdgen/gen_simdrules.go
src/simd/_gen/simdgen/gen_simdssa.go
src/simd/_gen/simdgen/gen_utility.go
src/simd/_gen/simdgen/ops/Moves/go.yaml
src/simd/internal/simd_test/simd_test.go
test/codegen/simd.go