]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: introduce generic ssa intrinsic for fused-multiply-add
authorsmasher164 <aindurti@gmail.com>
Thu, 30 Aug 2018 00:57:33 +0000 (20:57 -0400)
committerKeith Randall <khr@golang.org>
Mon, 21 Oct 2019 16:24:15 +0000 (16:24 +0000)
commit33425ab8dbb03c355b2263b8250a1829e260d66f
tree0ae692f74a0848bec04af67c814f30562ea8d684
parent93a601dd2acc7401564eae59b5e6927da4146e22
cmd/compile: introduce generic ssa intrinsic for fused-multiply-add

In order to make math.FMA a compiler intrinsic for ISAs like ARM64,
PPC64[le], and S390X, a generic 3-argument opcode "Fma" is provided and
rewritten as

    ARM64: (Fma x y z) -> (FMADDD z x y)
    PPC64: (Fma x y z) -> (FMADD x y z)
    S390X: (Fma x y z) -> (FMADD z x y)

Updates #25819.

Change-Id: Ie5bc628311e6feeb28ddf9adaa6e702c8c291efa
Reviewed-on: https://go-review.googlesource.com/c/go/+/131959
Run-TryBot: Akhil Indurti <aindurti@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
src/cmd/compile/internal/gc/ssa.go
src/cmd/compile/internal/ssa/gen/ARM64.rules
src/cmd/compile/internal/ssa/gen/PPC64.rules
src/cmd/compile/internal/ssa/gen/S390X.rules
src/cmd/compile/internal/ssa/gen/genericOps.go
src/cmd/compile/internal/ssa/opGen.go
src/cmd/compile/internal/ssa/rewriteARM64.go
src/cmd/compile/internal/ssa/rewritePPC64.go
src/cmd/compile/internal/ssa/rewriteS390X.go
test/codegen/math.go