diff options
| author | Yao Zhang <lunaria21@gmail.com> | 2015-09-09 22:39:45 -0400 |
|---|---|---|
| committer | Minux Ma <minux@golang.org> | 2015-11-12 04:49:57 +0000 |
| commit | 4a25f6ca05896f25bd8a1b561b09915b456f36c6 (patch) | |
| tree | 9e87334d99a62e8021b9b73fde6630aaf3d0891e /src | |
| parent | d58081cf0a2fecb3917a3032d8c2fff9e312b0b8 (diff) | |
| download | go-4a25f6ca05896f25bd8a1b561b09915b456f36c6.tar.xz | |
math, math/big: added support for mips64{,le}
Change-Id: I5129a5b9dbbc57d97da723c2fc247bd28f951817
Reviewed-on: https://go-review.googlesource.com/14451
Reviewed-by: Minux Ma <minux@golang.org>
Diffstat (limited to 'src')
| -rw-r--r-- | src/math/big/arith_mips64x.s | 46 | ||||
| -rw-r--r-- | src/math/stubs_mips64x.s | 91 |
2 files changed, 137 insertions, 0 deletions
diff --git a/src/math/big/arith_mips64x.s b/src/math/big/arith_mips64x.s new file mode 100644 index 0000000000..f9288fc26e --- /dev/null +++ b/src/math/big/arith_mips64x.s @@ -0,0 +1,46 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !math_big_pure_go,mips64 !math_big_pure_go,mips64le + +#include "textflag.h" + +// This file provides fast assembly versions for the elementary +// arithmetic operations on vectors implemented in arith.go. + +TEXT ·mulWW(SB),NOSPLIT,$0 + JMP ·mulWW_g(SB) + +TEXT ·divWW(SB),NOSPLIT,$0 + JMP ·divWW_g(SB) + +TEXT ·addVV(SB),NOSPLIT,$0 + JMP ·addVV_g(SB) + +TEXT ·subVV(SB),NOSPLIT,$0 + JMP ·subVV_g(SB) + +TEXT ·addVW(SB),NOSPLIT,$0 + JMP ·addVW_g(SB) + +TEXT ·subVW(SB),NOSPLIT,$0 + JMP ·subVW_g(SB) + +TEXT ·shlVU(SB),NOSPLIT,$0 + JMP ·shlVU_g(SB) + +TEXT ·shrVU(SB),NOSPLIT,$0 + JMP ·shrVU_g(SB) + +TEXT ·mulAddVWW(SB),NOSPLIT,$0 + JMP ·mulAddVWW_g(SB) + +TEXT ·addMulVVW(SB),NOSPLIT,$0 + JMP ·addMulVVW_g(SB) + +TEXT ·divWVW(SB),NOSPLIT,$0 + JMP ·divWVW_g(SB) + +TEXT ·bitLen(SB),NOSPLIT,$0 + JMP ·bitLen_g(SB) diff --git a/src/math/stubs_mips64x.s b/src/math/stubs_mips64x.s new file mode 100644 index 0000000000..63be6ea844 --- /dev/null +++ b/src/math/stubs_mips64x.s @@ -0,0 +1,91 @@ +// Copyright 2014 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build mips64 mips64le + +#include "textflag.h" + +TEXT ·Asin(SB),NOSPLIT,$0 + JMP ·asin(SB) + +TEXT ·Acos(SB),NOSPLIT,$0 + JMP ·acos(SB) + +TEXT ·Atan2(SB),NOSPLIT,$0 + JMP ·atan2(SB) + +TEXT ·Atan(SB),NOSPLIT,$0 + JMP ·atan(SB) + +TEXT ·Dim(SB),NOSPLIT,$0 + JMP ·dim(SB) + +TEXT ·Min(SB),NOSPLIT,$0 + JMP ·min(SB) + +TEXT ·Max(SB),NOSPLIT,$0 + JMP ·max(SB) + +TEXT ·Exp2(SB),NOSPLIT,$0 + JMP ·exp2(SB) + +TEXT ·Expm1(SB),NOSPLIT,$0 + JMP ·expm1(SB) + +TEXT ·Exp(SB),NOSPLIT,$0 + JMP ·exp(SB) + +TEXT ·Floor(SB),NOSPLIT,$0 + JMP ·floor(SB) + +TEXT ·Ceil(SB),NOSPLIT,$0 + JMP ·ceil(SB) + +TEXT ·Trunc(SB),NOSPLIT,$0 + JMP ·trunc(SB) + +TEXT ·Frexp(SB),NOSPLIT,$0 + JMP ·frexp(SB) + +TEXT ·Hypot(SB),NOSPLIT,$0 + JMP ·hypot(SB) + +TEXT ·Ldexp(SB),NOSPLIT,$0 + JMP ·ldexp(SB) + +TEXT ·Log10(SB),NOSPLIT,$0 + JMP ·log10(SB) + +TEXT ·Log2(SB),NOSPLIT,$0 + JMP ·log2(SB) + +TEXT ·Log1p(SB),NOSPLIT,$0 + JMP ·log1p(SB) + +TEXT ·Log(SB),NOSPLIT,$0 + JMP ·log(SB) + +TEXT ·Modf(SB),NOSPLIT,$0 + JMP ·modf(SB) + +TEXT ·Mod(SB),NOSPLIT,$0 + JMP ·mod(SB) + +TEXT ·Remainder(SB),NOSPLIT,$0 + JMP ·remainder(SB) + +TEXT ·Sincos(SB),NOSPLIT,$0 + JMP ·sincos(SB) + +TEXT ·Sin(SB),NOSPLIT,$0 + JMP ·sin(SB) + +TEXT ·Cos(SB),NOSPLIT,$0 + JMP ·cos(SB) + +TEXT ·Sqrt(SB),NOSPLIT,$0 + JMP ·sqrt(SB) + +TEXT ·Tan(SB),NOSPLIT,$0 + JMP ·tan(SB) |
