]> Cypherpunks repositories - gostls13.git/commitdiff
test: make codegen/memops.go work with both ABIs
authorCherry Zhang <cherryyz@google.com>
Mon, 12 Apr 2021 22:56:25 +0000 (18:56 -0400)
committerCherry Zhang <cherryyz@google.com>
Tue, 13 Apr 2021 14:07:17 +0000 (14:07 +0000)
Following CL 309335, this fixes memops.go.

Change-Id: Ia2458b5267deee9f906f76c50e70a021ea2fcb5b
Reviewed-on: https://go-review.googlesource.com/c/go/+/309552
Trust: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
test/codegen/memops.go

index 7f06a574fe613337688021aafa93cc0fb7d4c5e3..fb8208f9844db7f0e4b3aa10980133e070856c99 100644 (file)
@@ -36,50 +36,34 @@ func compMem1() int {
        return 0
 }
 
-//go:noinline
-func f(x int) bool {
-       return false
+type T struct {
+       x   bool
+       x8  uint8
+       x16 uint16
+       x32 uint32
+       x64 uint64
+       a   [2]int // force it passed in memory
 }
 
-//go:noinline
-func f8(x int) int8 {
-       return 0
-}
-
-//go:noinline
-func f16(x int) int16 {
-       return 0
-}
-
-//go:noinline
-func f32(x int) int32 {
-       return 0
-}
-
-//go:noinline
-func f64(x int) int64 {
-       return 0
-}
-
-func compMem2() int {
-       // amd64:`CMPB\t8\(SP\), [$]0`
-       if f(3) {
+func compMem2(t T) int {
+       // amd64:`CMPB\t.*\(SP\), [$]0`
+       if t.x {
                return 1
        }
-       // amd64:`CMPB\t8\(SP\), [$]7`
-       if f8(3) == 7 {
+       // amd64:`CMPB\t.*\(SP\), [$]7`
+       if t.x8 == 7 {
                return 1
        }
-       // amd64:`CMPW\t8\(SP\), [$]7`
-       if f16(3) == 7 {
+       // amd64:`CMPW\t.*\(SP\), [$]7`
+       if t.x16 == 7 {
                return 1
        }
-       // amd64:`CMPL\t8\(SP\), [$]7`
-       if f32(3) == 7 {
+       // amd64:`CMPL\t.*\(SP\), [$]7`
+       if t.x32 == 7 {
                return 1
        }
-       // amd64:`CMPQ\t8\(SP\), [$]7`
-       if f64(3) == 7 {
+       // amd64:`CMPQ\t.*\(SP\), [$]7`
+       if t.x64 == 7 {
                return 1
        }
        return 0