[go] simd/archsimd: delete DotProductQuadruple methods for now

2 views
Skip to first unread message

Cherry Mui (Gerrit)

unread,
Dec 19, 2025, 5:39:37 PM (2 days ago) Dec 19
to goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Go LUCI, David Chase, golang-co...@googlegroups.com

Cherry Mui submitted the change

Change information

Commit message:
simd/archsimd: delete DotProductQuadruple methods for now

The DotProductQuadruple methods are currently defined on Int8
vectors. There are some problems for that.

1. We defined a DotProductQuadrupleSaturated method, but the dot
product part does not need saturation, as it cannot overflow. It
is the addition part of VPDPBUSDS that does the saturation.
Currently we have optimization rules like

x.DotProductQuadrupleSaturated(y).Add(z) -> VPDPBUSDS

which is incorrect, in that the dot product doesn't do (or need)
saturation, and the Add is a regular Add, but we rewrite it to a
saturated add. The correct rule should be something like

x.DotProductQuadruple(y).AddSaturated(z) -> VPDPBUSDS

2. There are multiple flavors of DotProductQuadruple:
signed/unsigned × signed/unsigned, which cannot be completely
disambiguated by the type. The current naming may preclude adding
all the flavors.

For these reasons, remove the methods for now. We can add them
later with the issues addressed.
Change-Id: I549c0925afaa68c7e2cc956105619f2c1b46b325
Reviewed-by: David Chase <drc...@google.com>
Files:
  • M src/cmd/compile/internal/amd64/simdssa.go
  • M src/cmd/compile/internal/ssa/_gen/AMD64.rules
  • M src/cmd/compile/internal/ssa/_gen/simdAMD64.rules
  • M src/cmd/compile/internal/ssa/_gen/simdAMD64ops.go
  • M src/cmd/compile/internal/ssa/_gen/simdgenericOps.go
  • M src/cmd/compile/internal/ssa/opGen.go
  • M src/cmd/compile/internal/ssa/rewriteAMD64.go
  • M src/cmd/compile/internal/ssagen/simdintrinsics.go
  • M src/simd/archsimd/_gen/simdgen/ops/MLOps/categories.yaml
  • M src/simd/archsimd/_gen/simdgen/ops/MLOps/go.yaml
  • M src/simd/archsimd/internal/simd_test/simd_test.go
  • M src/simd/archsimd/ops_amd64.go
Change size: XL
Delta: 12 files changed, 0 insertions(+), 1120 deletions(-)
Branch: refs/heads/master
Submit Requirements:
  • requirement satisfiedCode-Review: +2 by David Chase
  • requirement satisfiedTryBots-Pass: LUCI-TryBot-Result+1 by Go LUCI
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I549c0925afaa68c7e2cc956105619f2c1b46b325
Gerrit-Change-Number: 731441
Gerrit-PatchSet: 2
Gerrit-Owner: Cherry Mui <cher...@google.com>
Gerrit-Reviewer: Cherry Mui <cher...@google.com>
Gerrit-Reviewer: David Chase <drc...@google.com>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages