aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj/arm64/a.out.go
diff options
context:
space:
mode:
authoreric fang <eric.fang@arm.com>2020-11-23 10:59:33 +0000
committereric fang <eric.fang@arm.com>2021-03-04 01:26:21 +0000
commit79beddc773ecca50c283dde6aad7c80929da0554 (patch)
tree83c492dc5a572cceeaffb9c549714f53d46c5f02 /src/cmd/internal/obj/arm64/a.out.go
parent12bb256cb30a76b540dbbc1cac38d7044facfa29 (diff)
downloadgo-79beddc773ecca50c283dde6aad7c80929da0554.tar.xz
cmd/asm: add 128-bit FLDPQ and FSTPQ instructions for arm64
This CL adds assembly support for 128-bit FLDPQ and FSTPQ instructions. This CL also deletes some wrong pre/post-indexed LDP and STP instructions, such as {ALDP, C_UAUTO4K, C_NONE, C_NONE, C_PAIR, 74, 8, REGSP, 0, C_XPRE}, because when the offset type is C_UAUTO4K, pre and post don't work. Change-Id: Ifd901d4440eb06eb9e86c9dd17518749fdf32848 Reviewed-on: https://go-review.googlesource.com/c/go/+/273668 Trust: eric fang <eric.fang@arm.com> Run-TryBot: eric fang <eric.fang@arm.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: eric fang <eric.fang@arm.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/cmd/internal/obj/arm64/a.out.go')
-rw-r--r--src/cmd/internal/obj/arm64/a.out.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/cmd/internal/obj/arm64/a.out.go b/src/cmd/internal/obj/arm64/a.out.go
index 7ab9c1475f..ed07f18691 100644
--- a/src/cmd/internal/obj/arm64/a.out.go
+++ b/src/cmd/internal/obj/arm64/a.out.go
@@ -420,16 +420,21 @@ const (
C_LBRA
C_ZAUTO // 0(RSP)
+ C_NSAUTO_16 // -256 <= x < 0, 0 mod 16
C_NSAUTO_8 // -256 <= x < 0, 0 mod 8
C_NSAUTO_4 // -256 <= x < 0, 0 mod 4
C_NSAUTO // -256 <= x < 0
+ C_NPAUTO_16 // -512 <= x < 0, 0 mod 16
C_NPAUTO // -512 <= x < 0, 0 mod 8
+ C_NQAUTO_16 // -1024 <= x < 0, 0 mod 16
C_NAUTO4K // -4095 <= x < 0
+ C_PSAUTO_16 // 0 to 255, 0 mod 16
C_PSAUTO_8 // 0 to 255, 0 mod 8
C_PSAUTO_4 // 0 to 255, 0 mod 4
C_PSAUTO // 0 to 255
C_PPAUTO_16 // 0 to 504, 0 mod 16
C_PPAUTO // 0 to 504, 0 mod 8
+ C_PQAUTO_16 // 0 to 1008, 0 mod 16
C_UAUTO4K_16 // 0 to 4095, 0 mod 16
C_UAUTO4K_8 // 0 to 4095, 0 mod 8
C_UAUTO4K_4 // 0 to 4095, 0 mod 4
@@ -454,17 +459,22 @@ const (
C_SEXT16 // 0 to 65520
C_LEXT
- C_ZOREG // 0(R)
- C_NSOREG_8 // must mirror C_NSAUTO_8, etc
+ C_ZOREG // 0(R)
+ C_NSOREG_16 // must mirror C_NSAUTO_16, etc
+ C_NSOREG_8
C_NSOREG_4
C_NSOREG
+ C_NPOREG_16
C_NPOREG
+ C_NQOREG_16
C_NOREG4K
+ C_PSOREG_16
C_PSOREG_8
C_PSOREG_4
C_PSOREG
C_PPOREG_16
C_PPOREG
+ C_PQOREG_16
C_UOREG4K_16
C_UOREG4K_8
C_UOREG4K_4
@@ -898,6 +908,7 @@ const (
AFDIVD
AFDIVS
AFLDPD
+ AFLDPQ
AFLDPS
AFMOVQ
AFMOVD
@@ -912,6 +923,7 @@ const (
AFSQRTD
AFSQRTS
AFSTPD
+ AFSTPQ
AFSTPS
AFSUBD
AFSUBS