/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue38356.go
54 строки
1 KB
Michael Munday
cmd/compile: fix incorrect block for s390x Select1 op
14 апр 2020, 22:01
14 апр 2020, 22:01
334d410
Код
Авторство
О чём код?
// 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 }