2003-09-24 Dave Brolley <brolley@redhat.com>
[external/binutils.git] / opcodes / frv-opc.h
1 /* Instruction opcode header for frv.
2
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
4
5 Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
6
7 This file is part of the GNU Binutils and/or GDB, the GNU debugger.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
12 any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
23 */
24
25 #ifndef FRV_OPC_H
26 #define FRV_OPC_H
27
28 /* -- opc.h */
29
30 #undef  CGEN_DIS_HASH_SIZE
31 #define CGEN_DIS_HASH_SIZE 128
32 #undef  CGEN_DIS_HASH
33 #define CGEN_DIS_HASH(buffer, value) (((value) >> 18) & 127)
34
35 /* Allows reason codes to be output when assembler errors occur.  */
36 #define CGEN_VERBOSE_ASSEMBLER_ERRORS
37
38 /* Vliw support.  */
39 #define FRV_VLIW_SIZE 4 /* fr500 has largest vliw size of 4.  */
40 typedef CGEN_ATTR_VALUE_TYPE VLIW_COMBO[FRV_VLIW_SIZE];
41
42 typedef struct
43 {
44   int                   next_slot;
45   int                   constraint_violation;
46   unsigned long         mach;
47   unsigned long         elf_flags;
48   CGEN_ATTR_VALUE_TYPE *unit_mapping;
49   VLIW_COMBO           *current_vliw;
50   CGEN_ATTR_VALUE_TYPE  major[FRV_VLIW_SIZE];
51 } FRV_VLIW;
52
53 int frv_is_branch_major PARAMS ((CGEN_ATTR_VALUE_TYPE, unsigned long));
54 int frv_is_float_major  PARAMS ((CGEN_ATTR_VALUE_TYPE, unsigned long));
55 int frv_is_media_major  PARAMS ((CGEN_ATTR_VALUE_TYPE, unsigned long));
56 int frv_is_branch_insn  PARAMS ((const CGEN_INSN *));
57 int frv_is_float_insn   PARAMS ((const CGEN_INSN *));
58 int frv_is_media_insn   PARAMS ((const CGEN_INSN *));
59 void frv_vliw_reset     PARAMS ((FRV_VLIW *, unsigned long mach, unsigned long elf_flags));
60 int frv_vliw_add_insn   PARAMS ((FRV_VLIW *, const CGEN_INSN *));
61 int spr_valid           PARAMS ((long));
62 /* -- */
63 /* Enum declaration for frv instruction types.  */
64 typedef enum cgen_insn_type {
65   FRV_INSN_INVALID, FRV_INSN_ADD, FRV_INSN_SUB, FRV_INSN_AND
66  , FRV_INSN_OR, FRV_INSN_XOR, FRV_INSN_NOT, FRV_INSN_SDIV
67  , FRV_INSN_NSDIV, FRV_INSN_UDIV, FRV_INSN_NUDIV, FRV_INSN_SMUL
68  , FRV_INSN_UMUL, FRV_INSN_SLL, FRV_INSN_SRL, FRV_INSN_SRA
69  , FRV_INSN_SCAN, FRV_INSN_CADD, FRV_INSN_CSUB, FRV_INSN_CAND
70  , FRV_INSN_COR, FRV_INSN_CXOR, FRV_INSN_CNOT, FRV_INSN_CSMUL
71  , FRV_INSN_CSDIV, FRV_INSN_CUDIV, FRV_INSN_CSLL, FRV_INSN_CSRL
72  , FRV_INSN_CSRA, FRV_INSN_CSCAN, FRV_INSN_ADDCC, FRV_INSN_SUBCC
73  , FRV_INSN_ANDCC, FRV_INSN_ORCC, FRV_INSN_XORCC, FRV_INSN_SLLCC
74  , FRV_INSN_SRLCC, FRV_INSN_SRACC, FRV_INSN_SMULCC, FRV_INSN_UMULCC
75  , FRV_INSN_CADDCC, FRV_INSN_CSUBCC, FRV_INSN_CSMULCC, FRV_INSN_CANDCC
76  , FRV_INSN_CORCC, FRV_INSN_CXORCC, FRV_INSN_CSLLCC, FRV_INSN_CSRLCC
77  , FRV_INSN_CSRACC, FRV_INSN_ADDX, FRV_INSN_SUBX, FRV_INSN_ADDXCC
78  , FRV_INSN_SUBXCC, FRV_INSN_ADDI, FRV_INSN_SUBI, FRV_INSN_ANDI
79  , FRV_INSN_ORI, FRV_INSN_XORI, FRV_INSN_SDIVI, FRV_INSN_NSDIVI
80  , FRV_INSN_UDIVI, FRV_INSN_NUDIVI, FRV_INSN_SMULI, FRV_INSN_UMULI
81  , FRV_INSN_SLLI, FRV_INSN_SRLI, FRV_INSN_SRAI, FRV_INSN_SCANI
82  , FRV_INSN_ADDICC, FRV_INSN_SUBICC, FRV_INSN_ANDICC, FRV_INSN_ORICC
83  , FRV_INSN_XORICC, FRV_INSN_SMULICC, FRV_INSN_UMULICC, FRV_INSN_SLLICC
84  , FRV_INSN_SRLICC, FRV_INSN_SRAICC, FRV_INSN_ADDXI, FRV_INSN_SUBXI
85  , FRV_INSN_ADDXICC, FRV_INSN_SUBXICC, FRV_INSN_CMPB, FRV_INSN_CMPBA
86  , FRV_INSN_SETLO, FRV_INSN_SETHI, FRV_INSN_SETLOS, FRV_INSN_LDSB
87  , FRV_INSN_LDUB, FRV_INSN_LDSH, FRV_INSN_LDUH, FRV_INSN_LD
88  , FRV_INSN_LDBF, FRV_INSN_LDHF, FRV_INSN_LDF, FRV_INSN_LDC
89  , FRV_INSN_NLDSB, FRV_INSN_NLDUB, FRV_INSN_NLDSH, FRV_INSN_NLDUH
90  , FRV_INSN_NLD, FRV_INSN_NLDBF, FRV_INSN_NLDHF, FRV_INSN_NLDF
91  , FRV_INSN_LDD, FRV_INSN_LDDF, FRV_INSN_LDDC, FRV_INSN_NLDD
92  , FRV_INSN_NLDDF, FRV_INSN_LDQ, FRV_INSN_LDQF, FRV_INSN_LDQC
93  , FRV_INSN_NLDQ, FRV_INSN_NLDQF, FRV_INSN_LDSBU, FRV_INSN_LDUBU
94  , FRV_INSN_LDSHU, FRV_INSN_LDUHU, FRV_INSN_LDU, FRV_INSN_NLDSBU
95  , FRV_INSN_NLDUBU, FRV_INSN_NLDSHU, FRV_INSN_NLDUHU, FRV_INSN_NLDU
96  , FRV_INSN_LDBFU, FRV_INSN_LDHFU, FRV_INSN_LDFU, FRV_INSN_LDCU
97  , FRV_INSN_NLDBFU, FRV_INSN_NLDHFU, FRV_INSN_NLDFU, FRV_INSN_LDDU
98  , FRV_INSN_NLDDU, FRV_INSN_LDDFU, FRV_INSN_LDDCU, FRV_INSN_NLDDFU
99  , FRV_INSN_LDQU, FRV_INSN_NLDQU, FRV_INSN_LDQFU, FRV_INSN_LDQCU
100  , FRV_INSN_NLDQFU, FRV_INSN_LDSBI, FRV_INSN_LDSHI, FRV_INSN_LDI
101  , FRV_INSN_LDUBI, FRV_INSN_LDUHI, FRV_INSN_LDBFI, FRV_INSN_LDHFI
102  , FRV_INSN_LDFI, FRV_INSN_NLDSBI, FRV_INSN_NLDUBI, FRV_INSN_NLDSHI
103  , FRV_INSN_NLDUHI, FRV_INSN_NLDI, FRV_INSN_NLDBFI, FRV_INSN_NLDHFI
104  , FRV_INSN_NLDFI, FRV_INSN_LDDI, FRV_INSN_LDDFI, FRV_INSN_NLDDI
105  , FRV_INSN_NLDDFI, FRV_INSN_LDQI, FRV_INSN_LDQFI, FRV_INSN_NLDQFI
106  , FRV_INSN_STB, FRV_INSN_STH, FRV_INSN_ST, FRV_INSN_STBF
107  , FRV_INSN_STHF, FRV_INSN_STF, FRV_INSN_STC, FRV_INSN_RSTB
108  , FRV_INSN_RSTH, FRV_INSN_RST, FRV_INSN_RSTBF, FRV_INSN_RSTHF
109  , FRV_INSN_RSTF, FRV_INSN_STD, FRV_INSN_STDF, FRV_INSN_STDC
110  , FRV_INSN_RSTD, FRV_INSN_RSTDF, FRV_INSN_STQ, FRV_INSN_STQF
111  , FRV_INSN_STQC, FRV_INSN_RSTQ, FRV_INSN_RSTQF, FRV_INSN_STBU
112  , FRV_INSN_STHU, FRV_INSN_STU, FRV_INSN_STBFU, FRV_INSN_STHFU
113  , FRV_INSN_STFU, FRV_INSN_STCU, FRV_INSN_STDU, FRV_INSN_STDFU
114  , FRV_INSN_STDCU, FRV_INSN_STQU, FRV_INSN_STQFU, FRV_INSN_STQCU
115  , FRV_INSN_CLDSB, FRV_INSN_CLDUB, FRV_INSN_CLDSH, FRV_INSN_CLDUH
116  , FRV_INSN_CLD, FRV_INSN_CLDBF, FRV_INSN_CLDHF, FRV_INSN_CLDF
117  , FRV_INSN_CLDD, FRV_INSN_CLDDF, FRV_INSN_CLDQ, FRV_INSN_CLDSBU
118  , FRV_INSN_CLDUBU, FRV_INSN_CLDSHU, FRV_INSN_CLDUHU, FRV_INSN_CLDU
119  , FRV_INSN_CLDBFU, FRV_INSN_CLDHFU, FRV_INSN_CLDFU, FRV_INSN_CLDDU
120  , FRV_INSN_CLDDFU, FRV_INSN_CLDQU, FRV_INSN_CSTB, FRV_INSN_CSTH
121  , FRV_INSN_CST, FRV_INSN_CSTBF, FRV_INSN_CSTHF, FRV_INSN_CSTF
122  , FRV_INSN_CSTD, FRV_INSN_CSTDF, FRV_INSN_CSTQ, FRV_INSN_CSTBU
123  , FRV_INSN_CSTHU, FRV_INSN_CSTU, FRV_INSN_CSTBFU, FRV_INSN_CSTHFU
124  , FRV_INSN_CSTFU, FRV_INSN_CSTDU, FRV_INSN_CSTDFU, FRV_INSN_STBI
125  , FRV_INSN_STHI, FRV_INSN_STI, FRV_INSN_STBFI, FRV_INSN_STHFI
126  , FRV_INSN_STFI, FRV_INSN_STDI, FRV_INSN_STDFI, FRV_INSN_STQI
127  , FRV_INSN_STQFI, FRV_INSN_SWAP, FRV_INSN_SWAPI, FRV_INSN_CSWAP
128  , FRV_INSN_MOVGF, FRV_INSN_MOVFG, FRV_INSN_MOVGFD, FRV_INSN_MOVFGD
129  , FRV_INSN_MOVGFQ, FRV_INSN_MOVFGQ, FRV_INSN_CMOVGF, FRV_INSN_CMOVFG
130  , FRV_INSN_CMOVGFD, FRV_INSN_CMOVFGD, FRV_INSN_MOVGS, FRV_INSN_MOVSG
131  , FRV_INSN_BRA, FRV_INSN_BNO, FRV_INSN_BEQ, FRV_INSN_BNE
132  , FRV_INSN_BLE, FRV_INSN_BGT, FRV_INSN_BLT, FRV_INSN_BGE
133  , FRV_INSN_BLS, FRV_INSN_BHI, FRV_INSN_BC, FRV_INSN_BNC
134  , FRV_INSN_BN, FRV_INSN_BP, FRV_INSN_BV, FRV_INSN_BNV
135  , FRV_INSN_FBRA, FRV_INSN_FBNO, FRV_INSN_FBNE, FRV_INSN_FBEQ
136  , FRV_INSN_FBLG, FRV_INSN_FBUE, FRV_INSN_FBUL, FRV_INSN_FBGE
137  , FRV_INSN_FBLT, FRV_INSN_FBUGE, FRV_INSN_FBUG, FRV_INSN_FBLE
138  , FRV_INSN_FBGT, FRV_INSN_FBULE, FRV_INSN_FBU, FRV_INSN_FBO
139  , FRV_INSN_BCTRLR, FRV_INSN_BRALR, FRV_INSN_BNOLR, FRV_INSN_BEQLR
140  , FRV_INSN_BNELR, FRV_INSN_BLELR, FRV_INSN_BGTLR, FRV_INSN_BLTLR
141  , FRV_INSN_BGELR, FRV_INSN_BLSLR, FRV_INSN_BHILR, FRV_INSN_BCLR
142  , FRV_INSN_BNCLR, FRV_INSN_BNLR, FRV_INSN_BPLR, FRV_INSN_BVLR
143  , FRV_INSN_BNVLR, FRV_INSN_FBRALR, FRV_INSN_FBNOLR, FRV_INSN_FBEQLR
144  , FRV_INSN_FBNELR, FRV_INSN_FBLGLR, FRV_INSN_FBUELR, FRV_INSN_FBULLR
145  , FRV_INSN_FBGELR, FRV_INSN_FBLTLR, FRV_INSN_FBUGELR, FRV_INSN_FBUGLR
146  , FRV_INSN_FBLELR, FRV_INSN_FBGTLR, FRV_INSN_FBULELR, FRV_INSN_FBULR
147  , FRV_INSN_FBOLR, FRV_INSN_BCRALR, FRV_INSN_BCNOLR, FRV_INSN_BCEQLR
148  , FRV_INSN_BCNELR, FRV_INSN_BCLELR, FRV_INSN_BCGTLR, FRV_INSN_BCLTLR
149  , FRV_INSN_BCGELR, FRV_INSN_BCLSLR, FRV_INSN_BCHILR, FRV_INSN_BCCLR
150  , FRV_INSN_BCNCLR, FRV_INSN_BCNLR, FRV_INSN_BCPLR, FRV_INSN_BCVLR
151  , FRV_INSN_BCNVLR, FRV_INSN_FCBRALR, FRV_INSN_FCBNOLR, FRV_INSN_FCBEQLR
152  , FRV_INSN_FCBNELR, FRV_INSN_FCBLGLR, FRV_INSN_FCBUELR, FRV_INSN_FCBULLR
153  , FRV_INSN_FCBGELR, FRV_INSN_FCBLTLR, FRV_INSN_FCBUGELR, FRV_INSN_FCBUGLR
154  , FRV_INSN_FCBLELR, FRV_INSN_FCBGTLR, FRV_INSN_FCBULELR, FRV_INSN_FCBULR
155  , FRV_INSN_FCBOLR, FRV_INSN_JMPL, FRV_INSN_CALLL, FRV_INSN_JMPIL
156  , FRV_INSN_CALLIL, FRV_INSN_CALL, FRV_INSN_RETT, FRV_INSN_REI
157  , FRV_INSN_TRA, FRV_INSN_TNO, FRV_INSN_TEQ, FRV_INSN_TNE
158  , FRV_INSN_TLE, FRV_INSN_TGT, FRV_INSN_TLT, FRV_INSN_TGE
159  , FRV_INSN_TLS, FRV_INSN_THI, FRV_INSN_TC, FRV_INSN_TNC
160  , FRV_INSN_TN, FRV_INSN_TP, FRV_INSN_TV, FRV_INSN_TNV
161  , FRV_INSN_FTRA, FRV_INSN_FTNO, FRV_INSN_FTNE, FRV_INSN_FTEQ
162  , FRV_INSN_FTLG, FRV_INSN_FTUE, FRV_INSN_FTUL, FRV_INSN_FTGE
163  , FRV_INSN_FTLT, FRV_INSN_FTUGE, FRV_INSN_FTUG, FRV_INSN_FTLE
164  , FRV_INSN_FTGT, FRV_INSN_FTULE, FRV_INSN_FTU, FRV_INSN_FTO
165  , FRV_INSN_TIRA, FRV_INSN_TINO, FRV_INSN_TIEQ, FRV_INSN_TINE
166  , FRV_INSN_TILE, FRV_INSN_TIGT, FRV_INSN_TILT, FRV_INSN_TIGE
167  , FRV_INSN_TILS, FRV_INSN_TIHI, FRV_INSN_TIC, FRV_INSN_TINC
168  , FRV_INSN_TIN, FRV_INSN_TIP, FRV_INSN_TIV, FRV_INSN_TINV
169  , FRV_INSN_FTIRA, FRV_INSN_FTINO, FRV_INSN_FTINE, FRV_INSN_FTIEQ
170  , FRV_INSN_FTILG, FRV_INSN_FTIUE, FRV_INSN_FTIUL, FRV_INSN_FTIGE
171  , FRV_INSN_FTILT, FRV_INSN_FTIUGE, FRV_INSN_FTIUG, FRV_INSN_FTILE
172  , FRV_INSN_FTIGT, FRV_INSN_FTIULE, FRV_INSN_FTIU, FRV_INSN_FTIO
173  , FRV_INSN_BREAK, FRV_INSN_MTRAP, FRV_INSN_ANDCR, FRV_INSN_ORCR
174  , FRV_INSN_XORCR, FRV_INSN_NANDCR, FRV_INSN_NORCR, FRV_INSN_ANDNCR
175  , FRV_INSN_ORNCR, FRV_INSN_NANDNCR, FRV_INSN_NORNCR, FRV_INSN_NOTCR
176  , FRV_INSN_CKRA, FRV_INSN_CKNO, FRV_INSN_CKEQ, FRV_INSN_CKNE
177  , FRV_INSN_CKLE, FRV_INSN_CKGT, FRV_INSN_CKLT, FRV_INSN_CKGE
178  , FRV_INSN_CKLS, FRV_INSN_CKHI, FRV_INSN_CKC, FRV_INSN_CKNC
179  , FRV_INSN_CKN, FRV_INSN_CKP, FRV_INSN_CKV, FRV_INSN_CKNV
180  , FRV_INSN_FCKRA, FRV_INSN_FCKNO, FRV_INSN_FCKNE, FRV_INSN_FCKEQ
181  , FRV_INSN_FCKLG, FRV_INSN_FCKUE, FRV_INSN_FCKUL, FRV_INSN_FCKGE
182  , FRV_INSN_FCKLT, FRV_INSN_FCKUGE, FRV_INSN_FCKUG, FRV_INSN_FCKLE
183  , FRV_INSN_FCKGT, FRV_INSN_FCKULE, FRV_INSN_FCKU, FRV_INSN_FCKO
184  , FRV_INSN_CCKRA, FRV_INSN_CCKNO, FRV_INSN_CCKEQ, FRV_INSN_CCKNE
185  , FRV_INSN_CCKLE, FRV_INSN_CCKGT, FRV_INSN_CCKLT, FRV_INSN_CCKGE
186  , FRV_INSN_CCKLS, FRV_INSN_CCKHI, FRV_INSN_CCKC, FRV_INSN_CCKNC
187  , FRV_INSN_CCKN, FRV_INSN_CCKP, FRV_INSN_CCKV, FRV_INSN_CCKNV
188  , FRV_INSN_CFCKRA, FRV_INSN_CFCKNO, FRV_INSN_CFCKNE, FRV_INSN_CFCKEQ
189  , FRV_INSN_CFCKLG, FRV_INSN_CFCKUE, FRV_INSN_CFCKUL, FRV_INSN_CFCKGE
190  , FRV_INSN_CFCKLT, FRV_INSN_CFCKUGE, FRV_INSN_CFCKUG, FRV_INSN_CFCKLE
191  , FRV_INSN_CFCKGT, FRV_INSN_CFCKULE, FRV_INSN_CFCKU, FRV_INSN_CFCKO
192  , FRV_INSN_CJMPL, FRV_INSN_CCALLL, FRV_INSN_ICI, FRV_INSN_DCI
193  , FRV_INSN_ICEI, FRV_INSN_DCEI, FRV_INSN_DCF, FRV_INSN_DCEF
194  , FRV_INSN_WITLB, FRV_INSN_WDTLB, FRV_INSN_ITLBI, FRV_INSN_DTLBI
195  , FRV_INSN_ICPL, FRV_INSN_DCPL, FRV_INSN_ICUL, FRV_INSN_DCUL
196  , FRV_INSN_BAR, FRV_INSN_MEMBAR, FRV_INSN_COP1, FRV_INSN_COP2
197  , FRV_INSN_CLRGR, FRV_INSN_CLRFR, FRV_INSN_CLRGA, FRV_INSN_CLRFA
198  , FRV_INSN_COMMITGR, FRV_INSN_COMMITFR, FRV_INSN_COMMITGA, FRV_INSN_COMMITFA
199  , FRV_INSN_FITOS, FRV_INSN_FSTOI, FRV_INSN_FITOD, FRV_INSN_FDTOI
200  , FRV_INSN_FDITOS, FRV_INSN_FDSTOI, FRV_INSN_NFDITOS, FRV_INSN_NFDSTOI
201  , FRV_INSN_CFITOS, FRV_INSN_CFSTOI, FRV_INSN_NFITOS, FRV_INSN_NFSTOI
202  , FRV_INSN_FMOVS, FRV_INSN_FMOVD, FRV_INSN_FDMOVS, FRV_INSN_CFMOVS
203  , FRV_INSN_FNEGS, FRV_INSN_FNEGD, FRV_INSN_FDNEGS, FRV_INSN_CFNEGS
204  , FRV_INSN_FABSS, FRV_INSN_FABSD, FRV_INSN_FDABSS, FRV_INSN_CFABSS
205  , FRV_INSN_FSQRTS, FRV_INSN_FDSQRTS, FRV_INSN_NFDSQRTS, FRV_INSN_FSQRTD
206  , FRV_INSN_CFSQRTS, FRV_INSN_NFSQRTS, FRV_INSN_FADDS, FRV_INSN_FSUBS
207  , FRV_INSN_FMULS, FRV_INSN_FDIVS, FRV_INSN_FADDD, FRV_INSN_FSUBD
208  , FRV_INSN_FMULD, FRV_INSN_FDIVD, FRV_INSN_CFADDS, FRV_INSN_CFSUBS
209  , FRV_INSN_CFMULS, FRV_INSN_CFDIVS, FRV_INSN_NFADDS, FRV_INSN_NFSUBS
210  , FRV_INSN_NFMULS, FRV_INSN_NFDIVS, FRV_INSN_FCMPS, FRV_INSN_FCMPD
211  , FRV_INSN_CFCMPS, FRV_INSN_FDCMPS, FRV_INSN_FMADDS, FRV_INSN_FMSUBS
212  , FRV_INSN_FMADDD, FRV_INSN_FMSUBD, FRV_INSN_FDMADDS, FRV_INSN_NFDMADDS
213  , FRV_INSN_CFMADDS, FRV_INSN_CFMSUBS, FRV_INSN_NFMADDS, FRV_INSN_NFMSUBS
214  , FRV_INSN_FMAS, FRV_INSN_FMSS, FRV_INSN_FDMAS, FRV_INSN_FDMSS
215  , FRV_INSN_NFDMAS, FRV_INSN_NFDMSS, FRV_INSN_CFMAS, FRV_INSN_CFMSS
216  , FRV_INSN_FMAD, FRV_INSN_FMSD, FRV_INSN_NFMAS, FRV_INSN_NFMSS
217  , FRV_INSN_FDADDS, FRV_INSN_FDSUBS, FRV_INSN_FDMULS, FRV_INSN_FDDIVS
218  , FRV_INSN_FDSADS, FRV_INSN_FDMULCS, FRV_INSN_NFDMULCS, FRV_INSN_NFDADDS
219  , FRV_INSN_NFDSUBS, FRV_INSN_NFDMULS, FRV_INSN_NFDDIVS, FRV_INSN_NFDSADS
220  , FRV_INSN_NFDCMPS, FRV_INSN_MHSETLOS, FRV_INSN_MHSETHIS, FRV_INSN_MHDSETS
221  , FRV_INSN_MHSETLOH, FRV_INSN_MHSETHIH, FRV_INSN_MHDSETH, FRV_INSN_MAND
222  , FRV_INSN_MOR, FRV_INSN_MXOR, FRV_INSN_CMAND, FRV_INSN_CMOR
223  , FRV_INSN_CMXOR, FRV_INSN_MNOT, FRV_INSN_CMNOT, FRV_INSN_MROTLI
224  , FRV_INSN_MROTRI, FRV_INSN_MWCUT, FRV_INSN_MWCUTI, FRV_INSN_MCUT
225  , FRV_INSN_MCUTI, FRV_INSN_MCUTSS, FRV_INSN_MCUTSSI, FRV_INSN_MDCUTSSI
226  , FRV_INSN_MAVEH, FRV_INSN_MSLLHI, FRV_INSN_MSRLHI, FRV_INSN_MSRAHI
227  , FRV_INSN_MDROTLI, FRV_INSN_MCPLHI, FRV_INSN_MCPLI, FRV_INSN_MSATHS
228  , FRV_INSN_MQSATHS, FRV_INSN_MSATHU, FRV_INSN_MCMPSH, FRV_INSN_MCMPUH
229  , FRV_INSN_MABSHS, FRV_INSN_MADDHSS, FRV_INSN_MADDHUS, FRV_INSN_MSUBHSS
230  , FRV_INSN_MSUBHUS, FRV_INSN_CMADDHSS, FRV_INSN_CMADDHUS, FRV_INSN_CMSUBHSS
231  , FRV_INSN_CMSUBHUS, FRV_INSN_MQADDHSS, FRV_INSN_MQADDHUS, FRV_INSN_MQSUBHSS
232  , FRV_INSN_MQSUBHUS, FRV_INSN_CMQADDHSS, FRV_INSN_CMQADDHUS, FRV_INSN_CMQSUBHSS
233  , FRV_INSN_CMQSUBHUS, FRV_INSN_MADDACCS, FRV_INSN_MSUBACCS, FRV_INSN_MDADDACCS
234  , FRV_INSN_MDSUBACCS, FRV_INSN_MASACCS, FRV_INSN_MDASACCS, FRV_INSN_MMULHS
235  , FRV_INSN_MMULHU, FRV_INSN_MMULXHS, FRV_INSN_MMULXHU, FRV_INSN_CMMULHS
236  , FRV_INSN_CMMULHU, FRV_INSN_MQMULHS, FRV_INSN_MQMULHU, FRV_INSN_MQMULXHS
237  , FRV_INSN_MQMULXHU, FRV_INSN_CMQMULHS, FRV_INSN_CMQMULHU, FRV_INSN_MMACHS
238  , FRV_INSN_MMACHU, FRV_INSN_MMRDHS, FRV_INSN_MMRDHU, FRV_INSN_CMMACHS
239  , FRV_INSN_CMMACHU, FRV_INSN_MQMACHS, FRV_INSN_MQMACHU, FRV_INSN_CMQMACHS
240  , FRV_INSN_CMQMACHU, FRV_INSN_MQXMACHS, FRV_INSN_MQXMACXHS, FRV_INSN_MQMACXHS
241  , FRV_INSN_MCPXRS, FRV_INSN_MCPXRU, FRV_INSN_MCPXIS, FRV_INSN_MCPXIU
242  , FRV_INSN_CMCPXRS, FRV_INSN_CMCPXRU, FRV_INSN_CMCPXIS, FRV_INSN_CMCPXIU
243  , FRV_INSN_MQCPXRS, FRV_INSN_MQCPXRU, FRV_INSN_MQCPXIS, FRV_INSN_MQCPXIU
244  , FRV_INSN_MEXPDHW, FRV_INSN_CMEXPDHW, FRV_INSN_MEXPDHD, FRV_INSN_CMEXPDHD
245  , FRV_INSN_MPACKH, FRV_INSN_MDPACKH, FRV_INSN_MUNPACKH, FRV_INSN_MDUNPACKH
246  , FRV_INSN_MBTOH, FRV_INSN_CMBTOH, FRV_INSN_MHTOB, FRV_INSN_CMHTOB
247  , FRV_INSN_MBTOHE, FRV_INSN_CMBTOHE, FRV_INSN_MNOP, FRV_INSN_MCLRACC_0
248  , FRV_INSN_MCLRACC_1, FRV_INSN_MRDACC, FRV_INSN_MRDACCG, FRV_INSN_MWTACC
249  , FRV_INSN_MWTACCG, FRV_INSN_MCOP1, FRV_INSN_MCOP2, FRV_INSN_FNOP
250 } CGEN_INSN_TYPE;
251
252 /* Index of `invalid' insn place holder.  */
253 #define CGEN_INSN_INVALID FRV_INSN_INVALID
254
255 /* Total number of insns in table.  */
256 #define MAX_INSNS ((int) FRV_INSN_FNOP + 1)
257
258 /* This struct records data prior to insertion or after extraction.  */
259 struct cgen_fields
260 {
261   int length;
262   long f_nil;
263   long f_anyof;
264   long f_pack;
265   long f_op;
266   long f_ope1;
267   long f_ope2;
268   long f_ope3;
269   long f_ope4;
270   long f_GRi;
271   long f_GRj;
272   long f_GRk;
273   long f_FRi;
274   long f_FRj;
275   long f_FRk;
276   long f_CPRi;
277   long f_CPRj;
278   long f_CPRk;
279   long f_ACCGi;
280   long f_ACCGk;
281   long f_ACC40Si;
282   long f_ACC40Ui;
283   long f_ACC40Sk;
284   long f_ACC40Uk;
285   long f_CRi;
286   long f_CRj;
287   long f_CRk;
288   long f_CCi;
289   long f_CRj_int;
290   long f_CRj_float;
291   long f_ICCi_1;
292   long f_ICCi_2;
293   long f_ICCi_3;
294   long f_FCCi_1;
295   long f_FCCi_2;
296   long f_FCCi_3;
297   long f_FCCk;
298   long f_eir;
299   long f_s10;
300   long f_s12;
301   long f_d12;
302   long f_u16;
303   long f_s16;
304   long f_s6;
305   long f_s6_1;
306   long f_u6;
307   long f_s5;
308   long f_u12_h;
309   long f_u12_l;
310   long f_u12;
311   long f_int_cc;
312   long f_flt_cc;
313   long f_cond;
314   long f_ccond;
315   long f_hint;
316   long f_LI;
317   long f_lock;
318   long f_debug;
319   long f_A;
320   long f_ae;
321   long f_spr_h;
322   long f_spr_l;
323   long f_spr;
324   long f_label16;
325   long f_labelH6;
326   long f_labelL18;
327   long f_label24;
328   long f_ICCi_1_null;
329   long f_ICCi_2_null;
330   long f_ICCi_3_null;
331   long f_FCCi_1_null;
332   long f_FCCi_2_null;
333   long f_FCCi_3_null;
334   long f_rs_null;
335   long f_GRi_null;
336   long f_GRj_null;
337   long f_GRk_null;
338   long f_FRi_null;
339   long f_FRj_null;
340   long f_ACCj_null;
341   long f_rd_null;
342   long f_cond_null;
343   long f_ccond_null;
344   long f_s12_null;
345   long f_label16_null;
346   long f_misc_null_1;
347   long f_misc_null_2;
348   long f_misc_null_3;
349   long f_misc_null_4;
350   long f_misc_null_5;
351   long f_misc_null_6;
352   long f_misc_null_7;
353   long f_misc_null_8;
354   long f_misc_null_9;
355   long f_misc_null_10;
356   long f_misc_null_11;
357   long f_LI_off;
358   long f_LI_on;
359 };
360
361 #define CGEN_INIT_PARSE(od) \
362 {\
363 }
364 #define CGEN_INIT_INSERT(od) \
365 {\
366 }
367 #define CGEN_INIT_EXTRACT(od) \
368 {\
369 }
370 #define CGEN_INIT_PRINT(od) \
371 {\
372 }
373
374
375 #endif /* FRV_OPC_H */