]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj: support arm64 FMOVQ large offset encoding
authorAlexander Musman <alexander.musman@gmail.com>
Sat, 1 Nov 2025 11:44:39 +0000 (14:44 +0300)
committerGopher Robot <gobot@golang.org>
Mon, 3 Nov 2025 21:09:40 +0000 (13:09 -0800)
commit0c4444e13dc7f6a56b16224d32359559edff93b6
treef38dabf7bbe50212a4b057f290299fe68e22b0ee
parent85bec791a0941734520217d548f80714554e5f20
cmd/internal/obj: support arm64 FMOVQ large offset encoding

Support arm64 FMOVQ with large offset in immediate which is encoded
using register offset instruction in opldrr or opstrr. This will help
allowing folding immediate into new ssa ops FMOVQload and FMOVQstore.

For example: FMOVQ F0, -20000(R0) is encoded as following:
  MOVD 3(PC), R27
  FMOVQ F0, (R0)(R27)
  RET
  ffff b1e0 # constant value

Change-Id: Ib71f92f6ff4b310bda004a440b1df41ffe164523
Reviewed-on: https://go-review.googlesource.com/c/go/+/716960
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
src/cmd/asm/internal/asm/testdata/arm64.s
src/cmd/internal/obj/arm64/asm7.go