From b0e2f185c574ebd2ee9e0193e6cb37ab1525786a Mon Sep 17 00:00:00 2001 From: Xiaolin Zhao Date: Mon, 16 Dec 2024 09:51:29 +0800 Subject: 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 Auto-Submit: abner chenc Reviewed-by: David Chase Reviewed-by: Junyang Shao Reviewed-by: abner chenc --- src/cmd/asm/internal/asm/testdata/loong64enc1.s | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/cmd/asm') 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 -- cgit v1.3-5-g45d5