go/src/math
Michael Munday f0fdbb1e8b math: consolidate assembly stub implementations
Where assembly functions are just jumps to the Go implementation
put them into a stubs_<arch>.s file. This reduces the number of
files considerably and makes it easier to see what is really
implemented in assembly.

I've also run the stubs files through asmfmt to format them in
a more consistent way.

Eventually we should replace these 'stub' assembly files with
a pure Go implementation now that we have mid-stack inlining
(see #31362).

Change-Id: If5b2022dcc23e1299f1b7ba79884f1b1263d0f7f
Reviewed-on: https://go-review.googlesource.com/c/go/+/173398
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-04-23 14:50:16 +00:00
..
big math/big: optimize mulAddVWW on arm64 for better performance 2019-04-22 14:45:16 +00:00
bits math/bits: add gccgo-friendly code for compiler bootstrap 2019-04-04 18:17:30 +00:00
cmplx math/cmplx: avoid panic in Pow(x, NaN()) 2019-02-27 14:01:03 +00:00
rand math/rand: add example for Intn func 2019-03-25 16:05:37 +00:00
abs.go cmd/compile,math: improve code generation for math.Abs 2017-08-25 19:15:01 +00:00
acos_s390x.s math: use s390x mnemonics rather than binary encodings 2018-08-20 17:42:08 +00:00
acosh.go math: use SIMD to accelerate additional scalar math functions on s390x 2017-05-08 19:52:30 +00:00
acosh_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
all_test.go math: fix math.Remainder(-x,x) (for Inf > x > 0) 2019-03-15 14:52:51 +00:00
arith_s390x.go math: use SIMD to accelerate additional scalar math functions on s390x 2017-05-08 19:52:30 +00:00
arith_s390x_test.go math: use SIMD to accelerate additional scalar math functions on s390x 2017-05-08 19:52:30 +00:00
asin.go
asin_386.s
asin_s390x.s math: use s390x mnemonics rather than binary encodings 2018-08-20 17:42:08 +00:00
asinh.go math: use SIMD to accelerate additional scalar math functions on s390x 2017-05-08 19:52:30 +00:00
asinh_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
atan.go
atan2.go
atan2_386.s
atan2_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
atan_386.s
atan_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
atanh.go math: use SIMD to accelerate additional scalar math functions on s390x 2017-05-08 19:52:30 +00:00
atanh_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
bits.go math: add RoundToEven function 2017-10-24 22:33:09 +00:00
cbrt.go math: use SIMD to accelerate additional scalar math functions on s390x 2017-05-08 19:52:30 +00:00
cbrt_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
const.go math: change oeis.org urls to https 2017-08-08 08:56:40 +00:00
copysign.go
cosh_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
dim.go math: remove asm version of Dim 2017-11-30 21:00:33 +00:00
dim_amd64.s math: remove asm version of Dim 2017-11-30 21:00:33 +00:00
dim_amd64p32.s
dim_arm64.s math: remove asm version of Dim 2017-11-30 21:00:33 +00:00
dim_s390x.s math: optimize dim and remove s390x assembly implementation 2017-10-30 19:05:51 +00:00
erf.go math: use SIMD to accelerate additional scalar math functions on s390x 2017-05-08 19:52:30 +00:00
erf_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
erfc_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
erfinv.go all: update comment URLs from HTTP to HTTPS, where possible 2018-06-01 21:52:00 +00:00
example_test.go math: add Round and RoundToEven examples 2018-08-28 05:22:41 +00:00
exp.go math: fix inaccurate result of Exp(1) 2017-08-17 09:01:27 +00:00
exp2_386.s
exp_amd64.s all: update comment URLs from HTTP to HTTPS, where possible 2018-06-01 21:52:00 +00:00
exp_amd64p32.s
exp_arm64.s math: optimize Exp and Exp2 on arm64 2018-03-27 19:55:02 +00:00
exp_asm.go math: implement fast path for Exp 2017-09-20 21:43:00 +00:00
exp_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
expm1.go all: unindent some big chunks of code 2017-08-18 06:59:48 +00:00
expm1_386.s all: this big patch remove whitespace from assembly files 2018-10-03 15:28:51 +00:00
expm1_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
export_s390x_test.go math: use SIMD to accelerate additional scalar math functions on s390x 2017-05-08 19:52:30 +00:00
export_test.go math: use constant rather than variable for exported test threshold 2018-12-13 06:33:18 +00:00
floor.go math: add RoundToEven function 2017-10-24 22:33:09 +00:00
floor_386.s
floor_amd64.s cmd/compile: intrinsify math.{Trunc/Ceil/Floor} on amd64 2017-10-31 19:30:54 +00:00
floor_amd64p32.s
floor_arm64.s
floor_ppc64x.s
floor_s390x.s
floor_wasm.s math, math/big: add wasm architecture 2018-05-08 13:29:22 +00:00
frexp.go
frexp_386.s
gamma.go
huge_test.go math: don't run huge argument tests on s390x 2018-12-13 22:13:57 +00:00
hypot.go math: use Abs rather than if x < 0 { x = -x } 2018-02-13 20:12:23 +00:00
hypot_386.s
hypot_amd64.s
hypot_amd64p32.s
j0.go all: s/cancelation/cancellation/ 2019-04-16 20:27:15 +00:00
j1.go all: s/cancelation/cancellation/ 2019-04-16 20:27:15 +00:00
jn.go math: use Sincos instead of Sin and Cos in Jn and Yn 2019-03-25 22:41:37 +00:00
ldexp.go math: fix Ldexp when result is below ldexp(2, -1075) 2018-03-29 23:14:13 +00:00
ldexp_386.s
lgamma.go go/printer, gofmt: tuned table alignment for better results 2018-04-04 13:39:34 -07:00
log.go
log1p.go math: fix ternary correction statement in Log1p 2019-01-07 18:57:45 +00:00
log1p_386.s
log1p_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
log10.go
log10_386.s
log10_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
log_386.s
log_amd64.s math: speed up Log on amd64 2017-03-29 20:36:29 +00:00
log_amd64p32.s
log_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
logb.go
mod.go math: use Abs in Mod rather than if x < 0 { x = -x} 2018-10-04 17:32:44 +00:00
mod_386.s
modf.go
modf_386.s
modf_arm64.s
modf_ppc64x.s math: implement asm modf for ppc64x 2017-11-02 13:24:32 +00:00
nextafter.go
pow.go math: use Abs in Pow rather than if x < 0 { x = -x } 2018-10-04 17:33:04 +00:00
pow10.go math: speed up and improve accuracy of Pow10 2017-02-22 19:17:04 +00:00
pow_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
remainder.go math: fix math.Remainder(-x,x) (for Inf > x > 0) 2019-03-15 14:52:51 +00:00
remainder_386.s
signbit.go all: use "reports whether" consistently in the few places that didn't 2018-11-02 22:47:58 +00:00
sin.go src, misc: apply gofmt 2019-02-19 20:38:28 +00:00
sin_s390x.s cmd/asm, math: add s390x floating point test instructions 2018-04-03 16:08:04 +00:00
sincos.go src, misc: apply gofmt 2019-02-19 20:38:28 +00:00
sinh.go math,net: omit explicit true tag expr in switch 2018-08-20 22:15:59 +00:00
sinh_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
sqrt.go
sqrt_386.s all: this big patch remove whitespace from assembly files 2018-10-03 15:28:51 +00:00
sqrt_amd64.s
sqrt_amd64p32.s
sqrt_arm.s all: this big patch remove whitespace from assembly files 2018-10-03 15:28:51 +00:00
sqrt_arm64.s
sqrt_mipsx.s runtime/cgo, math: don't use FP instructions for soft-float mips{,le} 2017-11-30 17:12:32 +00:00
sqrt_ppc64x.s
sqrt_s390x.s
sqrt_wasm.s math, math/big: add wasm architecture 2018-05-08 13:29:22 +00:00
stubs_386.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_amd64.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_amd64p32.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_arm.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_arm64.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_mips64x.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_mipsx.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_ppc64x.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_s390x.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
stubs_wasm.s math: consolidate assembly stub implementations 2019-04-23 14:50:16 +00:00
tan.go src, misc: apply gofmt 2019-02-19 20:38:28 +00:00
tan_s390x.s math: use s390x mnemonics rather than binary encodings 2018-08-20 17:42:08 +00:00
tanh.go src, misc: apply gofmt 2019-02-19 20:38:28 +00:00
tanh_s390x.s math: use new mnemonics for 'rotate then insert' on s390x 2019-04-16 15:34:41 +00:00
trig_reduce.go math: correct mPi4 comment 2018-12-13 20:35:45 +00:00
unsafe.go math: document sign bit correspondence for floating-point/bits conversions 2018-12-06 22:27:54 +00:00