]> Cypherpunks repositories - gostls13.git/commit
[dev.simd] cmd/compile: make move/load/store dependent only on reg and width
authorJunyang Shao <shaojunyang@google.com>
Thu, 14 Aug 2025 20:21:37 +0000 (20:21 +0000)
committerJunyang Shao <shaojunyang@google.com>
Fri, 15 Aug 2025 16:51:45 +0000 (09:51 -0700)
commit7380213a4eca31fb0da3b164a129eb5fd699d796
treef8c5fe413130b2babf35b2325739269b77f3f6bb
parent908e3e8166898a3b5f7c961e774f681da2a765bc
[dev.simd] cmd/compile: make move/load/store dependent only on reg and width

This CL improve its previous CL by implementing
move/load/storeByRegWidth. It should have not touched the compilation
path of complex128, but as a side effect, the move/load/store of
16-byte SIMD vectors in X0 to X15 are now compiled to MOVUPS instead of
VMOVDQU.

These functions could be used in MOV*const, but this CL does not do that
because we haven't seen problems of them yet. But in the future if we
see problems calling these functions to find the right asm might be handy.

Change-Id: I9b76e65eef8155479d3e288402aa96bc29a4f7cb
Reviewed-on: https://go-review.googlesource.com/c/go/+/696255
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/amd64/ssa.go