diff options
author | Peter Bergner <bergner@linux.ibm.com> | 2020-05-11 09:31:40 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-05-11 21:08:36 +0930 |
commit | 3ff0a5ba6458db28b5f0bc28afc0678a247357c0 (patch) | |
tree | f1569f23f2ddbad43707a8a1ccf1603aa272e574 | |
parent | afef4fe97598e78acfaa8dc7cf06eebff442dedb (diff) | |
download | gdb-3ff0a5ba6458db28b5f0bc28afc0678a247357c0.zip gdb-3ff0a5ba6458db28b5f0bc28afc0678a247357c0.tar.gz gdb-3ff0a5ba6458db28b5f0bc28afc0678a247357c0.tar.bz2 |
Power10 byte reverse instructions
opcodes/
* ppc-opc.c (powerpc_opcodes) <brd, brh, brw>: New mnemonics.
gas/
* testsuite/gas/ppc/byte_rev.d,
* testsuite/gas/ppc/byte_rev.s: New test.
* testsuite/gas/ppc/ppc.exp: Run it.
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/byte_rev.d | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/byte_rev.s | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/ppc.exp | 1 | ||||
-rw-r--r-- | opcodes/ChangeLog | 4 | ||||
-rw-r--r-- | opcodes/ppc-opc.c | 6 |
6 files changed, 35 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 2f1caa7..1e741ed 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,11 @@ 2020-05-11 Peter Bergner <bergner@linux.ibm.com> + * testsuite/gas/ppc/byte_rev.d, + * testsuite/gas/ppc/byte_rev.s: New test. + * testsuite/gas/ppc/ppc.exp: Run it. + +2020-05-11 Peter Bergner <bergner@linux.ibm.com> + * testsuite/gas/ppc/power10.d: Add paste. tests. * testsuite/gas/ppc/power10.s: Likewise. diff --git a/gas/testsuite/gas/ppc/byte_rev.d b/gas/testsuite/gas/ppc/byte_rev.d new file mode 100644 index 0000000..ace537c --- /dev/null +++ b/gas/testsuite/gas/ppc/byte_rev.d @@ -0,0 +1,13 @@ +#as: -mpower10 +#objdump: -dr -Mpower10 +#name: byte reverse + +.* + + +Disassembly of section \.text: + +0+0 <_start>: +.*: (7c 83 01 76|76 01 83 7c) brd r3,r4 +.*: (7c a4 01 b6|b6 01 a4 7c) brh r4,r5 +.*: (7c c5 01 36|36 01 c5 7c) brw r5,r6 diff --git a/gas/testsuite/gas/ppc/byte_rev.s b/gas/testsuite/gas/ppc/byte_rev.s new file mode 100644 index 0000000..87d4b9c --- /dev/null +++ b/gas/testsuite/gas/ppc/byte_rev.s @@ -0,0 +1,5 @@ + .text +_start: + brd 3,4 + brh 4,5 + brw 5,6 diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index 6426996..2b7af4f 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -131,3 +131,4 @@ run_dump_test "prefix-pcrel" if { [supports_ppc64] } then { run_dump_test "prefix-reloc" } +run_dump_test "byte_rev" diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 4493cb3..f3ad3a1 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,9 @@ 2020-05-11 Peter Bergner <bergner@linux.ibm.com> + * ppc-opc.c (powerpc_opcodes) <brd, brh, brw>: New mnemonics. + +2020-05-11 Peter Bergner <bergner@linux.ibm.com> + * ppc-opc.c (insert_l1opt, extract_l1opt): New functions. (L1OPT): Define. (powerpc_opcodes) <paste.>: Add L operand for cpu POWER10. diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 8057f4a..927a892 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -5919,6 +5919,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"prtyw", X(31,154), XRB_MASK, POWER6|PPCA2|PPC476, 0, {RA, RS}}, +{"brw", X(31,155), XRB_MASK, POWER10, 0, {RA, RS}}, + {"stdepx", X(31,157), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, {"stwepx", X(31,159), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, @@ -5955,6 +5957,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"prtyd", X(31,186), XRB_MASK, POWER6|PPCA2, 0, {RA, RS}}, +{"brd", X(31,187), XRB_MASK, POWER10, 0, {RA, RS}}, + {"cmprb", X(31,192), XCMP_MASK, POWER9, 0, {BF, L, RA, RB}}, {"icblq.", XRC(31,198,1), X_MASK, E6500, 0, {CT, RA0, RB}}, @@ -5993,6 +5997,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"sleq", XRC(31,217,0), X_MASK, M601, 0, {RA, RS, RB}}, {"sleq.", XRC(31,217,1), X_MASK, M601, 0, {RA, RS, RB}}, +{"brh", X(31,219), XRB_MASK, POWER10, 0, {RA, RS}}, + {"stbepx", X(31,223), X_MASK, E500MC|PPCA2, 0, {RS, RA0, RB}}, {"cmpeqb", X(31,224), XCMPL_MASK, POWER9, 0, {BF, RA, RB}}, |