]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: optimize SIMD IsNaN.Or(IsNaN)
authorCherry Mui <cherryyz@google.com>
Fri, 2 Jan 2026 19:02:07 +0000 (14:02 -0500)
committerCherry Mui <cherryyz@google.com>
Fri, 2 Jan 2026 20:16:34 +0000 (12:16 -0800)
commite84983fa40a6e97d3e169f1f3549af889b1b1f22
tree782393e6b94f39a862623149faac9bad11fabaf1
parent8244b8567704739d9d6fa69a0f4b50b3203d6504
cmd/compile: optimize SIMD IsNaN.Or(IsNaN)

IsNaN's underlying instruction, VCMPPS (or VCMPPD), takes two
inputs, and computes either of them is NaN. Optimize the Or
pattern to generate two-operand form.

This implements the optimization mentioned in CL 733660.

Change-Id: I13943b377ee384864c913eed320763f333a03e41
Reviewed-on: https://go-review.googlesource.com/c/go/+/733680
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
src/cmd/compile/internal/ssa/_gen/AMD64.rules
src/cmd/compile/internal/ssa/rewriteAMD64.go
src/simd/archsimd/internal/simd_test/compare_test.go
test/codegen/simd.go