]> Cypherpunks repositories - gostls13.git/commit
all: add floating point option for ARM targets
authorLudi Rehak <ludi317@gmail.com>
Sun, 30 Jul 2023 01:25:42 +0000 (18:25 -0700)
committerGopher Robot <gobot@golang.org>
Mon, 20 Nov 2023 17:19:36 +0000 (17:19 +0000)
commitee6b34797b66b957fdf9b7211ee3f0b80ac57758
treef13457ea0e7e4bc4ca4629c6a1b4d56a80de4b38
parente6b154defba046609b6a36313298cfc207945df7
all: add floating point option for ARM targets

This change introduces new options to set the floating point
mode on ARM targets. The GOARM version number can optionally be
followed by ',hardfloat' or ',softfloat' to select whether to
use hardware instructions or software emulation for floating
point computations, respectively. For example,
GOARM=7,softfloat.

Previously, software floating point support was limited to
GOARM=5. With these options, software floating point is now
extended to all ARM versions, including GOARM=6 and 7. This
change also extends hardware floating point to GOARM=5.

GOARM=5 defaults to softfloat and GOARM=6 and 7 default to
hardfloat.

For #61588

Change-Id: I23dc86fbd0733b262004a2ed001e1032cf371e94
Reviewed-on: https://go-review.googlesource.com/c/go/+/514907
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
20 files changed:
src/cmd/asm/internal/asm/endtoend_test.go
src/cmd/compile/internal/arm/galign.go
src/cmd/compile/internal/arm/ssa.go
src/cmd/compile/internal/ssa/_gen/ARM.rules
src/cmd/compile/internal/ssa/rewriteARM.go
src/cmd/go/alldocs.go
src/cmd/go/internal/help/helpdoc.go
src/cmd/internal/obj/arm/asm5.go
src/cmd/internal/obj/arm/obj5.go
src/cmd/internal/testdir/testdir_test.go
src/cmd/link/internal/ld/lib.go
src/internal/buildcfg/cfg.go
src/math/rand/rand_test.go
src/runtime/asm_arm.s
src/runtime/cgo/asm_arm.s
src/runtime/mkpreempt.go
src/runtime/os_freebsd_arm.go
src/runtime/os_linux_arm.go
src/runtime/preempt_arm.s
src/runtime/runtime2.go