go/src/cmd/compile/internal/gc/testdata
Michael Munday bd8a39b67a cmd/compile: emit fused multiply-{add,subtract} instructions on s390x
Explcitly block fused multiply-add pattern matching when a cast is used
after the multiplication, for example:

    - (a * b) + c        // can emit fused multiply-add
    - float64(a * b) + c // cannot emit fused multiply-add

float{32,64} and complex{64,128} casts of matching types are now kept
as OCONV operations rather than being replaced with OCONVNOP operations
because they now imply a rounding operation (and therefore aren't a
no-op anymore).

Operations (for example, multiplication) on complex types may utilize
fused multiply-add and -subtract instructions internally. There is no
way to disable this behavior at the moment.

Improves the performance of the floating point implementation of
poly1305:

name         old speed     new speed     delta
64           246MB/s ± 0%  275MB/s ± 0%  +11.48%   (p=0.000 n=10+8)
1K           312MB/s ± 0%  357MB/s ± 0%  +14.41%  (p=0.000 n=10+10)
64Unaligned  246MB/s ± 0%  274MB/s ± 0%  +11.43%  (p=0.000 n=10+10)
1KUnaligned  312MB/s ± 0%  357MB/s ± 0%  +14.39%   (p=0.000 n=10+8)

Updates #17895.

Change-Id: Ia771d275bb9150d1a598f8cc773444663de5ce16
Reviewed-on: https://go-review.googlesource.com/36963
Run-TryBot: Michael Munday <munday@ca.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
2017-02-28 15:34:20 +00:00
..
gen test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
addressed.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
append.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
arith.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
arithBoundary.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
arithConst.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
array.go all: make spelling consistent 2016-12-08 23:22:37 +00:00
assert.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
break.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
chan.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
closure.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
cmp.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
compound.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
copy.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
ctl.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
deferNoReturn.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
divbyzero.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
dupLoad.go cmd/compile: combine stores into larger widths 2016-04-23 16:01:13 +00:00
fp.go cmd/compile: emit fused multiply-{add,subtract} instructions on s390x 2017-02-28 15:34:20 +00:00
loadstore.go cmd/compile: zero extend when replacing load-hit-store on s390x 2017-02-22 16:22:49 +00:00
map.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
namedReturn.go cmd/compile: add x.Uses==1 test to load combiners 2016-04-12 15:10:16 +00:00
phi.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
regalloc.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
short.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
slice.go cmd/compile: don't write back unchanged slice results 2016-03-21 23:40:18 +00:00
sqrt_const.go cmd/compile: precompute constant square roots 2016-08-23 17:30:55 +00:00
string.go all: make spelling consistent 2016-12-08 23:22:37 +00:00
unsafe.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00
zero.go test,cmd/compile: remove _ssa file suffix 2016-09-15 20:47:01 +00:00