Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /* SPU opcode list
0003 
0004    Copyright 2006 Free Software Foundation, Inc.
0005 
0006    This file is part of GDB, GAS, and the GNU binutils.
0007 
0008  */
0009 
0010 #include <linux/kernel.h>
0011 #include <linux/bug.h>
0012 #include "spu.h"
0013 
0014 /* This file holds the Spu opcode table */
0015 
0016 
0017 /*
0018    Example contents of spu-insn.h
0019       id_tag    mode    mode    type    opcode  mnemonic    asmtype     dependency      FPU L/S?    branch? instruction   
0020                 QUAD    WORD                                               (0,RC,RB,RA,RT)    latency                               
0021    APUOP(M_LQD, 1,  0,  RI9,    0x1f8,  "lqd",      ASM_RI9IDX, 00012,      FXU,    1,  0)  Load Quadword d-form 
0022  */
0023 
0024 const struct spu_opcode spu_opcodes[] = {
0025 #define APUOP(TAG,MACFORMAT,OPCODE,MNEMONIC,ASMFORMAT,DEP,PIPE) \
0026     { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT },
0027 #define APUOPFB(TAG,MACFORMAT,OPCODE,FB,MNEMONIC,ASMFORMAT,DEP,PIPE) \
0028     { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT },
0029 #include "spu-insns.h"
0030 #undef APUOP
0031 #undef APUOPFB
0032 };
0033 
0034 const int spu_num_opcodes = ARRAY_SIZE(spu_opcodes);