ppc/svp64: support cprop instructions
authorDmitry Selyutin <ghostmansd@gmail.com>
Sun, 28 May 2023 22:04:55 +0000 (01:04 +0300)
committerDmitry Selyutin <ghostmansd@gmail.com>
Tue, 14 Nov 2023 19:10:31 +0000 (22:10 +0300)
gas/testsuite/gas/ppc/cprop.d [new file with mode: 0644]
gas/testsuite/gas/ppc/cprop.s [new file with mode: 0644]
gas/testsuite/gas/ppc/ppc.exp
opcodes/ppc-opc.c

diff --git a/gas/testsuite/gas/ppc/cprop.d b/gas/testsuite/gas/ppc/cprop.d
new file mode 100644 (file)
index 0000000..de84b94
--- /dev/null
@@ -0,0 +1,14 @@
+#as: -mlibresoc
+#objdump: -dr -Mlibresoc
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+0+ <\.text>:
+.*:\s+(5b e0 03 1c|1c 03 e0 5b)\s+cprop\s+r31,r0,r0
+.*:\s+(58 1f 03 1c|1c 03 1f 58)\s+cprop\s+r0,r31,r0
+.*:\s+(58 00 fb 1c|1c fb 00 58)\s+cprop\s+r0,r0,r31
+.*:\s+(5b e0 03 1d|1d 03 e0 5b)\s+cprop.\s+r31,r0,r0
+.*:\s+(58 1f 03 1d|1d 03 1f 58)\s+cprop.\s+r0,r31,r0
+.*:\s+(58 00 fb 1d|1d fb 00 58)\s+cprop.\s+r0,r0,r31
diff --git a/gas/testsuite/gas/ppc/cprop.s b/gas/testsuite/gas/ppc/cprop.s
new file mode 100644 (file)
index 0000000..223697f
--- /dev/null
@@ -0,0 +1,6 @@
+cprop 31,0,0
+cprop 0,31,0
+cprop 0,0,31
+cprop. 31,0,0
+cprop. 0,31,0
+cprop. 0,0,31
index 370b126c3d2ec7d3a532020480abbb3bb00c4740..7983b5e95e0dc80e32ef6bdcb7153b3750071fae 100644 (file)
@@ -164,3 +164,4 @@ run_dump_test "svindex"
 run_dump_test "fmvis"
 run_dump_test "fishmv"
 run_dump_test "avgadd"
+run_dump_test "cprop"
index 22125adbde8b1ddf6e861cb98fb22e9ab77e24d6..f4b22ab18b4c318c9d5dad4070a4ea56235500a4 100644 (file)
@@ -7032,6 +7032,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 
 {"svremap",    SVRM(22,57),    SVRM_MASK,      SVP64,  PPCVLE, {SVme, mi0, mi1, mi2, mo0, mo1, pst}},
 
+{"cprop",      XRC(22,398,0),  X_MASK, SVP64,  PPCVLE, {RT, RA, RB}},
+{"cprop.",     XRC(22,398,1),  X_MASK, SVP64,  PPCVLE, {RT, RA, RB}},
+
 {"avgadd",     XRC(22,846,0),  X_MASK, SVP64,  PPCVLE, {RT, RA, RB}},
 {"avgadd.",    XRC(22,846,1),  X_MASK, SVP64,  PPCVLE, {RT, RA, RB}},