// run // Copyright 2018 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 main // On 32-bit archs, one of the f fields of a [2]T // will be unaligned (address of 4 mod 8). // Make sure we can access the f fields successfully, // particularly for load-add combo instructions // introduced by CL 102036. type T struct { pad uint32 f float64 } //go:noinline func f(t, u *T) float64 { return 3.0 + t.f + u.f } func main() { t := [2]T{{0, 1.0}, {0, 2.0}} sink = f(&t[0], &t[1]) } var sink float64