From: Ben Shi Date: Mon, 15 Oct 2018 05:39:23 +0000 (+0000) Subject: test/codegen: add tests of FMA for arm/arm64 X-Git-Tag: go1.12beta1~774 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=93e27e01af8bd6ac76c9784165d63b7cafe10a16;p=gostls13.git test/codegen: add tests of FMA for arm/arm64 This CL adds tests of fused multiplication-accumulation on arm/arm64. Change-Id: Ic85d5277c0d6acb7e1e723653372dfaf96824a39 Reviewed-on: https://go-review.googlesource.com/c/141652 Run-TryBot: Ben Shi TryBot-Result: Gobot Gobot Reviewed-by: Cherry Zhang --- diff --git a/test/codegen/floats.go b/test/codegen/floats.go index 4e4f87d574..847959c42e 100644 --- a/test/codegen/floats.go +++ b/test/codegen/floats.go @@ -72,27 +72,43 @@ func indexStore(b0 []float64, b1 float64, idx int) { func FusedAdd32(x, y, z float32) float32 { // s390x:"FMADDS\t" // ppc64le:"FMADDS\t" + // arm/7:"MULAF" + // arm64:"FMADDS" return x*y + z } -func FusedSub32(x, y, z float32) float32 { +func FusedSub32_a(x, y, z float32) float32 { // s390x:"FMSUBS\t" // ppc64le:"FMSUBS\t" return x*y - z } +func FusedSub32_b(x, y, z float32) float32 { + // arm/7:"MULSF" + // arm64:"FMSUBS" + return z - x*y +} + func FusedAdd64(x, y, z float64) float64 { // s390x:"FMADD\t" // ppc64le:"FMADD\t" + // arm/7:"MULAD" + // arm64:"FMADDD" return x*y + z } -func FusedSub64(x, y, z float64) float64 { +func FusedSub64_a(x, y, z float64) float64 { // s390x:"FMSUB\t" // ppc64le:"FMSUB\t" return x*y - z } +func FusedSub64_b(x, y, z float64) float64 { + // arm/7:"MULSD" + // arm64:"FMSUBD" + return z - x*y +} + // ---------------- // // Non-floats // // ---------------- //