Commit | Line | Data |
---|---|---|
ae06e374 ME |
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 | ||
3839a594 | 21 | #include <linux/kernel.h> |
50af5ead | 22 | #include <linux/bug.h> |
ae06e374 ME |
23 | #include "spu.h" |
24 | ||
25 | /* This file holds the Spu opcode table */ | |
26 | \f | |
27 | ||
28 | /* | |
29 | Example contents of spu-insn.h | |
30 | id_tag mode mode type opcode mnemonic asmtype dependency FPU L/S? branch? instruction | |
31 | QUAD WORD (0,RC,RB,RA,RT) latency | |
32 | APUOP(M_LQD, 1, 0, RI9, 0x1f8, "lqd", ASM_RI9IDX, 00012, FXU, 1, 0) Load Quadword d-form | |
33 | */ | |
34 | ||
35 | const struct spu_opcode spu_opcodes[] = { | |
36 | #define APUOP(TAG,MACFORMAT,OPCODE,MNEMONIC,ASMFORMAT,DEP,PIPE) \ | |
37 | { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT }, | |
38 | #define APUOPFB(TAG,MACFORMAT,OPCODE,FB,MNEMONIC,ASMFORMAT,DEP,PIPE) \ | |
39 | { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT }, | |
40 | #include "spu-insns.h" | |
41 | #undef APUOP | |
42 | #undef APUOPFB | |
43 | }; | |
44 | ||
3839a594 | 45 | const int spu_num_opcodes = ARRAY_SIZE(spu_opcodes); |