]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: add floating point min/max intrinsics on s390x
authorMichael Munday <mndygolang+git@gmail.com>
Fri, 27 Jun 2025 20:05:38 +0000 (21:05 +0100)
committerMichael Munday <mndygolang+git@gmail.com>
Wed, 30 Jul 2025 19:29:15 +0000 (12:29 -0700)
commitcedf63616a00c8a6a69f6bbe4bc93b6865cec842
treee94c1a8afe63304f07725460363f7957325566b3
parent82a1921c3b6b493c4ff358f063c2ffffabba9fd5
cmd/compile: add floating point min/max intrinsics on s390x

Add the VECTOR FP (MINIMUM|MAXIMUM) instructions to the assembler and
use them in the compiler to implement min and max.

Note: I've allowed floating point registers to be used with the single
element instructions (those with the W instead of V prefix) to allow
easier integration into the compiler.

Change-Id: I5f80a510bd248cf483cce95f1979bf63fbae7de6
Reviewed-on: https://go-review.googlesource.com/c/go/+/684715
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mark Freeman <mark@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
12 files changed:
src/cmd/asm/internal/asm/testdata/s390x.s
src/cmd/compile/internal/s390x/ssa.go
src/cmd/compile/internal/ssa/_gen/S390X.rules
src/cmd/compile/internal/ssa/_gen/S390XOps.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteS390X.go
src/cmd/compile/internal/ssagen/ssa.go
src/cmd/internal/obj/s390x/a.out.go
src/cmd/internal/obj/s390x/anames.go
src/cmd/internal/obj/s390x/asmz.go
src/cmd/internal/obj/s390x/vector.go
test/codegen/floats.go