mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
Correct powerpc spe opcode lookup
Defining SPE2_OPCD_SEGS as 13 discounts the possibility that we'd ever look up spe2_opcd_indices[14..16], which I think is possible. Extend that array to size 16+1, using the macros we use to index the array. Similarly use the index macros for PPC_OPCD_SEGS and VLE_OPCD_SEGS. * ppc-dis.c (PPC_OPCD_SEGS): Define using PPC_OP. (VLE_OPCD_SEGS, SPE2_OPCD_SEGS): Similarly, using macros used to partition opcode space for index lookup.
This commit is contained in:
parent
7785df4880
commit
f413a91378
@ -1,3 +1,9 @@
|
||||
2018-05-08 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ppc-dis.c (PPC_OPCD_SEGS): Define using PPC_OP.
|
||||
(VLE_OPCD_SEGS, SPE2_OPCD_SEGS): Similarly, using macros used to
|
||||
partition opcode space for index lookup.
|
||||
|
||||
2018-05-07 Peter Bergner <bergner@vnet.ibm.com.com>
|
||||
|
||||
* ppc-dis.c (print_insn_powerpc) <insn_is_short>: Replace this...
|
||||
|
@ -367,12 +367,12 @@ powerpc_init_dialect (struct disassemble_info *info)
|
||||
POWERPC_DIALECT(info) = dialect;
|
||||
}
|
||||
|
||||
#define PPC_OPCD_SEGS 64
|
||||
static unsigned short powerpc_opcd_indices[PPC_OPCD_SEGS+1];
|
||||
#define VLE_OPCD_SEGS 32
|
||||
static unsigned short vle_opcd_indices[VLE_OPCD_SEGS+1];
|
||||
#define SPE2_OPCD_SEGS 13
|
||||
static unsigned short spe2_opcd_indices[SPE2_OPCD_SEGS+1];
|
||||
#define PPC_OPCD_SEGS (1 + PPC_OP (-1))
|
||||
static unsigned short powerpc_opcd_indices[PPC_OPCD_SEGS + 1];
|
||||
#define VLE_OPCD_SEGS (1 + VLE_OP_TO_SEG (VLE_OP (-1, 0xffff)))
|
||||
static unsigned short vle_opcd_indices[VLE_OPCD_SEGS + 1];
|
||||
#define SPE2_OPCD_SEGS (1 + SPE2_XOP_TO_SEG (SPE2_XOP (-1)))
|
||||
static unsigned short spe2_opcd_indices[SPE2_OPCD_SEGS + 1];
|
||||
|
||||
/* Calculate opcode table indices to speed up disassembly,
|
||||
and init dialect. */
|
||||
|
Loading…
Reference in New Issue
Block a user