aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Bergner <bergner@linux.ibm.com>2020-05-11 09:27:48 +0930
committerAlan Modra <amodra@gmail.com>2020-05-11 21:08:36 +0930
commit1224c05de4d662639e9da6bfdc4f89de4cb1de6c (patch)
treeba51f7ac06c11fc4775e6376efeb716cbc38efb2
parent6bbb0c0595660e6bc7477126a5b1adaf5387d006 (diff)
downloadgdb-1224c05de4d662639e9da6bfdc4f89de4cb1de6c.zip
gdb-1224c05de4d662639e9da6bfdc4f89de4cb1de6c.tar.gz
gdb-1224c05de4d662639e9da6bfdc4f89de4cb1de6c.tar.bz2
Power10 Add new L operand to the slbiag instruction
opcodes/ * ppc-opc.c (powerpc_opcodes) <slbiag>: Add variant with L operand. gas/ * testsuite/gas/ppc/power10.s: New test. * testsuite/gas/ppc/power10.d: Likewise. * testsuite/gas/ppc/ppc.exp: Run it.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/testsuite/gas/ppc/power10.d13
-rw-r--r--gas/testsuite/gas/ppc/power10.s5
-rw-r--r--gas/testsuite/gas/ppc/ppc.exp1
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/ppc-opc.c4
6 files changed, 32 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 06d0b26..14b4c6f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2020-05-11 Peter Bergner <bergner@linux.ibm.com>
+
+ * testsuite/gas/ppc/power10.s: New test.
+ * testsuite/gas/ppc/power10.d: Likewise.
+ * testsuite/gas/ppc/ppc.exp: Run it.
+
2020-05-11 Alan Modra <amodra@gmail.com>
* config/tc-ppc.c (md_assemble): Update for PPC_OPCODE_POWER10
diff --git a/gas/testsuite/gas/ppc/power10.d b/gas/testsuite/gas/ppc/power10.d
new file mode 100644
index 0000000..5d8198d
--- /dev/null
+++ b/gas/testsuite/gas/ppc/power10.d
@@ -0,0 +1,13 @@
+#as: -mpower10
+#objdump: -dr -Mpower10
+#name: POWER10 tests
+
+.*
+
+Disassembly of section \.text:
+
+0+0 <_start>:
+.*: (7d 40 06 a4|a4 06 40 7d) slbiag r10
+.*: (7d 40 06 a4|a4 06 40 7d) slbiag r10
+.*: (7d 41 06 a4|a4 06 41 7d) slbiag r10,1
+#pass
diff --git a/gas/testsuite/gas/ppc/power10.s b/gas/testsuite/gas/ppc/power10.s
new file mode 100644
index 0000000..9e7daf5
--- /dev/null
+++ b/gas/testsuite/gas/ppc/power10.s
@@ -0,0 +1,5 @@
+ .text
+_start:
+ slbiag 10
+ slbiag 10,0
+ slbiag 10,1
diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index bb1ce2a..6426996 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -120,6 +120,7 @@ run_dump_test "power6"
run_dump_test "power7"
run_dump_test "power8"
run_dump_test "power9"
+run_dump_test "power10"
run_dump_test "vsx"
run_dump_test "vsx2"
run_dump_test "vsx3"
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 25735b7..35aba3d 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2020-05-11 Peter Bergner <bergner@linux.ibm.com>
+
+ * ppc-opc.c (powerpc_opcodes) <slbiag>: Add variant with L operand.
+
2020-05-11 Alan Modra <amodra@gmail.com>
* ppc-dis.c (powerpc_init_dialect): Default to "power10".
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index baabab6..5371718 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -7085,7 +7085,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{"tlbsrx.", XRC(31,850,1), XRT_MASK, PPCA2, 0, {RA0, RB}},
-{"slbiag", X(31,850), XRARB_MASK, POWER9, 0, {RS}},
+{"slbiag", X(31,850), XRLARB_MASK, POWER10, 0, {RS, A_L}},
+{"slbiag", X(31,850), XRARB_MASK, POWER9, POWER10, {RS}},
+
{"slbmfev", X(31,851), XRLA_MASK, POWER9, 0, {RT, RB, A_L}},
{"slbmfev", X(31,851), XRA_MASK, PPC64, POWER9, {RT, RB}},