summaryrefslogtreecommitdiff
path: root/opcodes/spu-opc.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2006-10-25 06:49:21 +0000
committerAlan Modra <amodra@gmail.com>2006-10-25 06:49:21 +0000
commite9f531299306c33f3e110bd66e7f9daa29845e23 (patch)
tree7c95ff771856236efdfef25f95099f15c970e518 /opcodes/spu-opc.c
parent78de3ccc2a96d619e8a7f9bc1dc41d4b92286120 (diff)
downloadbinutils-gdb-e9f531299306c33f3e110bd66e7f9daa29845e23.tar.gz
New Cell SPU port.
Diffstat (limited to 'opcodes/spu-opc.c')
-rw-r--r--opcodes/spu-opc.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/opcodes/spu-opc.c b/opcodes/spu-opc.c
new file mode 100644
index 00000000000..683f96f5de9
--- /dev/null
+++ b/opcodes/spu-opc.c
@@ -0,0 +1,44 @@
+/* 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 "opcode/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 "opcode/spu-insns.h"
+#undef APUOP
+#undef APUOPFB
+};
+
+const int spu_num_opcodes =
+ sizeof (spu_opcodes) / sizeof (spu_opcodes[0]);