]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.ssa] cmd/compile: get rid of +0.0 hack
authorKeith Randall <khr@golang.org>
Tue, 26 Jan 2016 04:26:06 +0000 (20:26 -0800)
committerKeith Randall <khr@golang.org>
Tue, 26 Jan 2016 16:18:48 +0000 (16:18 +0000)
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 <bradfitz@golang.org>
Run-TryBot: Keith Randall <khr@golang.org>

src/cmd/compile/internal/gc/ssa.go

index 9dd5859735a485b24f226bbe1bc16bc0e2830c30..5b8d2423d7d2e5b4c43e1161d2c077e4022c7a40 100644 (file)
@@ -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())