]> Cypherpunks repositories - gostls13.git/commitdiff
test: do not run softfloat test with regabiargs
authorCherry Zhang <cherryyz@google.com>
Thu, 8 Apr 2021 22:32:00 +0000 (18:32 -0400)
committerCherry Zhang <cherryyz@google.com>
Fri, 9 Apr 2021 00:11:25 +0000 (00:11 +0000)
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 <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/compile/internal/gc/main.go
test/fixedbugs/issue28688.go

index 9199db830cfdc47c3b555406f8ecfae0a7d03ec8..68506c7a7b7d5e6074106f994d414754616a49b6 100644 (file)
@@ -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
        }
 
index 0d2000e149872f2d0d5496e64123bbcd0f491d8f..8ef0802812c6824a6b0e74f070115a843921738a 100644 (file)
@@ -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