1
0
mirror of https://github.com/golang/go synced 2024-11-11 21:50:21 -07:00

test: migrate plan9 tests to codegen

And remove it from asmtest. Next CL will remove the whole
asmtest infrastructure.

Change-Id: I5851bf7c617456d62a3c6cffacf70252df7b056b
Reviewed-on: https://go-review.googlesource.com/107335
Run-TryBot: Giovanni Bajo <rasky@develer.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Giovanni Bajo 2018-04-15 19:17:41 +02:00
parent b47806d1b5
commit 01aa1d7dbe
2 changed files with 23 additions and 33 deletions

View File

@ -220,39 +220,7 @@ func (ats *asmTests) runGo(t *testing.T, args ...string) string {
return stdout.String()
}
var allAsmTests = []*asmTests{
{
arch: "amd64",
os: "plan9",
tests: plan9AMD64Tests,
},
}
var plan9AMD64Tests = []*asmTest{
// We should make sure that the compiler doesn't generate floating point
// instructions for non-float operations on Plan 9, because floating point
// operations are not allowed in the note handler.
// Array zeroing.
{
fn: `
func $() [16]byte {
var a [16]byte
return a
}
`,
pos: []string{"\tMOVQ\t\\$0, \"\""},
},
// Array copy.
{
fn: `
func $(a [16]byte) (b [16]byte) {
b = a
return
}
`,
pos: []string{"\tMOVQ\t\"\"\\.a\\+[0-9]+\\(SP\\), (AX|CX)", "\tMOVQ\t(AX|CX), \"\"\\.b\\+[0-9]+\\(SP\\)"},
},
}
var allAsmTests = []*asmTests{}
// TestLineNumber checks to make sure the generated assembly has line numbers
// see issue #16214

View File

@ -71,3 +71,25 @@ func FusedSub64(x, y, z float64) float64 {
// ppc64le:"FMSUB\t"
return x*y - z
}
// ---------------- //
// Non-floats //
// ---------------- //
// We should make sure that the compiler doesn't generate floating point
// instructions for non-float operations on Plan 9, because floating point
// operations are not allowed in the note handler.
func ArrayZero() [16]byte {
// amd64:"MOVUPS"
// plan9/amd64/:-"MOVUPS"
var a [16]byte
return a
}
func ArrayCopy(a [16]byte) (b [16]byte) {
// amd64:"MOVUPS"
// plan9/amd64/:-"MOVUPS"
b = a
return
}