Power10 Add new L operand to the slbiag instruction
Alan Modra
amodra@gmail.com
Mon May 11 11:26:20 GMT 2020
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.
diff --git a/gas/testsuite/gas/ppc/power10.d b/gas/testsuite/gas/ppc/power10.d
new file mode 100644
index 0000000000..5d8198da5a
--- /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 0000000000..9e7daf5618
--- /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 bb1ce2a2a1..6426996833 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/ppc-opc.c b/opcodes/ppc-opc.c
index baabab6457..537171861c 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}},
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list