From: Shenghou Ma Date: Mon, 23 Apr 2012 15:47:36 +0000 (+0800) Subject: math: ARM assembly implementation for Abs X-Git-Tag: go1.1rc2~3342 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e7e7b1c55ce7d73812caff018d02545f8f5740aa;p=gostls13.git math: ARM assembly implementation for Abs Obtained on 700MHz OMAP4460: benchmark old ns/op new ns/op delta BenchmarkAbs 61 23 -61.63% R=dave, remyoudompheng, mtj, rsc CC=golang-dev https://golang.org/cl/6094047 --- diff --git a/src/pkg/math/abs_arm.s b/src/pkg/math/abs_arm.s index 23f6a2a2de..d7a406bec1 100644 --- a/src/pkg/math/abs_arm.s +++ b/src/pkg/math/abs_arm.s @@ -3,4 +3,9 @@ // license that can be found in the LICENSE file. TEXT ·Abs(SB),7,$0 - B ·abs(SB) + MOVW lo+0(FP), R0 + MOVW hi+4(FP), R1 + AND $((1<<31)-1), R1 + MOVW R0, resultlo+8(FP) + MOVW R1, resulthi+12(FP) + RET