1
0
mirror of https://github.com/golang/go synced 2024-11-19 20:54:39 -07:00
go/misc/cgo/testshared/src
Ben Shi 69261ecad6 runtime: use hardware divider to improve performance
The hardware divider is an optional component of ARMv7. This patch
detects whether it is available in runtime and use it or not.

1. The hardware divider is detected at startup and a flag is set/clear
   according to a perticular bit of runtime.hwcap.
2. Each call of runtime.udiv will check this flag and decide if
   use the hardware division instruction.

A rough test shows the performance improves 40-50% for ARMv7. And
the compatibility of ARMv5/v6 is not broken.

fixes #19118

Change-Id: Ic586bc9659ebc169553ca2004d2bdb721df823ac
Reviewed-on: https://go-review.googlesource.com/37496
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
2017-04-11 12:25:55 +00:00
..
dep2 cmd/link: always read type data for dynimport symbols 2016-05-04 07:13:01 +00:00
dep3 cmd/link: always read type data for dynimport symbols 2016-05-04 07:13:01 +00:00
depBase runtime: reorder modules so main.main comes first 2017-01-25 22:33:57 +00:00
division runtime: use hardware divider to improve performance 2017-04-11 12:25:55 +00:00
exe runtime: reorder modules so main.main comes first 2017-01-25 22:33:57 +00:00
exe2 cmd/compile: do not generate tail calls when dynamic linking on ppc64le 2016-06-02 02:34:01 +00:00
exe3 cmd/link: always read type data for dynimport symbols 2016-05-04 07:13:01 +00:00
execgo
explicit
iface misc/cgo/testshared: test that types and itabs are unique 2017-01-12 00:20:55 +00:00
iface_a misc/cgo/testshared: test that types and itabs are unique 2017-01-12 00:20:55 +00:00
iface_b misc/cgo/testshared: test that types and itabs are unique 2017-01-12 00:20:55 +00:00
iface_i misc/cgo/testshared: test that types and itabs are unique 2017-01-12 00:20:55 +00:00
implicit
implicitcmd
trivial