xref: /linux/arch/powerpc/xmon/spu-opc.c (revision 58e16d792a6a8c6b750f637a4649967fcac853dc)
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