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/rewrite386.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/rewrite386.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/rewrite386.go | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/src/cmd/compile/internal/ssa/rewrite386.go b/src/cmd/compile/internal/ssa/rewrite386.go index 59a9edee8f..2a8b6ace1e 100644 --- a/src/cmd/compile/internal/ssa/rewrite386.go +++ b/src/cmd/compile/internal/ssa/rewrite386.go @@ -371,10 +371,6 @@ func rewriteValue386(v *Value) bool { return rewriteValue386_OpEqB(v) case OpEqPtr: return rewriteValue386_OpEqPtr(v) - case OpGeq32F: - return rewriteValue386_OpGeq32F(v) - case OpGeq64F: - return rewriteValue386_OpGeq64F(v) case OpGetCallerPC: v.Op = Op386LoweredGetCallerPC return true @@ -387,10 +383,6 @@ func rewriteValue386(v *Value) bool { case OpGetG: v.Op = Op386LoweredGetG return true - case OpGreater32F: - return rewriteValue386_OpGreater32F(v) - case OpGreater64F: - return rewriteValue386_OpGreater64F(v) case OpHmul32: v.Op = Op386HMULL return true @@ -8871,70 +8863,6 @@ func rewriteValue386_OpEqPtr(v *Value) bool { return true } } -func rewriteValue386_OpGeq32F(v *Value) bool { - v_1 := v.Args[1] - v_0 := v.Args[0] - b := v.Block - // match: (Geq32F x y) - // result: (SETGEF (UCOMISS x y)) - for { - x := v_0 - y := v_1 - v.reset(Op386SETGEF) - v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValue386_OpGeq64F(v *Value) bool { - v_1 := v.Args[1] - v_0 := v.Args[0] - b := v.Block - // match: (Geq64F x y) - // result: (SETGEF (UCOMISD x y)) - for { - x := v_0 - y := v_1 - v.reset(Op386SETGEF) - v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValue386_OpGreater32F(v *Value) bool { - v_1 := v.Args[1] - v_0 := v.Args[0] - b := v.Block - // match: (Greater32F x y) - // result: (SETGF (UCOMISS x y)) - for { - x := v_0 - y := v_1 - v.reset(Op386SETGF) - v0 := b.NewValue0(v.Pos, Op386UCOMISS, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValue386_OpGreater64F(v *Value) bool { - v_1 := v.Args[1] - v_0 := v.Args[0] - b := v.Block - // match: (Greater64F x y) - // result: (SETGF (UCOMISD x y)) - for { - x := v_0 - y := v_1 - v.reset(Op386SETGF) - v0 := b.NewValue0(v.Pos, Op386UCOMISD, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} func rewriteValue386_OpIsInBounds(v *Value) bool { v_1 := v.Args[1] v_0 := v.Args[0] |