summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-05-11 09:47:38 +0930
committerAlan Modra <amodra@gmail.com>2020-05-11 21:08:37 +0930
commit5d57bc3ff934df1136daa19bbec45e155114ada3 (patch)
tree865cd3ddc9181e685f9333ecb0a12a97f977451c
parent66ef5847c3a5ec17259f47f6ab52ebd470c0650c (diff)
downloadbinutils-gdb-5d57bc3ff934df1136daa19bbec45e155114ada3.tar.gz
Power10 test lsb by byte operation
opcodes/ * ppc-opc.c (powerpc_opcodes): Add xvtlsbb. gas/ * testsuite/gas/ppc/xvtlsbb.d, * testsuite/gas/ppc/xvtlsbb.s: New test. * testsuite/gas/ppc/ppc.exp: Run it.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/testsuite/gas/ppc/ppc.exp1
-rw-r--r--gas/testsuite/gas/ppc/xvtlsbb.d17
-rw-r--r--gas/testsuite/gas/ppc/xvtlsbb.s10
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/ppc-opc.c1
6 files changed, 39 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 48559068ce6..dfb9d93a5e9 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,11 @@
2020-05-11 Alan Modra <amodra@gmail.com>
+ * testsuite/gas/ppc/xvtlsbb.d,
+ * testsuite/gas/ppc/xvtlsbb.s: New test.
+ * testsuite/gas/ppc/ppc.exp: Run it.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
* testsuite/gas/ppc/stringop.d,
* testsuite/gas/ppc/stringop.s: New test.
* testsuite/gas/ppc/ppc.exp: Run it.
diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index 127829f365f..eaede428af9 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -143,3 +143,4 @@ run_dump_test "genpcv"
run_dump_test "bitmanip"
run_dump_test "set_bool"
run_dump_test "stringop"
+run_dump_test "xvtlsbb"
diff --git a/gas/testsuite/gas/ppc/xvtlsbb.d b/gas/testsuite/gas/ppc/xvtlsbb.d
new file mode 100644
index 00000000000..1627d7afc6d
--- /dev/null
+++ b/gas/testsuite/gas/ppc/xvtlsbb.d
@@ -0,0 +1,17 @@
+#as: -mpower10
+#objdump: -dr -Mpower10
+
+.*
+
+
+Disassembly of section \.text:
+
+0+0 <_start>:
+.*: (f0 02 ff 6e|6e ff 02 f0) xvtlsbb vs63
+.*: (f0 82 07 6c|6c 07 82 f0) xvtlsbb cr1,vs0
+.*: (f1 02 f7 6e|6e f7 02 f1) xvtlsbb cr2,vs62
+.*: (f1 82 0f 6c|6c 0f 82 f1) xvtlsbb cr3,vs1
+.*: (f2 02 ef 6e|6e ef 02 f2) xvtlsbb cr4,vs61
+.*: (f2 82 17 6c|6c 17 82 f2) xvtlsbb cr5,vs2
+.*: (f3 02 e7 6e|6e e7 02 f3) xvtlsbb cr6,vs60
+.*: (f3 82 1f 6c|6c 1f 82 f3) xvtlsbb cr7,vs3
diff --git a/gas/testsuite/gas/ppc/xvtlsbb.s b/gas/testsuite/gas/ppc/xvtlsbb.s
new file mode 100644
index 00000000000..5cbe3ff3528
--- /dev/null
+++ b/gas/testsuite/gas/ppc/xvtlsbb.s
@@ -0,0 +1,10 @@
+ .text
+_start:
+ xvtlsbb 0,63
+ xvtlsbb 1,0
+ xvtlsbb 2,62
+ xvtlsbb 3,1
+ xvtlsbb 4,61
+ xvtlsbb 5,2
+ xvtlsbb 6,60
+ xvtlsbb 7,3
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 69c98de9a2b..dafef733a94 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,9 @@
2020-05-11 Alan Modra <amodra@gmail.com>
+ * ppc-opc.c (powerpc_opcodes): Add xvtlsbb.
+
+2020-05-11 Alan Modra <amodra@gmail.com>
+
* ppc-opc.c (powerpc_opcodes): Add vstribl, vstribr, vstrihl, vstrihr,
vclrlb, vclrrb, vstribl., vstribr., vstrihl., vstrihr..
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index efaa06cfc93..e853b9f7435 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -8085,6 +8085,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{"xxgenpcvdm", X(60,949), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}},
{"xvxexpdp", XX2VA(60,475,0),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},
{"xvxsigdp", XX2VA(60,475,1),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},
+{"xvtlsbb", XX2VA(60,475,2),XX2BF_MASK, POWER10, PPCVLE, {OBF, XB6}},
{"xxbrh", XX2VA(60,475,7),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},
{"xvxexpsp", XX2VA(60,475,8),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},
{"xvxsigsp", XX2VA(60,475,9),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}},