From d65c209b4b5bc99e7e5587817b79e0850cff32cb Mon Sep 17 00:00:00 2001 From: Xiaolin Zhao Date: Tue, 6 May 2025 10:47:07 +0800 Subject: cmd/internal/obj/loong64: add [X]VF{ADD/SUB/MUL/DIV}.{S/D} instructions Go asm syntax: V{ADD/SUB/MUL/DIV}{F/D} VK, VJ, VD XV{ADD/SUB/MUL/DIV}{F/D} XK, XJ, XD Equivalent platform assembler syntax: vf{add/sub/mul/div}.{s/d} vd, vj, vk xvf{add/sub/mul/div}.{s/d} xd, xj, xk Change-Id: I4607884212167ac97d7b6448ea3c849fc0fdd506 Reviewed-on: https://go-review.googlesource.com/c/go/+/670255 Reviewed-by: abner chenc Reviewed-by: Carlos Amedee LUCI-TryBot-Result: Go LUCI Reviewed-by: Cherry Mui --- src/cmd/asm/internal/asm/testdata/loong64enc1.s | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/cmd/asm/internal') diff --git a/src/cmd/asm/internal/asm/testdata/loong64enc1.s b/src/cmd/asm/internal/asm/testdata/loong64enc1.s index a901da9b69..3dfe89aab3 100644 --- a/src/cmd/asm/internal/asm/testdata/loong64enc1.s +++ b/src/cmd/asm/internal/asm/testdata/loong64enc1.s @@ -986,3 +986,21 @@ lable2: XVFRINTRMD X1, X2 // 22489d76 XVFRINTF X1, X2 // 22349d76 XVFRINTD X1, X2 // 22389d76 + + // [X]VF{ADD/SUB/MUL/DIV}.{S/D} instructions + VADDF V1, V2, V3 // 43843071 + VADDD V1, V2, V3 // 43043171 + VSUBF V1, V2, V3 // 43843271 + VSUBD V1, V2, V3 // 43043371 + VMULF V1, V2, V3 // 43843871 + VMULD V1, V2, V3 // 43043971 + VDIVF V1, V2, V3 // 43843a71 + VDIVD V1, V2, V3 // 43043b71 + XVADDF X1, X2, X3 // 43843075 + XVADDD X1, X2, X3 // 43043175 + XVSUBF X1, X2, X3 // 43843275 + XVSUBD X1, X2, X3 // 43043375 + XVMULF X1, X2, X3 // 43843875 + XVMULD X1, X2, X3 // 43043975 + XVDIVF X1, X2, X3 // 43843a75 + XVDIVD X1, X2, X3 // 43043b75 -- cgit v1.3-6-g1900