1*16216333SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later 2ae06e374SMichael Ellerman /* SPU opcode list 3ae06e374SMichael Ellerman 4ae06e374SMichael Ellerman Copyright 2006 Free Software Foundation, Inc. 5ae06e374SMichael Ellerman 6ae06e374SMichael Ellerman This file is part of GDB, GAS, and the GNU binutils. 7ae06e374SMichael Ellerman 8*16216333SThomas Gleixner */ 9ae06e374SMichael Ellerman 103839a594SAhmed S. Darwish #include <linux/kernel.h> 1150af5eadSPaul Gortmaker #include <linux/bug.h> 12ae06e374SMichael Ellerman #include "spu.h" 13ae06e374SMichael Ellerman 14ae06e374SMichael Ellerman /* This file holds the Spu opcode table */ 15ae06e374SMichael Ellerman 16ae06e374SMichael Ellerman 17ae06e374SMichael Ellerman /* 18ae06e374SMichael Ellerman Example contents of spu-insn.h 19ae06e374SMichael Ellerman id_tag mode mode type opcode mnemonic asmtype dependency FPU L/S? branch? instruction 20ae06e374SMichael Ellerman QUAD WORD (0,RC,RB,RA,RT) latency 21ae06e374SMichael Ellerman APUOP(M_LQD, 1, 0, RI9, 0x1f8, "lqd", ASM_RI9IDX, 00012, FXU, 1, 0) Load Quadword d-form 22ae06e374SMichael Ellerman */ 23ae06e374SMichael Ellerman 24ae06e374SMichael Ellerman const struct spu_opcode spu_opcodes[] = { 25ae06e374SMichael Ellerman #define APUOP(TAG,MACFORMAT,OPCODE,MNEMONIC,ASMFORMAT,DEP,PIPE) \ 26ae06e374SMichael Ellerman { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT }, 27ae06e374SMichael Ellerman #define APUOPFB(TAG,MACFORMAT,OPCODE,FB,MNEMONIC,ASMFORMAT,DEP,PIPE) \ 28ae06e374SMichael Ellerman { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT }, 29ae06e374SMichael Ellerman #include "spu-insns.h" 30ae06e374SMichael Ellerman #undef APUOP 31ae06e374SMichael Ellerman #undef APUOPFB 32ae06e374SMichael Ellerman }; 33ae06e374SMichael Ellerman 343839a594SAhmed S. Darwish const int spu_num_opcodes = ARRAY_SIZE(spu_opcodes); 35