ppc-opc: support fsins and fsins. instructions
authorDmitry Selyutin <ghostmansd@gmail.com>
Sat, 14 May 2022 11:24:53 +0000 (11:24 +0000)
committerDmitry Selyutin <ghostmansd@gmail.com>
Mon, 23 May 2022 10:55:49 +0000 (10:55 +0000)
gas/testsuite/gas/ppc/fsins.d [new file with mode: 0644]
gas/testsuite/gas/ppc/fsins.s [new file with mode: 0644]
gas/testsuite/gas/ppc/ppc.exp
opcodes/ppc-opc.c

diff --git a/gas/testsuite/gas/ppc/fsins.d b/gas/testsuite/gas/ppc/fsins.d
new file mode 100644 (file)
index 0000000..d126878
--- /dev/null
@@ -0,0 +1,41 @@
+#as: -mfuture
+#objdump: -dr -Mfuture
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+   0:  ec 00 04 1c     fsins   f0,f0
+   4:  ec 00 04 1d     fsins.  f0,f0
+   8:  ec 00 54 1c     fsins   f0,f10
+   c:  ec 00 54 1d     fsins.  f0,f10
+  10:  ec 00 ac 1c     fsins   f0,f21
+  14:  ec 00 ac 1d     fsins.  f0,f21
+  18:  ec 00 fc 1c     fsins   f0,f31
+  1c:  ec 00 fc 1d     fsins.  f0,f31
+  20:  ed 40 04 1c     fsins   f10,f0
+  24:  ed 40 04 1d     fsins.  f10,f0
+  28:  ed 40 54 1c     fsins   f10,f10
+  2c:  ed 40 54 1d     fsins.  f10,f10
+  30:  ed 40 ac 1c     fsins   f10,f21
+  34:  ed 40 ac 1d     fsins.  f10,f21
+  38:  ed 40 fc 1c     fsins   f10,f31
+  3c:  ed 40 fc 1d     fsins.  f10,f31
+  40:  ee a0 04 1c     fsins   f21,f0
+  44:  ee a0 04 1d     fsins.  f21,f0
+  48:  ee a0 54 1c     fsins   f21,f10
+  4c:  ee a0 54 1d     fsins.  f21,f10
+  50:  ee a0 ac 1c     fsins   f21,f21
+  54:  ee a0 ac 1d     fsins.  f21,f21
+  58:  ee a0 fc 1c     fsins   f21,f31
+  5c:  ee a0 fc 1d     fsins.  f21,f31
+  60:  ef e0 04 1c     fsins   f31,f0
+  64:  ef e0 04 1d     fsins.  f31,f0
+  68:  ef e0 54 1c     fsins   f31,f10
+  6c:  ef e0 54 1d     fsins.  f31,f10
+  70:  ef e0 ac 1c     fsins   f31,f21
+  74:  ef e0 ac 1d     fsins.  f31,f21
+  78:  ef e0 fc 1c     fsins   f31,f31
+  7c:  ef e0 fc 1d     fsins.  f31,f31
diff --git a/gas/testsuite/gas/ppc/fsins.s b/gas/testsuite/gas/ppc/fsins.s
new file mode 100644 (file)
index 0000000..b8f8a72
--- /dev/null
@@ -0,0 +1,32 @@
+fsins 0,0
+fsins. 0,0
+fsins 0,10
+fsins. 0,10
+fsins 0,21
+fsins. 0,21
+fsins 0,31
+fsins. 0,31
+fsins 10,0
+fsins. 10,0
+fsins 10,10
+fsins. 10,10
+fsins 10,21
+fsins. 10,21
+fsins 10,31
+fsins. 10,31
+fsins 21,0
+fsins. 21,0
+fsins 21,10
+fsins. 21,10
+fsins 21,21
+fsins. 21,21
+fsins 21,31
+fsins. 21,31
+fsins 31,0
+fsins. 31,0
+fsins 31,10
+fsins. 31,10
+fsins 31,21
+fsins. 31,21
+fsins 31,31
+fsins. 31,31
index a2e23a2c6af0873941e82d29a127ec50329a0b90..e46511bb27b6dc9f42481fa77183741f3d39bdde 100644 (file)
@@ -153,3 +153,5 @@ run_dump_test "rop-checks"
 run_dump_test "dcbt"
 run_dump_test "pr27676"
 run_dump_test "raw"
+
+run_dump_test "fsins"
index 7d19af760e740fb1e664e3a19704fc899be60780..874e76b2fa8ad3950c8eb813495ccf474aa2dfd2 100644 (file)
@@ -8911,6 +8911,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"dsub",       XRC(59,514,0),  X_MASK,      POWER6,    PPCVLE,         {FRT, FRA, FRB}},
 {"dsub.",      XRC(59,514,1),  X_MASK,      POWER6,    PPCVLE,         {FRT, FRA, FRB}},
 
+{"fsins",      XRC(59,526,0),  XRA_MASK,       DRAFT,  PPCVLE, {FRT, FRB}},
+{"fsins.",     XRC(59,526,1),  XRA_MASK,       DRAFT,  PPCVLE, {FRT, FRB}},
+
 {"ddiv",       XRC(59,546,0),  X_MASK,      POWER6,    PPCVLE,         {FRT, FRA, FRB}},
 {"ddiv.",      XRC(59,546,1),  X_MASK,      POWER6,    PPCVLE,         {FRT, FRA, FRB}},