/
opt
/
golang
/
1.19.4
/
test
/
fixedbugs
/
up file
home
// compile // Copyright 2020 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. // Make sure floating point operations that generate flags // are scheduled correctly on s390x. package p func f1(x, y float64, z int) float64 { a := x + y // generate flags if z == 0 { // create basic block that does not clobber flags return a } if a > 0 { // use flags in different basic block return y } return x } func f2(x, y float64, z int) float64 { a := x - y // generate flags if z == 0 { // create basic block that does not clobber flags return a } if a > 0 { // use flags in different basic block return y } return x } func f3(x, y float32, z int) float32 { a := x + y // generate flags if z == 0 { // create basic block that does not clobber flags return a } if a > 0 { // use flags in different basic block return y } return x } func f4(x, y float32, z int) float32 { a := x - y // generate flags if z == 0 { // create basic block that does not clobber flags return a } if a > 0 { // use flags in different basic block return y } return x }