]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - sim/sh64/defs-compact.h
Update years in copyright notice for the GDB files.
[thirdparty/binutils-gdb.git] / sim / sh64 / defs-compact.h
CommitLineData
cbb38b47
BE
1/* ISA definitions header for compact.
2
3THIS FILE IS MACHINE GENERATED WITH CGEN.
4
8acc9f48 5Copyright 1996-2013 Free Software Foundation, Inc.
cbb38b47 6
c7e628df 7This file is part of the GNU simulators.
cbb38b47 8
fda1c30b
DE
9 This file 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 3, or (at your option)
12 any later version.
cbb38b47 13
fda1c30b
DE
14 It is distributed in the hope that it will be useful, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 License for more details.
cbb38b47 18
fda1c30b 19 You should have received a copy of the GNU General Public License along
51b318de 20 with this program; if not, see <http://www.gnu.org/licenses/>.
cbb38b47
BE
21
22*/
23
24#ifndef DEFS_SH64_COMPACT_H
25#define DEFS_SH64_COMPACT_H
26
27/* Instruction argument buffer. */
28
29union sem_fields {
30 struct { /* no operands */
31 int empty;
2310652a 32 } sfmt_empty;
cbb38b47
BE
33 struct { /* */
34 IADDR i_disp12;
35 } sfmt_bra_compact;
36 struct { /* */
37 IADDR i_disp8;
38 } sfmt_bf_compact;
cbb38b47
BE
39 struct { /* */
40 SI f_imm8x2;
41 UINT f_rn;
42 } sfmt_movw10_compact;
43 struct { /* */
44 SI f_imm4x2;
c7e628df 45 UINT f_rm;
cbb38b47
BE
46 } sfmt_movw5_compact;
47 struct { /* */
48 SI f_imm8x4;
49 UINT f_rn;
50 } sfmt_movl10_compact;
51 struct { /* */
52 UINT f_imm4;
53 UINT f_rm;
54 } sfmt_movb5_compact;
c7e628df
DB
55 struct { /* */
56 INT f_imm20;
57 UINT f_rn;
58 } sfmt_movi20_compact;
cbb38b47
BE
59 struct { /* */
60 SI f_vm;
61 SI f_vn;
62 } sfmt_fipr_compact;
63 struct { /* */
64 UINT f_imm8;
65 UINT f_rn;
66 } sfmt_addi_compact;
c7e628df
DB
67 struct { /* */
68 SI f_imm12x4;
69 UINT f_rm;
70 UINT f_rn;
71 } sfmt_movl12_compact;
cbb38b47
BE
72 struct { /* */
73 SI f_imm4x4;
74 UINT f_rm;
75 UINT f_rn;
76 } sfmt_movl5_compact;
c7e628df
DB
77 struct { /* */
78 SI f_dm;
79 SI f_imm12x8;
80 UINT f_rn;
81 } sfmt_fmov9_compact;
82 struct { /* */
83 SI f_dn;
84 SI f_imm12x8;
85 UINT f_rm;
86 } sfmt_fmov8_compact;
cbb38b47
BE
87#if WITH_SCACHE_PBB
88 /* Writeback handler. */
89 struct {
90 /* Pointer to argbuf entry for insn whose results need writing back. */
91 const struct argbuf *abuf;
92 } write;
93 /* x-before handler */
94 struct {
95 /*const SCACHE *insns[MAX_PARALLEL_INSNS];*/
96 int first_p;
97 } before;
98 /* x-after handler */
99 struct {
100 int empty;
101 } after;
102 /* This entry is used to terminate each pbb. */
103 struct {
104 /* Number of insns in pbb. */
105 int insn_count;
106 /* Next pbb to execute. */
107 SCACHE *next;
108 SCACHE *branch_target;
109 } chain;
110#endif
111};
112
113/* The ARGBUF struct. */
114struct argbuf {
115 /* These are the baseclass definitions. */
116 IADDR addr;
117 const IDESC *idesc;
118 char trace_p;
119 char profile_p;
120 /* ??? Temporary hack for skip insns. */
121 char skip_count;
122 char unused;
123 /* cpu specific data follows */
124 union sem semantic;
125 int written;
126 union sem_fields fields;
127};
128
129/* A cached insn.
130
131 ??? SCACHE used to contain more than just argbuf. We could delete the
132 type entirely and always just use ARGBUF, but for future concerns and as
133 a level of abstraction it is left in. */
134
135struct scache {
136 struct argbuf argbuf;
137};
138
139/* Macros to simplify extraction, reading and semantic code.
140 These define and assign the local vars that contain the insn's fields. */
141
142#define EXTRACT_IFMT_EMPTY_VARS \
143 unsigned int length;
144#define EXTRACT_IFMT_EMPTY_CODE \
145 length = 0; \
146
147#define EXTRACT_IFMT_ADD_COMPACT_VARS \
148 UINT f_op4; \
149 UINT f_rn; \
150 UINT f_rm; \
151 UINT f_sub4; \
152 unsigned int length;
153#define EXTRACT_IFMT_ADD_COMPACT_CODE \
154 length = 2; \
c7e628df
DB
155 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
156 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
157 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
158 f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
cbb38b47
BE
159
160#define EXTRACT_IFMT_ADDI_COMPACT_VARS \
161 UINT f_op4; \
162 UINT f_rn; \
163 UINT f_imm8; \
164 unsigned int length;
165#define EXTRACT_IFMT_ADDI_COMPACT_CODE \
166 length = 2; \
c7e628df
DB
167 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
168 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
169 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
cbb38b47
BE
170
171#define EXTRACT_IFMT_AND_COMPACT_VARS \
172 UINT f_op4; \
173 UINT f_rn; \
174 UINT f_rm; \
175 UINT f_sub4; \
176 unsigned int length;
177#define EXTRACT_IFMT_AND_COMPACT_CODE \
178 length = 2; \
c7e628df
DB
179 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
180 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
181 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
182 f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
cbb38b47
BE
183
184#define EXTRACT_IFMT_ANDI_COMPACT_VARS \
185 UINT f_op8; \
186 UINT f_imm8; \
187 unsigned int length;
188#define EXTRACT_IFMT_ANDI_COMPACT_CODE \
189 length = 2; \
c7e628df
DB
190 f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
191 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
cbb38b47
BE
192
193#define EXTRACT_IFMT_ANDB_COMPACT_VARS \
194 UINT f_op8; \
195 UINT f_imm8; \
196 unsigned int length;
197#define EXTRACT_IFMT_ANDB_COMPACT_CODE \
198 length = 2; \
c7e628df
DB
199 f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
200 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
cbb38b47
BE
201
202#define EXTRACT_IFMT_BF_COMPACT_VARS \
203 UINT f_op8; \
204 SI f_disp8; \
205 unsigned int length;
206#define EXTRACT_IFMT_BF_COMPACT_CODE \
207 length = 2; \
c7e628df 208 f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
62836bf4 209 f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4)))); \
cbb38b47
BE
210
211#define EXTRACT_IFMT_BRA_COMPACT_VARS \
212 UINT f_op4; \
213 SI f_disp12; \
214 unsigned int length;
215#define EXTRACT_IFMT_BRA_COMPACT_CODE \
216 length = 2; \
c7e628df 217 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
62836bf4 218 f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4)))); \
cbb38b47
BE
219
220#define EXTRACT_IFMT_BRAF_COMPACT_VARS \
221 UINT f_op4; \
222 UINT f_rn; \
223 UINT f_sub8; \
224 unsigned int length;
225#define EXTRACT_IFMT_BRAF_COMPACT_CODE \
226 length = 2; \
c7e628df
DB
227 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
228 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
229 f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
cbb38b47
BE
230
231#define EXTRACT_IFMT_BRK_COMPACT_VARS \
232 UINT f_op16; \
233 unsigned int length;
234#define EXTRACT_IFMT_BRK_COMPACT_CODE \
235 length = 2; \
c7e628df 236 f_op16 = EXTRACT_MSB0_UINT (insn, 16, 0, 16); \
cbb38b47
BE
237
238#define EXTRACT_IFMT_FABS_COMPACT_VARS \
239 UINT f_op4; \
240 UINT f_rn; \
241 UINT f_sub8; \
242 unsigned int length;
243#define EXTRACT_IFMT_FABS_COMPACT_CODE \
244 length = 2; \
c7e628df
DB
245 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
246 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
247 f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
cbb38b47
BE
248
249#define EXTRACT_IFMT_FADD_COMPACT_VARS \
250 UINT f_op4; \
251 UINT f_rn; \
252 UINT f_rm; \
253 UINT f_sub4; \
254 unsigned int length;
255#define EXTRACT_IFMT_FADD_COMPACT_CODE \
256 length = 2; \
c7e628df
DB
257 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
258 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
259 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
260 f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
cbb38b47
BE
261
262#define EXTRACT_IFMT_FCNVDS_COMPACT_VARS \
263 UINT f_op4; \
264 SI f_dn; \
c7e628df 265 UINT f_7_1; \
cbb38b47
BE
266 UINT f_sub8; \
267 unsigned int length;
268#define EXTRACT_IFMT_FCNVDS_COMPACT_CODE \
269 length = 2; \
c7e628df
DB
270 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
271 f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1)); \
272 f_7_1 = EXTRACT_MSB0_UINT (insn, 16, 7, 1); \
273 f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
cbb38b47
BE
274
275#define EXTRACT_IFMT_FIPR_COMPACT_VARS \
276 UINT f_op4; \
277 SI f_vn; \
278 SI f_vm; \
279 UINT f_sub8; \
280 unsigned int length;
281#define EXTRACT_IFMT_FIPR_COMPACT_CODE \
282 length = 2; \
c7e628df
DB
283 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
284 f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2)); \
285 f_vm = ((EXTRACT_MSB0_UINT (insn, 16, 6, 2)) << (2)); \
286 f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
cbb38b47
BE
287
288#define EXTRACT_IFMT_FLDS_COMPACT_VARS \
289 UINT f_op4; \
290 UINT f_rn; \
291 UINT f_sub8; \
292 unsigned int length;
293#define EXTRACT_IFMT_FLDS_COMPACT_CODE \
294 length = 2; \
c7e628df
DB
295 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
296 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
297 f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
cbb38b47
BE
298
299#define EXTRACT_IFMT_FMAC_COMPACT_VARS \
300 UINT f_op4; \
301 UINT f_rn; \
302 UINT f_rm; \
303 UINT f_sub4; \
304 unsigned int length;
305#define EXTRACT_IFMT_FMAC_COMPACT_CODE \
306 length = 2; \
c7e628df
DB
307 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
308 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
309 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
310 f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
311
312#define EXTRACT_IFMT_FMOV1_COMPACT_VARS \
313 UINT f_op4; \
314 UINT f_rn; \
315 UINT f_rm; \
316 UINT f_sub4; \
317 unsigned int length;
318#define EXTRACT_IFMT_FMOV1_COMPACT_CODE \
319 length = 2; \
320 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
321 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
322 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
323 f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
cbb38b47
BE
324
325#define EXTRACT_IFMT_FMOV2_COMPACT_VARS \
326 UINT f_op4; \
327 UINT f_rn; \
328 UINT f_rm; \
329 UINT f_sub4; \
330 unsigned int length;
331#define EXTRACT_IFMT_FMOV2_COMPACT_CODE \
332 length = 2; \
c7e628df
DB
333 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
334 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
335 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
336 f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
cbb38b47
BE
337
338#define EXTRACT_IFMT_FMOV5_COMPACT_VARS \
339 UINT f_op4; \
340 UINT f_rn; \
341 UINT f_rm; \
342 UINT f_sub4; \
343 unsigned int length;
344#define EXTRACT_IFMT_FMOV5_COMPACT_CODE \
345 length = 2; \
c7e628df
DB
346 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
347 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
348 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
349 f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
350
351#define EXTRACT_IFMT_FMOV8_COMPACT_VARS \
352 UINT f_op4; \
353 SI f_dn; \
354 UINT f_7_1; \
355 UINT f_rm; \
356 UINT f_sub4; \
357 UINT f_16_4; \
358 SI f_imm12x8; \
359 unsigned int length;
360#define EXTRACT_IFMT_FMOV8_COMPACT_CODE \
361 length = 4; \
362 f_op4 = EXTRACT_MSB0_UINT (insn, 32, 0, 4); \
363 f_dn = ((EXTRACT_MSB0_UINT (insn, 32, 4, 3)) << (1)); \
364 f_7_1 = EXTRACT_MSB0_UINT (insn, 32, 7, 1); \
365 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4); \
366 f_sub4 = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
367 f_16_4 = EXTRACT_MSB0_UINT (insn, 32, 16, 4); \
62836bf4 368 f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3)); \
c7e628df
DB
369
370#define EXTRACT_IFMT_FMOV9_COMPACT_VARS \
371 UINT f_op4; \
372 UINT f_rn; \
373 SI f_dm; \
374 UINT f_11_1; \
375 UINT f_sub4; \
376 UINT f_16_4; \
377 SI f_imm12x8; \
378 unsigned int length;
379#define EXTRACT_IFMT_FMOV9_COMPACT_CODE \
380 length = 4; \
381 f_op4 = EXTRACT_MSB0_UINT (insn, 32, 0, 4); \
382 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4); \
383 f_dm = ((EXTRACT_MSB0_UINT (insn, 32, 8, 3)) << (1)); \
384 f_11_1 = EXTRACT_MSB0_UINT (insn, 32, 11, 1); \
385 f_sub4 = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
386 f_16_4 = EXTRACT_MSB0_UINT (insn, 32, 16, 4); \
62836bf4 387 f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3)); \
cbb38b47
BE
388
389#define EXTRACT_IFMT_FTRV_COMPACT_VARS \
390 UINT f_op4; \
391 SI f_vn; \
392 UINT f_sub10; \
393 unsigned int length;
394#define EXTRACT_IFMT_FTRV_COMPACT_CODE \
395 length = 2; \
c7e628df
DB
396 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
397 f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2)); \
398 f_sub10 = EXTRACT_MSB0_UINT (insn, 16, 6, 10); \
399
400#define EXTRACT_IFMT_MOVI20_COMPACT_VARS \
401 UINT f_op4; \
402 UINT f_rn; \
403 INT f_imm20_hi; \
404 UINT f_imm20_lo; \
405 INT f_imm20; \
406 UINT f_sub4; \
407 unsigned int length;
408#define EXTRACT_IFMT_MOVI20_COMPACT_CODE \
409 length = 4; \
410 f_op4 = EXTRACT_MSB0_UINT (insn, 32, 0, 4); \
411 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4); \
62836bf4 412 f_imm20_hi = EXTRACT_MSB0_SINT (insn, 32, 8, 4); \
c7e628df
DB
413 f_imm20_lo = EXTRACT_MSB0_UINT (insn, 32, 16, 16); \
414 f_imm20 = ((((f_imm20_hi) << (16))) | (f_imm20_lo));\
415 f_sub4 = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
cbb38b47
BE
416
417#define EXTRACT_IFMT_MOVB5_COMPACT_VARS \
418 UINT f_op8; \
419 UINT f_rm; \
420 UINT f_imm4; \
421 unsigned int length;
422#define EXTRACT_IFMT_MOVB5_COMPACT_CODE \
423 length = 2; \
c7e628df
DB
424 f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
425 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
426 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
cbb38b47
BE
427
428#define EXTRACT_IFMT_MOVL4_COMPACT_VARS \
429 UINT f_op8; \
430 SI f_imm8x4; \
431 unsigned int length;
432#define EXTRACT_IFMT_MOVL4_COMPACT_CODE \
433 length = 2; \
c7e628df
DB
434 f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
435 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
cbb38b47
BE
436
437#define EXTRACT_IFMT_MOVL5_COMPACT_VARS \
438 UINT f_op4; \
439 UINT f_rn; \
440 UINT f_rm; \
441 SI f_imm4x4; \
442 unsigned int length;
443#define EXTRACT_IFMT_MOVL5_COMPACT_CODE \
444 length = 2; \
c7e628df
DB
445 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
446 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
447 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
448 f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2)); \
cbb38b47
BE
449
450#define EXTRACT_IFMT_MOVL10_COMPACT_VARS \
451 UINT f_op4; \
452 UINT f_rn; \
453 SI f_imm8x4; \
454 unsigned int length;
455#define EXTRACT_IFMT_MOVL10_COMPACT_CODE \
456 length = 2; \
c7e628df
DB
457 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
458 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
459 f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
460
461#define EXTRACT_IFMT_MOVL12_COMPACT_VARS \
462 UINT f_op4; \
463 UINT f_rn; \
464 UINT f_rm; \
465 UINT f_sub4; \
466 UINT f_16_4; \
467 SI f_imm12x4; \
468 unsigned int length;
469#define EXTRACT_IFMT_MOVL12_COMPACT_CODE \
470 length = 4; \
471 f_op4 = EXTRACT_MSB0_UINT (insn, 32, 0, 4); \
472 f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4); \
473 f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4); \
474 f_sub4 = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
475 f_16_4 = EXTRACT_MSB0_UINT (insn, 32, 16, 4); \
62836bf4 476 f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2)); \
cbb38b47
BE
477
478#define EXTRACT_IFMT_MOVW4_COMPACT_VARS \
479 UINT f_op8; \
480 SI f_imm8x2; \
481 unsigned int length;
482#define EXTRACT_IFMT_MOVW4_COMPACT_CODE \
483 length = 2; \
c7e628df
DB
484 f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
485 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); \
cbb38b47
BE
486
487#define EXTRACT_IFMT_MOVW5_COMPACT_VARS \
488 UINT f_op8; \
c7e628df 489 UINT f_rm; \
cbb38b47
BE
490 SI f_imm4x2; \
491 unsigned int length;
492#define EXTRACT_IFMT_MOVW5_COMPACT_CODE \
493 length = 2; \
c7e628df
DB
494 f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
495 f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
496 f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1)); \
cbb38b47
BE
497
498#define EXTRACT_IFMT_MOVW10_COMPACT_VARS \
499 UINT f_op4; \
500 UINT f_rn; \
501 SI f_imm8x2; \
502 unsigned int length;
503#define EXTRACT_IFMT_MOVW10_COMPACT_CODE \
504 length = 2; \
c7e628df
DB
505 f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
506 f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
507 f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); \
cbb38b47
BE
508
509#endif /* DEFS_SH64_COMPACT_H */