From 80f068928fd957935df3d61da319331e76a73b49 Mon Sep 17 00:00:00 2001 From: Xiaolin Zhao Date: Mon, 16 Dec 2024 10:53:00 +0800 Subject: cmd/internal/obj/loong64: add {V,XV}{FSQRT/FRECIP/FRSQRT}.{S/D} instructions support Go asm syntax: V{FSQRT/FRECIP/FRSQRT}{F/D} VJ, VD XV{FSQRT/FRECIP/FRSQRT}{F/D} XJ, XD Equivalent platform assembler syntax: v{fsqrt/frecip/frsqrt}.{s/d} vd, vj xv{fsqrt/frecip/frsqrt}.{s/d} xd, xj Change-Id: I3fdbe3193659d7532164451b087ccf725053172f Reviewed-on: https://go-review.googlesource.com/c/go/+/636395 Reviewed-by: David Chase Reviewed-by: abner chenc LUCI-TryBot-Result: Go LUCI Reviewed-by: Junyang Shao --- src/cmd/asm/internal/asm/testdata/loong64enc1.s | 14 ++++++++++++++ 1 file changed, 14 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 f85939afbc..60e253cec3 100644 --- a/src/cmd/asm/internal/asm/testdata/loong64enc1.s +++ b/src/cmd/asm/internal/asm/testdata/loong64enc1.s @@ -835,3 +835,17 @@ lable2: XVMODHU X3, X2, X1 // 418ce674 XVMODWU X3, X2, X1 // 410ce774 XVMODVU X3, X2, X1 // 418ce774 + + // [X]VF{SQRT/RECIP/RSQRT}{F/D} instructions + VFSQRTF V1, V2 // 22e49c72 + VFSQRTD V1, V2 // 22e89c72 + VFRECIPF V1, V2 // 22f49c72 + VFRECIPD V1, V2 // 22f89c72 + VFRSQRTF V1, V2 // 22049d72 + VFRSQRTD V1, V2 // 22089d72 + XVFSQRTF X2, X1 // 41e49c76 + XVFSQRTD X2, X1 // 41e89c76 + XVFRECIPF X2, X1 // 41f49c76 + XVFRECIPD X2, X1 // 41f89c76 + XVFRSQRTF X2, X1 // 41049d76 + XVFRSQRTD X2, X1 // 41089d76 -- cgit v1.3-6-g1900