1// run
2
3// Copyright 2021 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7// When the function Store an Arg and also use it in another place,
8// be sure not to generate duplicated OpArgXXXReg values, which confuses
9// the register allocator.
10
11package main
12
13//go:noinline
14//go:registerparams
15func F(x, y float32) {
16	if x < 0 {
17		panic("FAIL")
18	}
19	g = [4]float32{x, y, x, y}
20}
21
22var g [4]float32
23
24func main() {
25	F(1, 2)
26	if g[0] != 1 || g[1] != 2 || g[2] != 1 || g[3] != 2 {
27		panic("FAIL")
28	}
29}
30