go/src/math
Meng Zhuo ad377e906a math: add round assembly implementations on riscv64
goos: linux
goarch: riscv64
pkg: math
            │ floor_old.bench │           floor_new.bench           │
            │     sec/op      │   sec/op     vs base                │
Ceil              54.12n ± 0%   22.05n ± 0%  -59.26% (p=0.000 n=10)
Floor             40.80n ± 0%   22.05n ± 0%  -45.96% (p=0.000 n=10)
Round             20.73n ± 0%   20.74n ± 0%        ~ (p=0.441 n=10)
RoundToEven       24.07n ± 0%   24.07n ± 0%        ~ (p=1.000 n=10)
Trunc             38.73n ± 0%   22.05n ± 0%  -43.07% (p=0.000 n=10)
geomean           33.58n        22.17n       -33.98%

Change-Id: I24fb9e3bbf8146da253b6791b21377bea1afbd16
Reviewed-on: https://go-review.googlesource.com/c/go/+/504737
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: M Zhuo <mengzhuo1203@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Run-TryBot: M Zhuo <mengzhuo1203@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Joel Sing <joel@sing.id.au>
2024-02-23 08:34:12 +00:00
..
big math/big,crypto/internal/bigmod: unroll loop in addMulVVW for ppc64x 2024-01-25 19:32:43 +00:00
bits all: drop old +build lines 2023-10-19 23:33:27 +00:00
cmplx math: add available godoc link 2023-10-19 11:59:09 +00:00
rand math/rand/v2: use a doc link for crypto/rand 2024-02-19 08:55:25 +00:00
abs.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
acos_s390x.s
acosh.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
acosh_s390x.s
all_test.go math: add test that covers riscv64 fnm{add,sub} codegen 2023-07-07 17:39:26 +00:00
arith_s390x.go
arith_s390x_test.go
asin.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
asin_s390x.s
asinh.go all: fix mismatched symbols 2023-06-13 20:02:49 +00:00
asinh_s390x.s
atan.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
atan2.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
atan2_s390x.s
atan_s390x.s
atanh.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
atanh_s390x.s all: replace leading spaces with tabs in assembly 2023-03-23 20:52:57 +00:00
bits.go all: replace `` and '' with “ (U+201C) and ” (U+201D) in doc comments 2022-04-05 17:52:29 +00:00
cbrt.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
cbrt_s390x.s
const.go math: show value of integer constants in comments 2022-09-21 14:07:39 +00:00
const_test.go
copysign.go math: improve documentation of Copysign 2022-04-14 17:42:53 +00:00
cosh_s390x.s
dim.go math: document that Min/Max differ from min/max 2023-06-15 19:45:12 +00:00
dim_amd64.s
dim_arm64.s
dim_asm.go
dim_noasm.go
dim_riscv64.s
dim_s390x.s
erf.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
erf_s390x.s
erfc_s390x.s
erfinv.go math: add available godoc link 2023-10-19 11:59:09 +00:00
example_test.go
exp.go math: add available godoc link 2023-10-19 11:59:09 +00:00
exp2_asm.go
exp2_noasm.go
exp_amd64.go
exp_amd64.s
exp_arm64.s
exp_asm.go
exp_noasm.go
exp_s390x.s
expm1.go math: add available godoc link 2023-10-19 11:59:09 +00:00
expm1_s390x.s
export_s390x_test.go
export_test.go
floor.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
floor_386.s
floor_amd64.s
floor_arm64.s
floor_asm.go math: add round assembly implementations on riscv64 2024-02-23 08:34:12 +00:00
floor_noasm.go math: add round assembly implementations on riscv64 2024-02-23 08:34:12 +00:00
floor_ppc64x.s all: drop old +build lines 2023-10-19 23:33:27 +00:00
floor_riscv64.s math: add round assembly implementations on riscv64 2024-02-23 08:34:12 +00:00
floor_s390x.s
floor_wasm.s
fma.go math: fix portable FMA when x*y < 0 and x*y == -z 2023-07-05 22:05:30 +00:00
frexp.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
gamma.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
huge_test.go math: enable huge argument tests on s390x 2023-07-31 16:23:41 +00:00
hypot.go math: add available godoc link 2023-10-19 11:59:09 +00:00
hypot_386.s
hypot_amd64.s
hypot_asm.go
hypot_noasm.go
j0.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
j1.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
jn.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
ldexp.go math: add available godoc link 2023-10-19 11:59:09 +00:00
lgamma.go math: add available godoc link 2023-10-19 11:59:09 +00:00
log.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
log1p.go math: add available godoc link 2023-10-19 11:59:09 +00:00
log1p_s390x.s
log10.go math: add available godoc link 2023-10-19 11:59:09 +00:00
log10_s390x.s
log_amd64.s all: replace leading spaces with tabs in assembly 2023-03-23 20:52:57 +00:00
log_asm.go
log_s390x.s
log_stub.go
logb.go math: fix function name in comment 2022-11-07 19:46:45 +00:00
mod.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
modf.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
modf_arm64.s
modf_asm.go
modf_noasm.go
modf_ppc64x.s all: drop old +build lines 2023-10-19 23:33:27 +00:00
nextafter.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
pow.go math: handle int64 overflows for odd integer exponents in Pow(-0, y) 2023-01-24 19:10:58 +00:00
pow10.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
pow_s390x.s all: fix spelling errors 2023-06-14 00:03:57 +00:00
remainder.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
signbit.go
sin.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
sin_s390x.s math: huge argument handling for sin/cos in s390x 2023-07-31 04:25:54 +00:00
sincos.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
sinh.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
sinh_s390x.s
sqrt.go cmd/compile,math: remove all sqrt assembly code 2022-08-15 17:07:57 +00:00
stubs.go
stubs_s390x.s
tan.go all: fix some lint issues 2022-05-08 17:27:54 +00:00
tan_s390x.s math: support to handle huge arguments in tan function on s390x 2023-07-27 23:30:00 +00:00
tanh.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
tanh_s390x.s
trig_reduce.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
unsafe.go