From: Cherry Zhang Date: Thu, 8 Apr 2021 22:32:00 +0000 (-0400) Subject: test: do not run softfloat test with regabiargs X-Git-Tag: go1.17beta1~759 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d25c4fbe05e88580ce0a5cadc67e1c0ee27a2d1c;p=gostls13.git test: do not run softfloat test with regabiargs Softfloat mode with register ABI is not implemented yet. In particular, we did not rewrite the float types in AuxCalls to integer types, so arguments are still passed in floating point registers, which do not exist in softfloat mode. To make it work I think we may want to reorder softfloat pass with expand_calls pass. We also need to rewrite the OpArgFloatRegs for the spilling of non-SSA-able arguments, which may involve renumbering interger arguments. Maybe in softfloat mode we want to just define the ABI with 0 float registers. They are not fundamentally hard, but may be not worth doing for the moment, as we don't use softfloat mode on AMD64 anyway. Run the test with noregabiargs. Also in the compiler reject -d=softfloat if regabiargs is enabled. Change-Id: I8cc0c2cfa88a138bc1338ed8710670245f1bd2cd Reviewed-on: https://go-review.googlesource.com/c/go/+/308710 Trust: Cherry Zhang Run-TryBot: Cherry Zhang Reviewed-by: Than McIntosh --- diff --git a/src/cmd/compile/internal/gc/main.go b/src/cmd/compile/internal/gc/main.go index 9199db830c..68506c7a7b 100644 --- a/src/cmd/compile/internal/gc/main.go +++ b/src/cmd/compile/internal/gc/main.go @@ -158,6 +158,9 @@ func Main(archInit func(*ssagen.ArchInfo)) { dwarf.EnableLogging(base.Debug.DwarfInl != 0) } if base.Debug.SoftFloat != 0 { + if objabi.Experiment.RegabiArgs { + log.Fatalf("softfloat mode with GOEXPERIMENT=regabiargs not implemented ") + } ssagen.Arch.SoftFloat = true } diff --git a/test/fixedbugs/issue28688.go b/test/fixedbugs/issue28688.go index 0d2000e149..8ef0802812 100644 --- a/test/fixedbugs/issue28688.go +++ b/test/fixedbugs/issue28688.go @@ -1,4 +1,4 @@ -// run -gcflags=-d=softfloat +// run -gcflags=-d=softfloat -goexperiment noregabiargs // Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style