diff options
Diffstat (limited to 'test/codegen')
| -rw-r--r-- | test/codegen/issue72832.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/codegen/issue72832.go b/test/codegen/issue72832.go new file mode 100644 index 0000000000..a7f6ca8c5c --- /dev/null +++ b/test/codegen/issue72832.go @@ -0,0 +1,41 @@ +// asmcheck + +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package codegen + +type tile1 struct { + a uint16 + b uint16 + c uint32 +} + +func store_tile1(t *tile1) { + // amd64:`MOVQ` + t.a, t.b, t.c = 1, 1, 1 +} + +type tile2 struct { + a, b, c, d, e int8 +} + +func store_tile2(t *tile2) { + // amd64:`MOVW` + t.a, t.b = 1, 1 + // amd64:`MOVW` + t.d, t.e = 1, 1 +} + +type tile3 struct { + a, b uint8 + c uint16 +} + +func store_shifted(t *tile3, x uint32) { + // amd64:`MOVL` + t.a = uint8(x) + t.b = uint8(x >> 8) + t.c = uint16(x >> 16) +} |
