diff options
| author | Joel Sing <joel@sing.id.au> | 2023-01-07 16:26:15 +1100 |
|---|---|---|
| committer | Joel Sing <joel@sing.id.au> | 2023-08-25 06:31:28 +0000 |
| commit | 0a17b2c174dcbe0f30a19be2ca5517ed0660f706 (patch) | |
| tree | f69958049c4c99b57699312f901934e04a794187 /src/encoding | |
| parent | a5ab4a9471d6745b604a0dc480524229106b0728 (diff) | |
| download | go-0a17b2c174dcbe0f30a19be2ca5517ed0660f706.tar.xz | |
cmd/internal/obj/arm64: load large constants into vector registers from rodata
Load large constants into vector registers from rodata, instead of placing them
in the literal pool. This treats VMOVQ/VMOVD/VMOVS the same as FMOVD/FMOVS and
makes use of the existing mechanism for storing values in rodata. Two additional
instructions are required for a load, however these instructions are used
infrequently and already have a high latency.
Updates #59615
Change-Id: I54226730267689963d73321e548733ae2d66740e
Reviewed-on: https://go-review.googlesource.com/c/go/+/515617
Reviewed-by: Eric Fang <eric.fang@arm.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Joel Sing <joel@sing.id.au>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Diffstat (limited to 'src/encoding')
0 files changed, 0 insertions, 0 deletions
