]> Cypherpunks repositories - gostls13.git/commit
[dev.simd] simd, cmd/compile: add 128 bit select-from-pair
authorDavid Chase <drchase@google.com>
Fri, 19 Sep 2025 17:07:59 +0000 (13:07 -0400)
committerDavid Chase <drchase@google.com>
Fri, 26 Sep 2025 20:11:10 +0000 (13:11 -0700)
commit25c36b95d1523f22d4c46ec237acc03e00540e0a
treed96c9994fe212ab4d5a2f11d62bd13f4b340365d
parentf0e281e693685954df71374c9a9fb856e8745519
[dev.simd] simd, cmd/compile: add 128 bit select-from-pair

Using this name until a better one appears:
   x.Select128FromPair(3, 2, y)

Includes test for constant and variable case.
Checks for unexpected immediates (using the zeroing flag,
which is not supported for this intrinsic) and panics.

Change-Id: I9249475d6572968c127b4ee9e00328d717c07578
Reviewed-on: https://go-review.googlesource.com/c/go/+/705496
Reviewed-by: Junyang Shao <shaojunyang@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
18 files changed:
src/cmd/compile/internal/amd64/simdssa.go
src/cmd/compile/internal/ir/symtab.go
src/cmd/compile/internal/ssa/_gen/simdAMD64.rules
src/cmd/compile/internal/ssa/_gen/simdAMD64ops.go
src/cmd/compile/internal/ssa/_gen/simdgenericOps.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/cmd/compile/internal/ssagen/intrinsics.go
src/cmd/compile/internal/ssagen/simdintrinsics.go
src/cmd/compile/internal/ssagen/ssa.go
src/runtime/panic.go
src/simd/_gen/simdgen/gen_simdIntrinsics.go
src/simd/_gen/simdgen/gen_simdTypes.go
src/simd/_gen/simdgen/ops/Moves/categories.yaml
src/simd/_gen/simdgen/ops/Moves/go.yaml
src/simd/_gen/unify/domain.go
src/simd/internal/simd_test/simd_test.go
src/simd/ops_amd64.go