From 0d33a896d9eeacd96035c3b22f3698c8f51a09aa Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Mon, 26 Jun 2017 19:43:56 +0000 Subject: [PATCH] doc: add FMA mention to Go 1.9 release notes Fixes #20795 Updates #17895 Updates #20587 Change-Id: Iea375f3a6ffe3f51e3ffdae1fb3fd628b6b3316c Reviewed-on: https://go-review.googlesource.com/46717 Reviewed-by: Ian Lance Taylor --- doc/go1.9.html | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/doc/go1.9.html b/doc/go1.9.html index 8b10218ca7..3704f55835 100644 --- a/doc/go1.9.html +++ b/doc/go1.9.html @@ -27,8 +27,9 @@ ul li { margin: 0.5em 0; } after Go 1.8 and is the tenth release in the Go 1.x series. - There is one change to the language, adding - support for type aliases. + There are two changes to the language, + adding support for type aliases, and defining when implementations + may fuse floating point operations. Most of the changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 @@ -49,7 +50,9 @@ ul li { margin: 0.5em 0; }

Changes to the language

- There is one change to the language. + There are two changes to the language. +

+

Go now supports type aliases to support gradual code repair while moving a type between packages. The type alias @@ -69,6 +72,16 @@ type T1 = T2 both T1 and T2 denote the same type.

+

+ A smaller language change is that the + language specification + now states when implementations are allowed to fuse floating + point operations together, such as by using an architecture's "fused + multiply and add" (FMA) instruction to compute x*y + z + without rounding the intermediate result x*y. + To force the intermediate rounding, write float64(x*y) + z. +

+

Ports

-- 2.50.0