1 /* Simulator instruction decoder for sh5_media.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2009 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
18 using namespace sh5; // FIXME: namespace organization still wip
21 // The instruction descriptor array.
23 sh5_media_idesc sh5_media_idesc::idesc_table[SH5_MEDIA_INSN_XORI + 1] =
25 { sh5_media_sem_x_invalid, "X_INVALID", SH5_MEDIA_INSN_X_INVALID, { 0|(1<<CGEN_INSN_VIRTUAL), (1<<MACH_BASE), { 1, "\x40" } } },
26 { sh5_media_sem_add, "ADD", SH5_MEDIA_INSN_ADD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
27 { sh5_media_sem_addl, "ADDL", SH5_MEDIA_INSN_ADDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
28 { sh5_media_sem_addi, "ADDI", SH5_MEDIA_INSN_ADDI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
29 { sh5_media_sem_addil, "ADDIL", SH5_MEDIA_INSN_ADDIL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
30 { sh5_media_sem_addzl, "ADDZL", SH5_MEDIA_INSN_ADDZL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
31 { sh5_media_sem_alloco, "ALLOCO", SH5_MEDIA_INSN_ALLOCO, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
32 { sh5_media_sem_and, "AND", SH5_MEDIA_INSN_AND, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
33 { sh5_media_sem_andc, "ANDC", SH5_MEDIA_INSN_ANDC, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
34 { sh5_media_sem_andi, "ANDI", SH5_MEDIA_INSN_ANDI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
35 { sh5_media_sem_beq, "BEQ", SH5_MEDIA_INSN_BEQ, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
36 { sh5_media_sem_beqi, "BEQI", SH5_MEDIA_INSN_BEQI, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
37 { sh5_media_sem_bge, "BGE", SH5_MEDIA_INSN_BGE, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
38 { sh5_media_sem_bgeu, "BGEU", SH5_MEDIA_INSN_BGEU, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
39 { sh5_media_sem_bgt, "BGT", SH5_MEDIA_INSN_BGT, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
40 { sh5_media_sem_bgtu, "BGTU", SH5_MEDIA_INSN_BGTU, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
41 { sh5_media_sem_blink, "BLINK", SH5_MEDIA_INSN_BLINK, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
42 { sh5_media_sem_bne, "BNE", SH5_MEDIA_INSN_BNE, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
43 { sh5_media_sem_bnei, "BNEI", SH5_MEDIA_INSN_BNEI, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE), { 1, "\x40" } } },
44 { sh5_media_sem_brk, "BRK", SH5_MEDIA_INSN_BRK, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
45 { sh5_media_sem_byterev, "BYTEREV", SH5_MEDIA_INSN_BYTEREV, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
46 { sh5_media_sem_cmpeq, "CMPEQ", SH5_MEDIA_INSN_CMPEQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
47 { sh5_media_sem_cmpgt, "CMPGT", SH5_MEDIA_INSN_CMPGT, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
48 { sh5_media_sem_cmpgtu, "CMPGTU", SH5_MEDIA_INSN_CMPGTU, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
49 { sh5_media_sem_cmveq, "CMVEQ", SH5_MEDIA_INSN_CMVEQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
50 { sh5_media_sem_cmvne, "CMVNE", SH5_MEDIA_INSN_CMVNE, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
51 { sh5_media_sem_fabsd, "FABSD", SH5_MEDIA_INSN_FABSD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
52 { sh5_media_sem_fabss, "FABSS", SH5_MEDIA_INSN_FABSS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
53 { sh5_media_sem_faddd, "FADDD", SH5_MEDIA_INSN_FADDD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
54 { sh5_media_sem_fadds, "FADDS", SH5_MEDIA_INSN_FADDS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
55 { sh5_media_sem_fcmpeqd, "FCMPEQD", SH5_MEDIA_INSN_FCMPEQD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
56 { sh5_media_sem_fcmpeqs, "FCMPEQS", SH5_MEDIA_INSN_FCMPEQS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
57 { sh5_media_sem_fcmpged, "FCMPGED", SH5_MEDIA_INSN_FCMPGED, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
58 { sh5_media_sem_fcmpges, "FCMPGES", SH5_MEDIA_INSN_FCMPGES, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
59 { sh5_media_sem_fcmpgtd, "FCMPGTD", SH5_MEDIA_INSN_FCMPGTD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
60 { sh5_media_sem_fcmpgts, "FCMPGTS", SH5_MEDIA_INSN_FCMPGTS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
61 { sh5_media_sem_fcmpund, "FCMPUND", SH5_MEDIA_INSN_FCMPUND, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
62 { sh5_media_sem_fcmpuns, "FCMPUNS", SH5_MEDIA_INSN_FCMPUNS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
63 { sh5_media_sem_fcnvds, "FCNVDS", SH5_MEDIA_INSN_FCNVDS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
64 { sh5_media_sem_fcnvsd, "FCNVSD", SH5_MEDIA_INSN_FCNVSD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
65 { sh5_media_sem_fdivd, "FDIVD", SH5_MEDIA_INSN_FDIVD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
66 { sh5_media_sem_fdivs, "FDIVS", SH5_MEDIA_INSN_FDIVS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
67 { sh5_media_sem_fgetscr, "FGETSCR", SH5_MEDIA_INSN_FGETSCR, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
68 { sh5_media_sem_fiprs, "FIPRS", SH5_MEDIA_INSN_FIPRS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
69 { sh5_media_sem_fldd, "FLDD", SH5_MEDIA_INSN_FLDD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
70 { sh5_media_sem_fldp, "FLDP", SH5_MEDIA_INSN_FLDP, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
71 { sh5_media_sem_flds, "FLDS", SH5_MEDIA_INSN_FLDS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
72 { sh5_media_sem_fldxd, "FLDXD", SH5_MEDIA_INSN_FLDXD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
73 { sh5_media_sem_fldxp, "FLDXP", SH5_MEDIA_INSN_FLDXP, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
74 { sh5_media_sem_fldxs, "FLDXS", SH5_MEDIA_INSN_FLDXS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
75 { sh5_media_sem_floatld, "FLOATLD", SH5_MEDIA_INSN_FLOATLD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
76 { sh5_media_sem_floatls, "FLOATLS", SH5_MEDIA_INSN_FLOATLS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
77 { sh5_media_sem_floatqd, "FLOATQD", SH5_MEDIA_INSN_FLOATQD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
78 { sh5_media_sem_floatqs, "FLOATQS", SH5_MEDIA_INSN_FLOATQS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
79 { sh5_media_sem_fmacs, "FMACS", SH5_MEDIA_INSN_FMACS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
80 { sh5_media_sem_fmovd, "FMOVD", SH5_MEDIA_INSN_FMOVD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
81 { sh5_media_sem_fmovdq, "FMOVDQ", SH5_MEDIA_INSN_FMOVDQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
82 { sh5_media_sem_fmovls, "FMOVLS", SH5_MEDIA_INSN_FMOVLS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
83 { sh5_media_sem_fmovqd, "FMOVQD", SH5_MEDIA_INSN_FMOVQD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
84 { sh5_media_sem_fmovs, "FMOVS", SH5_MEDIA_INSN_FMOVS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
85 { sh5_media_sem_fmovsl, "FMOVSL", SH5_MEDIA_INSN_FMOVSL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
86 { sh5_media_sem_fmuld, "FMULD", SH5_MEDIA_INSN_FMULD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
87 { sh5_media_sem_fmuls, "FMULS", SH5_MEDIA_INSN_FMULS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
88 { sh5_media_sem_fnegd, "FNEGD", SH5_MEDIA_INSN_FNEGD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
89 { sh5_media_sem_fnegs, "FNEGS", SH5_MEDIA_INSN_FNEGS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
90 { sh5_media_sem_fputscr, "FPUTSCR", SH5_MEDIA_INSN_FPUTSCR, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
91 { sh5_media_sem_fsqrtd, "FSQRTD", SH5_MEDIA_INSN_FSQRTD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
92 { sh5_media_sem_fsqrts, "FSQRTS", SH5_MEDIA_INSN_FSQRTS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
93 { sh5_media_sem_fstd, "FSTD", SH5_MEDIA_INSN_FSTD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
94 { sh5_media_sem_fstp, "FSTP", SH5_MEDIA_INSN_FSTP, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
95 { sh5_media_sem_fsts, "FSTS", SH5_MEDIA_INSN_FSTS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
96 { sh5_media_sem_fstxd, "FSTXD", SH5_MEDIA_INSN_FSTXD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
97 { sh5_media_sem_fstxp, "FSTXP", SH5_MEDIA_INSN_FSTXP, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
98 { sh5_media_sem_fstxs, "FSTXS", SH5_MEDIA_INSN_FSTXS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
99 { sh5_media_sem_fsubd, "FSUBD", SH5_MEDIA_INSN_FSUBD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
100 { sh5_media_sem_fsubs, "FSUBS", SH5_MEDIA_INSN_FSUBS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
101 { sh5_media_sem_ftrcdl, "FTRCDL", SH5_MEDIA_INSN_FTRCDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
102 { sh5_media_sem_ftrcsl, "FTRCSL", SH5_MEDIA_INSN_FTRCSL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
103 { sh5_media_sem_ftrcdq, "FTRCDQ", SH5_MEDIA_INSN_FTRCDQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
104 { sh5_media_sem_ftrcsq, "FTRCSQ", SH5_MEDIA_INSN_FTRCSQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
105 { sh5_media_sem_ftrvs, "FTRVS", SH5_MEDIA_INSN_FTRVS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
106 { sh5_media_sem_getcfg, "GETCFG", SH5_MEDIA_INSN_GETCFG, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
107 { sh5_media_sem_getcon, "GETCON", SH5_MEDIA_INSN_GETCON, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
108 { sh5_media_sem_gettr, "GETTR", SH5_MEDIA_INSN_GETTR, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
109 { sh5_media_sem_icbi, "ICBI", SH5_MEDIA_INSN_ICBI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
110 { sh5_media_sem_ldb, "LDB", SH5_MEDIA_INSN_LDB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
111 { sh5_media_sem_ldl, "LDL", SH5_MEDIA_INSN_LDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
112 { sh5_media_sem_ldq, "LDQ", SH5_MEDIA_INSN_LDQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
113 { sh5_media_sem_ldub, "LDUB", SH5_MEDIA_INSN_LDUB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
114 { sh5_media_sem_lduw, "LDUW", SH5_MEDIA_INSN_LDUW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
115 { sh5_media_sem_ldw, "LDW", SH5_MEDIA_INSN_LDW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
116 { sh5_media_sem_ldhil, "LDHIL", SH5_MEDIA_INSN_LDHIL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
117 { sh5_media_sem_ldhiq, "LDHIQ", SH5_MEDIA_INSN_LDHIQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
118 { sh5_media_sem_ldlol, "LDLOL", SH5_MEDIA_INSN_LDLOL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
119 { sh5_media_sem_ldloq, "LDLOQ", SH5_MEDIA_INSN_LDLOQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
120 { sh5_media_sem_ldxb, "LDXB", SH5_MEDIA_INSN_LDXB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
121 { sh5_media_sem_ldxl, "LDXL", SH5_MEDIA_INSN_LDXL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
122 { sh5_media_sem_ldxq, "LDXQ", SH5_MEDIA_INSN_LDXQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
123 { sh5_media_sem_ldxub, "LDXUB", SH5_MEDIA_INSN_LDXUB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
124 { sh5_media_sem_ldxuw, "LDXUW", SH5_MEDIA_INSN_LDXUW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
125 { sh5_media_sem_ldxw, "LDXW", SH5_MEDIA_INSN_LDXW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
126 { sh5_media_sem_mabsl, "MABSL", SH5_MEDIA_INSN_MABSL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
127 { sh5_media_sem_mabsw, "MABSW", SH5_MEDIA_INSN_MABSW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
128 { sh5_media_sem_maddl, "MADDL", SH5_MEDIA_INSN_MADDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
129 { sh5_media_sem_maddw, "MADDW", SH5_MEDIA_INSN_MADDW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
130 { sh5_media_sem_maddsl, "MADDSL", SH5_MEDIA_INSN_MADDSL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
131 { sh5_media_sem_maddsub, "MADDSUB", SH5_MEDIA_INSN_MADDSUB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
132 { sh5_media_sem_maddsw, "MADDSW", SH5_MEDIA_INSN_MADDSW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
133 { sh5_media_sem_mcmpeqb, "MCMPEQB", SH5_MEDIA_INSN_MCMPEQB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
134 { sh5_media_sem_mcmpeql, "MCMPEQL", SH5_MEDIA_INSN_MCMPEQL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
135 { sh5_media_sem_mcmpeqw, "MCMPEQW", SH5_MEDIA_INSN_MCMPEQW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
136 { sh5_media_sem_mcmpgtl, "MCMPGTL", SH5_MEDIA_INSN_MCMPGTL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
137 { sh5_media_sem_mcmpgtub, "MCMPGTUB", SH5_MEDIA_INSN_MCMPGTUB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
138 { sh5_media_sem_mcmpgtw, "MCMPGTW", SH5_MEDIA_INSN_MCMPGTW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
139 { sh5_media_sem_mcmv, "MCMV", SH5_MEDIA_INSN_MCMV, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
140 { sh5_media_sem_mcnvslw, "MCNVSLW", SH5_MEDIA_INSN_MCNVSLW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
141 { sh5_media_sem_mcnvswb, "MCNVSWB", SH5_MEDIA_INSN_MCNVSWB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
142 { sh5_media_sem_mcnvswub, "MCNVSWUB", SH5_MEDIA_INSN_MCNVSWUB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
143 { sh5_media_sem_mextr1, "MEXTR1", SH5_MEDIA_INSN_MEXTR1, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
144 { sh5_media_sem_mextr2, "MEXTR2", SH5_MEDIA_INSN_MEXTR2, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
145 { sh5_media_sem_mextr3, "MEXTR3", SH5_MEDIA_INSN_MEXTR3, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
146 { sh5_media_sem_mextr4, "MEXTR4", SH5_MEDIA_INSN_MEXTR4, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
147 { sh5_media_sem_mextr5, "MEXTR5", SH5_MEDIA_INSN_MEXTR5, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
148 { sh5_media_sem_mextr6, "MEXTR6", SH5_MEDIA_INSN_MEXTR6, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
149 { sh5_media_sem_mextr7, "MEXTR7", SH5_MEDIA_INSN_MEXTR7, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
150 { sh5_media_sem_mmacfxwl, "MMACFXWL", SH5_MEDIA_INSN_MMACFXWL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
151 { sh5_media_sem_mmacnfx_wl, "MMACNFX_WL", SH5_MEDIA_INSN_MMACNFX_WL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
152 { sh5_media_sem_mmull, "MMULL", SH5_MEDIA_INSN_MMULL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
153 { sh5_media_sem_mmulw, "MMULW", SH5_MEDIA_INSN_MMULW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
154 { sh5_media_sem_mmulfxl, "MMULFXL", SH5_MEDIA_INSN_MMULFXL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
155 { sh5_media_sem_mmulfxw, "MMULFXW", SH5_MEDIA_INSN_MMULFXW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
156 { sh5_media_sem_mmulfxrpw, "MMULFXRPW", SH5_MEDIA_INSN_MMULFXRPW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
157 { sh5_media_sem_mmulhiwl, "MMULHIWL", SH5_MEDIA_INSN_MMULHIWL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
158 { sh5_media_sem_mmullowl, "MMULLOWL", SH5_MEDIA_INSN_MMULLOWL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
159 { sh5_media_sem_mmulsumwq, "MMULSUMWQ", SH5_MEDIA_INSN_MMULSUMWQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
160 { sh5_media_sem_movi, "MOVI", SH5_MEDIA_INSN_MOVI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
161 { sh5_media_sem_mpermw, "MPERMW", SH5_MEDIA_INSN_MPERMW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
162 { sh5_media_sem_msadubq, "MSADUBQ", SH5_MEDIA_INSN_MSADUBQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
163 { sh5_media_sem_mshaldsl, "MSHALDSL", SH5_MEDIA_INSN_MSHALDSL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
164 { sh5_media_sem_mshaldsw, "MSHALDSW", SH5_MEDIA_INSN_MSHALDSW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
165 { sh5_media_sem_mshardl, "MSHARDL", SH5_MEDIA_INSN_MSHARDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
166 { sh5_media_sem_mshardw, "MSHARDW", SH5_MEDIA_INSN_MSHARDW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
167 { sh5_media_sem_mshardsq, "MSHARDSQ", SH5_MEDIA_INSN_MSHARDSQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
168 { sh5_media_sem_mshfhib, "MSHFHIB", SH5_MEDIA_INSN_MSHFHIB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
169 { sh5_media_sem_mshfhil, "MSHFHIL", SH5_MEDIA_INSN_MSHFHIL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
170 { sh5_media_sem_mshfhiw, "MSHFHIW", SH5_MEDIA_INSN_MSHFHIW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
171 { sh5_media_sem_mshflob, "MSHFLOB", SH5_MEDIA_INSN_MSHFLOB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
172 { sh5_media_sem_mshflol, "MSHFLOL", SH5_MEDIA_INSN_MSHFLOL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
173 { sh5_media_sem_mshflow, "MSHFLOW", SH5_MEDIA_INSN_MSHFLOW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
174 { sh5_media_sem_mshlldl, "MSHLLDL", SH5_MEDIA_INSN_MSHLLDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
175 { sh5_media_sem_mshlldw, "MSHLLDW", SH5_MEDIA_INSN_MSHLLDW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
176 { sh5_media_sem_mshlrdl, "MSHLRDL", SH5_MEDIA_INSN_MSHLRDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
177 { sh5_media_sem_mshlrdw, "MSHLRDW", SH5_MEDIA_INSN_MSHLRDW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
178 { sh5_media_sem_msubl, "MSUBL", SH5_MEDIA_INSN_MSUBL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
179 { sh5_media_sem_msubw, "MSUBW", SH5_MEDIA_INSN_MSUBW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
180 { sh5_media_sem_msubsl, "MSUBSL", SH5_MEDIA_INSN_MSUBSL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
181 { sh5_media_sem_msubsub, "MSUBSUB", SH5_MEDIA_INSN_MSUBSUB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
182 { sh5_media_sem_msubsw, "MSUBSW", SH5_MEDIA_INSN_MSUBSW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
183 { sh5_media_sem_mulsl, "MULSL", SH5_MEDIA_INSN_MULSL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
184 { sh5_media_sem_mulul, "MULUL", SH5_MEDIA_INSN_MULUL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
185 { sh5_media_sem_nop, "NOP", SH5_MEDIA_INSN_NOP, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
186 { sh5_media_sem_nsb, "NSB", SH5_MEDIA_INSN_NSB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
187 { sh5_media_sem_ocbi, "OCBI", SH5_MEDIA_INSN_OCBI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
188 { sh5_media_sem_ocbp, "OCBP", SH5_MEDIA_INSN_OCBP, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
189 { sh5_media_sem_ocbwb, "OCBWB", SH5_MEDIA_INSN_OCBWB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
190 { sh5_media_sem_or, "OR", SH5_MEDIA_INSN_OR, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
191 { sh5_media_sem_ori, "ORI", SH5_MEDIA_INSN_ORI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
192 { sh5_media_sem_prefi, "PREFI", SH5_MEDIA_INSN_PREFI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
193 { sh5_media_sem_pta, "PTA", SH5_MEDIA_INSN_PTA, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
194 { sh5_media_sem_ptabs, "PTABS", SH5_MEDIA_INSN_PTABS, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
195 { sh5_media_sem_ptb, "PTB", SH5_MEDIA_INSN_PTB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
196 { sh5_media_sem_ptrel, "PTREL", SH5_MEDIA_INSN_PTREL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
197 { sh5_media_sem_putcfg, "PUTCFG", SH5_MEDIA_INSN_PUTCFG, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
198 { sh5_media_sem_putcon, "PUTCON", SH5_MEDIA_INSN_PUTCON, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
199 { sh5_media_sem_rte, "RTE", SH5_MEDIA_INSN_RTE, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
200 { sh5_media_sem_shard, "SHARD", SH5_MEDIA_INSN_SHARD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
201 { sh5_media_sem_shardl, "SHARDL", SH5_MEDIA_INSN_SHARDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
202 { sh5_media_sem_shari, "SHARI", SH5_MEDIA_INSN_SHARI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
203 { sh5_media_sem_sharil, "SHARIL", SH5_MEDIA_INSN_SHARIL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
204 { sh5_media_sem_shlld, "SHLLD", SH5_MEDIA_INSN_SHLLD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
205 { sh5_media_sem_shlldl, "SHLLDL", SH5_MEDIA_INSN_SHLLDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
206 { sh5_media_sem_shlli, "SHLLI", SH5_MEDIA_INSN_SHLLI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
207 { sh5_media_sem_shllil, "SHLLIL", SH5_MEDIA_INSN_SHLLIL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
208 { sh5_media_sem_shlrd, "SHLRD", SH5_MEDIA_INSN_SHLRD, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
209 { sh5_media_sem_shlrdl, "SHLRDL", SH5_MEDIA_INSN_SHLRDL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
210 { sh5_media_sem_shlri, "SHLRI", SH5_MEDIA_INSN_SHLRI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
211 { sh5_media_sem_shlril, "SHLRIL", SH5_MEDIA_INSN_SHLRIL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
212 { sh5_media_sem_shori, "SHORI", SH5_MEDIA_INSN_SHORI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
213 { sh5_media_sem_sleep, "SLEEP", SH5_MEDIA_INSN_SLEEP, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
214 { sh5_media_sem_stb, "STB", SH5_MEDIA_INSN_STB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
215 { sh5_media_sem_stl, "STL", SH5_MEDIA_INSN_STL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
216 { sh5_media_sem_stq, "STQ", SH5_MEDIA_INSN_STQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
217 { sh5_media_sem_stw, "STW", SH5_MEDIA_INSN_STW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
218 { sh5_media_sem_sthil, "STHIL", SH5_MEDIA_INSN_STHIL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
219 { sh5_media_sem_sthiq, "STHIQ", SH5_MEDIA_INSN_STHIQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
220 { sh5_media_sem_stlol, "STLOL", SH5_MEDIA_INSN_STLOL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
221 { sh5_media_sem_stloq, "STLOQ", SH5_MEDIA_INSN_STLOQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
222 { sh5_media_sem_stxb, "STXB", SH5_MEDIA_INSN_STXB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
223 { sh5_media_sem_stxl, "STXL", SH5_MEDIA_INSN_STXL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
224 { sh5_media_sem_stxq, "STXQ", SH5_MEDIA_INSN_STXQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
225 { sh5_media_sem_stxw, "STXW", SH5_MEDIA_INSN_STXW, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
226 { sh5_media_sem_sub, "SUB", SH5_MEDIA_INSN_SUB, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
227 { sh5_media_sem_subl, "SUBL", SH5_MEDIA_INSN_SUBL, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
228 { sh5_media_sem_swapq, "SWAPQ", SH5_MEDIA_INSN_SWAPQ, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
229 { sh5_media_sem_synci, "SYNCI", SH5_MEDIA_INSN_SYNCI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
230 { sh5_media_sem_synco, "SYNCO", SH5_MEDIA_INSN_SYNCO, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
231 { sh5_media_sem_trapa, "TRAPA", SH5_MEDIA_INSN_TRAPA, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
232 { sh5_media_sem_xor, "XOR", SH5_MEDIA_INSN_XOR, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
233 { sh5_media_sem_xori, "XORI", SH5_MEDIA_INSN_XORI, { 0, (1<<MACH_BASE), { 1, "\x40" } } },
237 // Given a canonical virtual insn id, return the target specific one.
240 sh5_media_idesc::lookup_virtual (virtual_insn_type vit)
244 case VIRTUAL_INSN_INVALID: return SH5_MEDIA_INSN_X_INVALID;
245 case VIRTUAL_INSN_COND: return SH5_MEDIA_INSN_X_INVALID;
251 // Declare extractor functions
254 sh5_media_extract_sfmt_empty (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
256 sh5_media_extract_sfmt_add (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
258 sh5_media_extract_sfmt_addi (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
260 sh5_media_extract_sfmt_alloco (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
262 sh5_media_extract_sfmt_beq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
264 sh5_media_extract_sfmt_beqi (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
266 sh5_media_extract_sfmt_blink (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
268 sh5_media_extract_sfmt_brk (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
270 sh5_media_extract_sfmt_byterev (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
272 sh5_media_extract_sfmt_cmveq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
274 sh5_media_extract_sfmt_fabsd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
276 sh5_media_extract_sfmt_fabss (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
278 sh5_media_extract_sfmt_faddd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
280 sh5_media_extract_sfmt_fadds (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
282 sh5_media_extract_sfmt_fcmpeqd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
284 sh5_media_extract_sfmt_fcmpeqs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
286 sh5_media_extract_sfmt_fcnvds (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
288 sh5_media_extract_sfmt_fcnvsd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
290 sh5_media_extract_sfmt_fgetscr (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
292 sh5_media_extract_sfmt_fiprs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
294 sh5_media_extract_sfmt_fldd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
296 sh5_media_extract_sfmt_fldp (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
298 sh5_media_extract_sfmt_flds (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
300 sh5_media_extract_sfmt_fldxd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
302 sh5_media_extract_sfmt_fldxp (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
304 sh5_media_extract_sfmt_fldxs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
306 sh5_media_extract_sfmt_fmacs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
308 sh5_media_extract_sfmt_fmovdq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
310 sh5_media_extract_sfmt_fmovls (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
312 sh5_media_extract_sfmt_fmovqd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
314 sh5_media_extract_sfmt_fmovsl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
316 sh5_media_extract_sfmt_fputscr (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
318 sh5_media_extract_sfmt_fstd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
320 sh5_media_extract_sfmt_fsts (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
322 sh5_media_extract_sfmt_fstxd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
324 sh5_media_extract_sfmt_fstxs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
326 sh5_media_extract_sfmt_ftrvs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
328 sh5_media_extract_sfmt_getcfg (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
330 sh5_media_extract_sfmt_getcon (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
332 sh5_media_extract_sfmt_gettr (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
334 sh5_media_extract_sfmt_ldb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
336 sh5_media_extract_sfmt_ldl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
338 sh5_media_extract_sfmt_ldq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
340 sh5_media_extract_sfmt_lduw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
342 sh5_media_extract_sfmt_ldhil (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
344 sh5_media_extract_sfmt_ldhiq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
346 sh5_media_extract_sfmt_ldlol (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
348 sh5_media_extract_sfmt_ldloq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
350 sh5_media_extract_sfmt_ldxb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
352 sh5_media_extract_sfmt_ldxl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
354 sh5_media_extract_sfmt_ldxq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
356 sh5_media_extract_sfmt_ldxub (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
358 sh5_media_extract_sfmt_ldxuw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
360 sh5_media_extract_sfmt_ldxw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
362 sh5_media_extract_sfmt_mcmv (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
364 sh5_media_extract_sfmt_movi (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
366 sh5_media_extract_sfmt_nop (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
368 sh5_media_extract_sfmt_ori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
370 sh5_media_extract_sfmt_pta (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
372 sh5_media_extract_sfmt_ptabs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
374 sh5_media_extract_sfmt_ptrel (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
376 sh5_media_extract_sfmt_putcfg (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
378 sh5_media_extract_sfmt_putcon (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
380 sh5_media_extract_sfmt_shari (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
382 sh5_media_extract_sfmt_shori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
384 sh5_media_extract_sfmt_stb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
386 sh5_media_extract_sfmt_stl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
388 sh5_media_extract_sfmt_stq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
390 sh5_media_extract_sfmt_stw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
392 sh5_media_extract_sfmt_sthil (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
394 sh5_media_extract_sfmt_sthiq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
396 sh5_media_extract_sfmt_stlol (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
398 sh5_media_extract_sfmt_stloq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
400 sh5_media_extract_sfmt_stxb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
402 sh5_media_extract_sfmt_stxl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
404 sh5_media_extract_sfmt_stxq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
406 sh5_media_extract_sfmt_stxw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
408 sh5_media_extract_sfmt_swapq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
410 sh5_media_extract_sfmt_trapa (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
412 sh5_media_extract_sfmt_xori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn);
414 // Fetch & decode instruction
416 sh5_media_scache::decode (sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn)
418 /* Result of decoder. */
419 SH5_MEDIA_INSN_TYPE itype;
422 sh5_media_insn_word insn = base_insn;
425 unsigned int val = (((insn >> 22) & (63 << 4)) | ((insn >> 16) & (15 << 0)));
429 if ((entire_insn & 0xfc0f000f) == 0x10000)
430 { itype = SH5_MEDIA_INSN_CMPEQ; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
431 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
433 if ((entire_insn & 0xfc0f000f) == 0x30000)
434 { itype = SH5_MEDIA_INSN_CMPGT; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
435 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
437 if ((entire_insn & 0xfc0f000f) == 0x70000)
438 { itype = SH5_MEDIA_INSN_CMPGTU; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
439 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
441 if ((entire_insn & 0xfc0f000f) == 0x80000)
442 { itype = SH5_MEDIA_INSN_ADDL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
443 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
445 if ((entire_insn & 0xfc0f000f) == 0x90000)
446 { itype = SH5_MEDIA_INSN_ADD; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
447 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
449 if ((entire_insn & 0xfc0f000f) == 0xa0000)
450 { itype = SH5_MEDIA_INSN_SUBL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
451 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
453 if ((entire_insn & 0xfc0f000f) == 0xb0000)
454 { itype = SH5_MEDIA_INSN_SUB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
455 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
457 if ((entire_insn & 0xfc0f000f) == 0xc0000)
458 { itype = SH5_MEDIA_INSN_ADDZL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
459 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
461 if ((entire_insn & 0xfc0ffc0f) == 0xdfc00)
462 { itype = SH5_MEDIA_INSN_NSB; sh5_media_extract_sfmt_byterev (this, current_cpu, pc, base_insn, entire_insn); goto done; }
463 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
465 if ((entire_insn & 0xfc0f000f) == 0xe0000)
466 { itype = SH5_MEDIA_INSN_MULUL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
467 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
469 if ((entire_insn & 0xfc0ffc0f) == 0xffc00)
470 { itype = SH5_MEDIA_INSN_BYTEREV; sh5_media_extract_sfmt_byterev (this, current_cpu, pc, base_insn, entire_insn); goto done; }
471 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
473 if ((entire_insn & 0xfc0f000f) == 0x4000000)
474 { itype = SH5_MEDIA_INSN_SHLLDL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
475 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
477 if ((entire_insn & 0xfc0f000f) == 0x4010000)
478 { itype = SH5_MEDIA_INSN_SHLLD; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
479 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
481 if ((entire_insn & 0xfc0f000f) == 0x4020000)
482 { itype = SH5_MEDIA_INSN_SHLRDL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
483 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
485 if ((entire_insn & 0xfc0f000f) == 0x4030000)
486 { itype = SH5_MEDIA_INSN_SHLRD; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
487 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
489 if ((entire_insn & 0xfc0f000f) == 0x4060000)
490 { itype = SH5_MEDIA_INSN_SHARDL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
491 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
493 if ((entire_insn & 0xfc0f000f) == 0x4070000)
494 { itype = SH5_MEDIA_INSN_SHARD; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
495 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
497 if ((entire_insn & 0xfc0f000f) == 0x4090000)
498 { itype = SH5_MEDIA_INSN_OR; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
499 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
501 if ((entire_insn & 0xfc0f000f) == 0x40b0000)
502 { itype = SH5_MEDIA_INSN_AND; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
503 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
505 if ((entire_insn & 0xfc0f000f) == 0x40d0000)
506 { itype = SH5_MEDIA_INSN_XOR; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
507 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
509 if ((entire_insn & 0xfc0f000f) == 0x40e0000)
510 { itype = SH5_MEDIA_INSN_MULSL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
511 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
513 if ((entire_insn & 0xfc0f000f) == 0x40f0000)
514 { itype = SH5_MEDIA_INSN_ANDC; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
515 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
517 if ((entire_insn & 0xfc0f000f) == 0x8010000)
518 { itype = SH5_MEDIA_INSN_MADDW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
519 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
521 if ((entire_insn & 0xfc0f000f) == 0x8020000)
522 { itype = SH5_MEDIA_INSN_MADDL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
523 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
525 if ((entire_insn & 0xfc0f000f) == 0x8040000)
526 { itype = SH5_MEDIA_INSN_MADDSUB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
527 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
529 if ((entire_insn & 0xfc0f000f) == 0x8050000)
530 { itype = SH5_MEDIA_INSN_MADDSW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
531 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
533 if ((entire_insn & 0xfc0f000f) == 0x8060000)
534 { itype = SH5_MEDIA_INSN_MADDSL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
535 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
537 if ((entire_insn & 0xfc0f000f) == 0x8090000)
538 { itype = SH5_MEDIA_INSN_MSUBW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
539 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
541 if ((entire_insn & 0xfc0f000f) == 0x80a0000)
542 { itype = SH5_MEDIA_INSN_MSUBL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
543 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
545 if ((entire_insn & 0xfc0f000f) == 0x80c0000)
546 { itype = SH5_MEDIA_INSN_MSUBSUB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
547 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
549 if ((entire_insn & 0xfc0f000f) == 0x80d0000)
550 { itype = SH5_MEDIA_INSN_MSUBSW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
551 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
553 if ((entire_insn & 0xfc0f000f) == 0x80e0000)
554 { itype = SH5_MEDIA_INSN_MSUBSL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
555 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
557 if ((entire_insn & 0xfc0f000f) == 0xc010000)
558 { itype = SH5_MEDIA_INSN_MSHLLDW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
559 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
561 if ((entire_insn & 0xfc0f000f) == 0xc020000)
562 { itype = SH5_MEDIA_INSN_MSHLLDL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
563 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
565 if ((entire_insn & 0xfc0f000f) == 0xc050000)
566 { itype = SH5_MEDIA_INSN_MSHALDSW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
567 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
569 if ((entire_insn & 0xfc0f000f) == 0xc060000)
570 { itype = SH5_MEDIA_INSN_MSHALDSL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
571 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
573 if ((entire_insn & 0xfc0f000f) == 0xc090000)
574 { itype = SH5_MEDIA_INSN_MSHARDW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
575 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
577 if ((entire_insn & 0xfc0f000f) == 0xc0a0000)
578 { itype = SH5_MEDIA_INSN_MSHARDL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
579 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
581 if ((entire_insn & 0xfc0f000f) == 0xc0b0000)
582 { itype = SH5_MEDIA_INSN_MSHARDSQ; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
583 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
585 if ((entire_insn & 0xfc0f000f) == 0xc0d0000)
586 { itype = SH5_MEDIA_INSN_MSHLRDW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
587 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
589 if ((entire_insn & 0xfc0f000f) == 0xc0e0000)
590 { itype = SH5_MEDIA_INSN_MSHLRDL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
591 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
593 if ((entire_insn & 0xfc0f000f) == 0x14060000)
594 { itype = SH5_MEDIA_INSN_FIPRS; sh5_media_extract_sfmt_fiprs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
595 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
597 if ((entire_insn & 0xfc0f000f) == 0x140e0000)
598 { itype = SH5_MEDIA_INSN_FTRVS; sh5_media_extract_sfmt_ftrvs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
599 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
601 if ((entire_insn & 0xfc0f000f) == 0x18000000)
602 { itype = SH5_MEDIA_INSN_FABSS; sh5_media_extract_sfmt_fabss (this, current_cpu, pc, base_insn, entire_insn); goto done; }
603 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
605 if ((entire_insn & 0xfc0f000f) == 0x18010000)
606 { itype = SH5_MEDIA_INSN_FABSD; sh5_media_extract_sfmt_fabsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
607 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
609 if ((entire_insn & 0xfc0f000f) == 0x18020000)
610 { itype = SH5_MEDIA_INSN_FNEGS; sh5_media_extract_sfmt_fabss (this, current_cpu, pc, base_insn, entire_insn); goto done; }
611 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
613 if ((entire_insn & 0xfc0f000f) == 0x18030000)
614 { itype = SH5_MEDIA_INSN_FNEGD; sh5_media_extract_sfmt_fabsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
615 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
617 if ((entire_insn & 0xfc0ffc0f) == 0x1c00fc00)
618 { itype = SH5_MEDIA_INSN_FMOVLS; sh5_media_extract_sfmt_fmovls (this, current_cpu, pc, base_insn, entire_insn); goto done; }
619 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
621 if ((entire_insn & 0xfc0ffc0f) == 0x1c01fc00)
622 { itype = SH5_MEDIA_INSN_FMOVQD; sh5_media_extract_sfmt_fmovqd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
623 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
625 if ((entire_insn & 0xfffffc0f) == 0x1ff2fc00)
626 { itype = SH5_MEDIA_INSN_FGETSCR; sh5_media_extract_sfmt_fgetscr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
627 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
629 if ((entire_insn & 0xfc0f000f) == 0x1c080000)
630 { itype = SH5_MEDIA_INSN_FLDXS; sh5_media_extract_sfmt_fldxs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
631 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
633 if ((entire_insn & 0xfc0f000f) == 0x1c090000)
634 { itype = SH5_MEDIA_INSN_FLDXD; sh5_media_extract_sfmt_fldxd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
635 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
637 if ((entire_insn & 0xfc0f000f) == 0x1c0d0000)
638 { itype = SH5_MEDIA_INSN_FLDXP; sh5_media_extract_sfmt_fldxp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
639 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
641 if ((entire_insn & 0xfc0f000f) == 0x20010000)
642 { itype = SH5_MEDIA_INSN_CMVEQ; sh5_media_extract_sfmt_cmveq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
643 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
645 if ((entire_insn & 0xfc0f000f) == 0x20030000)
646 { itype = SH5_MEDIA_INSN_SWAPQ; sh5_media_extract_sfmt_swapq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
647 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
649 if ((entire_insn & 0xfc0f000f) == 0x20050000)
650 { itype = SH5_MEDIA_INSN_CMVNE; sh5_media_extract_sfmt_cmveq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
651 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
653 if ((entire_insn & 0xfc0ffc0f) == 0x240ffc00)
654 { itype = SH5_MEDIA_INSN_GETCON; sh5_media_extract_sfmt_getcon (this, current_cpu, pc, base_insn, entire_insn); goto done; }
655 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
657 if ((entire_insn & 0xfc0f000f) == 0x28000000)
658 { itype = SH5_MEDIA_INSN_MCMPEQB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
659 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
661 if ((entire_insn & 0xfc0f000f) == 0x28010000)
662 { itype = SH5_MEDIA_INSN_MCMPEQW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
663 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
665 if ((entire_insn & 0xfc0f000f) == 0x28020000)
666 { itype = SH5_MEDIA_INSN_MCMPEQL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
667 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
669 if ((entire_insn & 0xfc0f000f) == 0x28040000)
670 { itype = SH5_MEDIA_INSN_MCMPGTUB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
671 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
673 if ((entire_insn & 0xfc0f000f) == 0x28050000)
674 { itype = SH5_MEDIA_INSN_MCMPGTW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
675 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
677 if ((entire_insn & 0xfc0f000f) == 0x28060000)
678 { itype = SH5_MEDIA_INSN_MCMPGTL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
679 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
681 if ((entire_insn & 0xfc0f000f) == 0x28070000)
682 { itype = SH5_MEDIA_INSN_MEXTR1; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
683 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
685 if ((entire_insn & 0xfc0ffc0f) == 0x2809fc00)
686 { itype = SH5_MEDIA_INSN_MABSW; sh5_media_extract_sfmt_byterev (this, current_cpu, pc, base_insn, entire_insn); goto done; }
687 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
689 if ((entire_insn & 0xfc0ffc0f) == 0x280afc00)
690 { itype = SH5_MEDIA_INSN_MABSL; sh5_media_extract_sfmt_byterev (this, current_cpu, pc, base_insn, entire_insn); goto done; }
691 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
693 if ((entire_insn & 0xfc0f000f) == 0x280b0000)
694 { itype = SH5_MEDIA_INSN_MEXTR2; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
695 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
697 if ((entire_insn & 0xfc0f000f) == 0x280d0000)
698 { itype = SH5_MEDIA_INSN_MPERMW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
699 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
701 if ((entire_insn & 0xfc0f000f) == 0x280f0000)
702 { itype = SH5_MEDIA_INSN_MEXTR3; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
703 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
705 if ((entire_insn & 0xfc0f000f) == 0x2c000000)
706 { itype = SH5_MEDIA_INSN_MSHFLOB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
707 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
709 if ((entire_insn & 0xfc0f000f) == 0x2c010000)
710 { itype = SH5_MEDIA_INSN_MSHFLOW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
711 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
713 if ((entire_insn & 0xfc0f000f) == 0x2c020000)
714 { itype = SH5_MEDIA_INSN_MSHFLOL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
715 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
717 if ((entire_insn & 0xfc0f000f) == 0x2c030000)
718 { itype = SH5_MEDIA_INSN_MEXTR4; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
719 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
721 if ((entire_insn & 0xfc0f000f) == 0x2c040000)
722 { itype = SH5_MEDIA_INSN_MSHFHIB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
723 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
725 if ((entire_insn & 0xfc0f000f) == 0x2c050000)
726 { itype = SH5_MEDIA_INSN_MSHFHIW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
727 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
729 if ((entire_insn & 0xfc0f000f) == 0x2c060000)
730 { itype = SH5_MEDIA_INSN_MSHFHIL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
731 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
733 if ((entire_insn & 0xfc0f000f) == 0x2c070000)
734 { itype = SH5_MEDIA_INSN_MEXTR5; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
735 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
737 if ((entire_insn & 0xfc0f000f) == 0x2c0b0000)
738 { itype = SH5_MEDIA_INSN_MEXTR6; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
739 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
741 if ((entire_insn & 0xfc0f000f) == 0x2c0f0000)
742 { itype = SH5_MEDIA_INSN_MEXTR7; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
743 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
745 if ((entire_insn & 0xfc0f000f) == 0x30000000)
746 { itype = SH5_MEDIA_INSN_FMOVSL; sh5_media_extract_sfmt_fmovsl (this, current_cpu, pc, base_insn, entire_insn); goto done; }
747 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
749 if ((entire_insn & 0xfc0f000f) == 0x30010000)
750 { itype = SH5_MEDIA_INSN_FMOVDQ; sh5_media_extract_sfmt_fmovdq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
751 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
753 if ((entire_insn & 0xfc0f03ff) == 0x300203f0)
754 { itype = SH5_MEDIA_INSN_FPUTSCR; sh5_media_extract_sfmt_fputscr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
755 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
757 if ((entire_insn & 0xfc0f000f) == 0x30080000)
758 { itype = SH5_MEDIA_INSN_FCMPEQS; sh5_media_extract_sfmt_fcmpeqs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
759 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
761 if ((entire_insn & 0xfc0f000f) == 0x30090000)
762 { itype = SH5_MEDIA_INSN_FCMPEQD; sh5_media_extract_sfmt_fcmpeqd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
763 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
765 if ((entire_insn & 0xfc0f000f) == 0x300a0000)
766 { itype = SH5_MEDIA_INSN_FCMPUNS; sh5_media_extract_sfmt_fcmpeqs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
767 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
769 if ((entire_insn & 0xfc0f000f) == 0x300b0000)
770 { itype = SH5_MEDIA_INSN_FCMPUND; sh5_media_extract_sfmt_fcmpeqd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
771 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
773 if ((entire_insn & 0xfc0f000f) == 0x300c0000)
774 { itype = SH5_MEDIA_INSN_FCMPGTS; sh5_media_extract_sfmt_fcmpeqs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
775 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
777 if ((entire_insn & 0xfc0f000f) == 0x300d0000)
778 { itype = SH5_MEDIA_INSN_FCMPGTD; sh5_media_extract_sfmt_fcmpeqd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
779 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
781 if ((entire_insn & 0xfc0f000f) == 0x300e0000)
782 { itype = SH5_MEDIA_INSN_FCMPGES; sh5_media_extract_sfmt_fcmpeqs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
783 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
785 if ((entire_insn & 0xfc0f000f) == 0x300f0000)
786 { itype = SH5_MEDIA_INSN_FCMPGED; sh5_media_extract_sfmt_fcmpeqd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
787 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
789 if ((entire_insn & 0xfc0f000f) == 0x34000000)
790 { itype = SH5_MEDIA_INSN_FADDS; sh5_media_extract_sfmt_fadds (this, current_cpu, pc, base_insn, entire_insn); goto done; }
791 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
793 if ((entire_insn & 0xfc0f000f) == 0x34010000)
794 { itype = SH5_MEDIA_INSN_FADDD; sh5_media_extract_sfmt_faddd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
795 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
797 if ((entire_insn & 0xfc0f000f) == 0x34020000)
798 { itype = SH5_MEDIA_INSN_FSUBS; sh5_media_extract_sfmt_fadds (this, current_cpu, pc, base_insn, entire_insn); goto done; }
799 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
801 if ((entire_insn & 0xfc0f000f) == 0x34030000)
802 { itype = SH5_MEDIA_INSN_FSUBD; sh5_media_extract_sfmt_faddd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
803 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
805 if ((entire_insn & 0xfc0f000f) == 0x34040000)
806 { itype = SH5_MEDIA_INSN_FDIVS; sh5_media_extract_sfmt_fadds (this, current_cpu, pc, base_insn, entire_insn); goto done; }
807 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
809 if ((entire_insn & 0xfc0f000f) == 0x34050000)
810 { itype = SH5_MEDIA_INSN_FDIVD; sh5_media_extract_sfmt_faddd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
811 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
813 if ((entire_insn & 0xfc0f000f) == 0x34060000)
814 { itype = SH5_MEDIA_INSN_FMULS; sh5_media_extract_sfmt_fadds (this, current_cpu, pc, base_insn, entire_insn); goto done; }
815 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
817 if ((entire_insn & 0xfc0f000f) == 0x34070000)
818 { itype = SH5_MEDIA_INSN_FMULD; sh5_media_extract_sfmt_faddd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
819 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
821 if ((entire_insn & 0xfc0f000f) == 0x340e0000)
822 { itype = SH5_MEDIA_INSN_FMACS; sh5_media_extract_sfmt_fmacs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
823 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
825 if ((entire_insn & 0xfc0f000f) == 0x38000000)
826 { itype = SH5_MEDIA_INSN_FMOVS; sh5_media_extract_sfmt_fabss (this, current_cpu, pc, base_insn, entire_insn); goto done; }
827 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
829 if ((entire_insn & 0xfc0f000f) == 0x38010000)
830 { itype = SH5_MEDIA_INSN_FMOVD; sh5_media_extract_sfmt_fabsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
831 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
833 if ((entire_insn & 0xfc0f000f) == 0x38040000)
834 { itype = SH5_MEDIA_INSN_FSQRTS; sh5_media_extract_sfmt_fabss (this, current_cpu, pc, base_insn, entire_insn); goto done; }
835 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
837 if ((entire_insn & 0xfc0f000f) == 0x38050000)
838 { itype = SH5_MEDIA_INSN_FSQRTD; sh5_media_extract_sfmt_fabsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
839 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
841 if ((entire_insn & 0xfc0f000f) == 0x38060000)
842 { itype = SH5_MEDIA_INSN_FCNVSD; sh5_media_extract_sfmt_fcnvsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
843 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
845 if ((entire_insn & 0xfc0f000f) == 0x38070000)
846 { itype = SH5_MEDIA_INSN_FCNVDS; sh5_media_extract_sfmt_fcnvds (this, current_cpu, pc, base_insn, entire_insn); goto done; }
847 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
849 if ((entire_insn & 0xfc0f000f) == 0x38080000)
850 { itype = SH5_MEDIA_INSN_FTRCSL; sh5_media_extract_sfmt_fabss (this, current_cpu, pc, base_insn, entire_insn); goto done; }
851 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
853 if ((entire_insn & 0xfc0f000f) == 0x38090000)
854 { itype = SH5_MEDIA_INSN_FTRCDQ; sh5_media_extract_sfmt_fabsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
855 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
857 if ((entire_insn & 0xfc0f000f) == 0x380a0000)
858 { itype = SH5_MEDIA_INSN_FTRCSQ; sh5_media_extract_sfmt_fcnvsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
859 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
861 if ((entire_insn & 0xfc0f000f) == 0x380b0000)
862 { itype = SH5_MEDIA_INSN_FTRCDL; sh5_media_extract_sfmt_fcnvds (this, current_cpu, pc, base_insn, entire_insn); goto done; }
863 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
865 if ((entire_insn & 0xfc0f000f) == 0x380c0000)
866 { itype = SH5_MEDIA_INSN_FLOATLS; sh5_media_extract_sfmt_fabss (this, current_cpu, pc, base_insn, entire_insn); goto done; }
867 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
869 if ((entire_insn & 0xfc0f000f) == 0x380d0000)
870 { itype = SH5_MEDIA_INSN_FLOATQD; sh5_media_extract_sfmt_fabsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
871 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
873 if ((entire_insn & 0xfc0f000f) == 0x380e0000)
874 { itype = SH5_MEDIA_INSN_FLOATLD; sh5_media_extract_sfmt_fcnvsd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
875 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
877 if ((entire_insn & 0xfc0f000f) == 0x380f0000)
878 { itype = SH5_MEDIA_INSN_FLOATQS; sh5_media_extract_sfmt_fcnvds (this, current_cpu, pc, base_insn, entire_insn); goto done; }
879 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
881 if ((entire_insn & 0xfc0f000f) == 0x3c080000)
882 { itype = SH5_MEDIA_INSN_FSTXS; sh5_media_extract_sfmt_fstxs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
883 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
885 if ((entire_insn & 0xfc0f000f) == 0x3c090000)
886 { itype = SH5_MEDIA_INSN_FSTXD; sh5_media_extract_sfmt_fstxd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
887 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
889 if ((entire_insn & 0xfc0f000f) == 0x3c0d0000)
890 { itype = SH5_MEDIA_INSN_FSTXP; sh5_media_extract_sfmt_fldxp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
891 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
893 if ((entire_insn & 0xfc0f000f) == 0x40000000)
894 { itype = SH5_MEDIA_INSN_LDXB; sh5_media_extract_sfmt_ldxb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
895 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
897 if ((entire_insn & 0xfc0f000f) == 0x40010000)
898 { itype = SH5_MEDIA_INSN_LDXW; sh5_media_extract_sfmt_ldxw (this, current_cpu, pc, base_insn, entire_insn); goto done; }
899 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
901 if ((entire_insn & 0xfc0f000f) == 0x40020000)
902 { itype = SH5_MEDIA_INSN_LDXL; sh5_media_extract_sfmt_ldxl (this, current_cpu, pc, base_insn, entire_insn); goto done; }
903 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
905 if ((entire_insn & 0xfc0f000f) == 0x40030000)
906 { itype = SH5_MEDIA_INSN_LDXQ; sh5_media_extract_sfmt_ldxq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
907 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
909 if ((entire_insn & 0xfc0f000f) == 0x40040000)
910 { itype = SH5_MEDIA_INSN_LDXUB; sh5_media_extract_sfmt_ldxub (this, current_cpu, pc, base_insn, entire_insn); goto done; }
911 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
913 if ((entire_insn & 0xfc0f000f) == 0x40050000)
914 { itype = SH5_MEDIA_INSN_LDXUW; sh5_media_extract_sfmt_ldxuw (this, current_cpu, pc, base_insn, entire_insn); goto done; }
915 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
917 if ((entire_insn & 0xff8ffc0f) == 0x4401fc00)
918 { itype = SH5_MEDIA_INSN_BLINK; sh5_media_extract_sfmt_blink (this, current_cpu, pc, base_insn, entire_insn); goto done; }
919 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
921 if ((entire_insn & 0xff8ffc0f) == 0x4405fc00)
922 { itype = SH5_MEDIA_INSN_GETTR; sh5_media_extract_sfmt_gettr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
923 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
925 if ((entire_insn & 0xfc0f000f) == 0x48000000)
926 { itype = SH5_MEDIA_INSN_MSADUBQ; sh5_media_extract_sfmt_mcmv (this, current_cpu, pc, base_insn, entire_insn); goto done; }
927 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
929 if ((entire_insn & 0xfc0f000f) == 0x48010000)
930 { itype = SH5_MEDIA_INSN_MMACFXWL; sh5_media_extract_sfmt_mcmv (this, current_cpu, pc, base_insn, entire_insn); goto done; }
931 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
933 if ((entire_insn & 0xfc0f000f) == 0x48030000)
934 { itype = SH5_MEDIA_INSN_MCMV; sh5_media_extract_sfmt_mcmv (this, current_cpu, pc, base_insn, entire_insn); goto done; }
935 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
937 if ((entire_insn & 0xfc0f000f) == 0x48050000)
938 { itype = SH5_MEDIA_INSN_MMACNFX_WL; sh5_media_extract_sfmt_mcmv (this, current_cpu, pc, base_insn, entire_insn); goto done; }
939 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
941 if ((entire_insn & 0xfc0f000f) == 0x48090000)
942 { itype = SH5_MEDIA_INSN_MMULSUMWQ; sh5_media_extract_sfmt_mcmv (this, current_cpu, pc, base_insn, entire_insn); goto done; }
943 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
945 if ((entire_insn & 0xfc0f000f) == 0x4c010000)
946 { itype = SH5_MEDIA_INSN_MMULW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
947 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
949 if ((entire_insn & 0xfc0f000f) == 0x4c020000)
950 { itype = SH5_MEDIA_INSN_MMULL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
951 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
953 if ((entire_insn & 0xfc0f000f) == 0x4c050000)
954 { itype = SH5_MEDIA_INSN_MMULFXW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
955 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
957 if ((entire_insn & 0xfc0f000f) == 0x4c060000)
958 { itype = SH5_MEDIA_INSN_MMULFXL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
959 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
961 if ((entire_insn & 0xfc0f000f) == 0x4c080000)
962 { itype = SH5_MEDIA_INSN_MCNVSWB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
963 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
965 if ((entire_insn & 0xfc0f000f) == 0x4c090000)
966 { itype = SH5_MEDIA_INSN_MMULFXRPW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
967 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
969 if ((entire_insn & 0xfc0f000f) == 0x4c0a0000)
970 { itype = SH5_MEDIA_INSN_MMULLOWL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
971 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
973 if ((entire_insn & 0xfc0f000f) == 0x4c0c0000)
974 { itype = SH5_MEDIA_INSN_MCNVSWUB; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
975 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
977 if ((entire_insn & 0xfc0f000f) == 0x4c0d0000)
978 { itype = SH5_MEDIA_INSN_MCNVSLW; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
979 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
981 if ((entire_insn & 0xfc0f000f) == 0x4c0e0000)
982 { itype = SH5_MEDIA_INSN_MMULHIWL; sh5_media_extract_sfmt_add (this, current_cpu, pc, base_insn, entire_insn); goto done; }
983 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
985 if ((entire_insn & 0xfc0f000f) == 0x60000000)
986 { itype = SH5_MEDIA_INSN_STXB; sh5_media_extract_sfmt_stxb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
987 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
989 if ((entire_insn & 0xfc0f000f) == 0x60010000)
990 { itype = SH5_MEDIA_INSN_STXW; sh5_media_extract_sfmt_stxw (this, current_cpu, pc, base_insn, entire_insn); goto done; }
991 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
993 if ((entire_insn & 0xfc0f000f) == 0x60020000)
994 { itype = SH5_MEDIA_INSN_STXL; sh5_media_extract_sfmt_stxl (this, current_cpu, pc, base_insn, entire_insn); goto done; }
995 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
997 if ((entire_insn & 0xfc0f000f) == 0x60030000)
998 { itype = SH5_MEDIA_INSN_STXQ; sh5_media_extract_sfmt_stxq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
999 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1001 if ((entire_insn & 0xfc0f018f) == 0x64010000)
1002 { itype = SH5_MEDIA_INSN_BEQ; sh5_media_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1003 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1005 if ((entire_insn & 0xfc0f018f) == 0x64030000)
1006 { itype = SH5_MEDIA_INSN_BGE; sh5_media_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1007 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1009 if ((entire_insn & 0xfc0f018f) == 0x64050000)
1010 { itype = SH5_MEDIA_INSN_BNE; sh5_media_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1011 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1013 if ((entire_insn & 0xfc0f018f) == 0x64070000)
1014 { itype = SH5_MEDIA_INSN_BGT; sh5_media_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1015 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1017 if ((entire_insn & 0xfc0f018f) == 0x640b0000)
1018 { itype = SH5_MEDIA_INSN_BGEU; sh5_media_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1019 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1021 if ((entire_insn & 0xfc0f018f) == 0x640f0000)
1022 { itype = SH5_MEDIA_INSN_BGTU; sh5_media_extract_sfmt_beq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1023 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1025 if ((entire_insn & 0xffff018f) == 0x6bf10000)
1026 { itype = SH5_MEDIA_INSN_PTABS; sh5_media_extract_sfmt_ptabs (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1027 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1029 if ((entire_insn & 0xffff018f) == 0x6bf50000)
1030 { itype = SH5_MEDIA_INSN_PTREL; sh5_media_extract_sfmt_ptrel (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1031 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1033 if ((entire_insn & 0xffffffff) == 0x6ff0fff0)
1034 { itype = SH5_MEDIA_INSN_NOP; sh5_media_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1035 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1037 if ((entire_insn & 0xfc0fffff) == 0x6c01fff0)
1038 { itype = SH5_MEDIA_INSN_TRAPA; sh5_media_extract_sfmt_trapa (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1039 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1041 if ((entire_insn & 0xffffffff) == 0x6ff2fff0)
1042 { itype = SH5_MEDIA_INSN_SYNCI; sh5_media_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1043 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1045 if ((entire_insn & 0xffffffff) == 0x6ff3fff0)
1046 { itype = SH5_MEDIA_INSN_RTE; sh5_media_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1047 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1049 if ((entire_insn & 0xffffffff) == 0x6ff5fff0)
1050 { itype = SH5_MEDIA_INSN_BRK; sh5_media_extract_sfmt_brk (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1051 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1053 if ((entire_insn & 0xffffffff) == 0x6ff6fff0)
1054 { itype = SH5_MEDIA_INSN_SYNCO; sh5_media_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1055 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1057 if ((entire_insn & 0xffffffff) == 0x6ff7fff0)
1058 { itype = SH5_MEDIA_INSN_SLEEP; sh5_media_extract_sfmt_nop (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1059 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1061 if ((entire_insn & 0xfc0ffc0f) == 0x6c0ffc00)
1062 { itype = SH5_MEDIA_INSN_PUTCON; sh5_media_extract_sfmt_putcon (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1063 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1064 case 512 : /* fall through */
1065 case 513 : /* fall through */
1066 case 514 : /* fall through */
1067 case 515 : /* fall through */
1068 case 516 : /* fall through */
1069 case 517 : /* fall through */
1070 case 518 : /* fall through */
1071 case 519 : /* fall through */
1072 case 520 : /* fall through */
1073 case 521 : /* fall through */
1074 case 522 : /* fall through */
1075 case 523 : /* fall through */
1076 case 524 : /* fall through */
1077 case 525 : /* fall through */
1078 case 526 : /* fall through */
1080 if ((entire_insn & 0xfc00000f) == 0x80000000)
1081 { itype = SH5_MEDIA_INSN_LDB; sh5_media_extract_sfmt_ldb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1082 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1083 case 528 : /* fall through */
1084 case 529 : /* fall through */
1085 case 530 : /* fall through */
1086 case 531 : /* fall through */
1087 case 532 : /* fall through */
1088 case 533 : /* fall through */
1089 case 534 : /* fall through */
1090 case 535 : /* fall through */
1091 case 536 : /* fall through */
1092 case 537 : /* fall through */
1093 case 538 : /* fall through */
1094 case 539 : /* fall through */
1095 case 540 : /* fall through */
1096 case 541 : /* fall through */
1097 case 542 : /* fall through */
1099 if ((entire_insn & 0xfc00000f) == 0x84000000)
1100 { itype = SH5_MEDIA_INSN_LDW; sh5_media_extract_sfmt_lduw (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1101 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1102 case 544 : /* fall through */
1103 case 545 : /* fall through */
1104 case 546 : /* fall through */
1105 case 547 : /* fall through */
1106 case 548 : /* fall through */
1107 case 549 : /* fall through */
1108 case 550 : /* fall through */
1109 case 551 : /* fall through */
1110 case 552 : /* fall through */
1111 case 553 : /* fall through */
1112 case 554 : /* fall through */
1113 case 555 : /* fall through */
1114 case 556 : /* fall through */
1115 case 557 : /* fall through */
1116 case 558 : /* fall through */
1118 if ((entire_insn & 0xfc00000f) == 0x88000000)
1119 { itype = SH5_MEDIA_INSN_LDL; sh5_media_extract_sfmt_ldl (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1120 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1121 case 560 : /* fall through */
1122 case 561 : /* fall through */
1123 case 562 : /* fall through */
1124 case 563 : /* fall through */
1125 case 564 : /* fall through */
1126 case 565 : /* fall through */
1127 case 566 : /* fall through */
1128 case 567 : /* fall through */
1129 case 568 : /* fall through */
1130 case 569 : /* fall through */
1131 case 570 : /* fall through */
1132 case 571 : /* fall through */
1133 case 572 : /* fall through */
1134 case 573 : /* fall through */
1135 case 574 : /* fall through */
1137 if ((entire_insn & 0xfc00000f) == 0x8c000000)
1138 { itype = SH5_MEDIA_INSN_LDQ; sh5_media_extract_sfmt_ldq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1139 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1140 case 576 : /* fall through */
1141 case 577 : /* fall through */
1142 case 578 : /* fall through */
1143 case 579 : /* fall through */
1144 case 580 : /* fall through */
1145 case 581 : /* fall through */
1146 case 582 : /* fall through */
1147 case 583 : /* fall through */
1148 case 584 : /* fall through */
1149 case 585 : /* fall through */
1150 case 586 : /* fall through */
1151 case 587 : /* fall through */
1152 case 588 : /* fall through */
1153 case 589 : /* fall through */
1154 case 590 : /* fall through */
1156 if ((entire_insn & 0xfc00000f) == 0x90000000)
1157 { itype = SH5_MEDIA_INSN_LDUB; sh5_media_extract_sfmt_ldb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1158 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1159 case 592 : /* fall through */
1160 case 593 : /* fall through */
1161 case 594 : /* fall through */
1162 case 595 : /* fall through */
1163 case 596 : /* fall through */
1164 case 597 : /* fall through */
1165 case 598 : /* fall through */
1166 case 599 : /* fall through */
1167 case 600 : /* fall through */
1168 case 601 : /* fall through */
1169 case 602 : /* fall through */
1170 case 603 : /* fall through */
1171 case 604 : /* fall through */
1172 case 605 : /* fall through */
1173 case 606 : /* fall through */
1175 if ((entire_insn & 0xfc00000f) == 0x94000000)
1176 { itype = SH5_MEDIA_INSN_FLDS; sh5_media_extract_sfmt_flds (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1177 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1178 case 608 : /* fall through */
1179 case 609 : /* fall through */
1180 case 610 : /* fall through */
1181 case 611 : /* fall through */
1182 case 612 : /* fall through */
1183 case 613 : /* fall through */
1184 case 614 : /* fall through */
1185 case 615 : /* fall through */
1186 case 616 : /* fall through */
1187 case 617 : /* fall through */
1188 case 618 : /* fall through */
1189 case 619 : /* fall through */
1190 case 620 : /* fall through */
1191 case 621 : /* fall through */
1192 case 622 : /* fall through */
1194 if ((entire_insn & 0xfc00000f) == 0x98000000)
1195 { itype = SH5_MEDIA_INSN_FLDP; sh5_media_extract_sfmt_fldp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1196 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1197 case 624 : /* fall through */
1198 case 625 : /* fall through */
1199 case 626 : /* fall through */
1200 case 627 : /* fall through */
1201 case 628 : /* fall through */
1202 case 629 : /* fall through */
1203 case 630 : /* fall through */
1204 case 631 : /* fall through */
1205 case 632 : /* fall through */
1206 case 633 : /* fall through */
1207 case 634 : /* fall through */
1208 case 635 : /* fall through */
1209 case 636 : /* fall through */
1210 case 637 : /* fall through */
1211 case 638 : /* fall through */
1213 if ((entire_insn & 0xfc00000f) == 0x9c000000)
1214 { itype = SH5_MEDIA_INSN_FLDD; sh5_media_extract_sfmt_fldd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1215 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1216 case 640 : /* fall through */
1217 case 641 : /* fall through */
1218 case 642 : /* fall through */
1219 case 643 : /* fall through */
1220 case 644 : /* fall through */
1221 case 645 : /* fall through */
1222 case 646 : /* fall through */
1223 case 647 : /* fall through */
1224 case 648 : /* fall through */
1225 case 649 : /* fall through */
1226 case 650 : /* fall through */
1227 case 651 : /* fall through */
1228 case 652 : /* fall through */
1229 case 653 : /* fall through */
1230 case 654 : /* fall through */
1232 if ((entire_insn & 0xfc00000f) == 0xa0000000)
1233 { itype = SH5_MEDIA_INSN_STB; sh5_media_extract_sfmt_stb (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1234 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1235 case 656 : /* fall through */
1236 case 657 : /* fall through */
1237 case 658 : /* fall through */
1238 case 659 : /* fall through */
1239 case 660 : /* fall through */
1240 case 661 : /* fall through */
1241 case 662 : /* fall through */
1242 case 663 : /* fall through */
1243 case 664 : /* fall through */
1244 case 665 : /* fall through */
1245 case 666 : /* fall through */
1246 case 667 : /* fall through */
1247 case 668 : /* fall through */
1248 case 669 : /* fall through */
1249 case 670 : /* fall through */
1251 if ((entire_insn & 0xfc00000f) == 0xa4000000)
1252 { itype = SH5_MEDIA_INSN_STW; sh5_media_extract_sfmt_stw (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1253 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1254 case 672 : /* fall through */
1255 case 673 : /* fall through */
1256 case 674 : /* fall through */
1257 case 675 : /* fall through */
1258 case 676 : /* fall through */
1259 case 677 : /* fall through */
1260 case 678 : /* fall through */
1261 case 679 : /* fall through */
1262 case 680 : /* fall through */
1263 case 681 : /* fall through */
1264 case 682 : /* fall through */
1265 case 683 : /* fall through */
1266 case 684 : /* fall through */
1267 case 685 : /* fall through */
1268 case 686 : /* fall through */
1270 if ((entire_insn & 0xfc00000f) == 0xa8000000)
1271 { itype = SH5_MEDIA_INSN_STL; sh5_media_extract_sfmt_stl (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1272 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1273 case 688 : /* fall through */
1274 case 689 : /* fall through */
1275 case 690 : /* fall through */
1276 case 691 : /* fall through */
1277 case 692 : /* fall through */
1278 case 693 : /* fall through */
1279 case 694 : /* fall through */
1280 case 695 : /* fall through */
1281 case 696 : /* fall through */
1282 case 697 : /* fall through */
1283 case 698 : /* fall through */
1284 case 699 : /* fall through */
1285 case 700 : /* fall through */
1286 case 701 : /* fall through */
1287 case 702 : /* fall through */
1289 if ((entire_insn & 0xfc00000f) == 0xac000000)
1290 { itype = SH5_MEDIA_INSN_STQ; sh5_media_extract_sfmt_stq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1291 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1292 case 704 : /* fall through */
1293 case 705 : /* fall through */
1294 case 706 : /* fall through */
1295 case 707 : /* fall through */
1296 case 708 : /* fall through */
1297 case 709 : /* fall through */
1298 case 710 : /* fall through */
1299 case 711 : /* fall through */
1300 case 712 : /* fall through */
1301 case 713 : /* fall through */
1302 case 714 : /* fall through */
1303 case 715 : /* fall through */
1304 case 716 : /* fall through */
1305 case 717 : /* fall through */
1306 case 718 : /* fall through */
1308 if ((entire_insn & 0xfc00000f) == 0xb0000000)
1309 { itype = SH5_MEDIA_INSN_LDUW; sh5_media_extract_sfmt_lduw (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1310 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1311 case 720 : /* fall through */
1312 case 721 : /* fall through */
1313 case 722 : /* fall through */
1314 case 723 : /* fall through */
1315 case 724 : /* fall through */
1316 case 725 : /* fall through */
1317 case 726 : /* fall through */
1318 case 727 : /* fall through */
1319 case 728 : /* fall through */
1320 case 729 : /* fall through */
1321 case 730 : /* fall through */
1322 case 731 : /* fall through */
1323 case 732 : /* fall through */
1324 case 733 : /* fall through */
1325 case 734 : /* fall through */
1327 if ((entire_insn & 0xfc00000f) == 0xb4000000)
1328 { itype = SH5_MEDIA_INSN_FSTS; sh5_media_extract_sfmt_fsts (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1329 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1330 case 736 : /* fall through */
1331 case 737 : /* fall through */
1332 case 738 : /* fall through */
1333 case 739 : /* fall through */
1334 case 740 : /* fall through */
1335 case 741 : /* fall through */
1336 case 742 : /* fall through */
1337 case 743 : /* fall through */
1338 case 744 : /* fall through */
1339 case 745 : /* fall through */
1340 case 746 : /* fall through */
1341 case 747 : /* fall through */
1342 case 748 : /* fall through */
1343 case 749 : /* fall through */
1344 case 750 : /* fall through */
1346 if ((entire_insn & 0xfc00000f) == 0xb8000000)
1347 { itype = SH5_MEDIA_INSN_FSTP; sh5_media_extract_sfmt_fldp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1348 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1349 case 752 : /* fall through */
1350 case 753 : /* fall through */
1351 case 754 : /* fall through */
1352 case 755 : /* fall through */
1353 case 756 : /* fall through */
1354 case 757 : /* fall through */
1355 case 758 : /* fall through */
1356 case 759 : /* fall through */
1357 case 760 : /* fall through */
1358 case 761 : /* fall through */
1359 case 762 : /* fall through */
1360 case 763 : /* fall through */
1361 case 764 : /* fall through */
1362 case 765 : /* fall through */
1363 case 766 : /* fall through */
1365 if ((entire_insn & 0xfc00000f) == 0xbc000000)
1366 { itype = SH5_MEDIA_INSN_FSTD; sh5_media_extract_sfmt_fstd (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1367 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1369 if ((entire_insn & 0xfc0f000f) == 0xc0020000)
1370 { itype = SH5_MEDIA_INSN_LDLOL; sh5_media_extract_sfmt_ldlol (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1371 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1373 if ((entire_insn & 0xfc0f000f) == 0xc0030000)
1374 { itype = SH5_MEDIA_INSN_LDLOQ; sh5_media_extract_sfmt_ldloq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1375 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1377 if ((entire_insn & 0xfc0f000f) == 0xc0060000)
1378 { itype = SH5_MEDIA_INSN_LDHIL; sh5_media_extract_sfmt_ldhil (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1379 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1381 if ((entire_insn & 0xfc0f000f) == 0xc0070000)
1382 { itype = SH5_MEDIA_INSN_LDHIQ; sh5_media_extract_sfmt_ldhiq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1383 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1385 if ((entire_insn & 0xfc0f000f) == 0xc00f0000)
1386 { itype = SH5_MEDIA_INSN_GETCFG; sh5_media_extract_sfmt_getcfg (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1387 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1389 if ((entire_insn & 0xfc0f000f) == 0xc4000000)
1390 { itype = SH5_MEDIA_INSN_SHLLIL; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1391 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1393 if ((entire_insn & 0xfc0f000f) == 0xc4010000)
1394 { itype = SH5_MEDIA_INSN_SHLLI; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1395 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1397 if ((entire_insn & 0xfc0f000f) == 0xc4020000)
1398 { itype = SH5_MEDIA_INSN_SHLRIL; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1399 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1401 if ((entire_insn & 0xfc0f000f) == 0xc4030000)
1402 { itype = SH5_MEDIA_INSN_SHLRI; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1403 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1405 if ((entire_insn & 0xfc0f000f) == 0xc4060000)
1406 { itype = SH5_MEDIA_INSN_SHARIL; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1407 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1409 if ((entire_insn & 0xfc0f000f) == 0xc4070000)
1410 { itype = SH5_MEDIA_INSN_SHARI; sh5_media_extract_sfmt_shari (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1411 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1413 if ((entire_insn & 0xfc0f000f) == 0xc40d0000)
1414 { itype = SH5_MEDIA_INSN_XORI; sh5_media_extract_sfmt_xori (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1415 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1416 case 800 : /* fall through */
1417 case 801 : /* fall through */
1418 case 802 : /* fall through */
1419 case 803 : /* fall through */
1420 case 804 : /* fall through */
1421 case 805 : /* fall through */
1422 case 806 : /* fall through */
1423 case 807 : /* fall through */
1424 case 808 : /* fall through */
1425 case 809 : /* fall through */
1426 case 810 : /* fall through */
1427 case 811 : /* fall through */
1428 case 812 : /* fall through */
1429 case 813 : /* fall through */
1430 case 814 : /* fall through */
1432 if ((entire_insn & 0xfc00000f) == 0xc8000000)
1433 { itype = SH5_MEDIA_INSN_SHORI; sh5_media_extract_sfmt_shori (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1434 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1435 case 816 : /* fall through */
1436 case 817 : /* fall through */
1437 case 818 : /* fall through */
1438 case 819 : /* fall through */
1439 case 820 : /* fall through */
1440 case 821 : /* fall through */
1441 case 822 : /* fall through */
1442 case 823 : /* fall through */
1443 case 824 : /* fall through */
1444 case 825 : /* fall through */
1445 case 826 : /* fall through */
1446 case 827 : /* fall through */
1447 case 828 : /* fall through */
1448 case 829 : /* fall through */
1449 case 830 : /* fall through */
1451 if ((entire_insn & 0xfc00000f) == 0xcc000000)
1452 { itype = SH5_MEDIA_INSN_MOVI; sh5_media_extract_sfmt_movi (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1453 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1454 case 832 : /* fall through */
1455 case 833 : /* fall through */
1456 case 834 : /* fall through */
1457 case 835 : /* fall through */
1458 case 836 : /* fall through */
1459 case 837 : /* fall through */
1460 case 838 : /* fall through */
1461 case 839 : /* fall through */
1462 case 840 : /* fall through */
1463 case 841 : /* fall through */
1464 case 842 : /* fall through */
1465 case 843 : /* fall through */
1466 case 844 : /* fall through */
1467 case 845 : /* fall through */
1468 case 846 : /* fall through */
1470 if ((entire_insn & 0xfc00000f) == 0xd0000000)
1471 { itype = SH5_MEDIA_INSN_ADDI; sh5_media_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1472 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1473 case 848 : /* fall through */
1474 case 849 : /* fall through */
1475 case 850 : /* fall through */
1476 case 851 : /* fall through */
1477 case 852 : /* fall through */
1478 case 853 : /* fall through */
1479 case 854 : /* fall through */
1480 case 855 : /* fall through */
1481 case 856 : /* fall through */
1482 case 857 : /* fall through */
1483 case 858 : /* fall through */
1484 case 859 : /* fall through */
1485 case 860 : /* fall through */
1486 case 861 : /* fall through */
1487 case 862 : /* fall through */
1489 if ((entire_insn & 0xfc00000f) == 0xd4000000)
1490 { itype = SH5_MEDIA_INSN_ADDIL; sh5_media_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1491 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1492 case 864 : /* fall through */
1493 case 865 : /* fall through */
1494 case 866 : /* fall through */
1495 case 867 : /* fall through */
1496 case 868 : /* fall through */
1497 case 869 : /* fall through */
1498 case 870 : /* fall through */
1499 case 871 : /* fall through */
1500 case 872 : /* fall through */
1501 case 873 : /* fall through */
1502 case 874 : /* fall through */
1503 case 875 : /* fall through */
1504 case 876 : /* fall through */
1505 case 877 : /* fall through */
1506 case 878 : /* fall through */
1508 if ((entire_insn & 0xfc00000f) == 0xd8000000)
1509 { itype = SH5_MEDIA_INSN_ANDI; sh5_media_extract_sfmt_addi (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1510 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1511 case 880 : /* fall through */
1512 case 881 : /* fall through */
1513 case 882 : /* fall through */
1514 case 883 : /* fall through */
1515 case 884 : /* fall through */
1516 case 885 : /* fall through */
1517 case 886 : /* fall through */
1518 case 887 : /* fall through */
1519 case 888 : /* fall through */
1520 case 889 : /* fall through */
1521 case 890 : /* fall through */
1522 case 891 : /* fall through */
1523 case 892 : /* fall through */
1524 case 893 : /* fall through */
1525 case 894 : /* fall through */
1527 if ((entire_insn & 0xfc00000f) == 0xdc000000)
1528 { itype = SH5_MEDIA_INSN_ORI; sh5_media_extract_sfmt_ori (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1529 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1531 if ((entire_insn & 0xfc0ffc0f) == 0xe001fc00)
1532 { itype = SH5_MEDIA_INSN_PREFI; sh5_media_extract_sfmt_alloco (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1533 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1535 if ((entire_insn & 0xfc0f000f) == 0xe0020000)
1536 { itype = SH5_MEDIA_INSN_STLOL; sh5_media_extract_sfmt_stlol (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1537 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1539 if ((entire_insn & 0xfc0f000f) == 0xe0030000)
1540 { itype = SH5_MEDIA_INSN_STLOQ; sh5_media_extract_sfmt_stloq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1541 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1543 if ((entire_insn & 0xfc0f03ff) == 0xe00403f0)
1544 { itype = SH5_MEDIA_INSN_ALLOCO; sh5_media_extract_sfmt_alloco (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1545 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1547 if ((entire_insn & 0xfc0f03ff) == 0xe00503f0)
1548 { itype = SH5_MEDIA_INSN_ICBI; sh5_media_extract_sfmt_alloco (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1549 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1551 if ((entire_insn & 0xfc0f000f) == 0xe0060000)
1552 { itype = SH5_MEDIA_INSN_STHIL; sh5_media_extract_sfmt_sthil (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1553 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1555 if ((entire_insn & 0xfc0f000f) == 0xe0070000)
1556 { itype = SH5_MEDIA_INSN_STHIQ; sh5_media_extract_sfmt_sthiq (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1557 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1559 if ((entire_insn & 0xfc0f03ff) == 0xe00803f0)
1560 { itype = SH5_MEDIA_INSN_OCBP; sh5_media_extract_sfmt_alloco (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1561 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1563 if ((entire_insn & 0xfc0f03ff) == 0xe00903f0)
1564 { itype = SH5_MEDIA_INSN_OCBI; sh5_media_extract_sfmt_alloco (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1565 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1567 if ((entire_insn & 0xfc0f03ff) == 0xe00c03f0)
1568 { itype = SH5_MEDIA_INSN_OCBWB; sh5_media_extract_sfmt_alloco (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1569 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1571 if ((entire_insn & 0xfc0f000f) == 0xe00f0000)
1572 { itype = SH5_MEDIA_INSN_PUTCFG; sh5_media_extract_sfmt_putcfg (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1573 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1575 if ((entire_insn & 0xfc0f018f) == 0xe4010000)
1576 { itype = SH5_MEDIA_INSN_BEQI; sh5_media_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1577 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1579 if ((entire_insn & 0xfc0f018f) == 0xe4050000)
1580 { itype = SH5_MEDIA_INSN_BNEI; sh5_media_extract_sfmt_beqi (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1581 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1582 case 928 : /* fall through */
1583 case 929 : /* fall through */
1584 case 930 : /* fall through */
1585 case 931 : /* fall through */
1586 case 932 : /* fall through */
1587 case 933 : /* fall through */
1588 case 934 : /* fall through */
1589 case 935 : /* fall through */
1590 case 936 : /* fall through */
1591 case 937 : /* fall through */
1592 case 938 : /* fall through */
1593 case 939 : /* fall through */
1594 case 940 : /* fall through */
1595 case 941 : /* fall through */
1596 case 942 : /* fall through */
1598 if ((entire_insn & 0xfc00018f) == 0xe8000000)
1599 { itype = SH5_MEDIA_INSN_PTA; sh5_media_extract_sfmt_pta (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1600 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1601 case 944 : /* fall through */
1602 case 945 : /* fall through */
1603 case 946 : /* fall through */
1604 case 947 : /* fall through */
1605 case 948 : /* fall through */
1606 case 949 : /* fall through */
1607 case 950 : /* fall through */
1608 case 951 : /* fall through */
1609 case 952 : /* fall through */
1610 case 953 : /* fall through */
1611 case 954 : /* fall through */
1612 case 955 : /* fall through */
1613 case 956 : /* fall through */
1614 case 957 : /* fall through */
1615 case 958 : /* fall through */
1617 if ((entire_insn & 0xfc00018f) == 0xec000000)
1618 { itype = SH5_MEDIA_INSN_PTB; sh5_media_extract_sfmt_pta (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1619 itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1620 default : itype = SH5_MEDIA_INSN_X_INVALID; sh5_media_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1626 /* The instruction has been decoded and fields extracted. */
1630 // FIXME: To be redone (to handle ISA variants).
1631 this->idesc = & sh5_media_idesc::idesc_table[itype];
1632 // ??? record semantic handler?
1633 assert(this->idesc->sem_index == itype);
1637 sh5_media_extract_sfmt_empty (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1638 sh5_media_insn_word insn = entire_insn;
1639 #define FLD(f) abuf->fields.fmt_empty.f
1642 /* Record the fields for the semantic handler. */
1643 if (UNLIKELY(current_cpu->trace_extract_p))
1645 current_cpu->trace_stream
1646 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
1654 sh5_media_extract_sfmt_add (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1655 sh5_media_insn_word insn = entire_insn;
1656 #define FLD(f) abuf->fields.sfmt_mcmv.f
1661 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1662 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
1663 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
1665 /* Record the fields for the semantic handler. */
1666 FLD (f_left) = f_left;
1667 FLD (f_right) = f_right;
1668 FLD (f_dest) = f_dest;
1669 if (UNLIKELY(current_cpu->trace_extract_p))
1671 current_cpu->trace_stream
1672 << "0x" << hex << pc << dec << " (sfmt_add)\t"
1673 << " f_left:0x" << hex << f_left << dec
1674 << " f_right:0x" << hex << f_right << dec
1675 << " f_dest:0x" << hex << f_dest << dec
1679 /* Record the fields for profiling. */
1680 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1682 FLD (in_rm) = f_left;
1683 FLD (in_rn) = f_right;
1684 FLD (out_rd) = f_dest;
1690 sh5_media_extract_sfmt_addi (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1691 sh5_media_insn_word insn = entire_insn;
1692 #define FLD(f) abuf->fields.sfmt_addi.f
1697 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1698 f_disp10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10);
1699 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
1701 /* Record the fields for the semantic handler. */
1702 FLD (f_disp10) = f_disp10;
1703 FLD (f_left) = f_left;
1704 FLD (f_dest) = f_dest;
1705 if (UNLIKELY(current_cpu->trace_extract_p))
1707 current_cpu->trace_stream
1708 << "0x" << hex << pc << dec << " (sfmt_addi)\t"
1709 << " f_disp10:0x" << hex << f_disp10 << dec
1710 << " f_left:0x" << hex << f_left << dec
1711 << " f_dest:0x" << hex << f_dest << dec
1715 /* Record the fields for profiling. */
1716 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1718 FLD (in_rm) = f_left;
1719 FLD (out_rd) = f_dest;
1725 sh5_media_extract_sfmt_alloco (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1726 sh5_media_insn_word insn = entire_insn;
1727 #define FLD(f) abuf->fields.sfmt_alloco.f
1730 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1732 /* Record the fields for the semantic handler. */
1733 FLD (f_left) = f_left;
1734 if (UNLIKELY(current_cpu->trace_extract_p))
1736 current_cpu->trace_stream
1737 << "0x" << hex << pc << dec << " (sfmt_alloco)\t"
1738 << " f_left:0x" << hex << f_left << dec
1742 /* Record the fields for profiling. */
1743 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1745 FLD (in_rm) = f_left;
1746 FLD (out_rm) = f_left;
1752 sh5_media_extract_sfmt_beq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1753 sh5_media_insn_word insn = entire_insn;
1754 #define FLD(f) abuf->fields.sfmt_beq.f
1760 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1761 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
1762 f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1);
1763 f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
1765 /* Record the fields for the semantic handler. */
1766 FLD (f_likely) = f_likely;
1767 FLD (f_left) = f_left;
1768 FLD (f_right) = f_right;
1769 FLD (f_tra) = f_tra;
1770 if (UNLIKELY(current_cpu->trace_extract_p))
1772 current_cpu->trace_stream
1773 << "0x" << hex << pc << dec << " (sfmt_beq)\t"
1774 << " f_likely:0x" << hex << f_likely << dec
1775 << " f_left:0x" << hex << f_left << dec
1776 << " f_right:0x" << hex << f_right << dec
1777 << " f_tra:0x" << hex << f_tra << dec
1781 /* Record the fields for profiling. */
1782 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1784 FLD (in_rm) = f_left;
1785 FLD (in_rn) = f_right;
1786 FLD (in_tra) = f_tra;
1792 sh5_media_extract_sfmt_beqi (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1793 sh5_media_insn_word insn = entire_insn;
1794 #define FLD(f) abuf->fields.sfmt_beqi.f
1800 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1801 f_imm6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
1802 f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1);
1803 f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
1805 /* Record the fields for the semantic handler. */
1806 FLD (f_imm6) = f_imm6;
1807 FLD (f_likely) = f_likely;
1808 FLD (f_left) = f_left;
1809 FLD (f_tra) = f_tra;
1810 if (UNLIKELY(current_cpu->trace_extract_p))
1812 current_cpu->trace_stream
1813 << "0x" << hex << pc << dec << " (sfmt_beqi)\t"
1814 << " f_imm6:0x" << hex << f_imm6 << dec
1815 << " f_likely:0x" << hex << f_likely << dec
1816 << " f_left:0x" << hex << f_left << dec
1817 << " f_tra:0x" << hex << f_tra << dec
1821 /* Record the fields for profiling. */
1822 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1824 FLD (in_rm) = f_left;
1825 FLD (in_tra) = f_tra;
1831 sh5_media_extract_sfmt_blink (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1832 sh5_media_insn_word insn = entire_insn;
1833 #define FLD(f) abuf->fields.sfmt_blink.f
1837 f_trb = EXTRACT_MSB0_UINT (insn, 32, 9, 3);
1838 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
1840 /* Record the fields for the semantic handler. */
1841 FLD (f_dest) = f_dest;
1842 FLD (f_trb) = f_trb;
1843 if (UNLIKELY(current_cpu->trace_extract_p))
1845 current_cpu->trace_stream
1846 << "0x" << hex << pc << dec << " (sfmt_blink)\t"
1847 << " f_dest:0x" << hex << f_dest << dec
1848 << " f_trb:0x" << hex << f_trb << dec
1852 /* Record the fields for profiling. */
1853 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1855 FLD (in_trb) = f_trb;
1856 FLD (out_rd) = f_dest;
1862 sh5_media_extract_sfmt_brk (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1863 sh5_media_insn_word insn = entire_insn;
1864 #define FLD(f) abuf->fields.fmt_empty.f
1867 /* Record the fields for the semantic handler. */
1868 if (UNLIKELY(current_cpu->trace_extract_p))
1870 current_cpu->trace_stream
1871 << "0x" << hex << pc << dec << " (sfmt_brk)\t"
1875 /* Record the fields for profiling. */
1876 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1883 sh5_media_extract_sfmt_byterev (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1884 sh5_media_insn_word insn = entire_insn;
1885 #define FLD(f) abuf->fields.sfmt_xori.f
1889 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1890 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
1892 /* Record the fields for the semantic handler. */
1893 FLD (f_left) = f_left;
1894 FLD (f_dest) = f_dest;
1895 if (UNLIKELY(current_cpu->trace_extract_p))
1897 current_cpu->trace_stream
1898 << "0x" << hex << pc << dec << " (sfmt_byterev)\t"
1899 << " f_left:0x" << hex << f_left << dec
1900 << " f_dest:0x" << hex << f_dest << dec
1904 /* Record the fields for profiling. */
1905 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1907 FLD (in_rm) = f_left;
1908 FLD (out_rd) = f_dest;
1914 sh5_media_extract_sfmt_cmveq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1915 sh5_media_insn_word insn = entire_insn;
1916 #define FLD(f) abuf->fields.sfmt_mcmv.f
1921 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1922 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
1923 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
1925 /* Record the fields for the semantic handler. */
1926 FLD (f_left) = f_left;
1927 FLD (f_right) = f_right;
1928 FLD (f_dest) = f_dest;
1929 if (UNLIKELY(current_cpu->trace_extract_p))
1931 current_cpu->trace_stream
1932 << "0x" << hex << pc << dec << " (sfmt_cmveq)\t"
1933 << " f_left:0x" << hex << f_left << dec
1934 << " f_right:0x" << hex << f_right << dec
1935 << " f_dest:0x" << hex << f_dest << dec
1939 /* Record the fields for profiling. */
1940 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1942 FLD (in_rm) = f_left;
1943 FLD (in_rn) = f_right;
1944 FLD (out_rd) = f_dest;
1950 sh5_media_extract_sfmt_fabsd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1951 sh5_media_insn_word insn = entire_insn;
1952 #define FLD(f) abuf->fields.sfmt_fabsd.f
1958 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1959 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
1960 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
1961 f_left_right = f_left;
1963 /* Record the fields for the semantic handler. */
1964 FLD (f_left_right) = f_left_right;
1965 FLD (f_dest) = f_dest;
1966 if (UNLIKELY(current_cpu->trace_extract_p))
1968 current_cpu->trace_stream
1969 << "0x" << hex << pc << dec << " (sfmt_fabsd)\t"
1970 << " f_left_right:0x" << hex << f_left_right << dec
1971 << " f_dest:0x" << hex << f_dest << dec
1975 /* Record the fields for profiling. */
1976 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
1978 FLD (in_drgh) = f_left_right;
1979 FLD (out_drf) = f_dest;
1985 sh5_media_extract_sfmt_fabss (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
1986 sh5_media_insn_word insn = entire_insn;
1987 #define FLD(f) abuf->fields.sfmt_fabss.f
1993 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
1994 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
1995 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
1996 f_left_right = f_left;
1998 /* Record the fields for the semantic handler. */
1999 FLD (f_left_right) = f_left_right;
2000 FLD (f_dest) = f_dest;
2001 if (UNLIKELY(current_cpu->trace_extract_p))
2003 current_cpu->trace_stream
2004 << "0x" << hex << pc << dec << " (sfmt_fabss)\t"
2005 << " f_left_right:0x" << hex << f_left_right << dec
2006 << " f_dest:0x" << hex << f_dest << dec
2010 /* Record the fields for profiling. */
2011 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2013 FLD (in_frgh) = f_left_right;
2014 FLD (out_frf) = f_dest;
2020 sh5_media_extract_sfmt_faddd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2021 sh5_media_insn_word insn = entire_insn;
2022 #define FLD(f) abuf->fields.sfmt_faddd.f
2027 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2028 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2029 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2031 /* Record the fields for the semantic handler. */
2032 FLD (f_left) = f_left;
2033 FLD (f_right) = f_right;
2034 FLD (f_dest) = f_dest;
2035 if (UNLIKELY(current_cpu->trace_extract_p))
2037 current_cpu->trace_stream
2038 << "0x" << hex << pc << dec << " (sfmt_faddd)\t"
2039 << " f_left:0x" << hex << f_left << dec
2040 << " f_right:0x" << hex << f_right << dec
2041 << " f_dest:0x" << hex << f_dest << dec
2045 /* Record the fields for profiling. */
2046 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2048 FLD (in_drg) = f_left;
2049 FLD (in_drh) = f_right;
2050 FLD (out_drf) = f_dest;
2056 sh5_media_extract_sfmt_fadds (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2057 sh5_media_insn_word insn = entire_insn;
2058 #define FLD(f) abuf->fields.sfmt_fmacs.f
2063 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2064 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2065 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2067 /* Record the fields for the semantic handler. */
2068 FLD (f_left) = f_left;
2069 FLD (f_right) = f_right;
2070 FLD (f_dest) = f_dest;
2071 if (UNLIKELY(current_cpu->trace_extract_p))
2073 current_cpu->trace_stream
2074 << "0x" << hex << pc << dec << " (sfmt_fadds)\t"
2075 << " f_left:0x" << hex << f_left << dec
2076 << " f_right:0x" << hex << f_right << dec
2077 << " f_dest:0x" << hex << f_dest << dec
2081 /* Record the fields for profiling. */
2082 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2084 FLD (in_frg) = f_left;
2085 FLD (in_frh) = f_right;
2086 FLD (out_frf) = f_dest;
2092 sh5_media_extract_sfmt_fcmpeqd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2093 sh5_media_insn_word insn = entire_insn;
2094 #define FLD(f) abuf->fields.sfmt_fcmpeqd.f
2099 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2100 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2101 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2103 /* Record the fields for the semantic handler. */
2104 FLD (f_left) = f_left;
2105 FLD (f_right) = f_right;
2106 FLD (f_dest) = f_dest;
2107 if (UNLIKELY(current_cpu->trace_extract_p))
2109 current_cpu->trace_stream
2110 << "0x" << hex << pc << dec << " (sfmt_fcmpeqd)\t"
2111 << " f_left:0x" << hex << f_left << dec
2112 << " f_right:0x" << hex << f_right << dec
2113 << " f_dest:0x" << hex << f_dest << dec
2117 /* Record the fields for profiling. */
2118 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2120 FLD (in_drg) = f_left;
2121 FLD (in_drh) = f_right;
2122 FLD (out_rd) = f_dest;
2128 sh5_media_extract_sfmt_fcmpeqs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2129 sh5_media_insn_word insn = entire_insn;
2130 #define FLD(f) abuf->fields.sfmt_fcmpeqs.f
2135 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2136 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2137 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2139 /* Record the fields for the semantic handler. */
2140 FLD (f_left) = f_left;
2141 FLD (f_right) = f_right;
2142 FLD (f_dest) = f_dest;
2143 if (UNLIKELY(current_cpu->trace_extract_p))
2145 current_cpu->trace_stream
2146 << "0x" << hex << pc << dec << " (sfmt_fcmpeqs)\t"
2147 << " f_left:0x" << hex << f_left << dec
2148 << " f_right:0x" << hex << f_right << dec
2149 << " f_dest:0x" << hex << f_dest << dec
2153 /* Record the fields for profiling. */
2154 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2156 FLD (in_frg) = f_left;
2157 FLD (in_frh) = f_right;
2158 FLD (out_rd) = f_dest;
2164 sh5_media_extract_sfmt_fcnvds (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2165 sh5_media_insn_word insn = entire_insn;
2166 #define FLD(f) abuf->fields.sfmt_fcnvds.f
2172 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2173 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2174 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2175 f_left_right = f_left;
2177 /* Record the fields for the semantic handler. */
2178 FLD (f_left_right) = f_left_right;
2179 FLD (f_dest) = f_dest;
2180 if (UNLIKELY(current_cpu->trace_extract_p))
2182 current_cpu->trace_stream
2183 << "0x" << hex << pc << dec << " (sfmt_fcnvds)\t"
2184 << " f_left_right:0x" << hex << f_left_right << dec
2185 << " f_dest:0x" << hex << f_dest << dec
2189 /* Record the fields for profiling. */
2190 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2192 FLD (in_drgh) = f_left_right;
2193 FLD (out_frf) = f_dest;
2199 sh5_media_extract_sfmt_fcnvsd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2200 sh5_media_insn_word insn = entire_insn;
2201 #define FLD(f) abuf->fields.sfmt_fcnvsd.f
2207 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2208 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2209 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2210 f_left_right = f_left;
2212 /* Record the fields for the semantic handler. */
2213 FLD (f_left_right) = f_left_right;
2214 FLD (f_dest) = f_dest;
2215 if (UNLIKELY(current_cpu->trace_extract_p))
2217 current_cpu->trace_stream
2218 << "0x" << hex << pc << dec << " (sfmt_fcnvsd)\t"
2219 << " f_left_right:0x" << hex << f_left_right << dec
2220 << " f_dest:0x" << hex << f_dest << dec
2224 /* Record the fields for profiling. */
2225 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2227 FLD (in_frgh) = f_left_right;
2228 FLD (out_drf) = f_dest;
2234 sh5_media_extract_sfmt_fgetscr (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2235 sh5_media_insn_word insn = entire_insn;
2236 #define FLD(f) abuf->fields.sfmt_fcnvds.f
2239 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2241 /* Record the fields for the semantic handler. */
2242 FLD (f_dest) = f_dest;
2243 if (UNLIKELY(current_cpu->trace_extract_p))
2245 current_cpu->trace_stream
2246 << "0x" << hex << pc << dec << " (sfmt_fgetscr)\t"
2247 << " f_dest:0x" << hex << f_dest << dec
2251 /* Record the fields for profiling. */
2252 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2254 FLD (out_frf) = f_dest;
2260 sh5_media_extract_sfmt_fiprs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2261 sh5_media_insn_word insn = entire_insn;
2262 #define FLD(f) abuf->fields.sfmt_fiprs.f
2267 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2268 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2269 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2271 /* Record the fields for the semantic handler. */
2272 FLD (f_left) = f_left;
2273 FLD (f_right) = f_right;
2274 FLD (f_dest) = f_dest;
2275 if (UNLIKELY(current_cpu->trace_extract_p))
2277 current_cpu->trace_stream
2278 << "0x" << hex << pc << dec << " (sfmt_fiprs)\t"
2279 << " f_left:0x" << hex << f_left << dec
2280 << " f_right:0x" << hex << f_right << dec
2281 << " f_dest:0x" << hex << f_dest << dec
2285 /* Record the fields for profiling. */
2286 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2288 FLD (in_fvg) = f_left;
2289 FLD (in_fvh) = f_right;
2290 FLD (out_frf) = f_dest;
2291 FLD (out_fvg) = f_left;
2292 FLD (out_fvh) = f_right;
2298 sh5_media_extract_sfmt_fldd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2299 sh5_media_insn_word insn = entire_insn;
2300 #define FLD(f) abuf->fields.sfmt_fldd.f
2305 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2306 f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
2307 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2309 /* Record the fields for the semantic handler. */
2310 FLD (f_disp10x8) = f_disp10x8;
2311 FLD (f_left) = f_left;
2312 FLD (f_dest) = f_dest;
2313 if (UNLIKELY(current_cpu->trace_extract_p))
2315 current_cpu->trace_stream
2316 << "0x" << hex << pc << dec << " (sfmt_fldd)\t"
2317 << " f_disp10x8:0x" << hex << f_disp10x8 << dec
2318 << " f_left:0x" << hex << f_left << dec
2319 << " f_dest:0x" << hex << f_dest << dec
2323 /* Record the fields for profiling. */
2324 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2326 FLD (in_rm) = f_left;
2327 FLD (out_drf) = f_dest;
2333 sh5_media_extract_sfmt_fldp (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2334 sh5_media_insn_word insn = entire_insn;
2335 #define FLD(f) abuf->fields.sfmt_fldp.f
2340 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2341 f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
2342 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2344 /* Record the fields for the semantic handler. */
2345 FLD (f_disp10x8) = f_disp10x8;
2346 FLD (f_dest) = f_dest;
2347 FLD (f_left) = f_left;
2348 if (UNLIKELY(current_cpu->trace_extract_p))
2350 current_cpu->trace_stream
2351 << "0x" << hex << pc << dec << " (sfmt_fldp)\t"
2352 << " f_disp10x8:0x" << hex << f_disp10x8 << dec
2353 << " f_dest:0x" << hex << f_dest << dec
2354 << " f_left:0x" << hex << f_left << dec
2358 /* Record the fields for profiling. */
2359 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2361 FLD (in_fpf) = f_dest;
2362 FLD (in_rm) = f_left;
2363 FLD (out_fpf) = f_dest;
2369 sh5_media_extract_sfmt_flds (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2370 sh5_media_insn_word insn = entire_insn;
2371 #define FLD(f) abuf->fields.sfmt_flds.f
2376 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2377 f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2));
2378 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2380 /* Record the fields for the semantic handler. */
2381 FLD (f_disp10x4) = f_disp10x4;
2382 FLD (f_left) = f_left;
2383 FLD (f_dest) = f_dest;
2384 if (UNLIKELY(current_cpu->trace_extract_p))
2386 current_cpu->trace_stream
2387 << "0x" << hex << pc << dec << " (sfmt_flds)\t"
2388 << " f_disp10x4:0x" << hex << f_disp10x4 << dec
2389 << " f_left:0x" << hex << f_left << dec
2390 << " f_dest:0x" << hex << f_dest << dec
2394 /* Record the fields for profiling. */
2395 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2397 FLD (in_rm) = f_left;
2398 FLD (out_frf) = f_dest;
2404 sh5_media_extract_sfmt_fldxd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2405 sh5_media_insn_word insn = entire_insn;
2406 #define FLD(f) abuf->fields.sfmt_fldxd.f
2411 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2412 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2413 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2415 /* Record the fields for the semantic handler. */
2416 FLD (f_left) = f_left;
2417 FLD (f_right) = f_right;
2418 FLD (f_dest) = f_dest;
2419 if (UNLIKELY(current_cpu->trace_extract_p))
2421 current_cpu->trace_stream
2422 << "0x" << hex << pc << dec << " (sfmt_fldxd)\t"
2423 << " f_left:0x" << hex << f_left << dec
2424 << " f_right:0x" << hex << f_right << dec
2425 << " f_dest:0x" << hex << f_dest << dec
2429 /* Record the fields for profiling. */
2430 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2432 FLD (in_rm) = f_left;
2433 FLD (in_rn) = f_right;
2434 FLD (out_drf) = f_dest;
2440 sh5_media_extract_sfmt_fldxp (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2441 sh5_media_insn_word insn = entire_insn;
2442 #define FLD(f) abuf->fields.sfmt_fldxp.f
2447 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2448 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2449 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2451 /* Record the fields for the semantic handler. */
2452 FLD (f_dest) = f_dest;
2453 FLD (f_left) = f_left;
2454 FLD (f_right) = f_right;
2455 if (UNLIKELY(current_cpu->trace_extract_p))
2457 current_cpu->trace_stream
2458 << "0x" << hex << pc << dec << " (sfmt_fldxp)\t"
2459 << " f_dest:0x" << hex << f_dest << dec
2460 << " f_left:0x" << hex << f_left << dec
2461 << " f_right:0x" << hex << f_right << dec
2465 /* Record the fields for profiling. */
2466 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2468 FLD (in_fpf) = f_dest;
2469 FLD (in_rm) = f_left;
2470 FLD (in_rn) = f_right;
2471 FLD (out_fpf) = f_dest;
2477 sh5_media_extract_sfmt_fldxs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2478 sh5_media_insn_word insn = entire_insn;
2479 #define FLD(f) abuf->fields.sfmt_fldxs.f
2484 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2485 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2486 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2488 /* Record the fields for the semantic handler. */
2489 FLD (f_left) = f_left;
2490 FLD (f_right) = f_right;
2491 FLD (f_dest) = f_dest;
2492 if (UNLIKELY(current_cpu->trace_extract_p))
2494 current_cpu->trace_stream
2495 << "0x" << hex << pc << dec << " (sfmt_fldxs)\t"
2496 << " f_left:0x" << hex << f_left << dec
2497 << " f_right:0x" << hex << f_right << dec
2498 << " f_dest:0x" << hex << f_dest << dec
2502 /* Record the fields for profiling. */
2503 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2505 FLD (in_rm) = f_left;
2506 FLD (in_rn) = f_right;
2507 FLD (out_frf) = f_dest;
2513 sh5_media_extract_sfmt_fmacs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2514 sh5_media_insn_word insn = entire_insn;
2515 #define FLD(f) abuf->fields.sfmt_fmacs.f
2520 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2521 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2522 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2524 /* Record the fields for the semantic handler. */
2525 FLD (f_dest) = f_dest;
2526 FLD (f_left) = f_left;
2527 FLD (f_right) = f_right;
2528 if (UNLIKELY(current_cpu->trace_extract_p))
2530 current_cpu->trace_stream
2531 << "0x" << hex << pc << dec << " (sfmt_fmacs)\t"
2532 << " f_dest:0x" << hex << f_dest << dec
2533 << " f_left:0x" << hex << f_left << dec
2534 << " f_right:0x" << hex << f_right << dec
2538 /* Record the fields for profiling. */
2539 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2541 FLD (in_frf) = f_dest;
2542 FLD (in_frg) = f_left;
2543 FLD (in_frh) = f_right;
2544 FLD (out_frf) = f_dest;
2550 sh5_media_extract_sfmt_fmovdq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2551 sh5_media_insn_word insn = entire_insn;
2552 #define FLD(f) abuf->fields.sfmt_fmovdq.f
2558 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2559 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2560 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2561 f_left_right = f_left;
2563 /* Record the fields for the semantic handler. */
2564 FLD (f_left_right) = f_left_right;
2565 FLD (f_dest) = f_dest;
2566 if (UNLIKELY(current_cpu->trace_extract_p))
2568 current_cpu->trace_stream
2569 << "0x" << hex << pc << dec << " (sfmt_fmovdq)\t"
2570 << " f_left_right:0x" << hex << f_left_right << dec
2571 << " f_dest:0x" << hex << f_dest << dec
2575 /* Record the fields for profiling. */
2576 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2578 FLD (in_drgh) = f_left_right;
2579 FLD (out_rd) = f_dest;
2585 sh5_media_extract_sfmt_fmovls (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2586 sh5_media_insn_word insn = entire_insn;
2587 #define FLD(f) abuf->fields.sfmt_flds.f
2591 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2592 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2594 /* Record the fields for the semantic handler. */
2595 FLD (f_left) = f_left;
2596 FLD (f_dest) = f_dest;
2597 if (UNLIKELY(current_cpu->trace_extract_p))
2599 current_cpu->trace_stream
2600 << "0x" << hex << pc << dec << " (sfmt_fmovls)\t"
2601 << " f_left:0x" << hex << f_left << dec
2602 << " f_dest:0x" << hex << f_dest << dec
2606 /* Record the fields for profiling. */
2607 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2609 FLD (in_rm) = f_left;
2610 FLD (out_frf) = f_dest;
2616 sh5_media_extract_sfmt_fmovqd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2617 sh5_media_insn_word insn = entire_insn;
2618 #define FLD(f) abuf->fields.sfmt_fldd.f
2622 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2623 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2625 /* Record the fields for the semantic handler. */
2626 FLD (f_left) = f_left;
2627 FLD (f_dest) = f_dest;
2628 if (UNLIKELY(current_cpu->trace_extract_p))
2630 current_cpu->trace_stream
2631 << "0x" << hex << pc << dec << " (sfmt_fmovqd)\t"
2632 << " f_left:0x" << hex << f_left << dec
2633 << " f_dest:0x" << hex << f_dest << dec
2637 /* Record the fields for profiling. */
2638 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2640 FLD (in_rm) = f_left;
2641 FLD (out_drf) = f_dest;
2647 sh5_media_extract_sfmt_fmovsl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2648 sh5_media_insn_word insn = entire_insn;
2649 #define FLD(f) abuf->fields.sfmt_fmovsl.f
2655 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2656 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2657 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2658 f_left_right = f_left;
2660 /* Record the fields for the semantic handler. */
2661 FLD (f_left_right) = f_left_right;
2662 FLD (f_dest) = f_dest;
2663 if (UNLIKELY(current_cpu->trace_extract_p))
2665 current_cpu->trace_stream
2666 << "0x" << hex << pc << dec << " (sfmt_fmovsl)\t"
2667 << " f_left_right:0x" << hex << f_left_right << dec
2668 << " f_dest:0x" << hex << f_dest << dec
2672 /* Record the fields for profiling. */
2673 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2675 FLD (in_frgh) = f_left_right;
2676 FLD (out_rd) = f_dest;
2682 sh5_media_extract_sfmt_fputscr (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2683 sh5_media_insn_word insn = entire_insn;
2684 #define FLD(f) abuf->fields.sfmt_fmovsl.f
2689 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2690 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2691 f_left_right = f_left;
2693 /* Record the fields for the semantic handler. */
2694 FLD (f_left_right) = f_left_right;
2695 if (UNLIKELY(current_cpu->trace_extract_p))
2697 current_cpu->trace_stream
2698 << "0x" << hex << pc << dec << " (sfmt_fputscr)\t"
2699 << " f_left_right:0x" << hex << f_left_right << dec
2703 /* Record the fields for profiling. */
2704 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2706 FLD (in_frgh) = f_left_right;
2712 sh5_media_extract_sfmt_fstd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2713 sh5_media_insn_word insn = entire_insn;
2714 #define FLD(f) abuf->fields.sfmt_fstd.f
2719 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2720 f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
2721 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2723 /* Record the fields for the semantic handler. */
2724 FLD (f_disp10x8) = f_disp10x8;
2725 FLD (f_dest) = f_dest;
2726 FLD (f_left) = f_left;
2727 if (UNLIKELY(current_cpu->trace_extract_p))
2729 current_cpu->trace_stream
2730 << "0x" << hex << pc << dec << " (sfmt_fstd)\t"
2731 << " f_disp10x8:0x" << hex << f_disp10x8 << dec
2732 << " f_dest:0x" << hex << f_dest << dec
2733 << " f_left:0x" << hex << f_left << dec
2737 /* Record the fields for profiling. */
2738 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2740 FLD (in_drf) = f_dest;
2741 FLD (in_rm) = f_left;
2747 sh5_media_extract_sfmt_fsts (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2748 sh5_media_insn_word insn = entire_insn;
2749 #define FLD(f) abuf->fields.sfmt_fsts.f
2754 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2755 f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2));
2756 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2758 /* Record the fields for the semantic handler. */
2759 FLD (f_disp10x4) = f_disp10x4;
2760 FLD (f_dest) = f_dest;
2761 FLD (f_left) = f_left;
2762 if (UNLIKELY(current_cpu->trace_extract_p))
2764 current_cpu->trace_stream
2765 << "0x" << hex << pc << dec << " (sfmt_fsts)\t"
2766 << " f_disp10x4:0x" << hex << f_disp10x4 << dec
2767 << " f_dest:0x" << hex << f_dest << dec
2768 << " f_left:0x" << hex << f_left << dec
2772 /* Record the fields for profiling. */
2773 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2775 FLD (in_frf) = f_dest;
2776 FLD (in_rm) = f_left;
2782 sh5_media_extract_sfmt_fstxd (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2783 sh5_media_insn_word insn = entire_insn;
2784 #define FLD(f) abuf->fields.sfmt_fstxd.f
2789 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2790 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2791 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2793 /* Record the fields for the semantic handler. */
2794 FLD (f_dest) = f_dest;
2795 FLD (f_left) = f_left;
2796 FLD (f_right) = f_right;
2797 if (UNLIKELY(current_cpu->trace_extract_p))
2799 current_cpu->trace_stream
2800 << "0x" << hex << pc << dec << " (sfmt_fstxd)\t"
2801 << " f_dest:0x" << hex << f_dest << dec
2802 << " f_left:0x" << hex << f_left << dec
2803 << " f_right:0x" << hex << f_right << dec
2807 /* Record the fields for profiling. */
2808 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2810 FLD (in_drf) = f_dest;
2811 FLD (in_rm) = f_left;
2812 FLD (in_rn) = f_right;
2818 sh5_media_extract_sfmt_fstxs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2819 sh5_media_insn_word insn = entire_insn;
2820 #define FLD(f) abuf->fields.sfmt_fstxs.f
2825 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2826 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2827 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2829 /* Record the fields for the semantic handler. */
2830 FLD (f_dest) = f_dest;
2831 FLD (f_left) = f_left;
2832 FLD (f_right) = f_right;
2833 if (UNLIKELY(current_cpu->trace_extract_p))
2835 current_cpu->trace_stream
2836 << "0x" << hex << pc << dec << " (sfmt_fstxs)\t"
2837 << " f_dest:0x" << hex << f_dest << dec
2838 << " f_left:0x" << hex << f_left << dec
2839 << " f_right:0x" << hex << f_right << dec
2843 /* Record the fields for profiling. */
2844 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2846 FLD (in_frf) = f_dest;
2847 FLD (in_rm) = f_left;
2848 FLD (in_rn) = f_right;
2854 sh5_media_extract_sfmt_ftrvs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2855 sh5_media_insn_word insn = entire_insn;
2856 #define FLD(f) abuf->fields.sfmt_ftrvs.f
2861 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2862 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
2863 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2865 /* Record the fields for the semantic handler. */
2866 FLD (f_dest) = f_dest;
2867 FLD (f_left) = f_left;
2868 FLD (f_right) = f_right;
2869 if (UNLIKELY(current_cpu->trace_extract_p))
2871 current_cpu->trace_stream
2872 << "0x" << hex << pc << dec << " (sfmt_ftrvs)\t"
2873 << " f_dest:0x" << hex << f_dest << dec
2874 << " f_left:0x" << hex << f_left << dec
2875 << " f_right:0x" << hex << f_right << dec
2879 /* Record the fields for profiling. */
2880 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2882 FLD (in_fvf) = f_dest;
2883 FLD (in_fvh) = f_right;
2884 FLD (in_mtrxg) = f_left;
2885 FLD (out_fvf) = f_dest;
2886 FLD (out_fvh) = f_right;
2887 FLD (out_mtrxg) = f_left;
2893 sh5_media_extract_sfmt_getcfg (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2894 sh5_media_insn_word insn = entire_insn;
2895 #define FLD(f) abuf->fields.sfmt_getcfg.f
2900 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2901 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
2902 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2904 /* Record the fields for the semantic handler. */
2905 FLD (f_disp6) = f_disp6;
2906 FLD (f_left) = f_left;
2907 FLD (f_dest) = f_dest;
2908 if (UNLIKELY(current_cpu->trace_extract_p))
2910 current_cpu->trace_stream
2911 << "0x" << hex << pc << dec << " (sfmt_getcfg)\t"
2912 << " f_disp6:0x" << hex << f_disp6 << dec
2913 << " f_left:0x" << hex << f_left << dec
2914 << " f_dest:0x" << hex << f_dest << dec
2918 /* Record the fields for profiling. */
2919 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2921 FLD (in_rm) = f_left;
2922 FLD (out_rd) = f_dest;
2928 sh5_media_extract_sfmt_getcon (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2929 sh5_media_insn_word insn = entire_insn;
2930 #define FLD(f) abuf->fields.sfmt_xori.f
2934 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2935 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2937 /* Record the fields for the semantic handler. */
2938 FLD (f_left) = f_left;
2939 FLD (f_dest) = f_dest;
2940 if (UNLIKELY(current_cpu->trace_extract_p))
2942 current_cpu->trace_stream
2943 << "0x" << hex << pc << dec << " (sfmt_getcon)\t"
2944 << " f_left:0x" << hex << f_left << dec
2945 << " f_dest:0x" << hex << f_dest << dec
2949 /* Record the fields for profiling. */
2950 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2952 FLD (out_rd) = f_dest;
2958 sh5_media_extract_sfmt_gettr (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2959 sh5_media_insn_word insn = entire_insn;
2960 #define FLD(f) abuf->fields.sfmt_blink.f
2964 f_trb = EXTRACT_MSB0_UINT (insn, 32, 9, 3);
2965 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
2967 /* Record the fields for the semantic handler. */
2968 FLD (f_trb) = f_trb;
2969 FLD (f_dest) = f_dest;
2970 if (UNLIKELY(current_cpu->trace_extract_p))
2972 current_cpu->trace_stream
2973 << "0x" << hex << pc << dec << " (sfmt_gettr)\t"
2974 << " f_trb:0x" << hex << f_trb << dec
2975 << " f_dest:0x" << hex << f_dest << dec
2979 /* Record the fields for profiling. */
2980 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
2982 FLD (in_trb) = f_trb;
2983 FLD (out_rd) = f_dest;
2989 sh5_media_extract_sfmt_ldb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
2990 sh5_media_insn_word insn = entire_insn;
2991 #define FLD(f) abuf->fields.sfmt_addi.f
2996 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
2997 f_disp10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10);
2998 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3000 /* Record the fields for the semantic handler. */
3001 FLD (f_disp10) = f_disp10;
3002 FLD (f_left) = f_left;
3003 FLD (f_dest) = f_dest;
3004 if (UNLIKELY(current_cpu->trace_extract_p))
3006 current_cpu->trace_stream
3007 << "0x" << hex << pc << dec << " (sfmt_ldb)\t"
3008 << " f_disp10:0x" << hex << f_disp10 << dec
3009 << " f_left:0x" << hex << f_left << dec
3010 << " f_dest:0x" << hex << f_dest << dec
3014 /* Record the fields for profiling. */
3015 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3017 FLD (in_rm) = f_left;
3018 FLD (out_rd) = f_dest;
3024 sh5_media_extract_sfmt_ldl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3025 sh5_media_insn_word insn = entire_insn;
3026 #define FLD(f) abuf->fields.sfmt_ldl.f
3031 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3032 f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2));
3033 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3035 /* Record the fields for the semantic handler. */
3036 FLD (f_disp10x4) = f_disp10x4;
3037 FLD (f_left) = f_left;
3038 FLD (f_dest) = f_dest;
3039 if (UNLIKELY(current_cpu->trace_extract_p))
3041 current_cpu->trace_stream
3042 << "0x" << hex << pc << dec << " (sfmt_ldl)\t"
3043 << " f_disp10x4:0x" << hex << f_disp10x4 << dec
3044 << " f_left:0x" << hex << f_left << dec
3045 << " f_dest:0x" << hex << f_dest << dec
3049 /* Record the fields for profiling. */
3050 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3052 FLD (in_rm) = f_left;
3053 FLD (out_rd) = f_dest;
3059 sh5_media_extract_sfmt_ldq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3060 sh5_media_insn_word insn = entire_insn;
3061 #define FLD(f) abuf->fields.sfmt_ldq.f
3066 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3067 f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
3068 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3070 /* Record the fields for the semantic handler. */
3071 FLD (f_disp10x8) = f_disp10x8;
3072 FLD (f_left) = f_left;
3073 FLD (f_dest) = f_dest;
3074 if (UNLIKELY(current_cpu->trace_extract_p))
3076 current_cpu->trace_stream
3077 << "0x" << hex << pc << dec << " (sfmt_ldq)\t"
3078 << " f_disp10x8:0x" << hex << f_disp10x8 << dec
3079 << " f_left:0x" << hex << f_left << dec
3080 << " f_dest:0x" << hex << f_dest << dec
3084 /* Record the fields for profiling. */
3085 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3087 FLD (in_rm) = f_left;
3088 FLD (out_rd) = f_dest;
3094 sh5_media_extract_sfmt_lduw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3095 sh5_media_insn_word insn = entire_insn;
3096 #define FLD(f) abuf->fields.sfmt_lduw.f
3101 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3102 f_disp10x2 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (1));
3103 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3105 /* Record the fields for the semantic handler. */
3106 FLD (f_disp10x2) = f_disp10x2;
3107 FLD (f_left) = f_left;
3108 FLD (f_dest) = f_dest;
3109 if (UNLIKELY(current_cpu->trace_extract_p))
3111 current_cpu->trace_stream
3112 << "0x" << hex << pc << dec << " (sfmt_lduw)\t"
3113 << " f_disp10x2:0x" << hex << f_disp10x2 << dec
3114 << " f_left:0x" << hex << f_left << dec
3115 << " f_dest:0x" << hex << f_dest << dec
3119 /* Record the fields for profiling. */
3120 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3122 FLD (in_rm) = f_left;
3123 FLD (out_rd) = f_dest;
3129 sh5_media_extract_sfmt_ldhil (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3130 sh5_media_insn_word insn = entire_insn;
3131 #define FLD(f) abuf->fields.sfmt_getcfg.f
3136 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3137 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
3138 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3140 /* Record the fields for the semantic handler. */
3141 FLD (f_disp6) = f_disp6;
3142 FLD (f_left) = f_left;
3143 FLD (f_dest) = f_dest;
3144 if (UNLIKELY(current_cpu->trace_extract_p))
3146 current_cpu->trace_stream
3147 << "0x" << hex << pc << dec << " (sfmt_ldhil)\t"
3148 << " f_disp6:0x" << hex << f_disp6 << dec
3149 << " f_left:0x" << hex << f_left << dec
3150 << " f_dest:0x" << hex << f_dest << dec
3154 /* Record the fields for profiling. */
3155 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3157 FLD (in_rm) = f_left;
3158 FLD (out_rd) = f_dest;
3164 sh5_media_extract_sfmt_ldhiq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3165 sh5_media_insn_word insn = entire_insn;
3166 #define FLD(f) abuf->fields.sfmt_getcfg.f
3171 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3172 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
3173 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3175 /* Record the fields for the semantic handler. */
3176 FLD (f_disp6) = f_disp6;
3177 FLD (f_left) = f_left;
3178 FLD (f_dest) = f_dest;
3179 if (UNLIKELY(current_cpu->trace_extract_p))
3181 current_cpu->trace_stream
3182 << "0x" << hex << pc << dec << " (sfmt_ldhiq)\t"
3183 << " f_disp6:0x" << hex << f_disp6 << dec
3184 << " f_left:0x" << hex << f_left << dec
3185 << " f_dest:0x" << hex << f_dest << dec
3189 /* Record the fields for profiling. */
3190 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3192 FLD (in_rm) = f_left;
3193 FLD (out_rd) = f_dest;
3199 sh5_media_extract_sfmt_ldlol (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3200 sh5_media_insn_word insn = entire_insn;
3201 #define FLD(f) abuf->fields.sfmt_getcfg.f
3206 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3207 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
3208 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3210 /* Record the fields for the semantic handler. */
3211 FLD (f_disp6) = f_disp6;
3212 FLD (f_left) = f_left;
3213 FLD (f_dest) = f_dest;
3214 if (UNLIKELY(current_cpu->trace_extract_p))
3216 current_cpu->trace_stream
3217 << "0x" << hex << pc << dec << " (sfmt_ldlol)\t"
3218 << " f_disp6:0x" << hex << f_disp6 << dec
3219 << " f_left:0x" << hex << f_left << dec
3220 << " f_dest:0x" << hex << f_dest << dec
3224 /* Record the fields for profiling. */
3225 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3227 FLD (in_rm) = f_left;
3228 FLD (out_rd) = f_dest;
3234 sh5_media_extract_sfmt_ldloq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3235 sh5_media_insn_word insn = entire_insn;
3236 #define FLD(f) abuf->fields.sfmt_getcfg.f
3241 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3242 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
3243 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3245 /* Record the fields for the semantic handler. */
3246 FLD (f_disp6) = f_disp6;
3247 FLD (f_left) = f_left;
3248 FLD (f_dest) = f_dest;
3249 if (UNLIKELY(current_cpu->trace_extract_p))
3251 current_cpu->trace_stream
3252 << "0x" << hex << pc << dec << " (sfmt_ldloq)\t"
3253 << " f_disp6:0x" << hex << f_disp6 << dec
3254 << " f_left:0x" << hex << f_left << dec
3255 << " f_dest:0x" << hex << f_dest << dec
3259 /* Record the fields for profiling. */
3260 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3262 FLD (in_rm) = f_left;
3263 FLD (out_rd) = f_dest;
3269 sh5_media_extract_sfmt_ldxb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3270 sh5_media_insn_word insn = entire_insn;
3271 #define FLD(f) abuf->fields.sfmt_mcmv.f
3276 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3277 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3278 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3280 /* Record the fields for the semantic handler. */
3281 FLD (f_left) = f_left;
3282 FLD (f_right) = f_right;
3283 FLD (f_dest) = f_dest;
3284 if (UNLIKELY(current_cpu->trace_extract_p))
3286 current_cpu->trace_stream
3287 << "0x" << hex << pc << dec << " (sfmt_ldxb)\t"
3288 << " f_left:0x" << hex << f_left << dec
3289 << " f_right:0x" << hex << f_right << dec
3290 << " f_dest:0x" << hex << f_dest << dec
3294 /* Record the fields for profiling. */
3295 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3297 FLD (in_rm) = f_left;
3298 FLD (in_rn) = f_right;
3299 FLD (out_rd) = f_dest;
3305 sh5_media_extract_sfmt_ldxl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3306 sh5_media_insn_word insn = entire_insn;
3307 #define FLD(f) abuf->fields.sfmt_mcmv.f
3312 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3313 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3314 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3316 /* Record the fields for the semantic handler. */
3317 FLD (f_left) = f_left;
3318 FLD (f_right) = f_right;
3319 FLD (f_dest) = f_dest;
3320 if (UNLIKELY(current_cpu->trace_extract_p))
3322 current_cpu->trace_stream
3323 << "0x" << hex << pc << dec << " (sfmt_ldxl)\t"
3324 << " f_left:0x" << hex << f_left << dec
3325 << " f_right:0x" << hex << f_right << dec
3326 << " f_dest:0x" << hex << f_dest << dec
3330 /* Record the fields for profiling. */
3331 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3333 FLD (in_rm) = f_left;
3334 FLD (in_rn) = f_right;
3335 FLD (out_rd) = f_dest;
3341 sh5_media_extract_sfmt_ldxq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3342 sh5_media_insn_word insn = entire_insn;
3343 #define FLD(f) abuf->fields.sfmt_mcmv.f
3348 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3349 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3350 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3352 /* Record the fields for the semantic handler. */
3353 FLD (f_left) = f_left;
3354 FLD (f_right) = f_right;
3355 FLD (f_dest) = f_dest;
3356 if (UNLIKELY(current_cpu->trace_extract_p))
3358 current_cpu->trace_stream
3359 << "0x" << hex << pc << dec << " (sfmt_ldxq)\t"
3360 << " f_left:0x" << hex << f_left << dec
3361 << " f_right:0x" << hex << f_right << dec
3362 << " f_dest:0x" << hex << f_dest << dec
3366 /* Record the fields for profiling. */
3367 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3369 FLD (in_rm) = f_left;
3370 FLD (in_rn) = f_right;
3371 FLD (out_rd) = f_dest;
3377 sh5_media_extract_sfmt_ldxub (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3378 sh5_media_insn_word insn = entire_insn;
3379 #define FLD(f) abuf->fields.sfmt_mcmv.f
3384 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3385 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3386 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3388 /* Record the fields for the semantic handler. */
3389 FLD (f_left) = f_left;
3390 FLD (f_right) = f_right;
3391 FLD (f_dest) = f_dest;
3392 if (UNLIKELY(current_cpu->trace_extract_p))
3394 current_cpu->trace_stream
3395 << "0x" << hex << pc << dec << " (sfmt_ldxub)\t"
3396 << " f_left:0x" << hex << f_left << dec
3397 << " f_right:0x" << hex << f_right << dec
3398 << " f_dest:0x" << hex << f_dest << dec
3402 /* Record the fields for profiling. */
3403 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3405 FLD (in_rm) = f_left;
3406 FLD (in_rn) = f_right;
3407 FLD (out_rd) = f_dest;
3413 sh5_media_extract_sfmt_ldxuw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3414 sh5_media_insn_word insn = entire_insn;
3415 #define FLD(f) abuf->fields.sfmt_mcmv.f
3420 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3421 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3422 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3424 /* Record the fields for the semantic handler. */
3425 FLD (f_left) = f_left;
3426 FLD (f_right) = f_right;
3427 FLD (f_dest) = f_dest;
3428 if (UNLIKELY(current_cpu->trace_extract_p))
3430 current_cpu->trace_stream
3431 << "0x" << hex << pc << dec << " (sfmt_ldxuw)\t"
3432 << " f_left:0x" << hex << f_left << dec
3433 << " f_right:0x" << hex << f_right << dec
3434 << " f_dest:0x" << hex << f_dest << dec
3438 /* Record the fields for profiling. */
3439 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3441 FLD (in_rm) = f_left;
3442 FLD (in_rn) = f_right;
3443 FLD (out_rd) = f_dest;
3449 sh5_media_extract_sfmt_ldxw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3450 sh5_media_insn_word insn = entire_insn;
3451 #define FLD(f) abuf->fields.sfmt_mcmv.f
3456 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3457 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3458 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3460 /* Record the fields for the semantic handler. */
3461 FLD (f_left) = f_left;
3462 FLD (f_right) = f_right;
3463 FLD (f_dest) = f_dest;
3464 if (UNLIKELY(current_cpu->trace_extract_p))
3466 current_cpu->trace_stream
3467 << "0x" << hex << pc << dec << " (sfmt_ldxw)\t"
3468 << " f_left:0x" << hex << f_left << dec
3469 << " f_right:0x" << hex << f_right << dec
3470 << " f_dest:0x" << hex << f_dest << dec
3474 /* Record the fields for profiling. */
3475 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3477 FLD (in_rm) = f_left;
3478 FLD (in_rn) = f_right;
3479 FLD (out_rd) = f_dest;
3485 sh5_media_extract_sfmt_mcmv (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3486 sh5_media_insn_word insn = entire_insn;
3487 #define FLD(f) abuf->fields.sfmt_mcmv.f
3492 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3493 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3494 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3496 /* Record the fields for the semantic handler. */
3497 FLD (f_dest) = f_dest;
3498 FLD (f_left) = f_left;
3499 FLD (f_right) = f_right;
3500 if (UNLIKELY(current_cpu->trace_extract_p))
3502 current_cpu->trace_stream
3503 << "0x" << hex << pc << dec << " (sfmt_mcmv)\t"
3504 << " f_dest:0x" << hex << f_dest << dec
3505 << " f_left:0x" << hex << f_left << dec
3506 << " f_right:0x" << hex << f_right << dec
3510 /* Record the fields for profiling. */
3511 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3513 FLD (in_rd) = f_dest;
3514 FLD (in_rm) = f_left;
3515 FLD (in_rn) = f_right;
3516 FLD (out_rd) = f_dest;
3522 sh5_media_extract_sfmt_movi (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3523 sh5_media_insn_word insn = entire_insn;
3524 #define FLD(f) abuf->fields.sfmt_movi.f
3528 f_imm16 = EXTRACT_MSB0_SINT (insn, 32, 6, 16);
3529 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3531 /* Record the fields for the semantic handler. */
3532 FLD (f_imm16) = f_imm16;
3533 FLD (f_dest) = f_dest;
3534 if (UNLIKELY(current_cpu->trace_extract_p))
3536 current_cpu->trace_stream
3537 << "0x" << hex << pc << dec << " (sfmt_movi)\t"
3538 << " f_imm16:0x" << hex << f_imm16 << dec
3539 << " f_dest:0x" << hex << f_dest << dec
3543 /* Record the fields for profiling. */
3544 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3546 FLD (out_rd) = f_dest;
3552 sh5_media_extract_sfmt_nop (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3553 sh5_media_insn_word insn = entire_insn;
3554 #define FLD(f) abuf->fields.fmt_empty.f
3557 /* Record the fields for the semantic handler. */
3558 if (UNLIKELY(current_cpu->trace_extract_p))
3560 current_cpu->trace_stream
3561 << "0x" << hex << pc << dec << " (sfmt_nop)\t"
3569 sh5_media_extract_sfmt_ori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3570 sh5_media_insn_word insn = entire_insn;
3571 #define FLD(f) abuf->fields.sfmt_ori.f
3576 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3577 f_imm10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10);
3578 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3580 /* Record the fields for the semantic handler. */
3581 FLD (f_imm10) = f_imm10;
3582 FLD (f_left) = f_left;
3583 FLD (f_dest) = f_dest;
3584 if (UNLIKELY(current_cpu->trace_extract_p))
3586 current_cpu->trace_stream
3587 << "0x" << hex << pc << dec << " (sfmt_ori)\t"
3588 << " f_imm10:0x" << hex << f_imm10 << dec
3589 << " f_left:0x" << hex << f_left << dec
3590 << " f_dest:0x" << hex << f_dest << dec
3594 /* Record the fields for profiling. */
3595 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3597 FLD (in_rm) = f_left;
3598 FLD (out_rd) = f_dest;
3604 sh5_media_extract_sfmt_pta (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3605 sh5_media_insn_word insn = entire_insn;
3606 #define FLD(f) abuf->fields.sfmt_pta.f
3611 f_disp16 = ((((EXTRACT_MSB0_SINT (insn, 32, 6, 16)) << (2))) + (pc));
3612 f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1);
3613 f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
3615 /* Record the fields for the semantic handler. */
3616 FLD (f_disp16) = f_disp16;
3617 FLD (f_tra) = f_tra;
3618 FLD (f_likely) = f_likely;
3619 if (UNLIKELY(current_cpu->trace_extract_p))
3621 current_cpu->trace_stream
3622 << "0x" << hex << pc << dec << " (sfmt_pta)\t"
3623 << " f_disp16:0x" << hex << f_disp16 << dec
3624 << " f_tra:0x" << hex << f_tra << dec
3625 << " f_likely:0x" << hex << f_likely << dec
3629 /* Record the fields for profiling. */
3630 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3632 FLD (out_tra) = f_tra;
3638 sh5_media_extract_sfmt_ptabs (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3639 sh5_media_insn_word insn = entire_insn;
3640 #define FLD(f) abuf->fields.sfmt_ptabs.f
3645 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3646 f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1);
3647 f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
3649 /* Record the fields for the semantic handler. */
3650 FLD (f_tra) = f_tra;
3651 FLD (f_likely) = f_likely;
3652 FLD (f_right) = f_right;
3653 if (UNLIKELY(current_cpu->trace_extract_p))
3655 current_cpu->trace_stream
3656 << "0x" << hex << pc << dec << " (sfmt_ptabs)\t"
3657 << " f_tra:0x" << hex << f_tra << dec
3658 << " f_likely:0x" << hex << f_likely << dec
3659 << " f_right:0x" << hex << f_right << dec
3663 /* Record the fields for profiling. */
3664 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3666 FLD (in_rn) = f_right;
3667 FLD (out_tra) = f_tra;
3673 sh5_media_extract_sfmt_ptrel (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3674 sh5_media_insn_word insn = entire_insn;
3675 #define FLD(f) abuf->fields.sfmt_ptabs.f
3680 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3681 f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1);
3682 f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
3684 /* Record the fields for the semantic handler. */
3685 FLD (f_tra) = f_tra;
3686 FLD (f_likely) = f_likely;
3687 FLD (f_right) = f_right;
3688 if (UNLIKELY(current_cpu->trace_extract_p))
3690 current_cpu->trace_stream
3691 << "0x" << hex << pc << dec << " (sfmt_ptrel)\t"
3692 << " f_tra:0x" << hex << f_tra << dec
3693 << " f_likely:0x" << hex << f_likely << dec
3694 << " f_right:0x" << hex << f_right << dec
3698 /* Record the fields for profiling. */
3699 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3701 FLD (in_rn) = f_right;
3702 FLD (out_tra) = f_tra;
3708 sh5_media_extract_sfmt_putcfg (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3709 sh5_media_insn_word insn = entire_insn;
3710 #define FLD(f) abuf->fields.sfmt_putcfg.f
3715 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3716 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
3717 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3719 /* Record the fields for the semantic handler. */
3720 FLD (f_disp6) = f_disp6;
3721 FLD (f_dest) = f_dest;
3722 FLD (f_left) = f_left;
3723 if (UNLIKELY(current_cpu->trace_extract_p))
3725 current_cpu->trace_stream
3726 << "0x" << hex << pc << dec << " (sfmt_putcfg)\t"
3727 << " f_disp6:0x" << hex << f_disp6 << dec
3728 << " f_dest:0x" << hex << f_dest << dec
3729 << " f_left:0x" << hex << f_left << dec
3733 /* Record the fields for profiling. */
3734 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3736 FLD (in_rd) = f_dest;
3737 FLD (in_rm) = f_left;
3743 sh5_media_extract_sfmt_putcon (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3744 sh5_media_insn_word insn = entire_insn;
3745 #define FLD(f) abuf->fields.sfmt_xori.f
3749 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3750 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3752 /* Record the fields for the semantic handler. */
3753 FLD (f_left) = f_left;
3754 FLD (f_dest) = f_dest;
3755 if (UNLIKELY(current_cpu->trace_extract_p))
3757 current_cpu->trace_stream
3758 << "0x" << hex << pc << dec << " (sfmt_putcon)\t"
3759 << " f_left:0x" << hex << f_left << dec
3760 << " f_dest:0x" << hex << f_dest << dec
3764 /* Record the fields for profiling. */
3765 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3767 FLD (in_rm) = f_left;
3773 sh5_media_extract_sfmt_shari (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3774 sh5_media_insn_word insn = entire_insn;
3775 #define FLD(f) abuf->fields.sfmt_shari.f
3780 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3781 f_uimm6 = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
3782 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3784 /* Record the fields for the semantic handler. */
3785 FLD (f_left) = f_left;
3786 FLD (f_uimm6) = f_uimm6;
3787 FLD (f_dest) = f_dest;
3788 if (UNLIKELY(current_cpu->trace_extract_p))
3790 current_cpu->trace_stream
3791 << "0x" << hex << pc << dec << " (sfmt_shari)\t"
3792 << " f_left:0x" << hex << f_left << dec
3793 << " f_uimm6:0x" << hex << f_uimm6 << dec
3794 << " f_dest:0x" << hex << f_dest << dec
3798 /* Record the fields for profiling. */
3799 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3801 FLD (in_rm) = f_left;
3802 FLD (out_rd) = f_dest;
3808 sh5_media_extract_sfmt_shori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3809 sh5_media_insn_word insn = entire_insn;
3810 #define FLD(f) abuf->fields.sfmt_shori.f
3814 f_uimm16 = EXTRACT_MSB0_UINT (insn, 32, 6, 16);
3815 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3817 /* Record the fields for the semantic handler. */
3818 FLD (f_dest) = f_dest;
3819 FLD (f_uimm16) = f_uimm16;
3820 if (UNLIKELY(current_cpu->trace_extract_p))
3822 current_cpu->trace_stream
3823 << "0x" << hex << pc << dec << " (sfmt_shori)\t"
3824 << " f_dest:0x" << hex << f_dest << dec
3825 << " f_uimm16:0x" << hex << f_uimm16 << dec
3829 /* Record the fields for profiling. */
3830 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3832 FLD (in_rd) = f_dest;
3833 FLD (out_rd) = f_dest;
3839 sh5_media_extract_sfmt_stb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3840 sh5_media_insn_word insn = entire_insn;
3841 #define FLD(f) abuf->fields.sfmt_stb.f
3846 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3847 f_disp10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10);
3848 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3850 /* Record the fields for the semantic handler. */
3851 FLD (f_disp10) = f_disp10;
3852 FLD (f_dest) = f_dest;
3853 FLD (f_left) = f_left;
3854 if (UNLIKELY(current_cpu->trace_extract_p))
3856 current_cpu->trace_stream
3857 << "0x" << hex << pc << dec << " (sfmt_stb)\t"
3858 << " f_disp10:0x" << hex << f_disp10 << dec
3859 << " f_dest:0x" << hex << f_dest << dec
3860 << " f_left:0x" << hex << f_left << dec
3864 /* Record the fields for profiling. */
3865 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3867 FLD (in_rd) = f_dest;
3868 FLD (in_rm) = f_left;
3874 sh5_media_extract_sfmt_stl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3875 sh5_media_insn_word insn = entire_insn;
3876 #define FLD(f) abuf->fields.sfmt_stl.f
3881 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3882 f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2));
3883 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3885 /* Record the fields for the semantic handler. */
3886 FLD (f_disp10x4) = f_disp10x4;
3887 FLD (f_dest) = f_dest;
3888 FLD (f_left) = f_left;
3889 if (UNLIKELY(current_cpu->trace_extract_p))
3891 current_cpu->trace_stream
3892 << "0x" << hex << pc << dec << " (sfmt_stl)\t"
3893 << " f_disp10x4:0x" << hex << f_disp10x4 << dec
3894 << " f_dest:0x" << hex << f_dest << dec
3895 << " f_left:0x" << hex << f_left << dec
3899 /* Record the fields for profiling. */
3900 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3902 FLD (in_rd) = f_dest;
3903 FLD (in_rm) = f_left;
3909 sh5_media_extract_sfmt_stq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3910 sh5_media_insn_word insn = entire_insn;
3911 #define FLD(f) abuf->fields.sfmt_stq.f
3916 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3917 f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
3918 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3920 /* Record the fields for the semantic handler. */
3921 FLD (f_disp10x8) = f_disp10x8;
3922 FLD (f_dest) = f_dest;
3923 FLD (f_left) = f_left;
3924 if (UNLIKELY(current_cpu->trace_extract_p))
3926 current_cpu->trace_stream
3927 << "0x" << hex << pc << dec << " (sfmt_stq)\t"
3928 << " f_disp10x8:0x" << hex << f_disp10x8 << dec
3929 << " f_dest:0x" << hex << f_dest << dec
3930 << " f_left:0x" << hex << f_left << dec
3934 /* Record the fields for profiling. */
3935 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3937 FLD (in_rd) = f_dest;
3938 FLD (in_rm) = f_left;
3944 sh5_media_extract_sfmt_stw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3945 sh5_media_insn_word insn = entire_insn;
3946 #define FLD(f) abuf->fields.sfmt_stw.f
3951 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3952 f_disp10x2 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (1));
3953 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3955 /* Record the fields for the semantic handler. */
3956 FLD (f_disp10x2) = f_disp10x2;
3957 FLD (f_dest) = f_dest;
3958 FLD (f_left) = f_left;
3959 if (UNLIKELY(current_cpu->trace_extract_p))
3961 current_cpu->trace_stream
3962 << "0x" << hex << pc << dec << " (sfmt_stw)\t"
3963 << " f_disp10x2:0x" << hex << f_disp10x2 << dec
3964 << " f_dest:0x" << hex << f_dest << dec
3965 << " f_left:0x" << hex << f_left << dec
3969 /* Record the fields for profiling. */
3970 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
3972 FLD (in_rd) = f_dest;
3973 FLD (in_rm) = f_left;
3979 sh5_media_extract_sfmt_sthil (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
3980 sh5_media_insn_word insn = entire_insn;
3981 #define FLD(f) abuf->fields.sfmt_putcfg.f
3986 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
3987 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
3988 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
3990 /* Record the fields for the semantic handler. */
3991 FLD (f_disp6) = f_disp6;
3992 FLD (f_dest) = f_dest;
3993 FLD (f_left) = f_left;
3994 if (UNLIKELY(current_cpu->trace_extract_p))
3996 current_cpu->trace_stream
3997 << "0x" << hex << pc << dec << " (sfmt_sthil)\t"
3998 << " f_disp6:0x" << hex << f_disp6 << dec
3999 << " f_dest:0x" << hex << f_dest << dec
4000 << " f_left:0x" << hex << f_left << dec
4004 /* Record the fields for profiling. */
4005 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4007 FLD (in_rd) = f_dest;
4008 FLD (in_rm) = f_left;
4014 sh5_media_extract_sfmt_sthiq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4015 sh5_media_insn_word insn = entire_insn;
4016 #define FLD(f) abuf->fields.sfmt_putcfg.f
4021 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4022 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
4023 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4025 /* Record the fields for the semantic handler. */
4026 FLD (f_disp6) = f_disp6;
4027 FLD (f_dest) = f_dest;
4028 FLD (f_left) = f_left;
4029 if (UNLIKELY(current_cpu->trace_extract_p))
4031 current_cpu->trace_stream
4032 << "0x" << hex << pc << dec << " (sfmt_sthiq)\t"
4033 << " f_disp6:0x" << hex << f_disp6 << dec
4034 << " f_dest:0x" << hex << f_dest << dec
4035 << " f_left:0x" << hex << f_left << dec
4039 /* Record the fields for profiling. */
4040 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4042 FLD (in_rd) = f_dest;
4043 FLD (in_rm) = f_left;
4049 sh5_media_extract_sfmt_stlol (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4050 sh5_media_insn_word insn = entire_insn;
4051 #define FLD(f) abuf->fields.sfmt_putcfg.f
4056 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4057 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
4058 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4060 /* Record the fields for the semantic handler. */
4061 FLD (f_disp6) = f_disp6;
4062 FLD (f_dest) = f_dest;
4063 FLD (f_left) = f_left;
4064 if (UNLIKELY(current_cpu->trace_extract_p))
4066 current_cpu->trace_stream
4067 << "0x" << hex << pc << dec << " (sfmt_stlol)\t"
4068 << " f_disp6:0x" << hex << f_disp6 << dec
4069 << " f_dest:0x" << hex << f_dest << dec
4070 << " f_left:0x" << hex << f_left << dec
4074 /* Record the fields for profiling. */
4075 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4077 FLD (in_rd) = f_dest;
4078 FLD (in_rm) = f_left;
4084 sh5_media_extract_sfmt_stloq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4085 sh5_media_insn_word insn = entire_insn;
4086 #define FLD(f) abuf->fields.sfmt_putcfg.f
4091 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4092 f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
4093 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4095 /* Record the fields for the semantic handler. */
4096 FLD (f_disp6) = f_disp6;
4097 FLD (f_dest) = f_dest;
4098 FLD (f_left) = f_left;
4099 if (UNLIKELY(current_cpu->trace_extract_p))
4101 current_cpu->trace_stream
4102 << "0x" << hex << pc << dec << " (sfmt_stloq)\t"
4103 << " f_disp6:0x" << hex << f_disp6 << dec
4104 << " f_dest:0x" << hex << f_dest << dec
4105 << " f_left:0x" << hex << f_left << dec
4109 /* Record the fields for profiling. */
4110 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4112 FLD (in_rd) = f_dest;
4113 FLD (in_rm) = f_left;
4119 sh5_media_extract_sfmt_stxb (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4120 sh5_media_insn_word insn = entire_insn;
4121 #define FLD(f) abuf->fields.sfmt_mcmv.f
4126 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4127 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
4128 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4130 /* Record the fields for the semantic handler. */
4131 FLD (f_dest) = f_dest;
4132 FLD (f_left) = f_left;
4133 FLD (f_right) = f_right;
4134 if (UNLIKELY(current_cpu->trace_extract_p))
4136 current_cpu->trace_stream
4137 << "0x" << hex << pc << dec << " (sfmt_stxb)\t"
4138 << " f_dest:0x" << hex << f_dest << dec
4139 << " f_left:0x" << hex << f_left << dec
4140 << " f_right:0x" << hex << f_right << dec
4144 /* Record the fields for profiling. */
4145 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4147 FLD (in_rd) = f_dest;
4148 FLD (in_rm) = f_left;
4149 FLD (in_rn) = f_right;
4155 sh5_media_extract_sfmt_stxl (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4156 sh5_media_insn_word insn = entire_insn;
4157 #define FLD(f) abuf->fields.sfmt_mcmv.f
4162 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4163 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
4164 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4166 /* Record the fields for the semantic handler. */
4167 FLD (f_dest) = f_dest;
4168 FLD (f_left) = f_left;
4169 FLD (f_right) = f_right;
4170 if (UNLIKELY(current_cpu->trace_extract_p))
4172 current_cpu->trace_stream
4173 << "0x" << hex << pc << dec << " (sfmt_stxl)\t"
4174 << " f_dest:0x" << hex << f_dest << dec
4175 << " f_left:0x" << hex << f_left << dec
4176 << " f_right:0x" << hex << f_right << dec
4180 /* Record the fields for profiling. */
4181 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4183 FLD (in_rd) = f_dest;
4184 FLD (in_rm) = f_left;
4185 FLD (in_rn) = f_right;
4191 sh5_media_extract_sfmt_stxq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4192 sh5_media_insn_word insn = entire_insn;
4193 #define FLD(f) abuf->fields.sfmt_mcmv.f
4198 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4199 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
4200 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4202 /* Record the fields for the semantic handler. */
4203 FLD (f_dest) = f_dest;
4204 FLD (f_left) = f_left;
4205 FLD (f_right) = f_right;
4206 if (UNLIKELY(current_cpu->trace_extract_p))
4208 current_cpu->trace_stream
4209 << "0x" << hex << pc << dec << " (sfmt_stxq)\t"
4210 << " f_dest:0x" << hex << f_dest << dec
4211 << " f_left:0x" << hex << f_left << dec
4212 << " f_right:0x" << hex << f_right << dec
4216 /* Record the fields for profiling. */
4217 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4219 FLD (in_rd) = f_dest;
4220 FLD (in_rm) = f_left;
4221 FLD (in_rn) = f_right;
4227 sh5_media_extract_sfmt_stxw (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4228 sh5_media_insn_word insn = entire_insn;
4229 #define FLD(f) abuf->fields.sfmt_mcmv.f
4234 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4235 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
4236 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4238 /* Record the fields for the semantic handler. */
4239 FLD (f_dest) = f_dest;
4240 FLD (f_left) = f_left;
4241 FLD (f_right) = f_right;
4242 if (UNLIKELY(current_cpu->trace_extract_p))
4244 current_cpu->trace_stream
4245 << "0x" << hex << pc << dec << " (sfmt_stxw)\t"
4246 << " f_dest:0x" << hex << f_dest << dec
4247 << " f_left:0x" << hex << f_left << dec
4248 << " f_right:0x" << hex << f_right << dec
4252 /* Record the fields for profiling. */
4253 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4255 FLD (in_rd) = f_dest;
4256 FLD (in_rm) = f_left;
4257 FLD (in_rn) = f_right;
4263 sh5_media_extract_sfmt_swapq (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4264 sh5_media_insn_word insn = entire_insn;
4265 #define FLD(f) abuf->fields.sfmt_mcmv.f
4270 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4271 f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
4272 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4274 /* Record the fields for the semantic handler. */
4275 FLD (f_dest) = f_dest;
4276 FLD (f_left) = f_left;
4277 FLD (f_right) = f_right;
4278 if (UNLIKELY(current_cpu->trace_extract_p))
4280 current_cpu->trace_stream
4281 << "0x" << hex << pc << dec << " (sfmt_swapq)\t"
4282 << " f_dest:0x" << hex << f_dest << dec
4283 << " f_left:0x" << hex << f_left << dec
4284 << " f_right:0x" << hex << f_right << dec
4288 /* Record the fields for profiling. */
4289 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4291 FLD (in_rd) = f_dest;
4292 FLD (in_rm) = f_left;
4293 FLD (in_rn) = f_right;
4294 FLD (out_rd) = f_dest;
4300 sh5_media_extract_sfmt_trapa (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4301 sh5_media_insn_word insn = entire_insn;
4302 #define FLD(f) abuf->fields.sfmt_alloco.f
4305 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4307 /* Record the fields for the semantic handler. */
4308 FLD (f_left) = f_left;
4309 if (UNLIKELY(current_cpu->trace_extract_p))
4311 current_cpu->trace_stream
4312 << "0x" << hex << pc << dec << " (sfmt_trapa)\t"
4313 << " f_left:0x" << hex << f_left << dec
4317 /* Record the fields for profiling. */
4318 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4320 FLD (in_rm) = f_left;
4326 sh5_media_extract_sfmt_xori (sh5_media_scache* abuf, sh5_cpu* current_cpu, PCADDR pc, sh5_media_insn_word base_insn, sh5_media_insn_word entire_insn){
4327 sh5_media_insn_word insn = entire_insn;
4328 #define FLD(f) abuf->fields.sfmt_xori.f
4333 f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
4334 f_imm6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
4335 f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
4337 /* Record the fields for the semantic handler. */
4338 FLD (f_imm6) = f_imm6;
4339 FLD (f_left) = f_left;
4340 FLD (f_dest) = f_dest;
4341 if (UNLIKELY(current_cpu->trace_extract_p))
4343 current_cpu->trace_stream
4344 << "0x" << hex << pc << dec << " (sfmt_xori)\t"
4345 << " f_imm6:0x" << hex << f_imm6 << dec
4346 << " f_left:0x" << hex << f_left << dec
4347 << " f_dest:0x" << hex << f_dest << dec
4351 /* Record the fields for profiling. */
4352 if (UNLIKELY (current_cpu->trace_counter_p || current_cpu->final_insn_count_p))
4354 FLD (in_rm) = f_left;
4355 FLD (out_rd) = f_dest;