go/src/cmd/compile/internal/ssa
Ilya Tocar 94484d8ed5 cmd/compile: intrinsify math.{Trunc/Ceil/Floor} on amd64
This significantly speed-ups Trunc.
Ceil/Floor are using the same instruction, so do them too.

name     old time/op  new time/op  delta
Floor-6  3.33ns ± 1%  3.22ns ± 0%   -3.39%  (p=0.000 n=10+10)
Ceil-6   3.33ns ± 1%  3.22ns ± 0%   -3.16%  (p=0.000 n=10+7)
Trunc-6  4.83ns ± 0%  3.22ns ± 0%  -33.36%  (p=0.000 n=6+8)

Change-Id: If848790e458eedfe38a6a0407bb4f589c68ac254
Reviewed-on: https://go-review.googlesource.com/68630
Run-TryBot: Ilya Tocar <ilya.tocar@intel.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
2017-10-31 19:30:54 +00:00
..
gen cmd/compile: intrinsify math.{Trunc/Ceil/Floor} on amd64 2017-10-31 19:30:54 +00:00
testdata cmd/compile: attempt to deflake debug_test.go 2017-10-13 03:25:23 +00:00
TODO
block.go
cache.go [dev.debug] cmd/compile: better DWARF with optimizations on 2017-07-27 20:19:44 +00:00
check.go cmd/compile: make loop finder more aware of irreducible loops 2017-10-05 18:49:10 +00:00
checkbce.go
compile.go cmd/compile: eliminate stores to unread auto variables 2017-08-24 16:53:56 +00:00
config.go cmd/compile: compiler support for buffered write barrier 2017-10-30 18:12:46 +00:00
copyelim.go all: remove some double spaces from comments 2017-08-26 15:09:09 +00:00
copyelim_test.go
critical.go
cse.go
cse_test.go
deadcode.go
deadcode_test.go
deadstore.go cmd/compile: remove Symbol wrappers from Aux fields 2017-09-19 22:03:10 +00:00
deadstore_test.go
debug.go cmd/compile/internal/ssa: use reverse postorder traversal 2017-10-24 20:22:05 +00:00
debug_test.go cmd/compile: attempt to deflake debug_test.go 2017-10-13 03:25:23 +00:00
decompose.go cmd/compile: rename SSA Register.Name to Register.String 2017-08-17 21:53:08 +00:00
dom.go
dom_test.go
export_test.go cmd/compile: compiler support for buffered write barrier 2017-10-30 18:12:46 +00:00
flagalloc.go
func.go cmd/compile: report typedslicecopy write barriers 2017-10-29 20:21:43 +00:00
func_test.go
fuse.go
fuse_test.go
html.go cmd/compile: add line numbers to values & blocks in ssa.html 2017-10-11 21:46:20 +00:00
id.go
layout.go
lca.go
lca_test.go
likelyadjust.go cmd/compile: make loop finder more aware of irreducible loops 2017-10-05 18:49:10 +00:00
location.go cmd/compile: rename SSA Register.Name to Register.String 2017-08-17 21:53:08 +00:00
loop_test.go
loopbce.go
loopreschedchecks.go cmd/compile: simplify a few bits of the code 2017-09-28 20:40:17 +00:00
looprotate.go cmd/compile: make loop finder more aware of irreducible loops 2017-10-05 18:49:10 +00:00
lower.go
magic.go
magic_test.go
nilcheck.go cmd/compile: fix spelling mistake 2017-09-29 20:54:55 +00:00
nilcheck_test.go
op.go cmd/compile: remove Symbol wrappers from Aux fields 2017-09-19 22:03:10 +00:00
opGen.go cmd/compile: intrinsify math.{Trunc/Ceil/Floor} on amd64 2017-10-31 19:30:54 +00:00
opt.go
passbm_test.go
phielim.go
phiopt.go
print.go cmd/compile: rename SSA Register.Name to Register.String 2017-08-17 21:53:08 +00:00
prove.go
redblack32.go cmd/compile: remove some redundant types in decls 2017-09-17 09:51:38 +00:00
redblack32_test.go
regalloc.go cmd/compile: fix runtime.KeepAlive 2017-10-30 19:55:02 +00:00
regalloc_test.go
rewrite.go cmd/compile: remove Symbol wrappers from Aux fields 2017-09-19 22:03:10 +00:00
rewrite386.go cmd/compile: intrinsify runtime.getcallersp 2017-10-10 15:15:21 +00:00
rewriteAMD64.go cmd/compile: intrinsify math.{Trunc/Ceil/Floor} on amd64 2017-10-31 19:30:54 +00:00
rewriteARM.go cmd/compile: optimize ARM code with CMN/TST/TEQ 2017-10-11 14:03:00 +00:00
rewriteARM64.go cmd/compile: intrinsify runtime.getcallersp 2017-10-10 15:15:21 +00:00
rewriteMIPS.go cmd/compile: intrinsify runtime.getcallersp 2017-10-10 15:15:21 +00:00
rewriteMIPS64.go cmd/compile: intrinsify atomics on MIPS64 2017-10-10 19:43:38 +00:00
rewritePPC64.go cmd/compile: don't fold address of global into load/store on PPC64 2017-10-31 18:43:11 +00:00
rewriteS390X.go cmd/compile: intrinsify math.RoundToEven on s390x 2017-10-31 18:04:27 +00:00
rewrite_test.go
rewritedec.go
rewritedec64.go
rewritegeneric.go cmd/compile: optimize signed non-negative div/mod by a power of 2 2017-10-06 15:15:39 +00:00
schedule.go
schedule_test.go
shift_test.go
shortcircuit.go
shortcircuit_test.go
sizeof_test.go [dev.debug] cmd/compile: track variable decomposition in LocalSlot 2017-07-26 18:39:39 +00:00
sparsemap.go
sparseset.go
sparsetree.go cmd/compile: fix phi-function updates for preemptible loops 2017-07-14 15:54:13 +00:00
sparsetreemap.go
stackalloc.go cmd/compile: rename SSA Register.Name to Register.String 2017-08-17 21:53:08 +00:00
stackframe.go
tighten.go
trim.go all: remove some unused result params 2017-08-28 06:52:55 +00:00
value.go cmd/compile: better XPos for rematerialized values and JMPs 2017-10-07 22:12:36 +00:00
writebarrier.go cmd/compile: compiler support for buffered write barrier 2017-10-30 18:12:46 +00:00
writebarrier_test.go
zcse.go