aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/asm
diff options
context:
space:
mode:
authorXiaolin Zhao <zhaoxiaolin@loongson.cn>2024-12-16 10:24:17 +0800
committerabner chenc <chenguoqi@loongson.cn>2025-03-12 17:52:19 -0700
commitb10c35945de5cfaff6bf135f0b211a798e4c4166 (patch)
tree41a0ac7ed6c3481ae20713e7e1cceaabc0c6b3ec /src/cmd/asm
parentd729053edffdfb17ee947cee8af0d7edc45f6111 (diff)
downloadgo-b10c35945de5cfaff6bf135f0b211a798e4c4166.tar.xz
cmd/internal/obj/loong64: add {V,XV}DIV{B/H/W/V}[U] and {V,XV}MOD{B/H/W/V}[U] instructions support
Go asm syntax: VDIV{B/H/W/V}[U] VK, VJ, VD XVDIV{B/H/W/V}[U] XK, XJ, XD VMOD{B/H/W/V}[U] VK, VJ, VD XVMOD{B/H/W/V}[U] XK, XJ, XD Equivalent platform assembler syntax: vdiv.{b/h/w/d}[u] vd, vj, vk xvdiv.{b/h/w/d}[u] xd, xj, xk vmod.{b/h/w/d}[u] vd, vj, vk xvmod.{b/h/w/d}[u] xd, xj, xk Change-Id: I3676721c3c415de0f2ebbd480ecd1b2400a28dba Reviewed-on: https://go-review.googlesource.com/c/go/+/636376 Reviewed-by: abner chenc <chenguoqi@loongson.cn> Reviewed-by: Junyang Shao <shaojunyang@google.com> Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/cmd/asm')
-rw-r--r--src/cmd/asm/internal/asm/testdata/loong64enc1.s34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/cmd/asm/internal/asm/testdata/loong64enc1.s b/src/cmd/asm/internal/asm/testdata/loong64enc1.s
index 1369266473..f85939afbc 100644
--- a/src/cmd/asm/internal/asm/testdata/loong64enc1.s
+++ b/src/cmd/asm/internal/asm/testdata/loong64enc1.s
@@ -801,3 +801,37 @@ lable2:
XVMUHHU X3, X2, X1 // 418c8874
XVMUHWU X3, X2, X1 // 410c8974
XVMUHVU X3, X2, X1 // 418c8974
+
+ // [X]VDIV{B/H/W/V}[U] and [X]VMOD{B/H/W/V}[U] instructions
+ VDIVB V1, V2, V3 // 4304e070
+ VDIVH V1, V2, V3 // 4384e070
+ VDIVW V1, V2, V3 // 4304e170
+ VDIVV V1, V2, V3 // 4384e170
+ VDIVBU V1, V2, V3 // 4304e470
+ VDIVHU V1, V2, V3 // 4384e470
+ VDIVWU V1, V2, V3 // 4304e570
+ VDIVVU V1, V2, V3 // 4384e570
+ VMODB V1, V2, V3 // 4304e270
+ VMODH V1, V2, V3 // 4384e270
+ VMODW V1, V2, V3 // 4304e370
+ VMODV V1, V2, V3 // 4384e370
+ VMODBU V1, V2, V3 // 4304e670
+ VMODHU V1, V2, V3 // 4384e670
+ VMODWU V1, V2, V3 // 4304e770
+ VMODVU V1, V2, V3 // 4384e770
+ XVDIVB X3, X2, X1 // 410ce074
+ XVDIVH X3, X2, X1 // 418ce074
+ XVDIVW X3, X2, X1 // 410ce174
+ XVDIVV X3, X2, X1 // 418ce174
+ XVDIVBU X3, X2, X1 // 410ce474
+ XVDIVHU X3, X2, X1 // 418ce474
+ XVDIVWU X3, X2, X1 // 410ce574
+ XVDIVVU X3, X2, X1 // 418ce574
+ XVMODB X3, X2, X1 // 410ce274
+ XVMODH X3, X2, X1 // 418ce274
+ XVMODW X3, X2, X1 // 410ce374
+ XVMODV X3, X2, X1 // 418ce374
+ XVMODBU X3, X2, X1 // 410ce674
+ XVMODHU X3, X2, X1 // 418ce674
+ XVMODWU X3, X2, X1 // 410ce774
+ XVMODVU X3, X2, X1 // 418ce774