]> Cypherpunks repositories - gostls13.git/commitdiff
test/codegen: port last remaining misc bit/arithmetic tests
authorAlberto Donizetti <alb.donizetti@gmail.com>
Mon, 9 Apr 2018 12:24:35 +0000 (14:24 +0200)
committerAlberto Donizetti <alb.donizetti@gmail.com>
Tue, 10 Apr 2018 07:58:35 +0000 (07:58 +0000)
And delete them from asm_test.

Change-Id: I9a75efe9858ef9d7ac86065f860c2ae3f25b0941
Reviewed-on: https://go-review.googlesource.com/105597
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
src/cmd/compile/internal/gc/asm_test.go
test/codegen/arithmetic.go
test/codegen/bitfield.go

index a503b89bf3b1c02b3016a2d5571a30c640f011b0..a23e958995b78071a7dcc47aadab9b796c917499 100644 (file)
@@ -238,11 +238,6 @@ var allAsmTests = []*asmTests{
                os:    "linux",
                tests: linuxARM64Tests,
        },
-       {
-               arch:  "mips64",
-               os:    "linux",
-               tests: linuxMIPS64Tests,
-       },
        {
                arch:  "amd64",
                os:    "plan9",
@@ -251,14 +246,6 @@ var allAsmTests = []*asmTests{
 }
 
 var linuxAMD64Tests = []*asmTest{
-       {
-               fn: `
-               func $(x int) int {
-                       return x * 96
-               }
-               `,
-               pos: []string{"\tSHLQ\t\\$5,", "\tLEAQ\t\\(.*\\)\\(.*\\*2\\),"},
-       },
        {
                // make sure assembly output has matching offset and base register.
                fn: `
@@ -339,17 +326,6 @@ var linuxARM64Tests = []*asmTest{
                `,
                pos: []string{"\tAND\t"},
        },
-       {
-               // check that we don't emit comparisons for constant shift
-               fn: `
-//go:nosplit
-               func $(x int) int {
-                       return x << 17
-               }
-               `,
-               pos: []string{"LSL\t\\$17"},
-               neg: []string{"CMP"},
-       },
        // Load-combining tests.
        {
                fn: `
@@ -375,19 +351,6 @@ var linuxARM64Tests = []*asmTest{
        },
 }
 
-var linuxMIPS64Tests = []*asmTest{
-       {
-               // check that we don't emit comparisons for constant shift
-               fn: `
-               func $(x int) int {
-                       return x << 17
-               }
-               `,
-               pos: []string{"SLLV\t\\$17"},
-               neg: []string{"SGT"},
-       },
-}
-
 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
index 0cd4d2ee232cecf38715acab26ce5e3573a7775f..d38f80c1e91b7a45ba894b7fa7ae7fc14413c908 100644 (file)
@@ -30,6 +30,11 @@ func Pow2Muls(n1, n2 int) (int, int) {
        return a, b
 }
 
+func Mul_96(n int) int {
+       // amd64:`SHLQ\t[$]5`,`LEAQ\t\(.*\)\(.*\*2\),`
+       return n * 96
+}
+
 // Multiplications merging tests
 
 func MergeMuls1(n int) int {
index 937f735cead80d506dda02ef58584ee79fc6b768..08788f14471cf37b0e60645f3d097458435f959f 100644 (file)
@@ -222,3 +222,11 @@ func ubfx11(x uint64) uint64 {
        // arm64:"UBFX\t[$]1, R[0-9]+, [$]19",-"LSL",-"LSR"
        return ((x & 0xfffff) << 3) >> 4
 }
+
+// Check that we don't emit comparisons for constant shifts.
+//go:nosplit
+func shift_no_cmp(x int) int {
+       // arm64:`LSL\t[$]17`,-`CMP`
+       // mips64:`SLLV\t[$]17`,-`SGT`
+       return x << 17
+}