aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/asm
diff options
context:
space:
mode:
authorXiaolin Zhao <zhaoxiaolin@loongson.cn>2024-12-16 09:51:29 +0800
committerGopher Robot <gobot@golang.org>2025-03-11 14:25:30 -0700
commitb0e2f185c574ebd2ee9e0193e6cb37ab1525786a (patch)
tree77f8f6d467a48998f234eb8154afc2951bdd9de7 /src/cmd/asm
parent6c70f2b960b39e37a6534948d32c02735afcd774 (diff)
downloadgo-b0e2f185c574ebd2ee9e0193e6cb37ab1525786a.tar.xz
cmd/internal/obj/loong64: add {V,XV}MUL{B/H/W/V} and {V,XV}MUH{B/H/W/V}[U] instructions support
Go asm syntax: VMUL{B/H/W/V} VK, VJ, VD VMUH{B/H/W/V}[U] VK, VJ, VD XVMUL{B/H/W/V} XK, XJ, XD XVMUH{B/H/W/V}[U] XK, XJ, XD Equivalent platform assembler syntax: vmul.{b/h/w/d} vd, vj, vk vmuh.{b/h/w/d}[u] vd, vj, vk xvmul.{b/h/w/d} xd, xj, xk xvmuh.{b/h/w/d}[u] xd, xj, xk Change-Id: I2f15a5b4b6303a0f82cb85114477f58e1b5fd950 Reviewed-on: https://go-review.googlesource.com/c/go/+/636375 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: abner chenc <chenguoqi@loongson.cn> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Junyang Shao <shaojunyang@google.com> Reviewed-by: abner chenc <chenguoqi@loongson.cn>
Diffstat (limited to 'src/cmd/asm')
-rw-r--r--src/cmd/asm/internal/asm/testdata/loong64enc1.s26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/cmd/asm/internal/asm/testdata/loong64enc1.s b/src/cmd/asm/internal/asm/testdata/loong64enc1.s
index 10f295d61c..1369266473 100644
--- a/src/cmd/asm/internal/asm/testdata/loong64enc1.s
+++ b/src/cmd/asm/internal/asm/testdata/loong64enc1.s
@@ -775,3 +775,29 @@ lable2:
XVILVHH X3, X2, X1 // 418c1c75
XVILVHW X3, X2, X1 // 410c1d75
XVILVHV X3, X2, X1 // 418c1d75
+
+ // [X]VMUL{B/H/W/V} and [X]VMUH{B/H/W/V}[U] instructions
+ VMULB V1, V2, V3 // 43048470
+ VMULH V1, V2, V3 // 43848470
+ VMULW V1, V2, V3 // 43048570
+ VMULV V1, V2, V3 // 43848570
+ VMUHB V1, V2, V3 // 43048670
+ VMUHH V1, V2, V3 // 43848670
+ VMUHW V1, V2, V3 // 43048770
+ VMUHV V1, V2, V3 // 43848770
+ VMUHBU V1, V2, V3 // 43048870
+ VMUHHU V1, V2, V3 // 43848870
+ VMUHWU V1, V2, V3 // 43048970
+ VMUHVU V1, V2, V3 // 43848970
+ XVMULB X3, X2, X1 // 410c8474
+ XVMULH X3, X2, X1 // 418c8474
+ XVMULW X3, X2, X1 // 410c8574
+ XVMULV X3, X2, X1 // 418c8574
+ XVMUHB X3, X2, X1 // 410c8674
+ XVMUHH X3, X2, X1 // 418c8674
+ XVMUHW X3, X2, X1 // 410c8774
+ XVMUHV X3, X2, X1 // 418c8774
+ XVMUHBU X3, X2, X1 // 410c8874
+ XVMUHHU X3, X2, X1 // 418c8874
+ XVMUHWU X3, X2, X1 // 410c8974
+ XVMUHVU X3, X2, X1 // 418c8974