From 3ff0a5ba6458db28b5f0bc28afc0678a247357c0 Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Mon, 11 May 2020 09:31:40 +0930 Subject: [PATCH] Power10 byte reverse instructions opcodes/ * ppc-opc.c (powerpc_opcodes) : New mnemonics. gas/ * testsuite/gas/ppc/byte_rev.d, * testsuite/gas/ppc/byte_rev.s: New test. * testsuite/gas/ppc/ppc.exp: Run it. --- gas/ChangeLog | 6 ++++++ gas/testsuite/gas/ppc/byte_rev.d | 13 +++++++++++++ gas/testsuite/gas/ppc/byte_rev.s | 5 +++++ gas/testsuite/gas/ppc/ppc.exp | 1 + opcodes/ChangeLog | 4 ++++ opcodes/ppc-opc.c | 6 ++++++ 6 files changed, 35 insertions(+) create mode 100644 gas/testsuite/gas/ppc/byte_rev.d create mode 100644 gas/testsuite/gas/ppc/byte_rev.s diff --git a/gas/ChangeLog b/gas/ChangeLog index 2f1caa7133d..1e741ed7310 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2020-05-11 Peter Bergner + + * 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 * testsuite/gas/ppc/power10.d: Add paste. tests. diff --git a/gas/testsuite/gas/ppc/byte_rev.d b/gas/testsuite/gas/ppc/byte_rev.d new file mode 100644 index 00000000000..ace537c4581 --- /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 00000000000..87d4b9c97fe --- /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 64269968333..2b7af4fe8cb 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 4493cb3465e..f3ad3a14275 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2020-05-11 Peter Bergner + + * ppc-opc.c (powerpc_opcodes) : New mnemonics. + 2020-05-11 Peter Bergner * ppc-opc.c (insert_l1opt, extract_l1opt): New functions. diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 8057f4a9d54..927a8922ab8 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}}, -- 2.30.2