summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2012-02-10 22:32:02 -0500
committerRuss Cox <rsc@golang.org>2012-02-10 22:32:02 -0500
commit498f3b6b8b17c13b7995717f33b1c6888c6d339f (patch)
tree25ea91bccadcfaeea9f29893f16b2022bfa89d86 /test
parent81a06fc5ceaa0777919dbe1b051fda6b1ee7d815 (diff)
downloadgo-498f3b6b8b17c13b7995717f33b1c6888c6d339f.tar.gz
8g: fix opt bug
Was trying to optimize a duplicate float64 move by registerizing an int64. Fixes issue 2588. R=ken2 CC=golang-dev http://codereview.appspot.com/5645086
Diffstat (limited to 'test')
-rw-r--r--test/fixedbugs/bug411.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/fixedbugs/bug411.go b/test/fixedbugs/bug411.go
new file mode 100644
index 000000000..3ca6a3de2
--- /dev/null
+++ b/test/fixedbugs/bug411.go
@@ -0,0 +1,19 @@
+// $G $D/$F.go
+
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Issue 2588. Used to trigger internal compiler error on 8g,
+// because the compiler tried to registerize the int64 being
+// used as a memory operand of a int64->float64 move.
+
+package p
+
+func f1(a int64) {
+ f2(float64(a), float64(a))
+}
+
+func f2(a,b float64) {
+}
+