Commit | Line | Data |
---|---|---|
e0bd6e18 DE |
1 | /* Decode header for m32r. |
2 | ||
3 | This file is machine generated with CGEN. | |
4 | ||
5 | Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. | |
6 | ||
7 | This file is part of the GNU Simulators. | |
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 M32R_DECODE_H | |
26 | #define M32R_DECODE_H | |
27 | ||
28 | #define EX(fn) XCONCAT3 (m32r,_ex_,fn) | |
29 | #define SEM(fn) XCONCAT3 (m32r,_sem_,fn) | |
cab58155 | 30 | #define SEMF(fn) XCONCAT3 (m32r,_semf_,fn) |
e0bd6e18 DE |
31 | |
32 | extern EXTRACT_FN EX (illegal); | |
33 | extern SEMANTIC_FN SEM (illegal); | |
cab58155 | 34 | extern SEMANTIC_FN SEMF (illegal); |
e0bd6e18 DE |
35 | extern EXTRACT_FN EX (fmt_0_add); |
36 | extern EXTRACT_FN EX (fmt_1_add3); | |
37 | extern EXTRACT_FN EX (fmt_2_and3); | |
38 | extern EXTRACT_FN EX (fmt_3_or3); | |
39 | extern EXTRACT_FN EX (fmt_4_addi); | |
cab58155 DE |
40 | extern EXTRACT_FN EX (fmt_5_addv); |
41 | extern EXTRACT_FN EX (fmt_6_addv3); | |
42 | extern EXTRACT_FN EX (fmt_7_addx); | |
43 | extern EXTRACT_FN EX (fmt_8_bc8); | |
44 | extern EXTRACT_FN EX (fmt_9_bc24); | |
45 | extern EXTRACT_FN EX (fmt_10_beq); | |
46 | extern EXTRACT_FN EX (fmt_11_beqz); | |
47 | extern EXTRACT_FN EX (fmt_12_bl8); | |
48 | extern EXTRACT_FN EX (fmt_13_bl24); | |
49 | extern EXTRACT_FN EX (fmt_14_bra8); | |
50 | extern EXTRACT_FN EX (fmt_15_bra24); | |
51 | extern EXTRACT_FN EX (fmt_16_cmp); | |
52 | extern EXTRACT_FN EX (fmt_17_cmpi); | |
53 | extern EXTRACT_FN EX (fmt_18_cmpui); | |
54 | extern EXTRACT_FN EX (fmt_19_div); | |
55 | extern EXTRACT_FN EX (fmt_20_jl); | |
56 | extern EXTRACT_FN EX (fmt_21_jmp); | |
57 | extern EXTRACT_FN EX (fmt_22_ld); | |
58 | extern EXTRACT_FN EX (fmt_23_ld_d); | |
59 | extern EXTRACT_FN EX (fmt_24_ldb); | |
60 | extern EXTRACT_FN EX (fmt_25_ldb_d); | |
61 | extern EXTRACT_FN EX (fmt_26_ldh); | |
62 | extern EXTRACT_FN EX (fmt_27_ldh_d); | |
63 | extern EXTRACT_FN EX (fmt_28_ld_plus); | |
64 | extern EXTRACT_FN EX (fmt_29_ld24); | |
65 | extern EXTRACT_FN EX (fmt_30_ldi8); | |
66 | extern EXTRACT_FN EX (fmt_31_ldi16); | |
67 | extern EXTRACT_FN EX (fmt_32_lock); | |
68 | extern EXTRACT_FN EX (fmt_33_machi); | |
69 | extern EXTRACT_FN EX (fmt_34_mulhi); | |
70 | extern EXTRACT_FN EX (fmt_35_mv); | |
71 | extern EXTRACT_FN EX (fmt_36_mvfachi); | |
72 | extern EXTRACT_FN EX (fmt_37_mvfc); | |
73 | extern EXTRACT_FN EX (fmt_38_mvtachi); | |
74 | extern EXTRACT_FN EX (fmt_39_mvtc); | |
75 | extern EXTRACT_FN EX (fmt_40_nop); | |
76 | extern EXTRACT_FN EX (fmt_41_rac); | |
77 | extern EXTRACT_FN EX (fmt_42_rte); | |
78 | extern EXTRACT_FN EX (fmt_43_seth); | |
79 | extern EXTRACT_FN EX (fmt_44_sll3); | |
80 | extern EXTRACT_FN EX (fmt_45_slli); | |
81 | extern EXTRACT_FN EX (fmt_46_st); | |
82 | extern EXTRACT_FN EX (fmt_47_st_d); | |
83 | extern EXTRACT_FN EX (fmt_48_stb); | |
84 | extern EXTRACT_FN EX (fmt_49_stb_d); | |
85 | extern EXTRACT_FN EX (fmt_50_sth); | |
86 | extern EXTRACT_FN EX (fmt_51_sth_d); | |
87 | extern EXTRACT_FN EX (fmt_52_st_plus); | |
88 | extern EXTRACT_FN EX (fmt_53_trap); | |
89 | extern EXTRACT_FN EX (fmt_54_unlock); | |
e0bd6e18 DE |
90 | |
91 | extern SEMANTIC_FN SEM (add); | |
cab58155 | 92 | extern SEMANTIC_FN SEMF (add); |
e0bd6e18 | 93 | extern SEMANTIC_FN SEM (add3); |
cab58155 | 94 | extern SEMANTIC_FN SEMF (add3); |
e0bd6e18 | 95 | extern SEMANTIC_FN SEM (and); |
cab58155 | 96 | extern SEMANTIC_FN SEMF (and); |
e0bd6e18 | 97 | extern SEMANTIC_FN SEM (and3); |
cab58155 | 98 | extern SEMANTIC_FN SEMF (and3); |
e0bd6e18 | 99 | extern SEMANTIC_FN SEM (or); |
cab58155 | 100 | extern SEMANTIC_FN SEMF (or); |
e0bd6e18 | 101 | extern SEMANTIC_FN SEM (or3); |
cab58155 | 102 | extern SEMANTIC_FN SEMF (or3); |
e0bd6e18 | 103 | extern SEMANTIC_FN SEM (xor); |
cab58155 | 104 | extern SEMANTIC_FN SEMF (xor); |
e0bd6e18 | 105 | extern SEMANTIC_FN SEM (xor3); |
cab58155 | 106 | extern SEMANTIC_FN SEMF (xor3); |
e0bd6e18 | 107 | extern SEMANTIC_FN SEM (addi); |
cab58155 | 108 | extern SEMANTIC_FN SEMF (addi); |
e0bd6e18 | 109 | extern SEMANTIC_FN SEM (addv); |
cab58155 | 110 | extern SEMANTIC_FN SEMF (addv); |
e0bd6e18 | 111 | extern SEMANTIC_FN SEM (addv3); |
cab58155 | 112 | extern SEMANTIC_FN SEMF (addv3); |
e0bd6e18 | 113 | extern SEMANTIC_FN SEM (addx); |
cab58155 | 114 | extern SEMANTIC_FN SEMF (addx); |
e0bd6e18 | 115 | extern SEMANTIC_FN SEM (bc8); |
cab58155 | 116 | extern SEMANTIC_FN SEMF (bc8); |
e0bd6e18 | 117 | extern SEMANTIC_FN SEM (bc24); |
cab58155 | 118 | extern SEMANTIC_FN SEMF (bc24); |
e0bd6e18 | 119 | extern SEMANTIC_FN SEM (beq); |
cab58155 | 120 | extern SEMANTIC_FN SEMF (beq); |
e0bd6e18 | 121 | extern SEMANTIC_FN SEM (beqz); |
cab58155 | 122 | extern SEMANTIC_FN SEMF (beqz); |
e0bd6e18 | 123 | extern SEMANTIC_FN SEM (bgez); |
cab58155 | 124 | extern SEMANTIC_FN SEMF (bgez); |
e0bd6e18 | 125 | extern SEMANTIC_FN SEM (bgtz); |
cab58155 | 126 | extern SEMANTIC_FN SEMF (bgtz); |
e0bd6e18 | 127 | extern SEMANTIC_FN SEM (blez); |
cab58155 | 128 | extern SEMANTIC_FN SEMF (blez); |
e0bd6e18 | 129 | extern SEMANTIC_FN SEM (bltz); |
cab58155 | 130 | extern SEMANTIC_FN SEMF (bltz); |
e0bd6e18 | 131 | extern SEMANTIC_FN SEM (bnez); |
cab58155 | 132 | extern SEMANTIC_FN SEMF (bnez); |
e0bd6e18 | 133 | extern SEMANTIC_FN SEM (bl8); |
cab58155 | 134 | extern SEMANTIC_FN SEMF (bl8); |
e0bd6e18 | 135 | extern SEMANTIC_FN SEM (bl24); |
cab58155 | 136 | extern SEMANTIC_FN SEMF (bl24); |
e0bd6e18 | 137 | extern SEMANTIC_FN SEM (bnc8); |
cab58155 | 138 | extern SEMANTIC_FN SEMF (bnc8); |
e0bd6e18 | 139 | extern SEMANTIC_FN SEM (bnc24); |
cab58155 | 140 | extern SEMANTIC_FN SEMF (bnc24); |
e0bd6e18 | 141 | extern SEMANTIC_FN SEM (bne); |
cab58155 | 142 | extern SEMANTIC_FN SEMF (bne); |
e0bd6e18 | 143 | extern SEMANTIC_FN SEM (bra8); |
cab58155 | 144 | extern SEMANTIC_FN SEMF (bra8); |
e0bd6e18 | 145 | extern SEMANTIC_FN SEM (bra24); |
cab58155 | 146 | extern SEMANTIC_FN SEMF (bra24); |
e0bd6e18 | 147 | extern SEMANTIC_FN SEM (cmp); |
cab58155 | 148 | extern SEMANTIC_FN SEMF (cmp); |
e0bd6e18 | 149 | extern SEMANTIC_FN SEM (cmpi); |
cab58155 | 150 | extern SEMANTIC_FN SEMF (cmpi); |
e0bd6e18 | 151 | extern SEMANTIC_FN SEM (cmpu); |
cab58155 | 152 | extern SEMANTIC_FN SEMF (cmpu); |
e0bd6e18 | 153 | extern SEMANTIC_FN SEM (cmpui); |
cab58155 | 154 | extern SEMANTIC_FN SEMF (cmpui); |
e0bd6e18 | 155 | extern SEMANTIC_FN SEM (div); |
cab58155 | 156 | extern SEMANTIC_FN SEMF (div); |
e0bd6e18 | 157 | extern SEMANTIC_FN SEM (divu); |
cab58155 | 158 | extern SEMANTIC_FN SEMF (divu); |
e0bd6e18 | 159 | extern SEMANTIC_FN SEM (rem); |
cab58155 | 160 | extern SEMANTIC_FN SEMF (rem); |
e0bd6e18 | 161 | extern SEMANTIC_FN SEM (remu); |
cab58155 | 162 | extern SEMANTIC_FN SEMF (remu); |
e0bd6e18 | 163 | extern SEMANTIC_FN SEM (jl); |
cab58155 | 164 | extern SEMANTIC_FN SEMF (jl); |
e0bd6e18 | 165 | extern SEMANTIC_FN SEM (jmp); |
cab58155 | 166 | extern SEMANTIC_FN SEMF (jmp); |
e0bd6e18 | 167 | extern SEMANTIC_FN SEM (ld); |
cab58155 | 168 | extern SEMANTIC_FN SEMF (ld); |
e0bd6e18 | 169 | extern SEMANTIC_FN SEM (ld_d); |
cab58155 | 170 | extern SEMANTIC_FN SEMF (ld_d); |
e0bd6e18 | 171 | extern SEMANTIC_FN SEM (ldb); |
cab58155 | 172 | extern SEMANTIC_FN SEMF (ldb); |
e0bd6e18 | 173 | extern SEMANTIC_FN SEM (ldb_d); |
cab58155 | 174 | extern SEMANTIC_FN SEMF (ldb_d); |
e0bd6e18 | 175 | extern SEMANTIC_FN SEM (ldh); |
cab58155 | 176 | extern SEMANTIC_FN SEMF (ldh); |
e0bd6e18 | 177 | extern SEMANTIC_FN SEM (ldh_d); |
cab58155 | 178 | extern SEMANTIC_FN SEMF (ldh_d); |
e0bd6e18 | 179 | extern SEMANTIC_FN SEM (ldub); |
cab58155 | 180 | extern SEMANTIC_FN SEMF (ldub); |
e0bd6e18 | 181 | extern SEMANTIC_FN SEM (ldub_d); |
cab58155 | 182 | extern SEMANTIC_FN SEMF (ldub_d); |
e0bd6e18 | 183 | extern SEMANTIC_FN SEM (lduh); |
cab58155 | 184 | extern SEMANTIC_FN SEMF (lduh); |
e0bd6e18 | 185 | extern SEMANTIC_FN SEM (lduh_d); |
cab58155 | 186 | extern SEMANTIC_FN SEMF (lduh_d); |
e0bd6e18 | 187 | extern SEMANTIC_FN SEM (ld_plus); |
cab58155 | 188 | extern SEMANTIC_FN SEMF (ld_plus); |
e0bd6e18 | 189 | extern SEMANTIC_FN SEM (ld24); |
cab58155 | 190 | extern SEMANTIC_FN SEMF (ld24); |
e0bd6e18 | 191 | extern SEMANTIC_FN SEM (ldi8); |
cab58155 | 192 | extern SEMANTIC_FN SEMF (ldi8); |
e0bd6e18 | 193 | extern SEMANTIC_FN SEM (ldi16); |
cab58155 | 194 | extern SEMANTIC_FN SEMF (ldi16); |
e0bd6e18 | 195 | extern SEMANTIC_FN SEM (lock); |
cab58155 | 196 | extern SEMANTIC_FN SEMF (lock); |
e0bd6e18 | 197 | extern SEMANTIC_FN SEM (machi); |
cab58155 | 198 | extern SEMANTIC_FN SEMF (machi); |
e0bd6e18 | 199 | extern SEMANTIC_FN SEM (maclo); |
cab58155 | 200 | extern SEMANTIC_FN SEMF (maclo); |
e0bd6e18 | 201 | extern SEMANTIC_FN SEM (macwhi); |
cab58155 | 202 | extern SEMANTIC_FN SEMF (macwhi); |
e0bd6e18 | 203 | extern SEMANTIC_FN SEM (macwlo); |
cab58155 | 204 | extern SEMANTIC_FN SEMF (macwlo); |
e0bd6e18 | 205 | extern SEMANTIC_FN SEM (mul); |
cab58155 | 206 | extern SEMANTIC_FN SEMF (mul); |
e0bd6e18 | 207 | extern SEMANTIC_FN SEM (mulhi); |
cab58155 | 208 | extern SEMANTIC_FN SEMF (mulhi); |
e0bd6e18 | 209 | extern SEMANTIC_FN SEM (mullo); |
cab58155 | 210 | extern SEMANTIC_FN SEMF (mullo); |
e0bd6e18 | 211 | extern SEMANTIC_FN SEM (mulwhi); |
cab58155 | 212 | extern SEMANTIC_FN SEMF (mulwhi); |
e0bd6e18 | 213 | extern SEMANTIC_FN SEM (mulwlo); |
cab58155 | 214 | extern SEMANTIC_FN SEMF (mulwlo); |
e0bd6e18 | 215 | extern SEMANTIC_FN SEM (mv); |
cab58155 | 216 | extern SEMANTIC_FN SEMF (mv); |
e0bd6e18 | 217 | extern SEMANTIC_FN SEM (mvfachi); |
cab58155 | 218 | extern SEMANTIC_FN SEMF (mvfachi); |
e0bd6e18 | 219 | extern SEMANTIC_FN SEM (mvfaclo); |
cab58155 | 220 | extern SEMANTIC_FN SEMF (mvfaclo); |
e0bd6e18 | 221 | extern SEMANTIC_FN SEM (mvfacmi); |
cab58155 | 222 | extern SEMANTIC_FN SEMF (mvfacmi); |
e0bd6e18 | 223 | extern SEMANTIC_FN SEM (mvfc); |
cab58155 | 224 | extern SEMANTIC_FN SEMF (mvfc); |
e0bd6e18 | 225 | extern SEMANTIC_FN SEM (mvtachi); |
cab58155 | 226 | extern SEMANTIC_FN SEMF (mvtachi); |
e0bd6e18 | 227 | extern SEMANTIC_FN SEM (mvtaclo); |
cab58155 | 228 | extern SEMANTIC_FN SEMF (mvtaclo); |
e0bd6e18 | 229 | extern SEMANTIC_FN SEM (mvtc); |
cab58155 | 230 | extern SEMANTIC_FN SEMF (mvtc); |
e0bd6e18 | 231 | extern SEMANTIC_FN SEM (neg); |
cab58155 | 232 | extern SEMANTIC_FN SEMF (neg); |
e0bd6e18 | 233 | extern SEMANTIC_FN SEM (nop); |
cab58155 | 234 | extern SEMANTIC_FN SEMF (nop); |
e0bd6e18 | 235 | extern SEMANTIC_FN SEM (not); |
cab58155 | 236 | extern SEMANTIC_FN SEMF (not); |
e0bd6e18 | 237 | extern SEMANTIC_FN SEM (rac); |
cab58155 | 238 | extern SEMANTIC_FN SEMF (rac); |
e0bd6e18 | 239 | extern SEMANTIC_FN SEM (rach); |
cab58155 | 240 | extern SEMANTIC_FN SEMF (rach); |
e0bd6e18 | 241 | extern SEMANTIC_FN SEM (rte); |
cab58155 | 242 | extern SEMANTIC_FN SEMF (rte); |
e0bd6e18 | 243 | extern SEMANTIC_FN SEM (seth); |
cab58155 | 244 | extern SEMANTIC_FN SEMF (seth); |
e0bd6e18 | 245 | extern SEMANTIC_FN SEM (sll); |
cab58155 | 246 | extern SEMANTIC_FN SEMF (sll); |
e0bd6e18 | 247 | extern SEMANTIC_FN SEM (sll3); |
cab58155 | 248 | extern SEMANTIC_FN SEMF (sll3); |
e0bd6e18 | 249 | extern SEMANTIC_FN SEM (slli); |
cab58155 | 250 | extern SEMANTIC_FN SEMF (slli); |
e0bd6e18 | 251 | extern SEMANTIC_FN SEM (sra); |
cab58155 | 252 | extern SEMANTIC_FN SEMF (sra); |
e0bd6e18 | 253 | extern SEMANTIC_FN SEM (sra3); |
cab58155 | 254 | extern SEMANTIC_FN SEMF (sra3); |
e0bd6e18 | 255 | extern SEMANTIC_FN SEM (srai); |
cab58155 | 256 | extern SEMANTIC_FN SEMF (srai); |
e0bd6e18 | 257 | extern SEMANTIC_FN SEM (srl); |
cab58155 | 258 | extern SEMANTIC_FN SEMF (srl); |
e0bd6e18 | 259 | extern SEMANTIC_FN SEM (srl3); |
cab58155 | 260 | extern SEMANTIC_FN SEMF (srl3); |
e0bd6e18 | 261 | extern SEMANTIC_FN SEM (srli); |
cab58155 | 262 | extern SEMANTIC_FN SEMF (srli); |
e0bd6e18 | 263 | extern SEMANTIC_FN SEM (st); |
cab58155 | 264 | extern SEMANTIC_FN SEMF (st); |
e0bd6e18 | 265 | extern SEMANTIC_FN SEM (st_d); |
cab58155 | 266 | extern SEMANTIC_FN SEMF (st_d); |
e0bd6e18 | 267 | extern SEMANTIC_FN SEM (stb); |
cab58155 | 268 | extern SEMANTIC_FN SEMF (stb); |
e0bd6e18 | 269 | extern SEMANTIC_FN SEM (stb_d); |
cab58155 | 270 | extern SEMANTIC_FN SEMF (stb_d); |
e0bd6e18 | 271 | extern SEMANTIC_FN SEM (sth); |
cab58155 | 272 | extern SEMANTIC_FN SEMF (sth); |
e0bd6e18 | 273 | extern SEMANTIC_FN SEM (sth_d); |
cab58155 | 274 | extern SEMANTIC_FN SEMF (sth_d); |
e0bd6e18 | 275 | extern SEMANTIC_FN SEM (st_plus); |
cab58155 | 276 | extern SEMANTIC_FN SEMF (st_plus); |
e0bd6e18 | 277 | extern SEMANTIC_FN SEM (st_minus); |
cab58155 | 278 | extern SEMANTIC_FN SEMF (st_minus); |
e0bd6e18 | 279 | extern SEMANTIC_FN SEM (sub); |
cab58155 | 280 | extern SEMANTIC_FN SEMF (sub); |
e0bd6e18 | 281 | extern SEMANTIC_FN SEM (subv); |
cab58155 | 282 | extern SEMANTIC_FN SEMF (subv); |
e0bd6e18 | 283 | extern SEMANTIC_FN SEM (subx); |
cab58155 | 284 | extern SEMANTIC_FN SEMF (subx); |
e0bd6e18 | 285 | extern SEMANTIC_FN SEM (trap); |
cab58155 | 286 | extern SEMANTIC_FN SEMF (trap); |
e0bd6e18 | 287 | extern SEMANTIC_FN SEM (unlock); |
cab58155 | 288 | extern SEMANTIC_FN SEMF (unlock); |
e0bd6e18 DE |
289 | |
290 | #undef EX | |
291 | #undef SEM | |
cab58155 | 292 | #undef SEMF |
e0bd6e18 DE |
293 | |
294 | #endif /* M32R_DECODE_H */ |