diff options
author | Michael Munday <mike.munday@ibm.com> | 2020-03-06 22:20:45 +0000 |
---|---|---|
committer | Michael Munday <mike.munday@ibm.com> | 2020-04-07 19:55:05 +0000 |
commit | bfd569fcb07440b85c503a399d78bcd6581824a3 (patch) | |
tree | 816cbf6ce9b70de75324275e276fd499a3375b84 /src/cmd/compile/internal/ssa/rewritePPC64.go | |
parent | 7ee8467b276fbe442df8c84c3d13a99e80519c24 (diff) | |
download | go-bfd569fcb07440b85c503a399d78bcd6581824a3.tar.gz go-bfd569fcb07440b85c503a399d78bcd6581824a3.zip |
cmd/compile: delete the floating point Greater and Geq ops
Extend CL 220417 (which removed the integer Greater and Geq ops) to
floating point comparisons. Greater and Geq can always be
implemented using Less and Leq.
Fixes #37316.
Change-Id: Ieaddb4877dd0ff9037a1dd11d0a9a9e45ced71e7
Reviewed-on: https://go-review.googlesource.com/c/go/+/222397
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile/internal/ssa/rewritePPC64.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/rewritePPC64.go | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/src/cmd/compile/internal/ssa/rewritePPC64.go b/src/cmd/compile/internal/ssa/rewritePPC64.go index 3f7ea3c222..8f2c32a7af 100644 --- a/src/cmd/compile/internal/ssa/rewritePPC64.go +++ b/src/cmd/compile/internal/ssa/rewritePPC64.go @@ -230,10 +230,6 @@ func rewriteValuePPC64(v *Value) bool { case OpFloor: v.Op = OpPPC64FFLOOR return true - case OpGeq32F: - return rewriteValuePPC64_OpGeq32F(v) - case OpGeq64F: - return rewriteValuePPC64_OpGeq64F(v) case OpGetCallerPC: v.Op = OpPPC64LoweredGetCallerPC return true @@ -243,10 +239,6 @@ func rewriteValuePPC64(v *Value) bool { case OpGetClosurePtr: v.Op = OpPPC64LoweredGetClosurePtr return true - case OpGreater32F: - return rewriteValuePPC64_OpGreater32F(v) - case OpGreater64F: - return rewriteValuePPC64_OpGreater64F(v) case OpHmul32: v.Op = OpPPC64MULHW return true @@ -1650,70 +1642,6 @@ func rewriteValuePPC64_OpEqPtr(v *Value) bool { return true } } -func rewriteValuePPC64_OpGeq32F(v *Value) bool { - v_1 := v.Args[1] - v_0 := v.Args[0] - b := v.Block - // match: (Geq32F x y) - // result: (FGreaterEqual (FCMPU x y)) - for { - x := v_0 - y := v_1 - v.reset(OpPPC64FGreaterEqual) - v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValuePPC64_OpGeq64F(v *Value) bool { - v_1 := v.Args[1] - v_0 := v.Args[0] - b := v.Block - // match: (Geq64F x y) - // result: (FGreaterEqual (FCMPU x y)) - for { - x := v_0 - y := v_1 - v.reset(OpPPC64FGreaterEqual) - v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValuePPC64_OpGreater32F(v *Value) bool { - v_1 := v.Args[1] - v_0 := v.Args[0] - b := v.Block - // match: (Greater32F x y) - // result: (FGreaterThan (FCMPU x y)) - for { - x := v_0 - y := v_1 - v.reset(OpPPC64FGreaterThan) - v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValuePPC64_OpGreater64F(v *Value) bool { - v_1 := v.Args[1] - v_0 := v.Args[0] - b := v.Block - // match: (Greater64F x y) - // result: (FGreaterThan (FCMPU x y)) - for { - x := v_0 - y := v_1 - v.reset(OpPPC64FGreaterThan) - v0 := b.NewValue0(v.Pos, OpPPC64FCMPU, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} func rewriteValuePPC64_OpIsInBounds(v *Value) bool { v_1 := v.Args[1] v_0 := v.Args[0] |