diff options
author | Filippo Valsorda <filippo@golang.org> | 2018-12-14 19:53:47 +0000 |
---|---|---|
committer | Filippo Valsorda <filippo@golang.org> | 2018-12-14 20:07:16 +0000 |
commit | a9ccbe0a69fdbede2ec51f7c2f04f202fab72bb9 (patch) | |
tree | 1da95f569bb8736df0140169810ab7950f2ea270 | |
parent | d74e69c7553fcb1e057821a089dc4f2c60f42e5d (diff) | |
download | go-a9ccbe0a69fdbede2ec51f7c2f04f202fab72bb9.tar.gz go-a9ccbe0a69fdbede2ec51f7c2f04f202fab72bb9.zip |
Revert "[release-branch.go1.10] cmd/compile/internal/gc: OMUL should be evaluated when using soft-float"
This reverts commit d74e69c7553fcb1e057821a089dc4f2c60f42e5d.
Reason for revert: this fix has been backported to 1.11, and that makes
it ineligible for backport to 1.10, since upgrading to 1.11 is a valid
workaround according to https://github.com/golang/go/wiki/MinorReleases.
Also, this triggers a bug on Wasm that would require a backport of
CL 149965, too.
Updates #28688
Updates #28959
Change-Id: I4e56554ea27b5db83bdb1e9d2103dd24e3da8cfc
Reviewed-on: https://go-review.googlesource.com/c/154297
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
-rw-r--r-- | src/cmd/compile/internal/gc/subr.go | 2 | ||||
-rw-r--r-- | test/fixedbugs/issue28688.go | 31 |
2 files changed, 1 insertions, 32 deletions
diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go index eee5a37ad0..e0925dc7f2 100644 --- a/src/cmd/compile/internal/gc/subr.go +++ b/src/cmd/compile/internal/gc/subr.go @@ -1168,7 +1168,7 @@ func calcHasCall(n *Node) bool { // When using soft-float, these ops might be rewritten to function calls // so we ensure they are evaluated first. - case OADD, OSUB, OMINUS, OMUL: + case OADD, OSUB, OMINUS: if thearch.SoftFloat && (isFloat[n.Type.Etype] || isComplex[n.Type.Etype]) { return true } diff --git a/test/fixedbugs/issue28688.go b/test/fixedbugs/issue28688.go deleted file mode 100644 index 0d2000e149..0000000000 --- a/test/fixedbugs/issue28688.go +++ /dev/null @@ -1,31 +0,0 @@ -// run -gcflags=-d=softfloat - -// Copyright 2018 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. - -package main - -import ( - "fmt" -) - -// When using soft-float, OMUL might be rewritten to function -// call so we should ensure it was evaluated first. Stack frame -// setup for "test" function call should happen after call to runtime.fmul32 - -var x int32 = 1 - -func main() { - var y float32 = 1.0 - test(x, y*y) -} - -//go:noinline -func test(id int32, a float32) { - - if id != x { - fmt.Printf("got: %d, want: %d\n", id, x) - panic("FAIL") - } -} |