Fixes #73812
Change-Id: If7a6e103ae9e1442a2cf4a3c6b1270b6a1887196
Reviewed-on: https://go-review.googlesource.com/c/go/+/675175
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Junyang Shao <shaojunyang@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
mask := int64(1)<<(8*a[i].size) - 1
s := 8 * (a[i].offset - a[0].offset)
if root.Block.Func.Config.BigEndian {
- s = aTotalSize*8 - a[i].size - s
+ s = (aTotalSize-a[i].size)*8 - s
}
c |= (a[i].store.Args[1].AuxInt & mask) << s
}
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
+}