diff options
| author | Xiaolin Zhao <zhaoxiaolin@loongson.cn> | 2024-12-16 10:24:17 +0800 |
|---|---|---|
| committer | abner chenc <chenguoqi@loongson.cn> | 2025-03-12 17:52:19 -0700 |
| commit | b10c35945de5cfaff6bf135f0b211a798e4c4166 (patch) | |
| tree | 41a0ac7ed6c3481ae20713e7e1cceaabc0c6b3ec /src/cmd/asm | |
| parent | d729053edffdfb17ee947cee8af0d7edc45f6111 (diff) | |
| download | go-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.s | 34 |
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 |
