From c244ce097c1d75b4fd178683f74bfd9318a81ebe Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Thu, 10 Sep 2015 14:59:00 -0700 Subject: [PATCH] [dev.ssa] cmd/compile/internal/ssa: fix complex compares 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 Reviewed-by: Brad Fitzpatrick --- src/cmd/compile/internal/gc/ssa.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/gc/ssa.go b/src/cmd/compile/internal/gc/ssa.go index b69631338e..b29c328814 100644 --- a/src/cmd/compile/internal/gc/ssa.go +++ b/src/cmd/compile/internal/gc/ssa.go @@ -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))