PR21303, objdump doesn't show e200z4 insns

PR 21303
opcodes/
	* ppc-dis.c (struct ppc_mopt): Comment.
	(ppc_opts <e200z4>): Move PPC_OPCODE_VLE from .sticky to .cpu.
gas/
	* testsuite/gas/ppc/pr21303.d,
	* testsuite/gas/ppc/pr21303.s: New test
	* testsuite/gas/ppc/ppc.exp: Run it.
This commit is contained in:
Alan Modra 2017-03-27 08:19:48 +10:30
parent d721ba37d8
commit 9b75393746
6 changed files with 44 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2017-03-27 Alan Modra <amodra@gmail.com>
PR 21303
* testsuite/gas/ppc/pr21303.d,
* testsuite/gas/ppc/pr21303.s: New test
* testsuite/gas/ppc/ppc.exp: Run it.
2017-03-27 Rinat Zelig <rinat@mellanox.com>
* testsuite/gas/arc/nps400-12.s: New file.

View file

@ -50,6 +50,7 @@ if { [istarget powerpc*-*-*] } then {
run_dump_test "common"
run_dump_test "476"
run_dump_test "a2"
run_dump_test "pr21303"
if { ![istarget powerpc*le-*-*] } then {
run_dump_test "vle"
run_dump_test "vle-reloc"

View file

@ -0,0 +1,12 @@
#objdump: -d -Me200z4
#as: -a32 -mbig -me200z4
.*
Disassembly of section \.text:
0+ <\.text>:
0: 70 00 00 00 e_li r0,0
4: 7c 01 14 04 lbdcbx r0,r1,r2
8: 7c 01 14 44 lhdcbx r0,r1,r2
c: 7c 01 14 84 lwdcbx r0,r1,r2

View file

@ -0,0 +1,5 @@
.text
e_li 0, 0
lbdcbx 0, 1, 2
lhdcbx 0, 1, 2
lwdcbx 0, 1, 2

View file

@ -1,3 +1,9 @@
2017-03-27 Alan Modra <amodra@gmail.com>
PR 21303
* ppc-dis.c (struct ppc_mopt): Comment.
(ppc_opts <e200z4>): Move PPC_OPCODE_VLE from .sticky to .cpu.
2017-03-27 Rinat Zelig <rinat@mellanox.com>
* arc-nps400-tbl.h: Add Ultra Ip and Miscellaneous instructions format.

View file

@ -46,8 +46,19 @@ struct dis_private
(((struct dis_private *) ((INFO)->private_data))->dialect)
struct ppc_mopt {
/* Option string, without -m or -M prefix. */
const char *opt;
/* CPU option flags. */
ppc_cpu_t cpu;
/* Flags that should stay on, even when combined with another cpu
option. This should only be used for generic options like
"-many" or "-maltivec" where it is reasonable to add some
capability to another cpu selection. The added flags are sticky
so that, for example, "-many -me500" and "-me500 -many" result in
the same assembler or disassembler behaviour. Do not use
"sticky" for specific cpus, as this will prevent that cpu's flags
from overriding the defaults set in powerpc_init_dialect or a
prior -m option. */
ppc_cpu_t sticky;
};
@ -109,8 +120,8 @@ struct ppc_mopt ppc_opts[] = {
{ "e200z4", (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE| PPC_OPCODE_SPE
| PPC_OPCODE_ISEL | PPC_OPCODE_EFS | PPC_OPCODE_BRLOCK
| PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK | PPC_OPCODE_RFMCI
| PPC_OPCODE_E500 | PPC_OPCODE_E200Z4),
PPC_OPCODE_VLE },
| PPC_OPCODE_E500 | PPC_OPCODE_VLE | PPC_OPCODE_E200Z4),
0 },
{ "e300", PPC_OPCODE_PPC | PPC_OPCODE_E300,
0 },
{ "e500", (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_SPE