]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.ssa] cmd/compile/internal/ssa: fix complex compares
authorKeith Randall <khr@golang.org>
Thu, 10 Sep 2015 21:59:00 +0000 (14:59 -0700)
committerKeith Randall <khr@golang.org>
Thu, 10 Sep 2015 22:13:14 +0000 (22:13 +0000)
It was using 64-bit float comparison ops for complex64.
It should use 32-bit float comparison.

Fixes build.

Change-Id: I6452b227257fecc09e04cd092ccf328d1fc9917f
Reviewed-on: https://go-review.googlesource.com/14497
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/gc/ssa.go

index b69631338e50c6df2776a91bccfca68aa6ed9510..b29c32881440b8b0f5d8ffb97712ff52a769ef66 100644 (file)
@@ -1477,7 +1477,7 @@ func (s *state) expr(n *Node) *ssa.Value {
                a := s.expr(n.Left)
                b := s.expr(n.Right)
                if n.Left.Type.IsComplex() {
-                       pt := floatForComplex(n.Type)
+                       pt := floatForComplex(n.Left.Type)
                        op := s.ssaOp(OEQ, pt)
                        r := s.newValue2(op, Types[TBOOL], s.newValue1(ssa.OpComplexReal, pt, a), s.newValue1(ssa.OpComplexReal, pt, b))
                        i := s.newValue2(op, Types[TBOOL], s.newValue1(ssa.OpComplexImag, pt, a), s.newValue1(ssa.OpComplexImag, pt, b))