mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 11:21:33 +00:00
ae06e374c1
This patch imports and munges the spu disassembly code from binutils. All files originated from version 1.1 in binutils cvs. * spu.h, spu-insns.h and spu-opc.c are unchanged except for pathnames. * spu-dis.c has been edited heavily: * use printf instead of info->fprintf_func and similar. * pass the instruction in rather than reading it. * we have no equivalent to symbol_at_address_func, so we just assume there is never a symbol at the address given. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
45 lines
1.6 KiB
C
45 lines
1.6 KiB
C
/* SPU opcode list
|
||
|
||
Copyright 2006 Free Software Foundation, Inc.
|
||
|
||
This file is part of GDB, GAS, and the GNU binutils.
|
||
|
||
This program is free software; you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation; either version 2 of the License, or
|
||
(at your option) any later version.
|
||
|
||
This program is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU General Public License for more details.
|
||
|
||
You should have received a copy of the GNU General Public License along
|
||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
|
||
|
||
#include "spu.h"
|
||
|
||
/* This file holds the Spu opcode table */
|
||
|
||
|
||
/*
|
||
Example contents of spu-insn.h
|
||
id_tag mode mode type opcode mnemonic asmtype dependency FPU L/S? branch? instruction
|
||
QUAD WORD (0,RC,RB,RA,RT) latency
|
||
APUOP(M_LQD, 1, 0, RI9, 0x1f8, "lqd", ASM_RI9IDX, 00012, FXU, 1, 0) Load Quadword d-form
|
||
*/
|
||
|
||
const struct spu_opcode spu_opcodes[] = {
|
||
#define APUOP(TAG,MACFORMAT,OPCODE,MNEMONIC,ASMFORMAT,DEP,PIPE) \
|
||
{ MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT },
|
||
#define APUOPFB(TAG,MACFORMAT,OPCODE,FB,MNEMONIC,ASMFORMAT,DEP,PIPE) \
|
||
{ MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT },
|
||
#include "spu-insns.h"
|
||
#undef APUOP
|
||
#undef APUOPFB
|
||
};
|
||
|
||
const int spu_num_opcodes =
|
||
sizeof (spu_opcodes) / sizeof (spu_opcodes[0]);
|