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