// 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` // ppc64:`MOVHBR` t.a = uint8(x) t.b = uint8(x >> 8) t.c = uint16(x >> 16) } func store_const(t *tile3) { // 0x00030201 // amd64:`MOVL\s\$197121` // 0x01020003 // ppc64:`MOVD\s\$16908291` t.a, t.b, t.c = 1, 2, 3 }