aboutsummaryrefslogtreecommitdiff
path: root/test/codegen/memops.go
diff options
context:
space:
mode:
authorCherry Zhang <cherryyz@google.com>2021-04-12 18:56:25 -0400
committerCherry Zhang <cherryyz@google.com>2021-04-13 14:07:17 +0000
commit444d28295b81c62dc40180a59aeb480bed43ca3a (patch)
tree4782d33a41cc04b7eef7694d1d71ebb9e70b43da /test/codegen/memops.go
parent13a4e8c41cd1d242a435d44e7f66f370e5306a8c (diff)
downloadgo-444d28295b81c62dc40180a59aeb480bed43ca3a.tar.xz
test: make codegen/memops.go work with both ABIs
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>
Diffstat (limited to 'test/codegen/memops.go')
-rw-r--r--test/codegen/memops.go52
1 files changed, 18 insertions, 34 deletions
diff --git a/test/codegen/memops.go b/test/codegen/memops.go
index 7f06a574fe..fb8208f984 100644
--- a/test/codegen/memops.go
+++ b/test/codegen/memops.go
@@ -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