New Cell SPU port.
[external/binutils.git] / opcodes / spu-opc.c
1 /* SPU opcode list
2
3    Copyright 2006 Free Software Foundation, Inc.
4
5    This file is part of GDB, GAS, and the GNU binutils.
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License along
18    with this program; if not, write to the Free Software Foundation, Inc.,
19    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20
21 #include "opcode/spu.h"
22
23 /* This file holds the Spu opcode table */
24 \f
25
26 /*
27    Example contents of spu-insn.h
28       id_tag    mode    mode    type    opcode  mnemonic        asmtype     dependency          FPU     L/S?    branch? instruction   
29                 QUAD    WORD                                               (0,RC,RB,RA,RT)    latency                                           
30    APUOP(M_LQD, 1,      0,      RI9,    0x1f8,  "lqd",          ASM_RI9IDX,     00012,          FXU,    1,      0)      Load Quadword d-form 
31  */
32
33 const struct spu_opcode spu_opcodes[] = {
34 #define APUOP(TAG,MACFORMAT,OPCODE,MNEMONIC,ASMFORMAT,DEP,PIPE) \
35         { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT },
36 #define APUOPFB(TAG,MACFORMAT,OPCODE,FB,MNEMONIC,ASMFORMAT,DEP,PIPE) \
37         { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT },
38 #include "opcode/spu-insns.h"
39 #undef APUOP
40 #undef APUOPFB
41 };
42
43 const int spu_num_opcodes =
44   sizeof (spu_opcodes) / sizeof (spu_opcodes[0]);