1// run
2
3// Copyright 2020 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// Test that float -> integer conversion doesn't clobber
8// flags.
9
10package main
11
12//go:noinline
13func f(x, y float64, a, b *bool, r *int64) {
14	*a = x < y    // set flags
15	*r = int64(x) // clobber flags
16	*b = x == y   // use flags
17}
18
19func main() {
20	var a, b bool
21	var r int64
22	f(1, 1, &a, &b, &r)
23	if a || !b {
24		panic("comparison incorrect")
25	}
26}
27