diff options
| author | Jorropo <jorropo.pgm@gmail.com> | 2024-07-06 04:48:04 +0200 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2024-07-10 03:19:58 +0000 |
| commit | b3040679ad0eccaaadb825ed8c0704086ecc23eb (patch) | |
| tree | 8370ad2d798b970d7fc12b04b6937d8b5bc8521d /src/math | |
| parent | 70e453b4361b80a85e6ebb37e4d43ec02db9a50a (diff) | |
| download | go-b3040679ad0eccaaadb825ed8c0704086ecc23eb.tar.xz | |
math: remove riscv64 assembly implementations of rounding
Fixes #68322
This reverts commit ad377e906a8ee6f27545d83de280206dacec1e58.
Change-Id: Ifa4811e2c679d789cc830dbff5e50301410e24d0
Reviewed-on: https://go-review.googlesource.com/c/go/+/596516
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Commit-Queue: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/math')
| -rw-r--r-- | src/math/floor_asm.go | 2 | ||||
| -rw-r--r-- | src/math/floor_noasm.go | 2 | ||||
| -rw-r--r-- | src/math/floor_riscv64.s | 41 |
3 files changed, 2 insertions, 43 deletions
diff --git a/src/math/floor_asm.go b/src/math/floor_asm.go index 5cb45f5a7e..fb419d6da2 100644 --- a/src/math/floor_asm.go +++ b/src/math/floor_asm.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build 386 || amd64 || arm64 || ppc64 || ppc64le || riscv64 || s390x || wasm +//go:build 386 || amd64 || arm64 || ppc64 || ppc64le || s390x || wasm package math diff --git a/src/math/floor_noasm.go b/src/math/floor_noasm.go index 6754ca8fc8..5641c7ea0a 100644 --- a/src/math/floor_noasm.go +++ b/src/math/floor_noasm.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !386 && !amd64 && !arm64 && !ppc64 && !ppc64le && !riscv64 && !s390x && !wasm +//go:build !386 && !amd64 && !arm64 && !ppc64 && !ppc64le && !s390x && !wasm package math diff --git a/src/math/floor_riscv64.s b/src/math/floor_riscv64.s deleted file mode 100644 index 62ce963781..0000000000 --- a/src/math/floor_riscv64.s +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2023 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. - -#include "textflag.h" - -#define PosInf 0x7FF0000000000000 - -// The rounding mode of RISC-V is different from Go spec. - -#define ROUNDFN(NAME, MODE) \ -TEXT NAME(SB),NOSPLIT,$0; \ - MOVD x+0(FP), F0; \ - /* whether x is NaN */; \ - FEQD F0, F0, X6; \ - BNEZ X6, 3(PC); \ - /* return NaN if x is NaN */; \ - MOVD F0, ret+8(FP); \ - RET; \ - MOV $PosInf, X6; \ - FMVDX X6, F1; \ - FABSD F0, F2; \ - /* if abs(x) > +Inf, return Inf instead of round(x) */; \ - FLTD F1, F2, X6; \ - /* Inf should keep same signed with x then return */; \ - BEQZ X6, 3(PC); \ - FCVTLD.MODE F0, X6; \ - FCVTDL X6, F1; \ - /* rounding will drop signed bit in RISCV, restore it */; \ - FSGNJD F0, F1, F0; \ - MOVD F0, ret+8(FP); \ - RET - -// func archFloor(x float64) float64 -ROUNDFN(·archFloor, RDN) - -// func archCeil(x float64) float64 -ROUNDFN(·archCeil, RUP) - -// func archTrunc(x float64) float64 -ROUNDFN(·archTrunc, RTZ) |
