aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/internal')
-rw-r--r--src/cmd/internal/obj/loong64/a.out.go5
-rw-r--r--src/cmd/internal/obj/loong64/anames.go4
-rw-r--r--src/cmd/internal/obj/loong64/asm.go12
3 files changed, 21 insertions, 0 deletions
diff --git a/src/cmd/internal/obj/loong64/a.out.go b/src/cmd/internal/obj/loong64/a.out.go
index c88c556bfe..97a4d6c179 100644
--- a/src/cmd/internal/obj/loong64/a.out.go
+++ b/src/cmd/internal/obj/loong64/a.out.go
@@ -967,6 +967,11 @@ const (
AXVDIVF
AXVDIVD
+ AVFCLASSF
+ AVFCLASSD
+ AXVFCLASSF
+ AXVFCLASSD
+
// LSX and LASX floating point conversion instructions
AVFRINTRNEF
AVFRINTRNED
diff --git a/src/cmd/internal/obj/loong64/anames.go b/src/cmd/internal/obj/loong64/anames.go
index 533e5f4154..0c1a6ea0c6 100644
--- a/src/cmd/internal/obj/loong64/anames.go
+++ b/src/cmd/internal/obj/loong64/anames.go
@@ -465,6 +465,10 @@ var Anames = []string{
"XVMULD",
"XVDIVF",
"XVDIVD",
+ "VFCLASSF",
+ "VFCLASSD",
+ "XVFCLASSF",
+ "XVFCLASSD",
"VFRINTRNEF",
"VFRINTRNED",
"VFRINTRZF",
diff --git a/src/cmd/internal/obj/loong64/asm.go b/src/cmd/internal/obj/loong64/asm.go
index dc9fafc0e2..6723c67b3f 100644
--- a/src/cmd/internal/obj/loong64/asm.go
+++ b/src/cmd/internal/obj/loong64/asm.go
@@ -1748,6 +1748,8 @@ func buildop(ctxt *obj.Link) {
opset(AVFRINTRMD, r0)
opset(AVFRINTF, r0)
opset(AVFRINTD, r0)
+ opset(AVFCLASSF, r0)
+ opset(AVFCLASSD, r0)
case AXVPCNTB:
opset(AXVPCNTH, r0)
@@ -1773,6 +1775,8 @@ func buildop(ctxt *obj.Link) {
opset(AXVFRINTRMD, r0)
opset(AXVFRINTF, r0)
opset(AXVFRINTD, r0)
+ opset(AXVFCLASSF, r0)
+ opset(AXVFCLASSD, r0)
case AVADDB:
opset(AVADDH, r0)
@@ -3691,6 +3695,14 @@ func (c *ctxt0) oprr(a obj.As) uint32 {
return 0x1da74d << 10 // xvfrint.s
case AXVFRINTD:
return 0x1da74e << 10 // xvfrint.d
+ case AVFCLASSF:
+ return 0x1ca735 << 10 // vfclass.s
+ case AVFCLASSD:
+ return 0x1ca736 << 10 // vfclass.d
+ case AXVFCLASSF:
+ return 0x1da735 << 10 // xvfclass.s
+ case AXVFCLASSD:
+ return 0x1da736 << 10 // xvfclass.d
case AVSETEQV:
return 0x1ca726<<10 | 0x0<<3 // vseteqz.v
case AVSETNEV: