From 733bf6ef67013b8410c51a72697c6fbff53ad30d Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Mon, 25 Jan 2016 20:26:06 -0800 Subject: [PATCH] [dev.ssa] cmd/compile: get rid of +0.0 hack The conversion from -0.0 to +0.0 happens inside mpgetflt now. The SSA code doesn't need this fix any more. Change-Id: I6cd4f4a4e75b13cf284ebbb95b08af050ed9891c Reviewed-on: https://go-review.googlesource.com/18942 Reviewed-by: Brad Fitzpatrick Run-TryBot: Keith Randall --- src/cmd/compile/internal/gc/ssa.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index 9dd5859735..5b8d2423d7 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go @@ -1347,11 +1347,9 @@ func (s *state) expr(n *Node) *ssa.Value { f := n.Val().U.(*Mpflt) switch n.Type.Size() { case 4: - // -0.0 literals need to be treated as if they were 0.0, adding 0.0 here - // accomplishes this while not affecting other values. - return s.constFloat32(n.Type, mpgetflt32(f)+0.0) + return s.constFloat32(n.Type, mpgetflt32(f)) case 8: - return s.constFloat64(n.Type, mpgetflt(f)+0.0) + return s.constFloat64(n.Type, mpgetflt(f)) default: s.Fatalf("bad float size %d", n.Type.Size()) return nil @@ -1364,18 +1362,16 @@ func (s *state) expr(n *Node) *ssa.Value { case 8: { pt := Types[TFLOAT32] - // -0.0 literals need to be treated as if they were 0.0, adding 0.0 here - // accomplishes this while not affecting other values. return s.newValue2(ssa.OpComplexMake, n.Type, - s.constFloat32(pt, mpgetflt32(r)+0.0), - s.constFloat32(pt, mpgetflt32(i)+0.0)) + s.constFloat32(pt, mpgetflt32(r)), + s.constFloat32(pt, mpgetflt32(i))) } case 16: { pt := Types[TFLOAT64] return s.newValue2(ssa.OpComplexMake, n.Type, - s.constFloat64(pt, mpgetflt(r)+0.0), - s.constFloat64(pt, mpgetflt(i)+0.0)) + s.constFloat64(pt, mpgetflt(r)), + s.constFloat64(pt, mpgetflt(i))) } default: s.Fatalf("bad float size %d", n.Type.Size()) -- 2.48.1