aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/rewritePPC64.go
diff options
context:
space:
mode:
authorMichael Munday <mike.munday@ibm.com>2020-03-06 22:20:45 +0000
committerMichael Munday <mike.munday@ibm.com>2020-04-07 19:55:05 +0000
commitbfd569fcb07440b85c503a399d78bcd6581824a3 (patch)
tree816cbf6ce9b70de75324275e276fd499a3375b84 /src/cmd/compile/internal/ssa/rewritePPC64.go
parent7ee8467b276fbe442df8c84c3d13a99e80519c24 (diff)
downloadgo-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.go72
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]