1// run 2 3//go:build !wasm 4 5// Copyright 2023 The Go Authors. All rights reserved. 6// Use of this source code is governed by a BSD-style 7// license that can be found in the LICENSE file. 8 9package main 10 11// small enough for registers, too large for SSA 12type T struct { 13 a, b, c, d, e int 14} 15 16//go:noinline 17func F() { 18 a, b := g(), g() 19 h(b, b) 20 h(a, g()) 21 if a.a == 1 { 22 a = g() 23 } 24 h(a, a) 25} 26 27//go:noinline 28func g() T { 29 return T{1, 2, 3, 4, 5} 30} 31 32//go:noinline 33func h(s, t T) { 34 if s != t { 35 println("NEQ") 36 } 37} 38 39func main() { F() } 40