-
Wei Xiao authored
ARMv8.1 has added new instruction (LDADDAL) for atomic memory operations. This CL improves existing atomic add intrinsics with the new instruction. Since the new instruction is only guaranteed to be present after ARMv8.1, we guard its usage with a conditional on CPU feature. Performance result on ARMv8.1 machine: name old time/op new time/op delta Xadd-224 1.05µs ± 6% 0.02µs ± 4% -98.06% (p=0.000 n=10+8) Xadd64-224 1.05µs ± 3% 0.02µs ±13% -98.10% (p=0.000 n=9+10) [Geo mean] 1.05µs 0.02µs -98.08% Performance result on ARMv8.0 machine: name old time/op new time/op delta Xadd-46 538ns ± 1% 541ns ± 1% +0.62% (p=0.000 n=9+9) Xadd64-46 505ns ± 1% 508ns ± 0% +0.48% (p=0.003 n=9+8) [Geo mean] 521ns 524ns +0.55% Change-Id: If4b5d8d0e2d6f84fe1492a4f5de0789910ad0ee9 Reviewed-on: https://go-review.googlesource.com/81877 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
0a7ac93c
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
arm | ||
arm64 | ||
mips | ||
ppc64 | ||
s390x | ||
wasm | ||
x86 | ||
addrtype_string.go | ||
bootstrap.go | ||
data.go | ||
go.go | ||
inl.go | ||
ld.go | ||
line.go | ||
line_test.go | ||
link.go | ||
objfile.go | ||
pass.go | ||
pcln.go | ||
plist.go | ||
sizeof_test.go | ||
sort.go | ||
stringer.go | ||
sym.go | ||
textflag.go | ||
util.go |