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/rewriteAMD64.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/rewriteAMD64.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/rewriteAMD64.go | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/src/cmd/compile/internal/ssa/rewriteAMD64.go b/src/cmd/compile/internal/ssa/rewriteAMD64.go index ce802a97c5..fd33591471 100644 --- a/src/cmd/compile/internal/ssa/rewriteAMD64.go +++ b/src/cmd/compile/internal/ssa/rewriteAMD64.go @@ -766,10 +766,6 @@ func rewriteValueAMD64(v *Value) bool { return rewriteValueAMD64_OpFMA(v) case OpFloor: return rewriteValueAMD64_OpFloor(v) - case OpGeq32F: - return rewriteValueAMD64_OpGeq32F(v) - case OpGeq64F: - return rewriteValueAMD64_OpGeq64F(v) case OpGetCallerPC: v.Op = OpAMD64LoweredGetCallerPC return true @@ -782,10 +778,6 @@ func rewriteValueAMD64(v *Value) bool { case OpGetG: v.Op = OpAMD64LoweredGetG return true - case OpGreater32F: - return rewriteValueAMD64_OpGreater32F(v) - case OpGreater64F: - return rewriteValueAMD64_OpGreater64F(v) case OpHasCPUFeature: return rewriteValueAMD64_OpHasCPUFeature(v) case OpHmul32: @@ -29859,70 +29851,6 @@ func rewriteValueAMD64_OpFloor(v *Value) bool { return true } } -func rewriteValueAMD64_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(OpAMD64SETGEF) - v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValueAMD64_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(OpAMD64SETGEF) - v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValueAMD64_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(OpAMD64SETGF) - v0 := b.NewValue0(v.Pos, OpAMD64UCOMISS, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} -func rewriteValueAMD64_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(OpAMD64SETGF) - v0 := b.NewValue0(v.Pos, OpAMD64UCOMISD, types.TypeFlags) - v0.AddArg2(x, y) - v.AddArg(v0) - return true - } -} func rewriteValueAMD64_OpHasCPUFeature(v *Value) bool { b := v.Block typ := &b.Func.Config.Types |