1 /* Simulator instruction decoder for crisv10f.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2005 Free Software Foundation, Inc.
7 This file is part of the GNU simulators.
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2, or (at your option)
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License along
20 with this program; if not, write to the Free Software Foundation, Inc.,
21 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
25 #define WANT_CPU crisv10f
26 #define WANT_CPU_CRISV10F
29 #include "sim-assert.h"
32 /* The instruction descriptor array.
33 This is computed at runtime. Space for it is not malloc'd to save a
34 teensy bit of cpu in the decoder. Moving it to malloc space is trivial
35 but won't be done until necessary (we don't currently support the runtime
36 addition of instructions nor an SMP machine with different cpus). */
37 static IDESC crisv10f_insn_data[CRISV10F_INSN__MAX];
39 /* Commas between elements are contained in the macros.
40 Some of these are conditionally compiled out. */
42 static const struct insn_sem crisv10f_insn_sem[] =
44 { VIRTUAL_INSN_X_INVALID, CRISV10F_INSN_X_INVALID, CRISV10F_SFMT_EMPTY },
45 { VIRTUAL_INSN_X_AFTER, CRISV10F_INSN_X_AFTER, CRISV10F_SFMT_EMPTY },
46 { VIRTUAL_INSN_X_BEFORE, CRISV10F_INSN_X_BEFORE, CRISV10F_SFMT_EMPTY },
47 { VIRTUAL_INSN_X_CTI_CHAIN, CRISV10F_INSN_X_CTI_CHAIN, CRISV10F_SFMT_EMPTY },
48 { VIRTUAL_INSN_X_CHAIN, CRISV10F_INSN_X_CHAIN, CRISV10F_SFMT_EMPTY },
49 { VIRTUAL_INSN_X_BEGIN, CRISV10F_INSN_X_BEGIN, CRISV10F_SFMT_EMPTY },
50 { CRIS_INSN_NOP, CRISV10F_INSN_NOP, CRISV10F_SFMT_NOP },
51 { CRIS_INSN_MOVE_B_R, CRISV10F_INSN_MOVE_B_R, CRISV10F_SFMT_MOVE_B_R },
52 { CRIS_INSN_MOVE_W_R, CRISV10F_INSN_MOVE_W_R, CRISV10F_SFMT_MOVE_B_R },
53 { CRIS_INSN_MOVE_D_R, CRISV10F_INSN_MOVE_D_R, CRISV10F_SFMT_MOVE_D_R },
54 { CRIS_INSN_MOVEPCR, CRISV10F_INSN_MOVEPCR, CRISV10F_SFMT_MOVEPCR },
55 { CRIS_INSN_MOVEQ, CRISV10F_INSN_MOVEQ, CRISV10F_SFMT_MOVEQ },
56 { CRIS_INSN_MOVS_B_R, CRISV10F_INSN_MOVS_B_R, CRISV10F_SFMT_MOVS_B_R },
57 { CRIS_INSN_MOVS_W_R, CRISV10F_INSN_MOVS_W_R, CRISV10F_SFMT_MOVS_B_R },
58 { CRIS_INSN_MOVU_B_R, CRISV10F_INSN_MOVU_B_R, CRISV10F_SFMT_MOVS_B_R },
59 { CRIS_INSN_MOVU_W_R, CRISV10F_INSN_MOVU_W_R, CRISV10F_SFMT_MOVS_B_R },
60 { CRIS_INSN_MOVECBR, CRISV10F_INSN_MOVECBR, CRISV10F_SFMT_MOVECBR },
61 { CRIS_INSN_MOVECWR, CRISV10F_INSN_MOVECWR, CRISV10F_SFMT_MOVECWR },
62 { CRIS_INSN_MOVECDR, CRISV10F_INSN_MOVECDR, CRISV10F_SFMT_MOVECDR },
63 { CRIS_INSN_MOVSCBR, CRISV10F_INSN_MOVSCBR, CRISV10F_SFMT_MOVSCBR },
64 { CRIS_INSN_MOVSCWR, CRISV10F_INSN_MOVSCWR, CRISV10F_SFMT_MOVSCWR },
65 { CRIS_INSN_MOVUCBR, CRISV10F_INSN_MOVUCBR, CRISV10F_SFMT_MOVUCBR },
66 { CRIS_INSN_MOVUCWR, CRISV10F_INSN_MOVUCWR, CRISV10F_SFMT_MOVUCWR },
67 { CRIS_INSN_ADDQ, CRISV10F_INSN_ADDQ, CRISV10F_SFMT_ADDQ },
68 { CRIS_INSN_SUBQ, CRISV10F_INSN_SUBQ, CRISV10F_SFMT_ADDQ },
69 { CRIS_INSN_CMP_R_B_R, CRISV10F_INSN_CMP_R_B_R, CRISV10F_SFMT_CMP_R_B_R },
70 { CRIS_INSN_CMP_R_W_R, CRISV10F_INSN_CMP_R_W_R, CRISV10F_SFMT_CMP_R_B_R },
71 { CRIS_INSN_CMP_R_D_R, CRISV10F_INSN_CMP_R_D_R, CRISV10F_SFMT_CMP_R_B_R },
72 { CRIS_INSN_CMP_M_B_M, CRISV10F_INSN_CMP_M_B_M, CRISV10F_SFMT_CMP_M_B_M },
73 { CRIS_INSN_CMP_M_W_M, CRISV10F_INSN_CMP_M_W_M, CRISV10F_SFMT_CMP_M_W_M },
74 { CRIS_INSN_CMP_M_D_M, CRISV10F_INSN_CMP_M_D_M, CRISV10F_SFMT_CMP_M_D_M },
75 { CRIS_INSN_CMPCBR, CRISV10F_INSN_CMPCBR, CRISV10F_SFMT_CMPCBR },
76 { CRIS_INSN_CMPCWR, CRISV10F_INSN_CMPCWR, CRISV10F_SFMT_CMPCWR },
77 { CRIS_INSN_CMPCDR, CRISV10F_INSN_CMPCDR, CRISV10F_SFMT_CMPCDR },
78 { CRIS_INSN_CMPQ, CRISV10F_INSN_CMPQ, CRISV10F_SFMT_CMPQ },
79 { CRIS_INSN_CMPS_M_B_M, CRISV10F_INSN_CMPS_M_B_M, CRISV10F_SFMT_CMP_M_B_M },
80 { CRIS_INSN_CMPS_M_W_M, CRISV10F_INSN_CMPS_M_W_M, CRISV10F_SFMT_CMP_M_W_M },
81 { CRIS_INSN_CMPSCBR, CRISV10F_INSN_CMPSCBR, CRISV10F_SFMT_CMPCBR },
82 { CRIS_INSN_CMPSCWR, CRISV10F_INSN_CMPSCWR, CRISV10F_SFMT_CMPCWR },
83 { CRIS_INSN_CMPU_M_B_M, CRISV10F_INSN_CMPU_M_B_M, CRISV10F_SFMT_CMP_M_B_M },
84 { CRIS_INSN_CMPU_M_W_M, CRISV10F_INSN_CMPU_M_W_M, CRISV10F_SFMT_CMP_M_W_M },
85 { CRIS_INSN_CMPUCBR, CRISV10F_INSN_CMPUCBR, CRISV10F_SFMT_CMPUCBR },
86 { CRIS_INSN_CMPUCWR, CRISV10F_INSN_CMPUCWR, CRISV10F_SFMT_CMPUCWR },
87 { CRIS_INSN_MOVE_M_B_M, CRISV10F_INSN_MOVE_M_B_M, CRISV10F_SFMT_MOVE_M_B_M },
88 { CRIS_INSN_MOVE_M_W_M, CRISV10F_INSN_MOVE_M_W_M, CRISV10F_SFMT_MOVE_M_W_M },
89 { CRIS_INSN_MOVE_M_D_M, CRISV10F_INSN_MOVE_M_D_M, CRISV10F_SFMT_MOVE_M_D_M },
90 { CRIS_INSN_MOVS_M_B_M, CRISV10F_INSN_MOVS_M_B_M, CRISV10F_SFMT_MOVS_M_B_M },
91 { CRIS_INSN_MOVS_M_W_M, CRISV10F_INSN_MOVS_M_W_M, CRISV10F_SFMT_MOVS_M_W_M },
92 { CRIS_INSN_MOVU_M_B_M, CRISV10F_INSN_MOVU_M_B_M, CRISV10F_SFMT_MOVS_M_B_M },
93 { CRIS_INSN_MOVU_M_W_M, CRISV10F_INSN_MOVU_M_W_M, CRISV10F_SFMT_MOVS_M_W_M },
94 { CRIS_INSN_MOVE_R_SPRV10, CRISV10F_INSN_MOVE_R_SPRV10, CRISV10F_SFMT_MOVE_R_SPRV10 },
95 { CRIS_INSN_MOVE_SPR_RV10, CRISV10F_INSN_MOVE_SPR_RV10, CRISV10F_SFMT_MOVE_SPR_RV10 },
96 { CRIS_INSN_RET_TYPE, CRISV10F_INSN_RET_TYPE, CRISV10F_SFMT_RET_TYPE },
97 { CRIS_INSN_MOVE_M_SPRV10, CRISV10F_INSN_MOVE_M_SPRV10, CRISV10F_SFMT_MOVE_M_SPRV10 },
98 { CRIS_INSN_MOVE_C_SPRV10_P0, CRISV10F_INSN_MOVE_C_SPRV10_P0, CRISV10F_SFMT_MOVE_C_SPRV10_P0 },
99 { CRIS_INSN_MOVE_C_SPRV10_P1, CRISV10F_INSN_MOVE_C_SPRV10_P1, CRISV10F_SFMT_MOVE_C_SPRV10_P0 },
100 { CRIS_INSN_MOVE_C_SPRV10_P4, CRISV10F_INSN_MOVE_C_SPRV10_P4, CRISV10F_SFMT_MOVE_C_SPRV10_P4 },
101 { CRIS_INSN_MOVE_C_SPRV10_P5, CRISV10F_INSN_MOVE_C_SPRV10_P5, CRISV10F_SFMT_MOVE_C_SPRV10_P4 },
102 { CRIS_INSN_MOVE_C_SPRV10_P8, CRISV10F_INSN_MOVE_C_SPRV10_P8, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
103 { CRIS_INSN_MOVE_C_SPRV10_P9, CRISV10F_INSN_MOVE_C_SPRV10_P9, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
104 { CRIS_INSN_MOVE_C_SPRV10_P10, CRISV10F_INSN_MOVE_C_SPRV10_P10, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
105 { CRIS_INSN_MOVE_C_SPRV10_P11, CRISV10F_INSN_MOVE_C_SPRV10_P11, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
106 { CRIS_INSN_MOVE_C_SPRV10_P12, CRISV10F_INSN_MOVE_C_SPRV10_P12, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
107 { CRIS_INSN_MOVE_C_SPRV10_P13, CRISV10F_INSN_MOVE_C_SPRV10_P13, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
108 { CRIS_INSN_MOVE_C_SPRV10_P7, CRISV10F_INSN_MOVE_C_SPRV10_P7, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
109 { CRIS_INSN_MOVE_C_SPRV10_P14, CRISV10F_INSN_MOVE_C_SPRV10_P14, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
110 { CRIS_INSN_MOVE_C_SPRV10_P15, CRISV10F_INSN_MOVE_C_SPRV10_P15, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
111 { CRIS_INSN_MOVE_SPR_MV10, CRISV10F_INSN_MOVE_SPR_MV10, CRISV10F_SFMT_MOVE_SPR_MV10 },
112 { CRIS_INSN_SBFS, CRISV10F_INSN_SBFS, CRISV10F_SFMT_SBFS },
113 { CRIS_INSN_MOVEM_R_M, CRISV10F_INSN_MOVEM_R_M, CRISV10F_SFMT_MOVEM_R_M },
114 { CRIS_INSN_MOVEM_M_R, CRISV10F_INSN_MOVEM_M_R, CRISV10F_SFMT_MOVEM_M_R },
115 { CRIS_INSN_MOVEM_M_PC, CRISV10F_INSN_MOVEM_M_PC, CRISV10F_SFMT_MOVEM_M_PC },
116 { CRIS_INSN_ADD_B_R, CRISV10F_INSN_ADD_B_R, CRISV10F_SFMT_ADD_B_R },
117 { CRIS_INSN_ADD_W_R, CRISV10F_INSN_ADD_W_R, CRISV10F_SFMT_ADD_B_R },
118 { CRIS_INSN_ADD_D_R, CRISV10F_INSN_ADD_D_R, CRISV10F_SFMT_ADD_D_R },
119 { CRIS_INSN_ADD_M_B_M, CRISV10F_INSN_ADD_M_B_M, CRISV10F_SFMT_ADD_M_B_M },
120 { CRIS_INSN_ADD_M_W_M, CRISV10F_INSN_ADD_M_W_M, CRISV10F_SFMT_ADD_M_W_M },
121 { CRIS_INSN_ADD_M_D_M, CRISV10F_INSN_ADD_M_D_M, CRISV10F_SFMT_ADD_M_D_M },
122 { CRIS_INSN_ADDCBR, CRISV10F_INSN_ADDCBR, CRISV10F_SFMT_ADDCBR },
123 { CRIS_INSN_ADDCWR, CRISV10F_INSN_ADDCWR, CRISV10F_SFMT_ADDCWR },
124 { CRIS_INSN_ADDCDR, CRISV10F_INSN_ADDCDR, CRISV10F_SFMT_ADDCDR },
125 { CRIS_INSN_ADDCPC, CRISV10F_INSN_ADDCPC, CRISV10F_SFMT_ADDCPC },
126 { CRIS_INSN_ADDS_B_R, CRISV10F_INSN_ADDS_B_R, CRISV10F_SFMT_ADD_D_R },
127 { CRIS_INSN_ADDS_W_R, CRISV10F_INSN_ADDS_W_R, CRISV10F_SFMT_ADD_D_R },
128 { CRIS_INSN_ADDS_M_B_M, CRISV10F_INSN_ADDS_M_B_M, CRISV10F_SFMT_ADDS_M_B_M },
129 { CRIS_INSN_ADDS_M_W_M, CRISV10F_INSN_ADDS_M_W_M, CRISV10F_SFMT_ADDS_M_W_M },
130 { CRIS_INSN_ADDSCBR, CRISV10F_INSN_ADDSCBR, CRISV10F_SFMT_ADDSCBR },
131 { CRIS_INSN_ADDSCWR, CRISV10F_INSN_ADDSCWR, CRISV10F_SFMT_ADDSCWR },
132 { CRIS_INSN_ADDSPCPC, CRISV10F_INSN_ADDSPCPC, CRISV10F_SFMT_ADDSPCPC },
133 { CRIS_INSN_ADDU_B_R, CRISV10F_INSN_ADDU_B_R, CRISV10F_SFMT_ADD_D_R },
134 { CRIS_INSN_ADDU_W_R, CRISV10F_INSN_ADDU_W_R, CRISV10F_SFMT_ADD_D_R },
135 { CRIS_INSN_ADDU_M_B_M, CRISV10F_INSN_ADDU_M_B_M, CRISV10F_SFMT_ADDS_M_B_M },
136 { CRIS_INSN_ADDU_M_W_M, CRISV10F_INSN_ADDU_M_W_M, CRISV10F_SFMT_ADDS_M_W_M },
137 { CRIS_INSN_ADDUCBR, CRISV10F_INSN_ADDUCBR, CRISV10F_SFMT_ADDSCBR },
138 { CRIS_INSN_ADDUCWR, CRISV10F_INSN_ADDUCWR, CRISV10F_SFMT_ADDSCWR },
139 { CRIS_INSN_SUB_B_R, CRISV10F_INSN_SUB_B_R, CRISV10F_SFMT_ADD_B_R },
140 { CRIS_INSN_SUB_W_R, CRISV10F_INSN_SUB_W_R, CRISV10F_SFMT_ADD_B_R },
141 { CRIS_INSN_SUB_D_R, CRISV10F_INSN_SUB_D_R, CRISV10F_SFMT_ADD_D_R },
142 { CRIS_INSN_SUB_M_B_M, CRISV10F_INSN_SUB_M_B_M, CRISV10F_SFMT_ADD_M_B_M },
143 { CRIS_INSN_SUB_M_W_M, CRISV10F_INSN_SUB_M_W_M, CRISV10F_SFMT_ADD_M_W_M },
144 { CRIS_INSN_SUB_M_D_M, CRISV10F_INSN_SUB_M_D_M, CRISV10F_SFMT_ADD_M_D_M },
145 { CRIS_INSN_SUBCBR, CRISV10F_INSN_SUBCBR, CRISV10F_SFMT_ADDCBR },
146 { CRIS_INSN_SUBCWR, CRISV10F_INSN_SUBCWR, CRISV10F_SFMT_ADDCWR },
147 { CRIS_INSN_SUBCDR, CRISV10F_INSN_SUBCDR, CRISV10F_SFMT_ADDCDR },
148 { CRIS_INSN_SUBS_B_R, CRISV10F_INSN_SUBS_B_R, CRISV10F_SFMT_ADD_D_R },
149 { CRIS_INSN_SUBS_W_R, CRISV10F_INSN_SUBS_W_R, CRISV10F_SFMT_ADD_D_R },
150 { CRIS_INSN_SUBS_M_B_M, CRISV10F_INSN_SUBS_M_B_M, CRISV10F_SFMT_ADDS_M_B_M },
151 { CRIS_INSN_SUBS_M_W_M, CRISV10F_INSN_SUBS_M_W_M, CRISV10F_SFMT_ADDS_M_W_M },
152 { CRIS_INSN_SUBSCBR, CRISV10F_INSN_SUBSCBR, CRISV10F_SFMT_ADDSCBR },
153 { CRIS_INSN_SUBSCWR, CRISV10F_INSN_SUBSCWR, CRISV10F_SFMT_ADDSCWR },
154 { CRIS_INSN_SUBU_B_R, CRISV10F_INSN_SUBU_B_R, CRISV10F_SFMT_ADD_D_R },
155 { CRIS_INSN_SUBU_W_R, CRISV10F_INSN_SUBU_W_R, CRISV10F_SFMT_ADD_D_R },
156 { CRIS_INSN_SUBU_M_B_M, CRISV10F_INSN_SUBU_M_B_M, CRISV10F_SFMT_ADDS_M_B_M },
157 { CRIS_INSN_SUBU_M_W_M, CRISV10F_INSN_SUBU_M_W_M, CRISV10F_SFMT_ADDS_M_W_M },
158 { CRIS_INSN_SUBUCBR, CRISV10F_INSN_SUBUCBR, CRISV10F_SFMT_ADDSCBR },
159 { CRIS_INSN_SUBUCWR, CRISV10F_INSN_SUBUCWR, CRISV10F_SFMT_ADDSCWR },
160 { CRIS_INSN_ADDI_B_R, CRISV10F_INSN_ADDI_B_R, CRISV10F_SFMT_ADDI_B_R },
161 { CRIS_INSN_ADDI_W_R, CRISV10F_INSN_ADDI_W_R, CRISV10F_SFMT_ADDI_B_R },
162 { CRIS_INSN_ADDI_D_R, CRISV10F_INSN_ADDI_D_R, CRISV10F_SFMT_ADDI_B_R },
163 { CRIS_INSN_NEG_B_R, CRISV10F_INSN_NEG_B_R, CRISV10F_SFMT_NEG_B_R },
164 { CRIS_INSN_NEG_W_R, CRISV10F_INSN_NEG_W_R, CRISV10F_SFMT_NEG_B_R },
165 { CRIS_INSN_NEG_D_R, CRISV10F_INSN_NEG_D_R, CRISV10F_SFMT_NEG_D_R },
166 { CRIS_INSN_TEST_M_B_M, CRISV10F_INSN_TEST_M_B_M, CRISV10F_SFMT_TEST_M_B_M },
167 { CRIS_INSN_TEST_M_W_M, CRISV10F_INSN_TEST_M_W_M, CRISV10F_SFMT_TEST_M_W_M },
168 { CRIS_INSN_TEST_M_D_M, CRISV10F_INSN_TEST_M_D_M, CRISV10F_SFMT_TEST_M_D_M },
169 { CRIS_INSN_MOVE_R_M_B_M, CRISV10F_INSN_MOVE_R_M_B_M, CRISV10F_SFMT_MOVE_R_M_B_M },
170 { CRIS_INSN_MOVE_R_M_W_M, CRISV10F_INSN_MOVE_R_M_W_M, CRISV10F_SFMT_MOVE_R_M_W_M },
171 { CRIS_INSN_MOVE_R_M_D_M, CRISV10F_INSN_MOVE_R_M_D_M, CRISV10F_SFMT_MOVE_R_M_D_M },
172 { CRIS_INSN_MULS_B, CRISV10F_INSN_MULS_B, CRISV10F_SFMT_MULS_B },
173 { CRIS_INSN_MULS_W, CRISV10F_INSN_MULS_W, CRISV10F_SFMT_MULS_B },
174 { CRIS_INSN_MULS_D, CRISV10F_INSN_MULS_D, CRISV10F_SFMT_MULS_B },
175 { CRIS_INSN_MULU_B, CRISV10F_INSN_MULU_B, CRISV10F_SFMT_MULS_B },
176 { CRIS_INSN_MULU_W, CRISV10F_INSN_MULU_W, CRISV10F_SFMT_MULS_B },
177 { CRIS_INSN_MULU_D, CRISV10F_INSN_MULU_D, CRISV10F_SFMT_MULS_B },
178 { CRIS_INSN_MSTEP, CRISV10F_INSN_MSTEP, CRISV10F_SFMT_MSTEP },
179 { CRIS_INSN_DSTEP, CRISV10F_INSN_DSTEP, CRISV10F_SFMT_DSTEP },
180 { CRIS_INSN_ABS, CRISV10F_INSN_ABS, CRISV10F_SFMT_MOVS_B_R },
181 { CRIS_INSN_AND_B_R, CRISV10F_INSN_AND_B_R, CRISV10F_SFMT_AND_B_R },
182 { CRIS_INSN_AND_W_R, CRISV10F_INSN_AND_W_R, CRISV10F_SFMT_AND_W_R },
183 { CRIS_INSN_AND_D_R, CRISV10F_INSN_AND_D_R, CRISV10F_SFMT_AND_D_R },
184 { CRIS_INSN_AND_M_B_M, CRISV10F_INSN_AND_M_B_M, CRISV10F_SFMT_AND_M_B_M },
185 { CRIS_INSN_AND_M_W_M, CRISV10F_INSN_AND_M_W_M, CRISV10F_SFMT_AND_M_W_M },
186 { CRIS_INSN_AND_M_D_M, CRISV10F_INSN_AND_M_D_M, CRISV10F_SFMT_AND_M_D_M },
187 { CRIS_INSN_ANDCBR, CRISV10F_INSN_ANDCBR, CRISV10F_SFMT_ANDCBR },
188 { CRIS_INSN_ANDCWR, CRISV10F_INSN_ANDCWR, CRISV10F_SFMT_ANDCWR },
189 { CRIS_INSN_ANDCDR, CRISV10F_INSN_ANDCDR, CRISV10F_SFMT_ANDCDR },
190 { CRIS_INSN_ANDQ, CRISV10F_INSN_ANDQ, CRISV10F_SFMT_ANDQ },
191 { CRIS_INSN_ORR_B_R, CRISV10F_INSN_ORR_B_R, CRISV10F_SFMT_AND_B_R },
192 { CRIS_INSN_ORR_W_R, CRISV10F_INSN_ORR_W_R, CRISV10F_SFMT_AND_W_R },
193 { CRIS_INSN_ORR_D_R, CRISV10F_INSN_ORR_D_R, CRISV10F_SFMT_AND_D_R },
194 { CRIS_INSN_OR_M_B_M, CRISV10F_INSN_OR_M_B_M, CRISV10F_SFMT_AND_M_B_M },
195 { CRIS_INSN_OR_M_W_M, CRISV10F_INSN_OR_M_W_M, CRISV10F_SFMT_AND_M_W_M },
196 { CRIS_INSN_OR_M_D_M, CRISV10F_INSN_OR_M_D_M, CRISV10F_SFMT_AND_M_D_M },
197 { CRIS_INSN_ORCBR, CRISV10F_INSN_ORCBR, CRISV10F_SFMT_ANDCBR },
198 { CRIS_INSN_ORCWR, CRISV10F_INSN_ORCWR, CRISV10F_SFMT_ANDCWR },
199 { CRIS_INSN_ORCDR, CRISV10F_INSN_ORCDR, CRISV10F_SFMT_ANDCDR },
200 { CRIS_INSN_ORQ, CRISV10F_INSN_ORQ, CRISV10F_SFMT_ANDQ },
201 { CRIS_INSN_XOR, CRISV10F_INSN_XOR, CRISV10F_SFMT_DSTEP },
202 { CRIS_INSN_SWAP, CRISV10F_INSN_SWAP, CRISV10F_SFMT_SWAP },
203 { CRIS_INSN_ASRR_B_R, CRISV10F_INSN_ASRR_B_R, CRISV10F_SFMT_ASRR_B_R },
204 { CRIS_INSN_ASRR_W_R, CRISV10F_INSN_ASRR_W_R, CRISV10F_SFMT_ASRR_B_R },
205 { CRIS_INSN_ASRR_D_R, CRISV10F_INSN_ASRR_D_R, CRISV10F_SFMT_AND_D_R },
206 { CRIS_INSN_ASRQ, CRISV10F_INSN_ASRQ, CRISV10F_SFMT_ASRQ },
207 { CRIS_INSN_LSRR_B_R, CRISV10F_INSN_LSRR_B_R, CRISV10F_SFMT_LSRR_B_R },
208 { CRIS_INSN_LSRR_W_R, CRISV10F_INSN_LSRR_W_R, CRISV10F_SFMT_LSRR_B_R },
209 { CRIS_INSN_LSRR_D_R, CRISV10F_INSN_LSRR_D_R, CRISV10F_SFMT_LSRR_D_R },
210 { CRIS_INSN_LSRQ, CRISV10F_INSN_LSRQ, CRISV10F_SFMT_ASRQ },
211 { CRIS_INSN_LSLR_B_R, CRISV10F_INSN_LSLR_B_R, CRISV10F_SFMT_LSRR_B_R },
212 { CRIS_INSN_LSLR_W_R, CRISV10F_INSN_LSLR_W_R, CRISV10F_SFMT_LSRR_B_R },
213 { CRIS_INSN_LSLR_D_R, CRISV10F_INSN_LSLR_D_R, CRISV10F_SFMT_LSRR_D_R },
214 { CRIS_INSN_LSLQ, CRISV10F_INSN_LSLQ, CRISV10F_SFMT_ASRQ },
215 { CRIS_INSN_BTST, CRISV10F_INSN_BTST, CRISV10F_SFMT_BTST },
216 { CRIS_INSN_BTSTQ, CRISV10F_INSN_BTSTQ, CRISV10F_SFMT_BTSTQ },
217 { CRIS_INSN_SETF, CRISV10F_INSN_SETF, CRISV10F_SFMT_SETF },
218 { CRIS_INSN_CLEARF, CRISV10F_INSN_CLEARF, CRISV10F_SFMT_SETF },
219 { CRIS_INSN_BCC_B, CRISV10F_INSN_BCC_B, CRISV10F_SFMT_BCC_B },
220 { CRIS_INSN_BA_B, CRISV10F_INSN_BA_B, CRISV10F_SFMT_BA_B },
221 { CRIS_INSN_BCC_W, CRISV10F_INSN_BCC_W, CRISV10F_SFMT_BCC_W },
222 { CRIS_INSN_BA_W, CRISV10F_INSN_BA_W, CRISV10F_SFMT_BA_W },
223 { CRIS_INSN_JUMP_R, CRISV10F_INSN_JUMP_R, CRISV10F_SFMT_JUMP_R },
224 { CRIS_INSN_JUMP_M, CRISV10F_INSN_JUMP_M, CRISV10F_SFMT_JUMP_M },
225 { CRIS_INSN_JUMP_C, CRISV10F_INSN_JUMP_C, CRISV10F_SFMT_JUMP_C },
226 { CRIS_INSN_BREAK, CRISV10F_INSN_BREAK, CRISV10F_SFMT_BREAK },
227 { CRIS_INSN_BOUND_R_B_R, CRISV10F_INSN_BOUND_R_B_R, CRISV10F_SFMT_DSTEP },
228 { CRIS_INSN_BOUND_R_W_R, CRISV10F_INSN_BOUND_R_W_R, CRISV10F_SFMT_DSTEP },
229 { CRIS_INSN_BOUND_R_D_R, CRISV10F_INSN_BOUND_R_D_R, CRISV10F_SFMT_DSTEP },
230 { CRIS_INSN_BOUND_M_B_M, CRISV10F_INSN_BOUND_M_B_M, CRISV10F_SFMT_BOUND_M_B_M },
231 { CRIS_INSN_BOUND_M_W_M, CRISV10F_INSN_BOUND_M_W_M, CRISV10F_SFMT_BOUND_M_W_M },
232 { CRIS_INSN_BOUND_M_D_M, CRISV10F_INSN_BOUND_M_D_M, CRISV10F_SFMT_BOUND_M_D_M },
233 { CRIS_INSN_BOUND_CB, CRISV10F_INSN_BOUND_CB, CRISV10F_SFMT_BOUND_CB },
234 { CRIS_INSN_BOUND_CW, CRISV10F_INSN_BOUND_CW, CRISV10F_SFMT_BOUND_CW },
235 { CRIS_INSN_BOUND_CD, CRISV10F_INSN_BOUND_CD, CRISV10F_SFMT_BOUND_CD },
236 { CRIS_INSN_SCC, CRISV10F_INSN_SCC, CRISV10F_SFMT_SCC },
237 { CRIS_INSN_LZ, CRISV10F_INSN_LZ, CRISV10F_SFMT_MOVS_B_R },
238 { CRIS_INSN_ADDOQ, CRISV10F_INSN_ADDOQ, CRISV10F_SFMT_ADDOQ },
239 { CRIS_INSN_BDAPQPC, CRISV10F_INSN_BDAPQPC, CRISV10F_SFMT_BDAPQPC },
240 { CRIS_INSN_ADDO_M_B_M, CRISV10F_INSN_ADDO_M_B_M, CRISV10F_SFMT_ADDO_M_B_M },
241 { CRIS_INSN_ADDO_M_W_M, CRISV10F_INSN_ADDO_M_W_M, CRISV10F_SFMT_ADDO_M_W_M },
242 { CRIS_INSN_ADDO_M_D_M, CRISV10F_INSN_ADDO_M_D_M, CRISV10F_SFMT_ADDO_M_D_M },
243 { CRIS_INSN_ADDO_CB, CRISV10F_INSN_ADDO_CB, CRISV10F_SFMT_ADDO_CB },
244 { CRIS_INSN_ADDO_CW, CRISV10F_INSN_ADDO_CW, CRISV10F_SFMT_ADDO_CW },
245 { CRIS_INSN_ADDO_CD, CRISV10F_INSN_ADDO_CD, CRISV10F_SFMT_ADDO_CD },
246 { CRIS_INSN_DIP_M, CRISV10F_INSN_DIP_M, CRISV10F_SFMT_DIP_M },
247 { CRIS_INSN_DIP_C, CRISV10F_INSN_DIP_C, CRISV10F_SFMT_DIP_C },
248 { CRIS_INSN_ADDI_ACR_B_R, CRISV10F_INSN_ADDI_ACR_B_R, CRISV10F_SFMT_ADDI_ACR_B_R },
249 { CRIS_INSN_ADDI_ACR_W_R, CRISV10F_INSN_ADDI_ACR_W_R, CRISV10F_SFMT_ADDI_ACR_B_R },
250 { CRIS_INSN_ADDI_ACR_D_R, CRISV10F_INSN_ADDI_ACR_D_R, CRISV10F_SFMT_ADDI_ACR_B_R },
251 { CRIS_INSN_BIAP_PC_B_R, CRISV10F_INSN_BIAP_PC_B_R, CRISV10F_SFMT_BIAP_PC_B_R },
252 { CRIS_INSN_BIAP_PC_W_R, CRISV10F_INSN_BIAP_PC_W_R, CRISV10F_SFMT_BIAP_PC_B_R },
253 { CRIS_INSN_BIAP_PC_D_R, CRISV10F_INSN_BIAP_PC_D_R, CRISV10F_SFMT_BIAP_PC_B_R },
256 static const struct insn_sem crisv10f_insn_sem_invalid = {
257 VIRTUAL_INSN_X_INVALID, CRISV10F_INSN_X_INVALID, CRISV10F_SFMT_EMPTY
260 /* Initialize an IDESC from the compile-time computable parts. */
263 init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
265 const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
269 if ((int) t->type <= 0)
270 id->idata = & cgen_virtual_insn_table[- (int) t->type];
272 id->idata = & insn_table[t->type];
273 id->attrs = CGEN_INSN_ATTRS (id->idata);
274 /* Oh my god, a magic number. */
275 id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
277 #if WITH_PROFILE_MODEL_P
278 id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
280 SIM_DESC sd = CPU_STATE (cpu);
281 SIM_ASSERT (t->index == id->timing->num);
285 /* Semantic pointers are initialized elsewhere. */
288 /* Initialize the instruction descriptor table. */
291 crisv10f_init_idesc_table (SIM_CPU *cpu)
294 const struct insn_sem *t,*tend;
295 int tabsize = CRISV10F_INSN__MAX;
296 IDESC *table = crisv10f_insn_data;
298 memset (table, 0, tabsize * sizeof (IDESC));
300 /* First set all entries to the `invalid insn'. */
301 t = & crisv10f_insn_sem_invalid;
302 for (id = table, tabend = table + tabsize; id < tabend; ++id)
303 init_idesc (cpu, id, t);
305 /* Now fill in the values for the chosen cpu. */
306 for (t = crisv10f_insn_sem, tend = t + sizeof (crisv10f_insn_sem) / sizeof (*t);
309 init_idesc (cpu, & table[t->index], t);
312 /* Link the IDESC table into the cpu. */
313 CPU_IDESC (cpu) = table;
316 /* Given an instruction, return a pointer to its IDESC entry. */
319 crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
320 CGEN_INSN_INT base_insn,
323 /* Result of decoder. */
324 CRISV10F_INSN_TYPE itype;
327 CGEN_INSN_INT insn = base_insn;
330 unsigned int val = (((insn >> 4) & (255 << 0)));
333 case 0 : /* fall through */
334 case 1 : /* fall through */
335 case 2 : /* fall through */
336 case 3 : /* fall through */
337 case 4 : /* fall through */
338 case 5 : /* fall through */
339 case 6 : /* fall through */
340 case 7 : /* fall through */
341 case 8 : /* fall through */
342 case 9 : /* fall through */
343 case 10 : /* fall through */
344 case 11 : /* fall through */
345 case 12 : /* fall through */
346 case 13 : /* fall through */
347 case 14 : /* fall through */
350 unsigned int val = (((insn >> 12) & (15 << 0)));
353 case 0 : /* fall through */
354 case 1 : /* fall through */
355 case 2 : /* fall through */
356 case 3 : /* fall through */
357 case 4 : /* fall through */
358 case 5 : /* fall through */
359 case 6 : /* fall through */
360 case 7 : /* fall through */
361 case 8 : /* fall through */
362 case 9 : /* fall through */
363 case 10 : /* fall through */
364 case 11 : /* fall through */
365 case 12 : /* fall through */
366 case 13 : /* fall through */
368 if ((base_insn & 0xf00) == 0x0)
369 { itype = CRISV10F_INSN_BCC_B; goto extract_sfmt_bcc_b; }
370 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
372 if ((base_insn & 0xff00) == 0xe000)
373 { itype = CRISV10F_INSN_BA_B; goto extract_sfmt_ba_b; }
374 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
375 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
378 case 16 : /* fall through */
379 case 17 : /* fall through */
380 case 18 : /* fall through */
381 case 19 : /* fall through */
382 case 20 : /* fall through */
383 case 21 : /* fall through */
384 case 22 : /* fall through */
385 case 23 : /* fall through */
386 case 24 : /* fall through */
387 case 25 : /* fall through */
388 case 26 : /* fall through */
389 case 27 : /* fall through */
390 case 28 : /* fall through */
391 case 29 : /* fall through */
392 case 30 : /* fall through */
395 unsigned int val = (((insn >> 12) & (15 << 0)));
398 case 0 : /* fall through */
399 case 1 : /* fall through */
400 case 2 : /* fall through */
401 case 3 : /* fall through */
402 case 4 : /* fall through */
403 case 5 : /* fall through */
404 case 6 : /* fall through */
405 case 7 : /* fall through */
406 case 8 : /* fall through */
407 case 9 : /* fall through */
408 case 10 : /* fall through */
409 case 11 : /* fall through */
410 case 12 : /* fall through */
411 case 13 : /* fall through */
413 if ((base_insn & 0xf00) == 0x100)
414 { itype = CRISV10F_INSN_ADDOQ; goto extract_sfmt_addoq; }
415 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
417 if ((base_insn & 0xff00) == 0xf100)
418 { itype = CRISV10F_INSN_BDAPQPC; goto extract_sfmt_bdapqpc; }
419 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
420 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
423 case 32 : /* fall through */
424 case 33 : /* fall through */
425 case 34 : /* fall through */
427 if ((base_insn & 0xfc0) == 0x200)
428 { itype = CRISV10F_INSN_ADDQ; goto extract_sfmt_addq; }
429 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
430 case 36 : /* fall through */
431 case 37 : /* fall through */
432 case 38 : /* fall through */
434 if ((base_insn & 0xfc0) == 0x240)
435 { itype = CRISV10F_INSN_MOVEQ; goto extract_sfmt_moveq; }
436 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
437 case 40 : /* fall through */
438 case 41 : /* fall through */
439 case 42 : /* fall through */
441 if ((base_insn & 0xfc0) == 0x280)
442 { itype = CRISV10F_INSN_SUBQ; goto extract_sfmt_addq; }
443 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
444 case 44 : /* fall through */
445 case 45 : /* fall through */
446 case 46 : /* fall through */
448 if ((base_insn & 0xfc0) == 0x2c0)
449 { itype = CRISV10F_INSN_CMPQ; goto extract_sfmt_cmpq; }
450 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
451 case 48 : /* fall through */
452 case 49 : /* fall through */
453 case 50 : /* fall through */
455 if ((base_insn & 0xfc0) == 0x300)
456 { itype = CRISV10F_INSN_ANDQ; goto extract_sfmt_andq; }
457 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
458 case 52 : /* fall through */
459 case 53 : /* fall through */
460 case 54 : /* fall through */
462 if ((base_insn & 0xfc0) == 0x340)
463 { itype = CRISV10F_INSN_ORQ; goto extract_sfmt_andq; }
464 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
465 case 56 : /* fall through */
467 if ((base_insn & 0xfe0) == 0x380)
468 { itype = CRISV10F_INSN_BTSTQ; goto extract_sfmt_btstq; }
469 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
470 case 58 : /* fall through */
472 if ((base_insn & 0xfe0) == 0x3a0)
473 { itype = CRISV10F_INSN_ASRQ; goto extract_sfmt_asrq; }
474 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
475 case 60 : /* fall through */
477 if ((base_insn & 0xfe0) == 0x3c0)
478 { itype = CRISV10F_INSN_LSLQ; goto extract_sfmt_asrq; }
479 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
480 case 62 : /* fall through */
482 if ((base_insn & 0xfe0) == 0x3e0)
483 { itype = CRISV10F_INSN_LSRQ; goto extract_sfmt_asrq; }
484 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
486 if ((base_insn & 0xff0) == 0x400)
487 { itype = CRISV10F_INSN_ADDU_B_R; goto extract_sfmt_add_d_r; }
488 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
490 if ((base_insn & 0xff0) == 0x410)
491 { itype = CRISV10F_INSN_ADDU_W_R; goto extract_sfmt_add_d_r; }
492 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
494 if ((base_insn & 0xff0) == 0x420)
495 { itype = CRISV10F_INSN_ADDS_B_R; goto extract_sfmt_add_d_r; }
496 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
498 if ((base_insn & 0xff0) == 0x430)
499 { itype = CRISV10F_INSN_ADDS_W_R; goto extract_sfmt_add_d_r; }
500 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
502 if ((base_insn & 0xff0) == 0x440)
503 { itype = CRISV10F_INSN_MOVU_B_R; goto extract_sfmt_movs_b_r; }
504 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
506 if ((base_insn & 0xff0) == 0x450)
507 { itype = CRISV10F_INSN_MOVU_W_R; goto extract_sfmt_movs_b_r; }
508 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
510 if ((base_insn & 0xff0) == 0x460)
511 { itype = CRISV10F_INSN_MOVS_B_R; goto extract_sfmt_movs_b_r; }
512 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
514 if ((base_insn & 0xff0) == 0x470)
515 { itype = CRISV10F_INSN_MOVS_W_R; goto extract_sfmt_movs_b_r; }
516 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
518 if ((base_insn & 0xff0) == 0x480)
519 { itype = CRISV10F_INSN_SUBU_B_R; goto extract_sfmt_add_d_r; }
520 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
522 if ((base_insn & 0xff0) == 0x490)
523 { itype = CRISV10F_INSN_SUBU_W_R; goto extract_sfmt_add_d_r; }
524 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
526 if ((base_insn & 0xff0) == 0x4a0)
527 { itype = CRISV10F_INSN_SUBS_B_R; goto extract_sfmt_add_d_r; }
528 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
530 if ((base_insn & 0xff0) == 0x4b0)
531 { itype = CRISV10F_INSN_SUBS_W_R; goto extract_sfmt_add_d_r; }
532 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
534 if ((base_insn & 0xff0) == 0x4c0)
535 { itype = CRISV10F_INSN_LSLR_B_R; goto extract_sfmt_lsrr_b_r; }
536 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
538 if ((base_insn & 0xff0) == 0x4d0)
539 { itype = CRISV10F_INSN_LSLR_W_R; goto extract_sfmt_lsrr_b_r; }
540 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
542 if ((base_insn & 0xff0) == 0x4e0)
543 { itype = CRISV10F_INSN_LSLR_D_R; goto extract_sfmt_lsrr_d_r; }
544 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
546 if ((base_insn & 0xff0) == 0x4f0)
547 { itype = CRISV10F_INSN_BTST; goto extract_sfmt_btst; }
548 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
551 unsigned int val = (((insn >> 8) & (7 << 4)) | ((insn >> 0) & (15 << 0)));
554 case 0 : /* fall through */
555 case 1 : /* fall through */
556 case 2 : /* fall through */
557 case 3 : /* fall through */
558 case 4 : /* fall through */
559 case 5 : /* fall through */
560 case 6 : /* fall through */
561 case 7 : /* fall through */
562 case 8 : /* fall through */
563 case 9 : /* fall through */
564 case 10 : /* fall through */
565 case 11 : /* fall through */
566 case 12 : /* fall through */
567 case 13 : /* fall through */
568 case 14 : /* fall through */
569 case 16 : /* fall through */
570 case 17 : /* fall through */
571 case 18 : /* fall through */
572 case 19 : /* fall through */
573 case 20 : /* fall through */
574 case 21 : /* fall through */
575 case 22 : /* fall through */
576 case 23 : /* fall through */
577 case 24 : /* fall through */
578 case 25 : /* fall through */
579 case 26 : /* fall through */
580 case 27 : /* fall through */
581 case 28 : /* fall through */
582 case 29 : /* fall through */
583 case 30 : /* fall through */
584 case 31 : /* fall through */
585 case 32 : /* fall through */
586 case 33 : /* fall through */
587 case 34 : /* fall through */
588 case 35 : /* fall through */
589 case 36 : /* fall through */
590 case 37 : /* fall through */
591 case 38 : /* fall through */
592 case 39 : /* fall through */
593 case 40 : /* fall through */
594 case 41 : /* fall through */
595 case 42 : /* fall through */
596 case 43 : /* fall through */
597 case 44 : /* fall through */
598 case 45 : /* fall through */
599 case 46 : /* fall through */
600 case 47 : /* fall through */
601 case 48 : /* fall through */
602 case 49 : /* fall through */
603 case 50 : /* fall through */
604 case 51 : /* fall through */
605 case 52 : /* fall through */
606 case 53 : /* fall through */
607 case 54 : /* fall through */
608 case 55 : /* fall through */
609 case 56 : /* fall through */
610 case 57 : /* fall through */
611 case 58 : /* fall through */
612 case 59 : /* fall through */
613 case 60 : /* fall through */
614 case 61 : /* fall through */
615 case 62 : /* fall through */
616 case 63 : /* fall through */
617 case 64 : /* fall through */
618 case 65 : /* fall through */
619 case 66 : /* fall through */
620 case 67 : /* fall through */
621 case 68 : /* fall through */
622 case 69 : /* fall through */
623 case 70 : /* fall through */
624 case 71 : /* fall through */
625 case 72 : /* fall through */
626 case 73 : /* fall through */
627 case 74 : /* fall through */
628 case 75 : /* fall through */
629 case 76 : /* fall through */
630 case 77 : /* fall through */
631 case 78 : /* fall through */
632 case 79 : /* fall through */
633 case 80 : /* fall through */
634 case 81 : /* fall through */
635 case 82 : /* fall through */
636 case 83 : /* fall through */
637 case 84 : /* fall through */
638 case 85 : /* fall through */
639 case 86 : /* fall through */
640 case 87 : /* fall through */
641 case 88 : /* fall through */
642 case 89 : /* fall through */
643 case 90 : /* fall through */
644 case 91 : /* fall through */
645 case 92 : /* fall through */
646 case 93 : /* fall through */
647 case 94 : /* fall through */
648 case 95 : /* fall through */
649 case 96 : /* fall through */
650 case 97 : /* fall through */
651 case 98 : /* fall through */
652 case 99 : /* fall through */
653 case 100 : /* fall through */
654 case 101 : /* fall through */
655 case 102 : /* fall through */
656 case 103 : /* fall through */
657 case 104 : /* fall through */
658 case 105 : /* fall through */
659 case 106 : /* fall through */
660 case 107 : /* fall through */
661 case 108 : /* fall through */
662 case 109 : /* fall through */
663 case 110 : /* fall through */
664 case 111 : /* fall through */
665 case 112 : /* fall through */
666 case 113 : /* fall through */
667 case 114 : /* fall through */
668 case 115 : /* fall through */
669 case 116 : /* fall through */
670 case 117 : /* fall through */
671 case 118 : /* fall through */
672 case 119 : /* fall through */
673 case 120 : /* fall through */
674 case 121 : /* fall through */
675 case 122 : /* fall through */
676 case 123 : /* fall through */
677 case 124 : /* fall through */
678 case 125 : /* fall through */
679 case 126 : /* fall through */
681 if ((base_insn & 0xff0) == 0x500)
682 { itype = CRISV10F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r; }
683 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
686 unsigned int val = (((insn >> 15) & (1 << 0)));
690 if ((base_insn & 0xffff) == 0x50f)
691 { itype = CRISV10F_INSN_NOP; goto extract_sfmt_nop; }
692 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
694 if ((base_insn & 0xff0) == 0x500)
695 { itype = CRISV10F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r; }
696 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
697 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
700 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
704 if ((base_insn & 0xff0) == 0x510)
705 { itype = CRISV10F_INSN_ADDI_W_R; goto extract_sfmt_addi_b_r; }
706 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
708 if ((base_insn & 0xff0) == 0x520)
709 { itype = CRISV10F_INSN_ADDI_D_R; goto extract_sfmt_addi_b_r; }
710 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
712 if ((base_insn & 0xff0) == 0x530)
713 { itype = CRISV10F_INSN_SCC; goto extract_sfmt_scc; }
714 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
717 unsigned int val = (((insn >> 0) & (15 << 0)));
720 case 0 : /* fall through */
721 case 1 : /* fall through */
722 case 2 : /* fall through */
723 case 3 : /* fall through */
724 case 4 : /* fall through */
725 case 5 : /* fall through */
726 case 6 : /* fall through */
727 case 7 : /* fall through */
728 case 8 : /* fall through */
729 case 9 : /* fall through */
730 case 10 : /* fall through */
731 case 11 : /* fall through */
732 case 12 : /* fall through */
733 case 13 : /* fall through */
735 if ((base_insn & 0xff0) == 0x540)
736 { itype = CRISV10F_INSN_ADDI_ACR_B_R; goto extract_sfmt_addi_acr_b_r; }
737 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
739 if ((base_insn & 0xfff) == 0x54f)
740 { itype = CRISV10F_INSN_BIAP_PC_B_R; goto extract_sfmt_biap_pc_b_r; }
741 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
742 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
747 unsigned int val = (((insn >> 0) & (15 << 0)));
750 case 0 : /* fall through */
751 case 1 : /* fall through */
752 case 2 : /* fall through */
753 case 3 : /* fall through */
754 case 4 : /* fall through */
755 case 5 : /* fall through */
756 case 6 : /* fall through */
757 case 7 : /* fall through */
758 case 8 : /* fall through */
759 case 9 : /* fall through */
760 case 10 : /* fall through */
761 case 11 : /* fall through */
762 case 12 : /* fall through */
763 case 13 : /* fall through */
765 if ((base_insn & 0xff0) == 0x550)
766 { itype = CRISV10F_INSN_ADDI_ACR_W_R; goto extract_sfmt_addi_acr_b_r; }
767 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
769 if ((base_insn & 0xfff) == 0x55f)
770 { itype = CRISV10F_INSN_BIAP_PC_W_R; goto extract_sfmt_biap_pc_b_r; }
771 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
772 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
777 unsigned int val = (((insn >> 0) & (15 << 0)));
780 case 0 : /* fall through */
781 case 1 : /* fall through */
782 case 2 : /* fall through */
783 case 3 : /* fall through */
784 case 4 : /* fall through */
785 case 5 : /* fall through */
786 case 6 : /* fall through */
787 case 7 : /* fall through */
788 case 8 : /* fall through */
789 case 9 : /* fall through */
790 case 10 : /* fall through */
791 case 11 : /* fall through */
792 case 12 : /* fall through */
793 case 13 : /* fall through */
795 if ((base_insn & 0xff0) == 0x560)
796 { itype = CRISV10F_INSN_ADDI_ACR_D_R; goto extract_sfmt_addi_acr_b_r; }
797 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
799 if ((base_insn & 0xfff) == 0x56f)
800 { itype = CRISV10F_INSN_BIAP_PC_D_R; goto extract_sfmt_biap_pc_b_r; }
801 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
802 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
806 if ((base_insn & 0xff0) == 0x580)
807 { itype = CRISV10F_INSN_NEG_B_R; goto extract_sfmt_neg_b_r; }
808 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
810 if ((base_insn & 0xff0) == 0x590)
811 { itype = CRISV10F_INSN_NEG_W_R; goto extract_sfmt_neg_b_r; }
812 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
814 if ((base_insn & 0xff0) == 0x5a0)
815 { itype = CRISV10F_INSN_NEG_D_R; goto extract_sfmt_neg_d_r; }
816 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
818 if ((base_insn & 0xff0) == 0x5b0)
819 { itype = CRISV10F_INSN_SETF; goto extract_sfmt_setf; }
820 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
822 if ((base_insn & 0xff0) == 0x5c0)
823 { itype = CRISV10F_INSN_BOUND_R_B_R; goto extract_sfmt_dstep; }
824 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
826 if ((base_insn & 0xff0) == 0x5d0)
827 { itype = CRISV10F_INSN_BOUND_R_W_R; goto extract_sfmt_dstep; }
828 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
830 if ((base_insn & 0xff0) == 0x5e0)
831 { itype = CRISV10F_INSN_BOUND_R_D_R; goto extract_sfmt_dstep; }
832 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
834 if ((base_insn & 0xff0) == 0x5f0)
835 { itype = CRISV10F_INSN_CLEARF; goto extract_sfmt_setf; }
836 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
838 if ((base_insn & 0xff0) == 0x600)
839 { itype = CRISV10F_INSN_ADD_B_R; goto extract_sfmt_add_b_r; }
840 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
842 if ((base_insn & 0xff0) == 0x610)
843 { itype = CRISV10F_INSN_ADD_W_R; goto extract_sfmt_add_b_r; }
844 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
846 if ((base_insn & 0xff0) == 0x620)
847 { itype = CRISV10F_INSN_ADD_D_R; goto extract_sfmt_add_d_r; }
848 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
850 if ((base_insn & 0xff0) == 0x630)
851 { itype = CRISV10F_INSN_MOVE_R_SPRV10; goto extract_sfmt_move_r_sprv10; }
852 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
854 if ((base_insn & 0xff0) == 0x640)
855 { itype = CRISV10F_INSN_MOVE_B_R; goto extract_sfmt_move_b_r; }
856 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
858 if ((base_insn & 0xff0) == 0x650)
859 { itype = CRISV10F_INSN_MOVE_W_R; goto extract_sfmt_move_b_r; }
860 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
863 unsigned int val = (((insn >> 0) & (15 << 0)));
866 case 0 : /* fall through */
867 case 1 : /* fall through */
868 case 2 : /* fall through */
869 case 3 : /* fall through */
870 case 4 : /* fall through */
871 case 5 : /* fall through */
872 case 6 : /* fall through */
873 case 7 : /* fall through */
874 case 8 : /* fall through */
875 case 9 : /* fall through */
876 case 10 : /* fall through */
877 case 11 : /* fall through */
878 case 12 : /* fall through */
879 case 13 : /* fall through */
881 if ((base_insn & 0xff0) == 0x660)
882 { itype = CRISV10F_INSN_MOVE_D_R; goto extract_sfmt_move_d_r; }
883 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
885 if ((base_insn & 0xfff) == 0x66f)
886 { itype = CRISV10F_INSN_MOVEPCR; goto extract_sfmt_movepcr; }
887 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
888 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
893 unsigned int val = (((insn >> 0) & (15 << 0)));
896 case 0 : /* fall through */
897 case 1 : /* fall through */
898 case 2 : /* fall through */
899 case 3 : /* fall through */
900 case 4 : /* fall through */
901 case 5 : /* fall through */
902 case 6 : /* fall through */
903 case 7 : /* fall through */
904 case 8 : /* fall through */
905 case 9 : /* fall through */
906 case 10 : /* fall through */
907 case 11 : /* fall through */
908 case 12 : /* fall through */
909 case 13 : /* fall through */
911 if ((base_insn & 0xff0) == 0x670)
912 { itype = CRISV10F_INSN_MOVE_SPR_RV10; goto extract_sfmt_move_spr_rv10; }
913 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
915 if ((base_insn & 0xfff) == 0x67f)
916 { itype = CRISV10F_INSN_RET_TYPE; goto extract_sfmt_ret_type; }
917 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
918 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
922 if ((base_insn & 0xff0) == 0x680)
923 { itype = CRISV10F_INSN_SUB_B_R; goto extract_sfmt_add_b_r; }
924 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
926 if ((base_insn & 0xff0) == 0x690)
927 { itype = CRISV10F_INSN_SUB_W_R; goto extract_sfmt_add_b_r; }
928 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
930 if ((base_insn & 0xff0) == 0x6a0)
931 { itype = CRISV10F_INSN_SUB_D_R; goto extract_sfmt_add_d_r; }
932 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
934 if ((base_insn & 0xff0) == 0x6b0)
935 { itype = CRISV10F_INSN_ABS; goto extract_sfmt_movs_b_r; }
936 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
938 if ((base_insn & 0xff0) == 0x6c0)
939 { itype = CRISV10F_INSN_CMP_R_B_R; goto extract_sfmt_cmp_r_b_r; }
940 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
942 if ((base_insn & 0xff0) == 0x6d0)
943 { itype = CRISV10F_INSN_CMP_R_W_R; goto extract_sfmt_cmp_r_b_r; }
944 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
946 if ((base_insn & 0xff0) == 0x6e0)
947 { itype = CRISV10F_INSN_CMP_R_D_R; goto extract_sfmt_cmp_r_b_r; }
948 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
950 if ((base_insn & 0xff0) == 0x6f0)
951 { itype = CRISV10F_INSN_DSTEP; goto extract_sfmt_dstep; }
952 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
954 if ((base_insn & 0xff0) == 0x700)
955 { itype = CRISV10F_INSN_AND_B_R; goto extract_sfmt_and_b_r; }
956 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
958 if ((base_insn & 0xff0) == 0x710)
959 { itype = CRISV10F_INSN_AND_W_R; goto extract_sfmt_and_w_r; }
960 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
962 if ((base_insn & 0xff0) == 0x720)
963 { itype = CRISV10F_INSN_AND_D_R; goto extract_sfmt_and_d_r; }
964 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
966 if ((base_insn & 0xff0) == 0x730)
967 { itype = CRISV10F_INSN_LZ; goto extract_sfmt_movs_b_r; }
968 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
970 if ((base_insn & 0xff0) == 0x740)
971 { itype = CRISV10F_INSN_ORR_B_R; goto extract_sfmt_and_b_r; }
972 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
974 if ((base_insn & 0xff0) == 0x750)
975 { itype = CRISV10F_INSN_ORR_W_R; goto extract_sfmt_and_w_r; }
976 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
978 if ((base_insn & 0xff0) == 0x760)
979 { itype = CRISV10F_INSN_ORR_D_R; goto extract_sfmt_and_d_r; }
980 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
982 if ((base_insn & 0xff0) == 0x770)
983 { itype = CRISV10F_INSN_SWAP; goto extract_sfmt_swap; }
984 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
986 if ((base_insn & 0xff0) == 0x780)
987 { itype = CRISV10F_INSN_ASRR_B_R; goto extract_sfmt_asrr_b_r; }
988 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
990 if ((base_insn & 0xff0) == 0x790)
991 { itype = CRISV10F_INSN_ASRR_W_R; goto extract_sfmt_asrr_b_r; }
992 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
994 if ((base_insn & 0xff0) == 0x7a0)
995 { itype = CRISV10F_INSN_ASRR_D_R; goto extract_sfmt_and_d_r; }
996 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
998 if ((base_insn & 0xff0) == 0x7b0)
999 { itype = CRISV10F_INSN_XOR; goto extract_sfmt_dstep; }
1000 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1002 if ((base_insn & 0xff0) == 0x7c0)
1003 { itype = CRISV10F_INSN_LSRR_B_R; goto extract_sfmt_lsrr_b_r; }
1004 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1006 if ((base_insn & 0xff0) == 0x7d0)
1007 { itype = CRISV10F_INSN_LSRR_W_R; goto extract_sfmt_lsrr_b_r; }
1008 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1010 if ((base_insn & 0xff0) == 0x7e0)
1011 { itype = CRISV10F_INSN_LSRR_D_R; goto extract_sfmt_lsrr_d_r; }
1012 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1014 if ((base_insn & 0xff0) == 0x7f0)
1015 { itype = CRISV10F_INSN_MSTEP; goto extract_sfmt_mstep; }
1016 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1018 if ((base_insn & 0xbf0) == 0x800)
1019 { itype = CRISV10F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m; }
1020 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1022 if ((base_insn & 0xbf0) == 0x810)
1023 { itype = CRISV10F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m; }
1024 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1026 if ((base_insn & 0xbf0) == 0x820)
1027 { itype = CRISV10F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m; }
1028 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1031 unsigned int val = (((insn >> 8) & (7 << 4)) | ((insn >> 0) & (15 << 0)));
1034 case 0 : /* fall through */
1035 case 1 : /* fall through */
1036 case 2 : /* fall through */
1037 case 3 : /* fall through */
1038 case 4 : /* fall through */
1039 case 5 : /* fall through */
1040 case 6 : /* fall through */
1041 case 7 : /* fall through */
1042 case 8 : /* fall through */
1043 case 9 : /* fall through */
1044 case 10 : /* fall through */
1045 case 11 : /* fall through */
1046 case 12 : /* fall through */
1047 case 13 : /* fall through */
1048 case 14 : /* fall through */
1049 case 15 : /* fall through */
1050 case 16 : /* fall through */
1051 case 17 : /* fall through */
1052 case 18 : /* fall through */
1053 case 19 : /* fall through */
1054 case 20 : /* fall through */
1055 case 21 : /* fall through */
1056 case 22 : /* fall through */
1057 case 23 : /* fall through */
1058 case 24 : /* fall through */
1059 case 25 : /* fall through */
1060 case 26 : /* fall through */
1061 case 27 : /* fall through */
1062 case 28 : /* fall through */
1063 case 29 : /* fall through */
1064 case 30 : /* fall through */
1065 case 31 : /* fall through */
1066 case 32 : /* fall through */
1067 case 33 : /* fall through */
1068 case 34 : /* fall through */
1069 case 35 : /* fall through */
1070 case 36 : /* fall through */
1071 case 37 : /* fall through */
1072 case 38 : /* fall through */
1073 case 39 : /* fall through */
1074 case 40 : /* fall through */
1075 case 41 : /* fall through */
1076 case 42 : /* fall through */
1077 case 43 : /* fall through */
1078 case 44 : /* fall through */
1079 case 45 : /* fall through */
1080 case 46 : /* fall through */
1081 case 47 : /* fall through */
1082 case 48 : /* fall through */
1083 case 49 : /* fall through */
1084 case 50 : /* fall through */
1085 case 51 : /* fall through */
1086 case 52 : /* fall through */
1087 case 53 : /* fall through */
1088 case 54 : /* fall through */
1089 case 55 : /* fall through */
1090 case 56 : /* fall through */
1091 case 57 : /* fall through */
1092 case 58 : /* fall through */
1093 case 59 : /* fall through */
1094 case 60 : /* fall through */
1095 case 61 : /* fall through */
1096 case 62 : /* fall through */
1097 case 63 : /* fall through */
1098 case 64 : /* fall through */
1099 case 65 : /* fall through */
1100 case 66 : /* fall through */
1101 case 67 : /* fall through */
1102 case 68 : /* fall through */
1103 case 69 : /* fall through */
1104 case 70 : /* fall through */
1105 case 71 : /* fall through */
1106 case 72 : /* fall through */
1107 case 73 : /* fall through */
1108 case 74 : /* fall through */
1109 case 75 : /* fall through */
1110 case 76 : /* fall through */
1111 case 77 : /* fall through */
1112 case 78 : /* fall through */
1113 case 79 : /* fall through */
1114 case 80 : /* fall through */
1115 case 81 : /* fall through */
1116 case 82 : /* fall through */
1117 case 83 : /* fall through */
1118 case 84 : /* fall through */
1119 case 85 : /* fall through */
1120 case 86 : /* fall through */
1121 case 87 : /* fall through */
1122 case 88 : /* fall through */
1123 case 89 : /* fall through */
1124 case 90 : /* fall through */
1125 case 91 : /* fall through */
1126 case 92 : /* fall through */
1127 case 93 : /* fall through */
1128 case 94 : /* fall through */
1129 case 95 : /* fall through */
1130 case 96 : /* fall through */
1131 case 97 : /* fall through */
1132 case 98 : /* fall through */
1133 case 99 : /* fall through */
1134 case 100 : /* fall through */
1135 case 101 : /* fall through */
1136 case 102 : /* fall through */
1137 case 103 : /* fall through */
1138 case 104 : /* fall through */
1139 case 105 : /* fall through */
1140 case 106 : /* fall through */
1141 case 107 : /* fall through */
1142 case 108 : /* fall through */
1143 case 109 : /* fall through */
1144 case 110 : /* fall through */
1145 case 111 : /* fall through */
1146 case 112 : /* fall through */
1147 case 113 : /* fall through */
1148 case 114 : /* fall through */
1149 case 115 : /* fall through */
1150 case 116 : /* fall through */
1151 case 117 : /* fall through */
1152 case 118 : /* fall through */
1153 case 119 : /* fall through */
1154 case 120 : /* fall through */
1155 case 121 : /* fall through */
1156 case 122 : /* fall through */
1157 case 123 : /* fall through */
1158 case 124 : /* fall through */
1159 case 125 : /* fall through */
1161 if ((base_insn & 0xbf0) == 0x830)
1162 { itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m; }
1163 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1166 unsigned int val = (((insn >> 15) & (1 << 0)));
1170 if ((base_insn & 0xbf0) == 0x830)
1171 { itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m; }
1172 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1174 if ((base_insn & 0xffff) == 0xf83f)
1175 { itype = CRISV10F_INSN_ADDSPCPC; goto extract_sfmt_addspcpc; }
1176 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1177 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1180 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1184 if ((base_insn & 0xbf0) == 0x840)
1185 { itype = CRISV10F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m; }
1186 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1188 if ((base_insn & 0xbf0) == 0x850)
1189 { itype = CRISV10F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m; }
1190 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1192 if ((base_insn & 0xbf0) == 0x860)
1193 { itype = CRISV10F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m; }
1194 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1196 if ((base_insn & 0xbf0) == 0x870)
1197 { itype = CRISV10F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m; }
1198 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1200 if ((base_insn & 0xbf0) == 0x880)
1201 { itype = CRISV10F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m; }
1202 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1204 if ((base_insn & 0xbf0) == 0x890)
1205 { itype = CRISV10F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m; }
1206 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1208 if ((base_insn & 0xbf0) == 0x8a0)
1209 { itype = CRISV10F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m; }
1210 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1212 if ((base_insn & 0xbf0) == 0x8b0)
1213 { itype = CRISV10F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m; }
1214 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1216 if ((base_insn & 0xbf0) == 0x8c0)
1217 { itype = CRISV10F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m; }
1218 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1220 if ((base_insn & 0xbf0) == 0x8d0)
1221 { itype = CRISV10F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m; }
1222 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1224 if ((base_insn & 0xbf0) == 0x8e0)
1225 { itype = CRISV10F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m; }
1226 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1228 if ((base_insn & 0xbf0) == 0x8f0)
1229 { itype = CRISV10F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m; }
1230 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1232 if ((base_insn & 0xff0) == 0x900)
1233 { itype = CRISV10F_INSN_MULU_B; goto extract_sfmt_muls_b; }
1234 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1236 if ((base_insn & 0xff0) == 0x910)
1237 { itype = CRISV10F_INSN_MULU_W; goto extract_sfmt_muls_b; }
1238 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1240 if ((base_insn & 0xff0) == 0x920)
1241 { itype = CRISV10F_INSN_MULU_D; goto extract_sfmt_muls_b; }
1242 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1245 unsigned int val = (((insn >> 12) & (15 << 0)));
1248 case 0 : /* fall through */
1249 case 1 : /* fall through */
1250 case 2 : /* fall through */
1251 case 3 : /* fall through */
1252 case 4 : /* fall through */
1253 case 5 : /* fall through */
1254 case 6 : /* fall through */
1255 case 7 : /* fall through */
1256 case 8 : /* fall through */
1257 case 9 : /* fall through */
1258 case 10 : /* fall through */
1259 case 11 : /* fall through */
1260 case 12 : /* fall through */
1261 case 13 : /* fall through */
1263 if ((base_insn & 0xbf0) == 0x930)
1264 { itype = CRISV10F_INSN_JUMP_M; goto extract_sfmt_jump_m; }
1265 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1267 if ((base_insn & 0xfff0) == 0xe930)
1268 { itype = CRISV10F_INSN_BREAK; goto extract_sfmt_break; }
1269 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1270 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1274 if ((base_insn & 0xbf0) == 0x940)
1275 { itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m; }
1276 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1278 if ((base_insn & 0xbf0) == 0x950)
1279 { itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m; }
1280 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1282 if ((base_insn & 0xbf0) == 0x960)
1283 { itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; }
1284 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1286 if ((base_insn & 0xfbf0) == 0x970)
1287 { itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m; }
1288 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1290 if ((base_insn & 0xff0) == 0x9b0)
1291 { itype = CRISV10F_INSN_JUMP_R; goto extract_sfmt_jump_r; }
1292 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1294 if ((base_insn & 0xbf0) == 0x9c0)
1295 { itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m; }
1296 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1298 if ((base_insn & 0xbf0) == 0x9d0)
1299 { itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m; }
1300 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1302 if ((base_insn & 0xbf0) == 0x9e0)
1303 { itype = CRISV10F_INSN_BOUND_M_D_M; goto extract_sfmt_bound_m_d_m; }
1304 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1306 if ((base_insn & 0xbf0) == 0xa00)
1307 { itype = CRISV10F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m; }
1308 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1310 if ((base_insn & 0xbf0) == 0xa10)
1311 { itype = CRISV10F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m; }
1312 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1314 if ((base_insn & 0xbf0) == 0xa20)
1315 { itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m; }
1316 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1318 if ((base_insn & 0xbf0) == 0xa30)
1319 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
1320 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1322 if ((base_insn & 0xbf0) == 0xa40)
1323 { itype = CRISV10F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m; }
1324 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1326 if ((base_insn & 0xbf0) == 0xa50)
1327 { itype = CRISV10F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m; }
1328 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1330 if ((base_insn & 0xbf0) == 0xa60)
1331 { itype = CRISV10F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m; }
1332 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1333 case 167 : /* fall through */
1335 if ((base_insn & 0xbf0) == 0xa70)
1336 { itype = CRISV10F_INSN_MOVE_SPR_MV10; goto extract_sfmt_move_spr_mv10; }
1337 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1339 if ((base_insn & 0xbf0) == 0xa80)
1340 { itype = CRISV10F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m; }
1341 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1343 if ((base_insn & 0xbf0) == 0xa90)
1344 { itype = CRISV10F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m; }
1345 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1347 if ((base_insn & 0xbf0) == 0xaa0)
1348 { itype = CRISV10F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m; }
1349 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1351 if ((base_insn & 0xbf0) == 0xac0)
1352 { itype = CRISV10F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m; }
1353 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1355 if ((base_insn & 0xbf0) == 0xad0)
1356 { itype = CRISV10F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m; }
1357 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1359 if ((base_insn & 0xbf0) == 0xae0)
1360 { itype = CRISV10F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m; }
1361 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1363 if ((base_insn & 0xbf0) == 0xb00)
1364 { itype = CRISV10F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m; }
1365 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1367 if ((base_insn & 0xbf0) == 0xb10)
1368 { itype = CRISV10F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m; }
1369 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1371 if ((base_insn & 0xbf0) == 0xb20)
1372 { itype = CRISV10F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m; }
1373 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1375 if ((base_insn & 0xbf0) == 0xb40)
1376 { itype = CRISV10F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m; }
1377 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1379 if ((base_insn & 0xbf0) == 0xb50)
1380 { itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m; }
1381 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1383 if ((base_insn & 0xbf0) == 0xb60)
1384 { itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m; }
1385 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1386 case 183 : /* fall through */
1388 if ((base_insn & 0xfbf0) == 0x3b70)
1389 { itype = CRISV10F_INSN_SBFS; goto extract_sfmt_sbfs; }
1390 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1391 case 184 : /* fall through */
1393 if ((base_insn & 0xfbf0) == 0xb80)
1394 { itype = CRISV10F_INSN_TEST_M_B_M; goto extract_sfmt_test_m_b_m; }
1395 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1396 case 185 : /* fall through */
1398 if ((base_insn & 0xfbf0) == 0xb90)
1399 { itype = CRISV10F_INSN_TEST_M_W_M; goto extract_sfmt_test_m_w_m; }
1400 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1401 case 186 : /* fall through */
1403 if ((base_insn & 0xfbf0) == 0xba0)
1404 { itype = CRISV10F_INSN_TEST_M_D_M; goto extract_sfmt_test_m_d_m; }
1405 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1406 case 187 : /* fall through */
1409 unsigned int val = (((insn >> 12) & (15 << 0)));
1412 case 0 : /* fall through */
1413 case 1 : /* fall through */
1414 case 2 : /* fall through */
1415 case 3 : /* fall through */
1416 case 4 : /* fall through */
1417 case 5 : /* fall through */
1418 case 6 : /* fall through */
1419 case 7 : /* fall through */
1420 case 8 : /* fall through */
1421 case 9 : /* fall through */
1422 case 10 : /* fall through */
1423 case 11 : /* fall through */
1424 case 12 : /* fall through */
1425 case 13 : /* fall through */
1427 if ((base_insn & 0xbf0) == 0xbb0)
1428 { itype = CRISV10F_INSN_MOVEM_M_R; goto extract_sfmt_movem_m_r; }
1429 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1431 if ((base_insn & 0xfbf0) == 0xfbb0)
1432 { itype = CRISV10F_INSN_MOVEM_M_PC; goto extract_sfmt_movem_m_pc; }
1433 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1434 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1437 case 188 : /* fall through */
1439 if ((base_insn & 0xbf0) == 0xbc0)
1440 { itype = CRISV10F_INSN_MOVE_R_M_B_M; goto extract_sfmt_move_r_m_b_m; }
1441 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1442 case 189 : /* fall through */
1444 if ((base_insn & 0xbf0) == 0xbd0)
1445 { itype = CRISV10F_INSN_MOVE_R_M_W_M; goto extract_sfmt_move_r_m_w_m; }
1446 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1447 case 190 : /* fall through */
1449 if ((base_insn & 0xbf0) == 0xbe0)
1450 { itype = CRISV10F_INSN_MOVE_R_M_D_M; goto extract_sfmt_move_r_m_d_m; }
1451 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1452 case 191 : /* fall through */
1454 if ((base_insn & 0xbf0) == 0xbf0)
1455 { itype = CRISV10F_INSN_MOVEM_R_M; goto extract_sfmt_movem_r_m; }
1456 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1459 unsigned int val = (((insn >> 0) & (15 << 0)));
1462 case 0 : /* fall through */
1463 case 1 : /* fall through */
1464 case 2 : /* fall through */
1465 case 3 : /* fall through */
1466 case 4 : /* fall through */
1467 case 5 : /* fall through */
1468 case 6 : /* fall through */
1469 case 7 : /* fall through */
1470 case 8 : /* fall through */
1471 case 9 : /* fall through */
1472 case 10 : /* fall through */
1473 case 11 : /* fall through */
1474 case 12 : /* fall through */
1475 case 13 : /* fall through */
1477 if ((base_insn & 0xbf0) == 0x800)
1478 { itype = CRISV10F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m; }
1479 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1481 if ((base_insn & 0xfff) == 0xc0f)
1482 { itype = CRISV10F_INSN_ADDUCBR; goto extract_sfmt_addscbr; }
1483 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1484 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1489 unsigned int val = (((insn >> 0) & (15 << 0)));
1492 case 0 : /* fall through */
1493 case 1 : /* fall through */
1494 case 2 : /* fall through */
1495 case 3 : /* fall through */
1496 case 4 : /* fall through */
1497 case 5 : /* fall through */
1498 case 6 : /* fall through */
1499 case 7 : /* fall through */
1500 case 8 : /* fall through */
1501 case 9 : /* fall through */
1502 case 10 : /* fall through */
1503 case 11 : /* fall through */
1504 case 12 : /* fall through */
1505 case 13 : /* fall through */
1507 if ((base_insn & 0xbf0) == 0x810)
1508 { itype = CRISV10F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m; }
1509 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1511 if ((base_insn & 0xfff) == 0xc1f)
1512 { itype = CRISV10F_INSN_ADDUCWR; goto extract_sfmt_addscwr; }
1513 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1514 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1519 unsigned int val = (((insn >> 0) & (15 << 0)));
1522 case 0 : /* fall through */
1523 case 1 : /* fall through */
1524 case 2 : /* fall through */
1525 case 3 : /* fall through */
1526 case 4 : /* fall through */
1527 case 5 : /* fall through */
1528 case 6 : /* fall through */
1529 case 7 : /* fall through */
1530 case 8 : /* fall through */
1531 case 9 : /* fall through */
1532 case 10 : /* fall through */
1533 case 11 : /* fall through */
1534 case 12 : /* fall through */
1535 case 13 : /* fall through */
1537 if ((base_insn & 0xbf0) == 0x820)
1538 { itype = CRISV10F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m; }
1539 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1541 if ((base_insn & 0xfff) == 0xc2f)
1542 { itype = CRISV10F_INSN_ADDSCBR; goto extract_sfmt_addscbr; }
1543 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1544 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1549 unsigned int val = (((insn >> 0) & (15 << 0)));
1552 case 0 : /* fall through */
1553 case 1 : /* fall through */
1554 case 2 : /* fall through */
1555 case 3 : /* fall through */
1556 case 4 : /* fall through */
1557 case 5 : /* fall through */
1558 case 6 : /* fall through */
1559 case 7 : /* fall through */
1560 case 8 : /* fall through */
1561 case 9 : /* fall through */
1562 case 10 : /* fall through */
1563 case 11 : /* fall through */
1564 case 12 : /* fall through */
1565 case 13 : /* fall through */
1567 if ((base_insn & 0xbf0) == 0x830)
1568 { itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m; }
1569 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1571 if ((base_insn & 0xfff) == 0xc3f)
1572 { itype = CRISV10F_INSN_ADDSCWR; goto extract_sfmt_addscwr; }
1573 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1574 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1579 unsigned int val = (((insn >> 0) & (15 << 0)));
1582 case 0 : /* fall through */
1583 case 1 : /* fall through */
1584 case 2 : /* fall through */
1585 case 3 : /* fall through */
1586 case 4 : /* fall through */
1587 case 5 : /* fall through */
1588 case 6 : /* fall through */
1589 case 7 : /* fall through */
1590 case 8 : /* fall through */
1591 case 9 : /* fall through */
1592 case 10 : /* fall through */
1593 case 11 : /* fall through */
1594 case 12 : /* fall through */
1595 case 13 : /* fall through */
1597 if ((base_insn & 0xbf0) == 0x840)
1598 { itype = CRISV10F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m; }
1599 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1601 if ((base_insn & 0xfff) == 0xc4f)
1602 { itype = CRISV10F_INSN_MOVUCBR; goto extract_sfmt_movucbr; }
1603 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1604 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1609 unsigned int val = (((insn >> 0) & (15 << 0)));
1612 case 0 : /* fall through */
1613 case 1 : /* fall through */
1614 case 2 : /* fall through */
1615 case 3 : /* fall through */
1616 case 4 : /* fall through */
1617 case 5 : /* fall through */
1618 case 6 : /* fall through */
1619 case 7 : /* fall through */
1620 case 8 : /* fall through */
1621 case 9 : /* fall through */
1622 case 10 : /* fall through */
1623 case 11 : /* fall through */
1624 case 12 : /* fall through */
1625 case 13 : /* fall through */
1627 if ((base_insn & 0xbf0) == 0x850)
1628 { itype = CRISV10F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m; }
1629 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1631 if ((base_insn & 0xfff) == 0xc5f)
1632 { itype = CRISV10F_INSN_MOVUCWR; goto extract_sfmt_movucwr; }
1633 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1634 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1639 unsigned int val = (((insn >> 0) & (15 << 0)));
1642 case 0 : /* fall through */
1643 case 1 : /* fall through */
1644 case 2 : /* fall through */
1645 case 3 : /* fall through */
1646 case 4 : /* fall through */
1647 case 5 : /* fall through */
1648 case 6 : /* fall through */
1649 case 7 : /* fall through */
1650 case 8 : /* fall through */
1651 case 9 : /* fall through */
1652 case 10 : /* fall through */
1653 case 11 : /* fall through */
1654 case 12 : /* fall through */
1655 case 13 : /* fall through */
1657 if ((base_insn & 0xbf0) == 0x860)
1658 { itype = CRISV10F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m; }
1659 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1661 if ((base_insn & 0xfff) == 0xc6f)
1662 { itype = CRISV10F_INSN_MOVSCBR; goto extract_sfmt_movscbr; }
1663 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1664 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1669 unsigned int val = (((insn >> 0) & (15 << 0)));
1672 case 0 : /* fall through */
1673 case 1 : /* fall through */
1674 case 2 : /* fall through */
1675 case 3 : /* fall through */
1676 case 4 : /* fall through */
1677 case 5 : /* fall through */
1678 case 6 : /* fall through */
1679 case 7 : /* fall through */
1680 case 8 : /* fall through */
1681 case 9 : /* fall through */
1682 case 10 : /* fall through */
1683 case 11 : /* fall through */
1684 case 12 : /* fall through */
1685 case 13 : /* fall through */
1687 if ((base_insn & 0xbf0) == 0x870)
1688 { itype = CRISV10F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m; }
1689 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1691 if ((base_insn & 0xfff) == 0xc7f)
1692 { itype = CRISV10F_INSN_MOVSCWR; goto extract_sfmt_movscwr; }
1693 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1694 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1699 unsigned int val = (((insn >> 0) & (15 << 0)));
1702 case 0 : /* fall through */
1703 case 1 : /* fall through */
1704 case 2 : /* fall through */
1705 case 3 : /* fall through */
1706 case 4 : /* fall through */
1707 case 5 : /* fall through */
1708 case 6 : /* fall through */
1709 case 7 : /* fall through */
1710 case 8 : /* fall through */
1711 case 9 : /* fall through */
1712 case 10 : /* fall through */
1713 case 11 : /* fall through */
1714 case 12 : /* fall through */
1715 case 13 : /* fall through */
1717 if ((base_insn & 0xbf0) == 0x880)
1718 { itype = CRISV10F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m; }
1719 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1721 if ((base_insn & 0xfff) == 0xc8f)
1722 { itype = CRISV10F_INSN_SUBUCBR; goto extract_sfmt_addscbr; }
1723 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1724 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1729 unsigned int val = (((insn >> 0) & (15 << 0)));
1732 case 0 : /* fall through */
1733 case 1 : /* fall through */
1734 case 2 : /* fall through */
1735 case 3 : /* fall through */
1736 case 4 : /* fall through */
1737 case 5 : /* fall through */
1738 case 6 : /* fall through */
1739 case 7 : /* fall through */
1740 case 8 : /* fall through */
1741 case 9 : /* fall through */
1742 case 10 : /* fall through */
1743 case 11 : /* fall through */
1744 case 12 : /* fall through */
1745 case 13 : /* fall through */
1747 if ((base_insn & 0xbf0) == 0x890)
1748 { itype = CRISV10F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m; }
1749 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1751 if ((base_insn & 0xfff) == 0xc9f)
1752 { itype = CRISV10F_INSN_SUBUCWR; goto extract_sfmt_addscwr; }
1753 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1754 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1759 unsigned int val = (((insn >> 0) & (15 << 0)));
1762 case 0 : /* fall through */
1763 case 1 : /* fall through */
1764 case 2 : /* fall through */
1765 case 3 : /* fall through */
1766 case 4 : /* fall through */
1767 case 5 : /* fall through */
1768 case 6 : /* fall through */
1769 case 7 : /* fall through */
1770 case 8 : /* fall through */
1771 case 9 : /* fall through */
1772 case 10 : /* fall through */
1773 case 11 : /* fall through */
1774 case 12 : /* fall through */
1775 case 13 : /* fall through */
1777 if ((base_insn & 0xbf0) == 0x8a0)
1778 { itype = CRISV10F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m; }
1779 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1781 if ((base_insn & 0xfff) == 0xcaf)
1782 { itype = CRISV10F_INSN_SUBSCBR; goto extract_sfmt_addscbr; }
1783 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1784 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1789 unsigned int val = (((insn >> 0) & (15 << 0)));
1792 case 0 : /* fall through */
1793 case 1 : /* fall through */
1794 case 2 : /* fall through */
1795 case 3 : /* fall through */
1796 case 4 : /* fall through */
1797 case 5 : /* fall through */
1798 case 6 : /* fall through */
1799 case 7 : /* fall through */
1800 case 8 : /* fall through */
1801 case 9 : /* fall through */
1802 case 10 : /* fall through */
1803 case 11 : /* fall through */
1804 case 12 : /* fall through */
1805 case 13 : /* fall through */
1807 if ((base_insn & 0xbf0) == 0x8b0)
1808 { itype = CRISV10F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m; }
1809 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1811 if ((base_insn & 0xfff) == 0xcbf)
1812 { itype = CRISV10F_INSN_SUBSCWR; goto extract_sfmt_addscwr; }
1813 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1814 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1819 unsigned int val = (((insn >> 0) & (15 << 0)));
1822 case 0 : /* fall through */
1823 case 1 : /* fall through */
1824 case 2 : /* fall through */
1825 case 3 : /* fall through */
1826 case 4 : /* fall through */
1827 case 5 : /* fall through */
1828 case 6 : /* fall through */
1829 case 7 : /* fall through */
1830 case 8 : /* fall through */
1831 case 9 : /* fall through */
1832 case 10 : /* fall through */
1833 case 11 : /* fall through */
1834 case 12 : /* fall through */
1835 case 13 : /* fall through */
1837 if ((base_insn & 0xbf0) == 0x8c0)
1838 { itype = CRISV10F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m; }
1839 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1841 if ((base_insn & 0xfff) == 0xccf)
1842 { itype = CRISV10F_INSN_CMPUCBR; goto extract_sfmt_cmpucbr; }
1843 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1844 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1849 unsigned int val = (((insn >> 0) & (15 << 0)));
1852 case 0 : /* fall through */
1853 case 1 : /* fall through */
1854 case 2 : /* fall through */
1855 case 3 : /* fall through */
1856 case 4 : /* fall through */
1857 case 5 : /* fall through */
1858 case 6 : /* fall through */
1859 case 7 : /* fall through */
1860 case 8 : /* fall through */
1861 case 9 : /* fall through */
1862 case 10 : /* fall through */
1863 case 11 : /* fall through */
1864 case 12 : /* fall through */
1865 case 13 : /* fall through */
1867 if ((base_insn & 0xbf0) == 0x8d0)
1868 { itype = CRISV10F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m; }
1869 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1871 if ((base_insn & 0xfff) == 0xcdf)
1872 { itype = CRISV10F_INSN_CMPUCWR; goto extract_sfmt_cmpucwr; }
1873 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1874 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1879 unsigned int val = (((insn >> 0) & (15 << 0)));
1882 case 0 : /* fall through */
1883 case 1 : /* fall through */
1884 case 2 : /* fall through */
1885 case 3 : /* fall through */
1886 case 4 : /* fall through */
1887 case 5 : /* fall through */
1888 case 6 : /* fall through */
1889 case 7 : /* fall through */
1890 case 8 : /* fall through */
1891 case 9 : /* fall through */
1892 case 10 : /* fall through */
1893 case 11 : /* fall through */
1894 case 12 : /* fall through */
1895 case 13 : /* fall through */
1897 if ((base_insn & 0xbf0) == 0x8e0)
1898 { itype = CRISV10F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m; }
1899 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1901 if ((base_insn & 0xfff) == 0xcef)
1902 { itype = CRISV10F_INSN_CMPSCBR; goto extract_sfmt_cmpcbr; }
1903 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1904 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1909 unsigned int val = (((insn >> 0) & (15 << 0)));
1912 case 0 : /* fall through */
1913 case 1 : /* fall through */
1914 case 2 : /* fall through */
1915 case 3 : /* fall through */
1916 case 4 : /* fall through */
1917 case 5 : /* fall through */
1918 case 6 : /* fall through */
1919 case 7 : /* fall through */
1920 case 8 : /* fall through */
1921 case 9 : /* fall through */
1922 case 10 : /* fall through */
1923 case 11 : /* fall through */
1924 case 12 : /* fall through */
1925 case 13 : /* fall through */
1927 if ((base_insn & 0xbf0) == 0x8f0)
1928 { itype = CRISV10F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m; }
1929 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1931 if ((base_insn & 0xfff) == 0xcff)
1932 { itype = CRISV10F_INSN_CMPSCWR; goto extract_sfmt_cmpcwr; }
1933 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1934 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1938 if ((base_insn & 0xff0) == 0xd00)
1939 { itype = CRISV10F_INSN_MULS_B; goto extract_sfmt_muls_b; }
1940 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1942 if ((base_insn & 0xff0) == 0xd10)
1943 { itype = CRISV10F_INSN_MULS_W; goto extract_sfmt_muls_b; }
1944 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1946 if ((base_insn & 0xff0) == 0xd20)
1947 { itype = CRISV10F_INSN_MULS_D; goto extract_sfmt_muls_b; }
1948 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1951 unsigned int val = (((insn >> 0) & (15 << 0)));
1954 case 0 : /* fall through */
1955 case 1 : /* fall through */
1956 case 2 : /* fall through */
1957 case 3 : /* fall through */
1958 case 4 : /* fall through */
1959 case 5 : /* fall through */
1960 case 6 : /* fall through */
1961 case 7 : /* fall through */
1962 case 8 : /* fall through */
1963 case 9 : /* fall through */
1964 case 10 : /* fall through */
1965 case 11 : /* fall through */
1966 case 12 : /* fall through */
1967 case 13 : /* fall through */
1969 if ((base_insn & 0xbf0) == 0x930)
1970 { itype = CRISV10F_INSN_JUMP_M; goto extract_sfmt_jump_m; }
1971 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1973 if ((base_insn & 0xfff) == 0xd3f)
1974 { itype = CRISV10F_INSN_JUMP_C; goto extract_sfmt_jump_c; }
1975 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1976 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1981 unsigned int val = (((insn >> 0) & (15 << 0)));
1984 case 0 : /* fall through */
1985 case 1 : /* fall through */
1986 case 2 : /* fall through */
1987 case 3 : /* fall through */
1988 case 4 : /* fall through */
1989 case 5 : /* fall through */
1990 case 6 : /* fall through */
1991 case 7 : /* fall through */
1992 case 8 : /* fall through */
1993 case 9 : /* fall through */
1994 case 10 : /* fall through */
1995 case 11 : /* fall through */
1996 case 12 : /* fall through */
1997 case 13 : /* fall through */
1999 if ((base_insn & 0xbf0) == 0x940)
2000 { itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m; }
2001 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2003 if ((base_insn & 0xfff) == 0xd4f)
2004 { itype = CRISV10F_INSN_ADDO_CB; goto extract_sfmt_addo_cb; }
2005 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2006 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2011 unsigned int val = (((insn >> 0) & (15 << 0)));
2014 case 0 : /* fall through */
2015 case 1 : /* fall through */
2016 case 2 : /* fall through */
2017 case 3 : /* fall through */
2018 case 4 : /* fall through */
2019 case 5 : /* fall through */
2020 case 6 : /* fall through */
2021 case 7 : /* fall through */
2022 case 8 : /* fall through */
2023 case 9 : /* fall through */
2024 case 10 : /* fall through */
2025 case 11 : /* fall through */
2026 case 12 : /* fall through */
2027 case 13 : /* fall through */
2029 if ((base_insn & 0xbf0) == 0x950)
2030 { itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m; }
2031 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2033 if ((base_insn & 0xfff) == 0xd5f)
2034 { itype = CRISV10F_INSN_ADDO_CW; goto extract_sfmt_addo_cw; }
2035 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2036 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2041 unsigned int val = (((insn >> 0) & (15 << 0)));
2044 case 0 : /* fall through */
2045 case 1 : /* fall through */
2046 case 2 : /* fall through */
2047 case 3 : /* fall through */
2048 case 4 : /* fall through */
2049 case 5 : /* fall through */
2050 case 6 : /* fall through */
2051 case 7 : /* fall through */
2052 case 8 : /* fall through */
2053 case 9 : /* fall through */
2054 case 10 : /* fall through */
2055 case 11 : /* fall through */
2056 case 12 : /* fall through */
2057 case 13 : /* fall through */
2059 if ((base_insn & 0xbf0) == 0x960)
2060 { itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; }
2061 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2063 if ((base_insn & 0xfff) == 0xd6f)
2064 { itype = CRISV10F_INSN_ADDO_CD; goto extract_sfmt_addo_cd; }
2065 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2066 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2071 unsigned int val = (((insn >> 0) & (15 << 0)));
2074 case 0 : /* fall through */
2075 case 1 : /* fall through */
2076 case 2 : /* fall through */
2077 case 3 : /* fall through */
2078 case 4 : /* fall through */
2079 case 5 : /* fall through */
2080 case 6 : /* fall through */
2081 case 7 : /* fall through */
2082 case 8 : /* fall through */
2083 case 9 : /* fall through */
2084 case 10 : /* fall through */
2085 case 11 : /* fall through */
2086 case 12 : /* fall through */
2087 case 13 : /* fall through */
2089 if ((base_insn & 0xfbf0) == 0x970)
2090 { itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m; }
2091 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2093 if ((base_insn & 0xffff) == 0xd7f)
2094 { itype = CRISV10F_INSN_DIP_C; goto extract_sfmt_dip_c; }
2095 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2096 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2101 unsigned int val = (((insn >> 0) & (15 << 0)));
2104 case 0 : /* fall through */
2105 case 1 : /* fall through */
2106 case 2 : /* fall through */
2107 case 3 : /* fall through */
2108 case 4 : /* fall through */
2109 case 5 : /* fall through */
2110 case 6 : /* fall through */
2111 case 7 : /* fall through */
2112 case 8 : /* fall through */
2113 case 9 : /* fall through */
2114 case 10 : /* fall through */
2115 case 11 : /* fall through */
2116 case 12 : /* fall through */
2117 case 13 : /* fall through */
2119 if ((base_insn & 0xbf0) == 0x9c0)
2120 { itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m; }
2121 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2123 if ((base_insn & 0xfff) == 0xdcf)
2124 { itype = CRISV10F_INSN_BOUND_CB; goto extract_sfmt_bound_cb; }
2125 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2126 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2131 unsigned int val = (((insn >> 0) & (15 << 0)));
2134 case 0 : /* fall through */
2135 case 1 : /* fall through */
2136 case 2 : /* fall through */
2137 case 3 : /* fall through */
2138 case 4 : /* fall through */
2139 case 5 : /* fall through */
2140 case 6 : /* fall through */
2141 case 7 : /* fall through */
2142 case 8 : /* fall through */
2143 case 9 : /* fall through */
2144 case 10 : /* fall through */
2145 case 11 : /* fall through */
2146 case 12 : /* fall through */
2147 case 13 : /* fall through */
2149 if ((base_insn & 0xbf0) == 0x9d0)
2150 { itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m; }
2151 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2153 if ((base_insn & 0xfff) == 0xddf)
2154 { itype = CRISV10F_INSN_BOUND_CW; goto extract_sfmt_bound_cw; }
2155 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2156 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2161 unsigned int val = (((insn >> 0) & (15 << 0)));
2164 case 0 : /* fall through */
2165 case 1 : /* fall through */
2166 case 2 : /* fall through */
2167 case 3 : /* fall through */
2168 case 4 : /* fall through */
2169 case 5 : /* fall through */
2170 case 6 : /* fall through */
2171 case 7 : /* fall through */
2172 case 8 : /* fall through */
2173 case 9 : /* fall through */
2174 case 10 : /* fall through */
2175 case 11 : /* fall through */
2176 case 12 : /* fall through */
2177 case 13 : /* fall through */
2179 if ((base_insn & 0xbf0) == 0x9e0)
2180 { itype = CRISV10F_INSN_BOUND_M_D_M; goto extract_sfmt_bound_m_d_m; }
2181 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2183 if ((base_insn & 0xfff) == 0xdef)
2184 { itype = CRISV10F_INSN_BOUND_CD; goto extract_sfmt_bound_cd; }
2185 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2186 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2191 unsigned int val = (((insn >> 12) & (15 << 0)));
2194 case 0 : /* fall through */
2195 case 1 : /* fall through */
2196 case 2 : /* fall through */
2197 case 3 : /* fall through */
2198 case 4 : /* fall through */
2199 case 5 : /* fall through */
2200 case 6 : /* fall through */
2201 case 7 : /* fall through */
2202 case 8 : /* fall through */
2203 case 9 : /* fall through */
2204 case 10 : /* fall through */
2205 case 11 : /* fall through */
2206 case 12 : /* fall through */
2207 case 13 : /* fall through */
2209 if ((base_insn & 0xfff) == 0xdff)
2210 { itype = CRISV10F_INSN_BCC_W; goto extract_sfmt_bcc_w; }
2211 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2213 if ((base_insn & 0xffff) == 0xedff)
2214 { itype = CRISV10F_INSN_BA_W; goto extract_sfmt_ba_w; }
2215 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2216 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2221 unsigned int val = (((insn >> 0) & (15 << 0)));
2224 case 0 : /* fall through */
2225 case 1 : /* fall through */
2226 case 2 : /* fall through */
2227 case 3 : /* fall through */
2228 case 4 : /* fall through */
2229 case 5 : /* fall through */
2230 case 6 : /* fall through */
2231 case 7 : /* fall through */
2232 case 8 : /* fall through */
2233 case 9 : /* fall through */
2234 case 10 : /* fall through */
2235 case 11 : /* fall through */
2236 case 12 : /* fall through */
2237 case 13 : /* fall through */
2239 if ((base_insn & 0xbf0) == 0xa00)
2240 { itype = CRISV10F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m; }
2241 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2243 if ((base_insn & 0xfff) == 0xe0f)
2244 { itype = CRISV10F_INSN_ADDCBR; goto extract_sfmt_addcbr; }
2245 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2246 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2251 unsigned int val = (((insn >> 0) & (15 << 0)));
2254 case 0 : /* fall through */
2255 case 1 : /* fall through */
2256 case 2 : /* fall through */
2257 case 3 : /* fall through */
2258 case 4 : /* fall through */
2259 case 5 : /* fall through */
2260 case 6 : /* fall through */
2261 case 7 : /* fall through */
2262 case 8 : /* fall through */
2263 case 9 : /* fall through */
2264 case 10 : /* fall through */
2265 case 11 : /* fall through */
2266 case 12 : /* fall through */
2267 case 13 : /* fall through */
2269 if ((base_insn & 0xbf0) == 0xa10)
2270 { itype = CRISV10F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m; }
2271 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2273 if ((base_insn & 0xfff) == 0xe1f)
2274 { itype = CRISV10F_INSN_ADDCWR; goto extract_sfmt_addcwr; }
2275 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2276 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2281 unsigned int val = (((insn >> 12) & (15 << 0)));
2284 case 0 : /* fall through */
2285 case 1 : /* fall through */
2286 case 2 : /* fall through */
2287 case 3 : /* fall through */
2288 case 4 : /* fall through */
2289 case 5 : /* fall through */
2290 case 6 : /* fall through */
2291 case 7 : /* fall through */
2292 case 8 : /* fall through */
2293 case 9 : /* fall through */
2294 case 10 : /* fall through */
2295 case 11 : /* fall through */
2296 case 12 : /* fall through */
2297 case 13 : /* fall through */
2300 unsigned int val = (((insn >> 0) & (15 << 0)));
2303 case 0 : /* fall through */
2304 case 1 : /* fall through */
2305 case 2 : /* fall through */
2306 case 3 : /* fall through */
2307 case 4 : /* fall through */
2308 case 5 : /* fall through */
2309 case 6 : /* fall through */
2310 case 7 : /* fall through */
2311 case 8 : /* fall through */
2312 case 9 : /* fall through */
2313 case 10 : /* fall through */
2314 case 11 : /* fall through */
2315 case 12 : /* fall through */
2316 case 13 : /* fall through */
2318 if ((base_insn & 0xbf0) == 0xa20)
2319 { itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m; }
2320 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2322 if ((base_insn & 0xfff) == 0xe2f)
2323 { itype = CRISV10F_INSN_ADDCDR; goto extract_sfmt_addcdr; }
2324 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2325 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2330 unsigned int val = (((insn >> 0) & (15 << 0)));
2333 case 0 : /* fall through */
2334 case 1 : /* fall through */
2335 case 2 : /* fall through */
2336 case 3 : /* fall through */
2337 case 4 : /* fall through */
2338 case 5 : /* fall through */
2339 case 6 : /* fall through */
2340 case 7 : /* fall through */
2341 case 8 : /* fall through */
2342 case 9 : /* fall through */
2343 case 10 : /* fall through */
2344 case 11 : /* fall through */
2345 case 12 : /* fall through */
2346 case 13 : /* fall through */
2348 if ((base_insn & 0xbf0) == 0xa20)
2349 { itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m; }
2350 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2352 if ((base_insn & 0xffff) == 0xfe2f)
2353 { itype = CRISV10F_INSN_ADDCPC; goto extract_sfmt_addcpc; }
2354 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2355 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2358 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2363 unsigned int val = (((insn >> 12) & (15 << 0)));
2368 unsigned int val = (((insn >> 0) & (15 << 0)));
2371 case 0 : /* fall through */
2372 case 1 : /* fall through */
2373 case 2 : /* fall through */
2374 case 3 : /* fall through */
2375 case 4 : /* fall through */
2376 case 5 : /* fall through */
2377 case 6 : /* fall through */
2378 case 7 : /* fall through */
2379 case 8 : /* fall through */
2380 case 9 : /* fall through */
2381 case 10 : /* fall through */
2382 case 11 : /* fall through */
2383 case 12 : /* fall through */
2384 case 13 : /* fall through */
2386 if ((base_insn & 0xbf0) == 0xa30)
2387 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2388 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2390 if ((base_insn & 0xffff) == 0xe3f)
2391 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P0; goto extract_sfmt_move_c_sprv10_p0; }
2392 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2393 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2398 unsigned int val = (((insn >> 0) & (15 << 0)));
2401 case 0 : /* fall through */
2402 case 1 : /* fall through */
2403 case 2 : /* fall through */
2404 case 3 : /* fall through */
2405 case 4 : /* fall through */
2406 case 5 : /* fall through */
2407 case 6 : /* fall through */
2408 case 7 : /* fall through */
2409 case 8 : /* fall through */
2410 case 9 : /* fall through */
2411 case 10 : /* fall through */
2412 case 11 : /* fall through */
2413 case 12 : /* fall through */
2414 case 13 : /* fall through */
2416 if ((base_insn & 0xbf0) == 0xa30)
2417 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2418 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2420 if ((base_insn & 0xffff) == 0x1e3f)
2421 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P1; goto extract_sfmt_move_c_sprv10_p0; }
2422 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2423 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2426 case 2 : /* fall through */
2427 case 3 : /* fall through */
2429 if ((base_insn & 0xbf0) == 0xa30)
2430 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2431 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2434 unsigned int val = (((insn >> 0) & (15 << 0)));
2437 case 0 : /* fall through */
2438 case 1 : /* fall through */
2439 case 2 : /* fall through */
2440 case 3 : /* fall through */
2441 case 4 : /* fall through */
2442 case 5 : /* fall through */
2443 case 6 : /* fall through */
2444 case 7 : /* fall through */
2445 case 8 : /* fall through */
2446 case 9 : /* fall through */
2447 case 10 : /* fall through */
2448 case 11 : /* fall through */
2449 case 12 : /* fall through */
2450 case 13 : /* fall through */
2452 if ((base_insn & 0xbf0) == 0xa30)
2453 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2454 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2456 if ((base_insn & 0xffff) == 0x4e3f)
2457 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P4; goto extract_sfmt_move_c_sprv10_p4; }
2458 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2459 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2464 unsigned int val = (((insn >> 0) & (15 << 0)));
2467 case 0 : /* fall through */
2468 case 1 : /* fall through */
2469 case 2 : /* fall through */
2470 case 3 : /* fall through */
2471 case 4 : /* fall through */
2472 case 5 : /* fall through */
2473 case 6 : /* fall through */
2474 case 7 : /* fall through */
2475 case 8 : /* fall through */
2476 case 9 : /* fall through */
2477 case 10 : /* fall through */
2478 case 11 : /* fall through */
2479 case 12 : /* fall through */
2480 case 13 : /* fall through */
2482 if ((base_insn & 0xbf0) == 0xa30)
2483 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2484 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2486 if ((base_insn & 0xffff) == 0x5e3f)
2487 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P5; goto extract_sfmt_move_c_sprv10_p4; }
2488 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2489 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2494 unsigned int val = (((insn >> 0) & (15 << 0)));
2497 case 0 : /* fall through */
2498 case 1 : /* fall through */
2499 case 2 : /* fall through */
2500 case 3 : /* fall through */
2501 case 4 : /* fall through */
2502 case 5 : /* fall through */
2503 case 6 : /* fall through */
2504 case 7 : /* fall through */
2505 case 8 : /* fall through */
2506 case 9 : /* fall through */
2507 case 10 : /* fall through */
2508 case 11 : /* fall through */
2509 case 12 : /* fall through */
2510 case 13 : /* fall through */
2512 if ((base_insn & 0xbf0) == 0xa30)
2513 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2514 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2516 if ((base_insn & 0xffff) == 0x7e3f)
2517 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P7; goto extract_sfmt_move_c_sprv10_p8; }
2518 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2519 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2524 unsigned int val = (((insn >> 0) & (15 << 0)));
2527 case 0 : /* fall through */
2528 case 1 : /* fall through */
2529 case 2 : /* fall through */
2530 case 3 : /* fall through */
2531 case 4 : /* fall through */
2532 case 5 : /* fall through */
2533 case 6 : /* fall through */
2534 case 7 : /* fall through */
2535 case 8 : /* fall through */
2536 case 9 : /* fall through */
2537 case 10 : /* fall through */
2538 case 11 : /* fall through */
2539 case 12 : /* fall through */
2540 case 13 : /* fall through */
2542 if ((base_insn & 0xbf0) == 0xa30)
2543 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2544 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2546 if ((base_insn & 0xffff) == 0x8e3f)
2547 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P8; goto extract_sfmt_move_c_sprv10_p8; }
2548 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2549 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2554 unsigned int val = (((insn >> 0) & (15 << 0)));
2557 case 0 : /* fall through */
2558 case 1 : /* fall through */
2559 case 2 : /* fall through */
2560 case 3 : /* fall through */
2561 case 4 : /* fall through */
2562 case 5 : /* fall through */
2563 case 6 : /* fall through */
2564 case 7 : /* fall through */
2565 case 8 : /* fall through */
2566 case 9 : /* fall through */
2567 case 10 : /* fall through */
2568 case 11 : /* fall through */
2569 case 12 : /* fall through */
2570 case 13 : /* fall through */
2572 if ((base_insn & 0xbf0) == 0xa30)
2573 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2574 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2576 if ((base_insn & 0xffff) == 0x9e3f)
2577 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P9; goto extract_sfmt_move_c_sprv10_p8; }
2578 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2579 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2584 unsigned int val = (((insn >> 0) & (15 << 0)));
2587 case 0 : /* fall through */
2588 case 1 : /* fall through */
2589 case 2 : /* fall through */
2590 case 3 : /* fall through */
2591 case 4 : /* fall through */
2592 case 5 : /* fall through */
2593 case 6 : /* fall through */
2594 case 7 : /* fall through */
2595 case 8 : /* fall through */
2596 case 9 : /* fall through */
2597 case 10 : /* fall through */
2598 case 11 : /* fall through */
2599 case 12 : /* fall through */
2600 case 13 : /* fall through */
2602 if ((base_insn & 0xbf0) == 0xa30)
2603 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2604 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2606 if ((base_insn & 0xffff) == 0xae3f)
2607 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P10; goto extract_sfmt_move_c_sprv10_p8; }
2608 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2609 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2614 unsigned int val = (((insn >> 0) & (15 << 0)));
2617 case 0 : /* fall through */
2618 case 1 : /* fall through */
2619 case 2 : /* fall through */
2620 case 3 : /* fall through */
2621 case 4 : /* fall through */
2622 case 5 : /* fall through */
2623 case 6 : /* fall through */
2624 case 7 : /* fall through */
2625 case 8 : /* fall through */
2626 case 9 : /* fall through */
2627 case 10 : /* fall through */
2628 case 11 : /* fall through */
2629 case 12 : /* fall through */
2630 case 13 : /* fall through */
2632 if ((base_insn & 0xbf0) == 0xa30)
2633 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2634 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2636 if ((base_insn & 0xffff) == 0xbe3f)
2637 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P11; goto extract_sfmt_move_c_sprv10_p8; }
2638 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2639 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2644 unsigned int val = (((insn >> 0) & (15 << 0)));
2647 case 0 : /* fall through */
2648 case 1 : /* fall through */
2649 case 2 : /* fall through */
2650 case 3 : /* fall through */
2651 case 4 : /* fall through */
2652 case 5 : /* fall through */
2653 case 6 : /* fall through */
2654 case 7 : /* fall through */
2655 case 8 : /* fall through */
2656 case 9 : /* fall through */
2657 case 10 : /* fall through */
2658 case 11 : /* fall through */
2659 case 12 : /* fall through */
2660 case 13 : /* fall through */
2662 if ((base_insn & 0xbf0) == 0xa30)
2663 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2664 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2666 if ((base_insn & 0xffff) == 0xce3f)
2667 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P12; goto extract_sfmt_move_c_sprv10_p8; }
2668 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2669 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2674 unsigned int val = (((insn >> 0) & (15 << 0)));
2677 case 0 : /* fall through */
2678 case 1 : /* fall through */
2679 case 2 : /* fall through */
2680 case 3 : /* fall through */
2681 case 4 : /* fall through */
2682 case 5 : /* fall through */
2683 case 6 : /* fall through */
2684 case 7 : /* fall through */
2685 case 8 : /* fall through */
2686 case 9 : /* fall through */
2687 case 10 : /* fall through */
2688 case 11 : /* fall through */
2689 case 12 : /* fall through */
2690 case 13 : /* fall through */
2692 if ((base_insn & 0xbf0) == 0xa30)
2693 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2694 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2696 if ((base_insn & 0xffff) == 0xde3f)
2697 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P13; goto extract_sfmt_move_c_sprv10_p8; }
2698 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2699 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2704 unsigned int val = (((insn >> 0) & (15 << 0)));
2707 case 0 : /* fall through */
2708 case 1 : /* fall through */
2709 case 2 : /* fall through */
2710 case 3 : /* fall through */
2711 case 4 : /* fall through */
2712 case 5 : /* fall through */
2713 case 6 : /* fall through */
2714 case 7 : /* fall through */
2715 case 8 : /* fall through */
2716 case 9 : /* fall through */
2717 case 10 : /* fall through */
2718 case 11 : /* fall through */
2719 case 12 : /* fall through */
2720 case 13 : /* fall through */
2722 if ((base_insn & 0xbf0) == 0xa30)
2723 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2724 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2726 if ((base_insn & 0xffff) == 0xee3f)
2727 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P14; goto extract_sfmt_move_c_sprv10_p8; }
2728 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2729 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2734 unsigned int val = (((insn >> 0) & (15 << 0)));
2737 case 0 : /* fall through */
2738 case 1 : /* fall through */
2739 case 2 : /* fall through */
2740 case 3 : /* fall through */
2741 case 4 : /* fall through */
2742 case 5 : /* fall through */
2743 case 6 : /* fall through */
2744 case 7 : /* fall through */
2745 case 8 : /* fall through */
2746 case 9 : /* fall through */
2747 case 10 : /* fall through */
2748 case 11 : /* fall through */
2749 case 12 : /* fall through */
2750 case 13 : /* fall through */
2752 if ((base_insn & 0xbf0) == 0xa30)
2753 { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
2754 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2756 if ((base_insn & 0xffff) == 0xfe3f)
2757 { itype = CRISV10F_INSN_MOVE_C_SPRV10_P15; goto extract_sfmt_move_c_sprv10_p8; }
2758 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2759 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2762 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2767 unsigned int val = (((insn >> 0) & (15 << 0)));
2770 case 0 : /* fall through */
2771 case 1 : /* fall through */
2772 case 2 : /* fall through */
2773 case 3 : /* fall through */
2774 case 4 : /* fall through */
2775 case 5 : /* fall through */
2776 case 6 : /* fall through */
2777 case 7 : /* fall through */
2778 case 8 : /* fall through */
2779 case 9 : /* fall through */
2780 case 10 : /* fall through */
2781 case 11 : /* fall through */
2782 case 12 : /* fall through */
2783 case 13 : /* fall through */
2785 if ((base_insn & 0xbf0) == 0xa40)
2786 { itype = CRISV10F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m; }
2787 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2789 if ((base_insn & 0xfff) == 0xe4f)
2790 { itype = CRISV10F_INSN_MOVECBR; goto extract_sfmt_movecbr; }
2791 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2792 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2797 unsigned int val = (((insn >> 0) & (15 << 0)));
2800 case 0 : /* fall through */
2801 case 1 : /* fall through */
2802 case 2 : /* fall through */
2803 case 3 : /* fall through */
2804 case 4 : /* fall through */
2805 case 5 : /* fall through */
2806 case 6 : /* fall through */
2807 case 7 : /* fall through */
2808 case 8 : /* fall through */
2809 case 9 : /* fall through */
2810 case 10 : /* fall through */
2811 case 11 : /* fall through */
2812 case 12 : /* fall through */
2813 case 13 : /* fall through */
2815 if ((base_insn & 0xbf0) == 0xa50)
2816 { itype = CRISV10F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m; }
2817 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2819 if ((base_insn & 0xfff) == 0xe5f)
2820 { itype = CRISV10F_INSN_MOVECWR; goto extract_sfmt_movecwr; }
2821 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2822 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2827 unsigned int val = (((insn >> 0) & (15 << 0)));
2830 case 0 : /* fall through */
2831 case 1 : /* fall through */
2832 case 2 : /* fall through */
2833 case 3 : /* fall through */
2834 case 4 : /* fall through */
2835 case 5 : /* fall through */
2836 case 6 : /* fall through */
2837 case 7 : /* fall through */
2838 case 8 : /* fall through */
2839 case 9 : /* fall through */
2840 case 10 : /* fall through */
2841 case 11 : /* fall through */
2842 case 12 : /* fall through */
2843 case 13 : /* fall through */
2845 if ((base_insn & 0xbf0) == 0xa60)
2846 { itype = CRISV10F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m; }
2847 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2849 if ((base_insn & 0xfff) == 0xe6f)
2850 { itype = CRISV10F_INSN_MOVECDR; goto extract_sfmt_movecdr; }
2851 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2852 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2857 unsigned int val = (((insn >> 0) & (15 << 0)));
2860 case 0 : /* fall through */
2861 case 1 : /* fall through */
2862 case 2 : /* fall through */
2863 case 3 : /* fall through */
2864 case 4 : /* fall through */
2865 case 5 : /* fall through */
2866 case 6 : /* fall through */
2867 case 7 : /* fall through */
2868 case 8 : /* fall through */
2869 case 9 : /* fall through */
2870 case 10 : /* fall through */
2871 case 11 : /* fall through */
2872 case 12 : /* fall through */
2873 case 13 : /* fall through */
2875 if ((base_insn & 0xbf0) == 0xa80)
2876 { itype = CRISV10F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m; }
2877 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2879 if ((base_insn & 0xfff) == 0xe8f)
2880 { itype = CRISV10F_INSN_SUBCBR; goto extract_sfmt_addcbr; }
2881 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2882 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2887 unsigned int val = (((insn >> 0) & (15 << 0)));
2890 case 0 : /* fall through */
2891 case 1 : /* fall through */
2892 case 2 : /* fall through */
2893 case 3 : /* fall through */
2894 case 4 : /* fall through */
2895 case 5 : /* fall through */
2896 case 6 : /* fall through */
2897 case 7 : /* fall through */
2898 case 8 : /* fall through */
2899 case 9 : /* fall through */
2900 case 10 : /* fall through */
2901 case 11 : /* fall through */
2902 case 12 : /* fall through */
2903 case 13 : /* fall through */
2905 if ((base_insn & 0xbf0) == 0xa90)
2906 { itype = CRISV10F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m; }
2907 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2909 if ((base_insn & 0xfff) == 0xe9f)
2910 { itype = CRISV10F_INSN_SUBCWR; goto extract_sfmt_addcwr; }
2911 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2912 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2917 unsigned int val = (((insn >> 0) & (15 << 0)));
2920 case 0 : /* fall through */
2921 case 1 : /* fall through */
2922 case 2 : /* fall through */
2923 case 3 : /* fall through */
2924 case 4 : /* fall through */
2925 case 5 : /* fall through */
2926 case 6 : /* fall through */
2927 case 7 : /* fall through */
2928 case 8 : /* fall through */
2929 case 9 : /* fall through */
2930 case 10 : /* fall through */
2931 case 11 : /* fall through */
2932 case 12 : /* fall through */
2933 case 13 : /* fall through */
2935 if ((base_insn & 0xbf0) == 0xaa0)
2936 { itype = CRISV10F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m; }
2937 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2939 if ((base_insn & 0xfff) == 0xeaf)
2940 { itype = CRISV10F_INSN_SUBCDR; goto extract_sfmt_addcdr; }
2941 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2942 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2947 unsigned int val = (((insn >> 0) & (15 << 0)));
2950 case 0 : /* fall through */
2951 case 1 : /* fall through */
2952 case 2 : /* fall through */
2953 case 3 : /* fall through */
2954 case 4 : /* fall through */
2955 case 5 : /* fall through */
2956 case 6 : /* fall through */
2957 case 7 : /* fall through */
2958 case 8 : /* fall through */
2959 case 9 : /* fall through */
2960 case 10 : /* fall through */
2961 case 11 : /* fall through */
2962 case 12 : /* fall through */
2963 case 13 : /* fall through */
2965 if ((base_insn & 0xbf0) == 0xac0)
2966 { itype = CRISV10F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m; }
2967 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2969 if ((base_insn & 0xfff) == 0xecf)
2970 { itype = CRISV10F_INSN_CMPCBR; goto extract_sfmt_cmpcbr; }
2971 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2972 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2977 unsigned int val = (((insn >> 0) & (15 << 0)));
2980 case 0 : /* fall through */
2981 case 1 : /* fall through */
2982 case 2 : /* fall through */
2983 case 3 : /* fall through */
2984 case 4 : /* fall through */
2985 case 5 : /* fall through */
2986 case 6 : /* fall through */
2987 case 7 : /* fall through */
2988 case 8 : /* fall through */
2989 case 9 : /* fall through */
2990 case 10 : /* fall through */
2991 case 11 : /* fall through */
2992 case 12 : /* fall through */
2993 case 13 : /* fall through */
2995 if ((base_insn & 0xbf0) == 0xad0)
2996 { itype = CRISV10F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m; }
2997 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2999 if ((base_insn & 0xfff) == 0xedf)
3000 { itype = CRISV10F_INSN_CMPCWR; goto extract_sfmt_cmpcwr; }
3001 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3002 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3007 unsigned int val = (((insn >> 0) & (15 << 0)));
3010 case 0 : /* fall through */
3011 case 1 : /* fall through */
3012 case 2 : /* fall through */
3013 case 3 : /* fall through */
3014 case 4 : /* fall through */
3015 case 5 : /* fall through */
3016 case 6 : /* fall through */
3017 case 7 : /* fall through */
3018 case 8 : /* fall through */
3019 case 9 : /* fall through */
3020 case 10 : /* fall through */
3021 case 11 : /* fall through */
3022 case 12 : /* fall through */
3023 case 13 : /* fall through */
3025 if ((base_insn & 0xbf0) == 0xae0)
3026 { itype = CRISV10F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m; }
3027 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3029 if ((base_insn & 0xfff) == 0xeef)
3030 { itype = CRISV10F_INSN_CMPCDR; goto extract_sfmt_cmpcdr; }
3031 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3032 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3037 unsigned int val = (((insn >> 0) & (15 << 0)));
3040 case 0 : /* fall through */
3041 case 1 : /* fall through */
3042 case 2 : /* fall through */
3043 case 3 : /* fall through */
3044 case 4 : /* fall through */
3045 case 5 : /* fall through */
3046 case 6 : /* fall through */
3047 case 7 : /* fall through */
3048 case 8 : /* fall through */
3049 case 9 : /* fall through */
3050 case 10 : /* fall through */
3051 case 11 : /* fall through */
3052 case 12 : /* fall through */
3053 case 13 : /* fall through */
3055 if ((base_insn & 0xbf0) == 0xb00)
3056 { itype = CRISV10F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m; }
3057 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3059 if ((base_insn & 0xfff) == 0xf0f)
3060 { itype = CRISV10F_INSN_ANDCBR; goto extract_sfmt_andcbr; }
3061 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3062 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3067 unsigned int val = (((insn >> 0) & (15 << 0)));
3070 case 0 : /* fall through */
3071 case 1 : /* fall through */
3072 case 2 : /* fall through */
3073 case 3 : /* fall through */
3074 case 4 : /* fall through */
3075 case 5 : /* fall through */
3076 case 6 : /* fall through */
3077 case 7 : /* fall through */
3078 case 8 : /* fall through */
3079 case 9 : /* fall through */
3080 case 10 : /* fall through */
3081 case 11 : /* fall through */
3082 case 12 : /* fall through */
3083 case 13 : /* fall through */
3085 if ((base_insn & 0xbf0) == 0xb10)
3086 { itype = CRISV10F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m; }
3087 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3089 if ((base_insn & 0xfff) == 0xf1f)
3090 { itype = CRISV10F_INSN_ANDCWR; goto extract_sfmt_andcwr; }
3091 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3092 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3097 unsigned int val = (((insn >> 0) & (15 << 0)));
3100 case 0 : /* fall through */
3101 case 1 : /* fall through */
3102 case 2 : /* fall through */
3103 case 3 : /* fall through */
3104 case 4 : /* fall through */
3105 case 5 : /* fall through */
3106 case 6 : /* fall through */
3107 case 7 : /* fall through */
3108 case 8 : /* fall through */
3109 case 9 : /* fall through */
3110 case 10 : /* fall through */
3111 case 11 : /* fall through */
3112 case 12 : /* fall through */
3113 case 13 : /* fall through */
3115 if ((base_insn & 0xbf0) == 0xb20)
3116 { itype = CRISV10F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m; }
3117 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3119 if ((base_insn & 0xfff) == 0xf2f)
3120 { itype = CRISV10F_INSN_ANDCDR; goto extract_sfmt_andcdr; }
3121 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3122 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3127 unsigned int val = (((insn >> 0) & (15 << 0)));
3130 case 0 : /* fall through */
3131 case 1 : /* fall through */
3132 case 2 : /* fall through */
3133 case 3 : /* fall through */
3134 case 4 : /* fall through */
3135 case 5 : /* fall through */
3136 case 6 : /* fall through */
3137 case 7 : /* fall through */
3138 case 8 : /* fall through */
3139 case 9 : /* fall through */
3140 case 10 : /* fall through */
3141 case 11 : /* fall through */
3142 case 12 : /* fall through */
3143 case 13 : /* fall through */
3145 if ((base_insn & 0xbf0) == 0xb40)
3146 { itype = CRISV10F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m; }
3147 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3149 if ((base_insn & 0xfff) == 0xf4f)
3150 { itype = CRISV10F_INSN_ORCBR; goto extract_sfmt_andcbr; }
3151 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3152 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3157 unsigned int val = (((insn >> 0) & (15 << 0)));
3160 case 0 : /* fall through */
3161 case 1 : /* fall through */
3162 case 2 : /* fall through */
3163 case 3 : /* fall through */
3164 case 4 : /* fall through */
3165 case 5 : /* fall through */
3166 case 6 : /* fall through */
3167 case 7 : /* fall through */
3168 case 8 : /* fall through */
3169 case 9 : /* fall through */
3170 case 10 : /* fall through */
3171 case 11 : /* fall through */
3172 case 12 : /* fall through */
3173 case 13 : /* fall through */
3175 if ((base_insn & 0xbf0) == 0xb50)
3176 { itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m; }
3177 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3179 if ((base_insn & 0xfff) == 0xf5f)
3180 { itype = CRISV10F_INSN_ORCWR; goto extract_sfmt_andcwr; }
3181 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3182 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3187 unsigned int val = (((insn >> 0) & (15 << 0)));
3190 case 0 : /* fall through */
3191 case 1 : /* fall through */
3192 case 2 : /* fall through */
3193 case 3 : /* fall through */
3194 case 4 : /* fall through */
3195 case 5 : /* fall through */
3196 case 6 : /* fall through */
3197 case 7 : /* fall through */
3198 case 8 : /* fall through */
3199 case 9 : /* fall through */
3200 case 10 : /* fall through */
3201 case 11 : /* fall through */
3202 case 12 : /* fall through */
3203 case 13 : /* fall through */
3205 if ((base_insn & 0xbf0) == 0xb60)
3206 { itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m; }
3207 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3209 if ((base_insn & 0xfff) == 0xf6f)
3210 { itype = CRISV10F_INSN_ORCDR; goto extract_sfmt_andcdr; }
3211 itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3212 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3215 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
3220 /* The instruction has been decoded, now extract the fields. */
3224 const IDESC *idesc = &crisv10f_insn_data[itype];
3225 #define FLD(f) abuf->fields.fmt_empty.f
3228 /* Record the fields for the semantic handler. */
3229 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
3237 const IDESC *idesc = &crisv10f_insn_data[itype];
3238 #define FLD(f) abuf->fields.fmt_empty.f
3241 /* Record the fields for the semantic handler. */
3242 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
3248 extract_sfmt_move_b_r:
3250 const IDESC *idesc = &crisv10f_insn_data[itype];
3251 CGEN_INSN_INT insn = base_insn;
3252 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3256 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3257 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3259 /* Record the fields for the semantic handler. */
3260 FLD (f_operand1) = f_operand1;
3261 FLD (f_operand2) = f_operand2;
3262 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3264 #if WITH_PROFILE_MODEL_P
3265 /* Record the fields for profiling. */
3266 if (PROFILE_MODEL_P (current_cpu))
3268 FLD (in_Rs) = f_operand1;
3269 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3276 extract_sfmt_move_d_r:
3278 const IDESC *idesc = &crisv10f_insn_data[itype];
3279 CGEN_INSN_INT insn = base_insn;
3280 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3284 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3285 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3287 /* Record the fields for the semantic handler. */
3288 FLD (f_operand1) = f_operand1;
3289 FLD (f_operand2) = f_operand2;
3290 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3292 #if WITH_PROFILE_MODEL_P
3293 /* Record the fields for profiling. */
3294 if (PROFILE_MODEL_P (current_cpu))
3296 FLD (in_Rs) = f_operand1;
3297 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3304 extract_sfmt_movepcr:
3306 const IDESC *idesc = &crisv10f_insn_data[itype];
3307 CGEN_INSN_INT insn = base_insn;
3308 #define FLD(f) abuf->fields.sfmt_moveq.f
3311 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3313 /* Record the fields for the semantic handler. */
3314 FLD (f_operand2) = f_operand2;
3315 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movepcr", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3317 #if WITH_PROFILE_MODEL_P
3318 /* Record the fields for profiling. */
3319 if (PROFILE_MODEL_P (current_cpu))
3321 FLD (out_Rd) = f_operand2;
3330 const IDESC *idesc = &crisv10f_insn_data[itype];
3331 CGEN_INSN_INT insn = base_insn;
3332 #define FLD(f) abuf->fields.sfmt_moveq.f
3336 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3337 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
3339 /* Record the fields for the semantic handler. */
3341 FLD (f_operand2) = f_operand2;
3342 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3344 #if WITH_PROFILE_MODEL_P
3345 /* Record the fields for profiling. */
3346 if (PROFILE_MODEL_P (current_cpu))
3348 FLD (out_Rd) = f_operand2;
3355 extract_sfmt_movs_b_r:
3357 const IDESC *idesc = &crisv10f_insn_data[itype];
3358 CGEN_INSN_INT insn = base_insn;
3359 #define FLD(f) abuf->fields.sfmt_muls_b.f
3363 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3364 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3366 /* Record the fields for the semantic handler. */
3367 FLD (f_operand1) = f_operand1;
3368 FLD (f_operand2) = f_operand2;
3369 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3371 #if WITH_PROFILE_MODEL_P
3372 /* Record the fields for profiling. */
3373 if (PROFILE_MODEL_P (current_cpu))
3375 FLD (in_Rs) = f_operand1;
3376 FLD (out_Rd) = f_operand2;
3383 extract_sfmt_movecbr:
3385 const IDESC *idesc = &crisv10f_insn_data[itype];
3386 CGEN_INSN_INT insn = base_insn;
3387 #define FLD(f) abuf->fields.sfmt_addcbr.f
3388 INT f_indir_pc__byte;
3390 /* Contents of trailing part of insn. */
3393 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3394 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3395 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3397 /* Record the fields for the semantic handler. */
3398 FLD (f_operand2) = f_operand2;
3399 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3400 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
3402 #if WITH_PROFILE_MODEL_P
3403 /* Record the fields for profiling. */
3404 if (PROFILE_MODEL_P (current_cpu))
3406 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3413 extract_sfmt_movecwr:
3415 const IDESC *idesc = &crisv10f_insn_data[itype];
3416 CGEN_INSN_INT insn = base_insn;
3417 #define FLD(f) abuf->fields.sfmt_addcwr.f
3418 INT f_indir_pc__word;
3420 /* Contents of trailing part of insn. */
3423 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3424 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3425 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3427 /* Record the fields for the semantic handler. */
3428 FLD (f_operand2) = f_operand2;
3429 FLD (f_indir_pc__word) = f_indir_pc__word;
3430 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
3432 #if WITH_PROFILE_MODEL_P
3433 /* Record the fields for profiling. */
3434 if (PROFILE_MODEL_P (current_cpu))
3436 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3443 extract_sfmt_movecdr:
3445 const IDESC *idesc = &crisv10f_insn_data[itype];
3446 CGEN_INSN_INT insn = base_insn;
3447 #define FLD(f) abuf->fields.sfmt_bound_cd.f
3448 INT f_indir_pc__dword;
3450 /* Contents of trailing part of insn. */
3453 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3454 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
3455 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3457 /* Record the fields for the semantic handler. */
3458 FLD (f_indir_pc__dword) = f_indir_pc__dword;
3459 FLD (f_operand2) = f_operand2;
3460 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecdr", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3462 #if WITH_PROFILE_MODEL_P
3463 /* Record the fields for profiling. */
3464 if (PROFILE_MODEL_P (current_cpu))
3466 FLD (out_Rd) = f_operand2;
3473 extract_sfmt_movscbr:
3475 const IDESC *idesc = &crisv10f_insn_data[itype];
3476 CGEN_INSN_INT insn = base_insn;
3477 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3479 INT f_indir_pc__byte;
3480 /* Contents of trailing part of insn. */
3483 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3484 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3485 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3487 /* Record the fields for the semantic handler. */
3488 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3489 FLD (f_operand2) = f_operand2;
3490 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3492 #if WITH_PROFILE_MODEL_P
3493 /* Record the fields for profiling. */
3494 if (PROFILE_MODEL_P (current_cpu))
3496 FLD (out_Rd) = f_operand2;
3503 extract_sfmt_movscwr:
3505 const IDESC *idesc = &crisv10f_insn_data[itype];
3506 CGEN_INSN_INT insn = base_insn;
3507 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3509 INT f_indir_pc__word;
3510 /* Contents of trailing part of insn. */
3513 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3514 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3515 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3517 /* Record the fields for the semantic handler. */
3518 FLD (f_indir_pc__word) = f_indir_pc__word;
3519 FLD (f_operand2) = f_operand2;
3520 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3522 #if WITH_PROFILE_MODEL_P
3523 /* Record the fields for profiling. */
3524 if (PROFILE_MODEL_P (current_cpu))
3526 FLD (out_Rd) = f_operand2;
3533 extract_sfmt_movucbr:
3535 const IDESC *idesc = &crisv10f_insn_data[itype];
3536 CGEN_INSN_INT insn = base_insn;
3537 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3539 INT f_indir_pc__byte;
3540 /* Contents of trailing part of insn. */
3543 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3544 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3545 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3547 /* Record the fields for the semantic handler. */
3548 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3549 FLD (f_operand2) = f_operand2;
3550 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3552 #if WITH_PROFILE_MODEL_P
3553 /* Record the fields for profiling. */
3554 if (PROFILE_MODEL_P (current_cpu))
3556 FLD (out_Rd) = f_operand2;
3563 extract_sfmt_movucwr:
3565 const IDESC *idesc = &crisv10f_insn_data[itype];
3566 CGEN_INSN_INT insn = base_insn;
3567 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3569 INT f_indir_pc__word;
3570 /* Contents of trailing part of insn. */
3573 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3574 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3575 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3577 /* Record the fields for the semantic handler. */
3578 FLD (f_indir_pc__word) = f_indir_pc__word;
3579 FLD (f_operand2) = f_operand2;
3580 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3582 #if WITH_PROFILE_MODEL_P
3583 /* Record the fields for profiling. */
3584 if (PROFILE_MODEL_P (current_cpu))
3586 FLD (out_Rd) = f_operand2;
3595 const IDESC *idesc = &crisv10f_insn_data[itype];
3596 CGEN_INSN_INT insn = base_insn;
3597 #define FLD(f) abuf->fields.sfmt_addq.f
3601 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3602 f_u6 = EXTRACT_LSB0_UINT (insn, 16, 5, 6);
3604 /* Record the fields for the semantic handler. */
3605 FLD (f_operand2) = f_operand2;
3607 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0));
3609 #if WITH_PROFILE_MODEL_P
3610 /* Record the fields for profiling. */
3611 if (PROFILE_MODEL_P (current_cpu))
3613 FLD (in_Rd) = f_operand2;
3614 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3621 extract_sfmt_cmp_r_b_r:
3623 const IDESC *idesc = &crisv10f_insn_data[itype];
3624 CGEN_INSN_INT insn = base_insn;
3625 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3629 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3630 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3632 /* Record the fields for the semantic handler. */
3633 FLD (f_operand2) = f_operand2;
3634 FLD (f_operand1) = f_operand1;
3635 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_r_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
3637 #if WITH_PROFILE_MODEL_P
3638 /* Record the fields for profiling. */
3639 if (PROFILE_MODEL_P (current_cpu))
3641 FLD (in_Rd) = f_operand2;
3642 FLD (in_Rs) = f_operand1;
3649 extract_sfmt_cmp_m_b_m:
3651 const IDESC *idesc = &crisv10f_insn_data[itype];
3652 CGEN_INSN_INT insn = base_insn;
3653 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3658 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3659 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3660 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3662 /* Record the fields for the semantic handler. */
3663 FLD (f_operand2) = f_operand2;
3664 FLD (f_operand1) = f_operand1;
3665 FLD (f_memmode) = f_memmode;
3666 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3668 #if WITH_PROFILE_MODEL_P
3669 /* Record the fields for profiling. */
3670 if (PROFILE_MODEL_P (current_cpu))
3672 FLD (in_Rd) = f_operand2;
3673 FLD (in_Rs) = f_operand1;
3674 FLD (out_Rs) = f_operand1;
3681 extract_sfmt_cmp_m_w_m:
3683 const IDESC *idesc = &crisv10f_insn_data[itype];
3684 CGEN_INSN_INT insn = base_insn;
3685 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3690 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3691 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3692 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3694 /* Record the fields for the semantic handler. */
3695 FLD (f_operand2) = f_operand2;
3696 FLD (f_operand1) = f_operand1;
3697 FLD (f_memmode) = f_memmode;
3698 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3700 #if WITH_PROFILE_MODEL_P
3701 /* Record the fields for profiling. */
3702 if (PROFILE_MODEL_P (current_cpu))
3704 FLD (in_Rd) = f_operand2;
3705 FLD (in_Rs) = f_operand1;
3706 FLD (out_Rs) = f_operand1;
3713 extract_sfmt_cmp_m_d_m:
3715 const IDESC *idesc = &crisv10f_insn_data[itype];
3716 CGEN_INSN_INT insn = base_insn;
3717 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3722 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3723 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3724 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3726 /* Record the fields for the semantic handler. */
3727 FLD (f_operand2) = f_operand2;
3728 FLD (f_operand1) = f_operand1;
3729 FLD (f_memmode) = f_memmode;
3730 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3732 #if WITH_PROFILE_MODEL_P
3733 /* Record the fields for profiling. */
3734 if (PROFILE_MODEL_P (current_cpu))
3736 FLD (in_Rd) = f_operand2;
3737 FLD (in_Rs) = f_operand1;
3738 FLD (out_Rs) = f_operand1;
3745 extract_sfmt_cmpcbr:
3747 const IDESC *idesc = &crisv10f_insn_data[itype];
3748 CGEN_INSN_INT insn = base_insn;
3749 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3750 INT f_indir_pc__byte;
3752 /* Contents of trailing part of insn. */
3755 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3756 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3757 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3759 /* Record the fields for the semantic handler. */
3760 FLD (f_operand2) = f_operand2;
3761 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3762 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
3764 #if WITH_PROFILE_MODEL_P
3765 /* Record the fields for profiling. */
3766 if (PROFILE_MODEL_P (current_cpu))
3768 FLD (in_Rd) = f_operand2;
3775 extract_sfmt_cmpcwr:
3777 const IDESC *idesc = &crisv10f_insn_data[itype];
3778 CGEN_INSN_INT insn = base_insn;
3779 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3780 INT f_indir_pc__word;
3782 /* Contents of trailing part of insn. */
3785 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3786 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3787 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3789 /* Record the fields for the semantic handler. */
3790 FLD (f_operand2) = f_operand2;
3791 FLD (f_indir_pc__word) = f_indir_pc__word;
3792 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
3794 #if WITH_PROFILE_MODEL_P
3795 /* Record the fields for profiling. */
3796 if (PROFILE_MODEL_P (current_cpu))
3798 FLD (in_Rd) = f_operand2;
3805 extract_sfmt_cmpcdr:
3807 const IDESC *idesc = &crisv10f_insn_data[itype];
3808 CGEN_INSN_INT insn = base_insn;
3809 #define FLD(f) abuf->fields.sfmt_bound_cd.f
3810 INT f_indir_pc__dword;
3812 /* Contents of trailing part of insn. */
3815 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3816 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
3817 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3819 /* Record the fields for the semantic handler. */
3820 FLD (f_operand2) = f_operand2;
3821 FLD (f_indir_pc__dword) = f_indir_pc__dword;
3822 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
3824 #if WITH_PROFILE_MODEL_P
3825 /* Record the fields for profiling. */
3826 if (PROFILE_MODEL_P (current_cpu))
3828 FLD (in_Rd) = f_operand2;
3837 const IDESC *idesc = &crisv10f_insn_data[itype];
3838 CGEN_INSN_INT insn = base_insn;
3839 #define FLD(f) abuf->fields.sfmt_andq.f
3843 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3844 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
3846 /* Record the fields for the semantic handler. */
3847 FLD (f_operand2) = f_operand2;
3849 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
3851 #if WITH_PROFILE_MODEL_P
3852 /* Record the fields for profiling. */
3853 if (PROFILE_MODEL_P (current_cpu))
3855 FLD (in_Rd) = f_operand2;
3862 extract_sfmt_cmpucbr:
3864 const IDESC *idesc = &crisv10f_insn_data[itype];
3865 CGEN_INSN_INT insn = base_insn;
3866 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3867 INT f_indir_pc__byte;
3869 /* Contents of trailing part of insn. */
3872 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3873 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3874 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3876 /* Record the fields for the semantic handler. */
3877 FLD (f_operand2) = f_operand2;
3878 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3879 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
3881 #if WITH_PROFILE_MODEL_P
3882 /* Record the fields for profiling. */
3883 if (PROFILE_MODEL_P (current_cpu))
3885 FLD (in_Rd) = f_operand2;
3892 extract_sfmt_cmpucwr:
3894 const IDESC *idesc = &crisv10f_insn_data[itype];
3895 CGEN_INSN_INT insn = base_insn;
3896 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3897 INT f_indir_pc__word;
3899 /* Contents of trailing part of insn. */
3902 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3903 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
3904 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3906 /* Record the fields for the semantic handler. */
3907 FLD (f_operand2) = f_operand2;
3908 FLD (f_indir_pc__word) = f_indir_pc__word;
3909 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
3911 #if WITH_PROFILE_MODEL_P
3912 /* Record the fields for profiling. */
3913 if (PROFILE_MODEL_P (current_cpu))
3915 FLD (in_Rd) = f_operand2;
3922 extract_sfmt_move_m_b_m:
3924 const IDESC *idesc = &crisv10f_insn_data[itype];
3925 CGEN_INSN_INT insn = base_insn;
3926 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3931 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3932 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3933 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3935 /* Record the fields for the semantic handler. */
3936 FLD (f_operand1) = f_operand1;
3937 FLD (f_operand2) = f_operand2;
3938 FLD (f_memmode) = f_memmode;
3939 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3941 #if WITH_PROFILE_MODEL_P
3942 /* Record the fields for profiling. */
3943 if (PROFILE_MODEL_P (current_cpu))
3945 FLD (in_Rs) = f_operand1;
3946 FLD (out_Rs) = f_operand1;
3947 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
3954 extract_sfmt_move_m_w_m:
3956 const IDESC *idesc = &crisv10f_insn_data[itype];
3957 CGEN_INSN_INT insn = base_insn;
3958 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3963 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3964 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3965 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3967 /* Record the fields for the semantic handler. */
3968 FLD (f_operand1) = f_operand1;
3969 FLD (f_operand2) = f_operand2;
3970 FLD (f_memmode) = f_memmode;
3971 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3973 #if WITH_PROFILE_MODEL_P
3974 /* Record the fields for profiling. */
3975 if (PROFILE_MODEL_P (current_cpu))
3977 FLD (in_Rs) = f_operand1;
3978 FLD (out_Rs) = f_operand1;
3979 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
3986 extract_sfmt_move_m_d_m:
3988 const IDESC *idesc = &crisv10f_insn_data[itype];
3989 CGEN_INSN_INT insn = base_insn;
3990 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3995 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3996 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3997 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3999 /* Record the fields for the semantic handler. */
4000 FLD (f_operand1) = f_operand1;
4001 FLD (f_operand2) = f_operand2;
4002 FLD (f_memmode) = f_memmode;
4003 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4005 #if WITH_PROFILE_MODEL_P
4006 /* Record the fields for profiling. */
4007 if (PROFILE_MODEL_P (current_cpu))
4009 FLD (in_Rs) = f_operand1;
4010 FLD (out_Rs) = f_operand1;
4011 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
4018 extract_sfmt_movs_m_b_m:
4020 const IDESC *idesc = &crisv10f_insn_data[itype];
4021 CGEN_INSN_INT insn = base_insn;
4022 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
4027 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4028 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4029 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4031 /* Record the fields for the semantic handler. */
4032 FLD (f_operand1) = f_operand1;
4033 FLD (f_memmode) = f_memmode;
4034 FLD (f_operand2) = f_operand2;
4035 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4037 #if WITH_PROFILE_MODEL_P
4038 /* Record the fields for profiling. */
4039 if (PROFILE_MODEL_P (current_cpu))
4041 FLD (in_Rs) = f_operand1;
4042 FLD (out_Rd) = f_operand2;
4043 FLD (out_Rs) = f_operand1;
4050 extract_sfmt_movs_m_w_m:
4052 const IDESC *idesc = &crisv10f_insn_data[itype];
4053 CGEN_INSN_INT insn = base_insn;
4054 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
4059 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4060 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4061 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4063 /* Record the fields for the semantic handler. */
4064 FLD (f_operand1) = f_operand1;
4065 FLD (f_memmode) = f_memmode;
4066 FLD (f_operand2) = f_operand2;
4067 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4069 #if WITH_PROFILE_MODEL_P
4070 /* Record the fields for profiling. */
4071 if (PROFILE_MODEL_P (current_cpu))
4073 FLD (in_Rs) = f_operand1;
4074 FLD (out_Rd) = f_operand2;
4075 FLD (out_Rs) = f_operand1;
4082 extract_sfmt_move_r_sprv10:
4084 const IDESC *idesc = &crisv10f_insn_data[itype];
4085 CGEN_INSN_INT insn = base_insn;
4086 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
4090 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4091 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4093 /* Record the fields for the semantic handler. */
4094 FLD (f_operand1) = f_operand1;
4095 FLD (f_operand2) = f_operand2;
4096 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4098 #if WITH_PROFILE_MODEL_P
4099 /* Record the fields for profiling. */
4100 if (PROFILE_MODEL_P (current_cpu))
4102 FLD (in_Rs) = f_operand1;
4103 FLD (out_Pd) = f_operand2;
4110 extract_sfmt_move_spr_rv10:
4112 const IDESC *idesc = &crisv10f_insn_data[itype];
4113 CGEN_INSN_INT insn = base_insn;
4114 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
4118 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4119 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4121 /* Record the fields for the semantic handler. */
4122 FLD (f_operand2) = f_operand2;
4123 FLD (f_operand1) = f_operand1;
4124 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
4126 #if WITH_PROFILE_MODEL_P
4127 /* Record the fields for profiling. */
4128 if (PROFILE_MODEL_P (current_cpu))
4130 FLD (in_Ps) = f_operand2;
4131 FLD (out_h_gr_SI_index_of__DFLT_Rs) = FLD (f_operand1);
4138 extract_sfmt_ret_type:
4140 const IDESC *idesc = &crisv10f_insn_data[itype];
4141 CGEN_INSN_INT insn = base_insn;
4142 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
4145 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4147 /* Record the fields for the semantic handler. */
4148 FLD (f_operand2) = f_operand2;
4149 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret_type", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4151 #if WITH_PROFILE_MODEL_P
4152 /* Record the fields for profiling. */
4153 if (PROFILE_MODEL_P (current_cpu))
4155 FLD (in_Ps) = f_operand2;
4162 extract_sfmt_move_m_sprv10:
4164 const IDESC *idesc = &crisv10f_insn_data[itype];
4165 CGEN_INSN_INT insn = base_insn;
4166 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
4171 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4172 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4173 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4175 /* Record the fields for the semantic handler. */
4176 FLD (f_operand1) = f_operand1;
4177 FLD (f_operand2) = f_operand2;
4178 FLD (f_memmode) = f_memmode;
4179 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4181 #if WITH_PROFILE_MODEL_P
4182 /* Record the fields for profiling. */
4183 if (PROFILE_MODEL_P (current_cpu))
4185 FLD (in_Rs) = f_operand1;
4186 FLD (out_Pd) = f_operand2;
4187 FLD (out_Rs) = f_operand1;
4194 extract_sfmt_move_c_sprv10_p0:
4196 const IDESC *idesc = &crisv10f_insn_data[itype];
4197 CGEN_INSN_INT insn = base_insn;
4198 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p0.f
4200 INT f_indir_pc__byte;
4201 /* Contents of trailing part of insn. */
4204 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4205 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4206 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
4208 /* Record the fields for the semantic handler. */
4209 FLD (f_indir_pc__byte) = f_indir_pc__byte;
4210 FLD (f_operand2) = f_operand2;
4211 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p0", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4213 #if WITH_PROFILE_MODEL_P
4214 /* Record the fields for profiling. */
4215 if (PROFILE_MODEL_P (current_cpu))
4217 FLD (out_Pd) = f_operand2;
4224 extract_sfmt_move_c_sprv10_p4:
4226 const IDESC *idesc = &crisv10f_insn_data[itype];
4227 CGEN_INSN_INT insn = base_insn;
4228 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p4.f
4230 INT f_indir_pc__word;
4231 /* Contents of trailing part of insn. */
4234 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4235 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4236 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
4238 /* Record the fields for the semantic handler. */
4239 FLD (f_indir_pc__word) = f_indir_pc__word;
4240 FLD (f_operand2) = f_operand2;
4241 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p4", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4243 #if WITH_PROFILE_MODEL_P
4244 /* Record the fields for profiling. */
4245 if (PROFILE_MODEL_P (current_cpu))
4247 FLD (out_Pd) = f_operand2;
4254 extract_sfmt_move_c_sprv10_p8:
4256 const IDESC *idesc = &crisv10f_insn_data[itype];
4257 CGEN_INSN_INT insn = base_insn;
4258 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
4259 INT f_indir_pc__dword;
4261 /* Contents of trailing part of insn. */
4264 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4265 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
4266 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4268 /* Record the fields for the semantic handler. */
4269 FLD (f_indir_pc__dword) = f_indir_pc__dword;
4270 FLD (f_operand2) = f_operand2;
4271 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p8", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4273 #if WITH_PROFILE_MODEL_P
4274 /* Record the fields for profiling. */
4275 if (PROFILE_MODEL_P (current_cpu))
4277 FLD (out_Pd) = f_operand2;
4284 extract_sfmt_move_spr_mv10:
4286 const IDESC *idesc = &crisv10f_insn_data[itype];
4287 CGEN_INSN_INT insn = base_insn;
4288 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
4293 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4294 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4295 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4297 /* Record the fields for the semantic handler. */
4298 FLD (f_operand2) = f_operand2;
4299 FLD (f_operand1) = f_operand1;
4300 FLD (f_memmode) = f_memmode;
4301 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4303 #if WITH_PROFILE_MODEL_P
4304 /* Record the fields for profiling. */
4305 if (PROFILE_MODEL_P (current_cpu))
4307 FLD (in_Ps) = f_operand2;
4308 FLD (in_Rs) = f_operand1;
4309 FLD (out_Rs) = f_operand1;
4318 const IDESC *idesc = &crisv10f_insn_data[itype];
4319 #define FLD(f) abuf->fields.fmt_empty.f
4322 /* Record the fields for the semantic handler. */
4323 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sbfs", (char *) 0));
4329 extract_sfmt_movem_r_m:
4331 const IDESC *idesc = &crisv10f_insn_data[itype];
4332 CGEN_INSN_INT insn = base_insn;
4333 #define FLD(f) abuf->fields.sfmt_movem_r_m.f
4338 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4339 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4340 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4342 /* Record the fields for the semantic handler. */
4343 FLD (f_operand2) = f_operand2;
4344 FLD (f_operand1) = f_operand1;
4345 FLD (f_memmode) = f_memmode;
4346 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4348 #if WITH_PROFILE_MODEL_P
4349 /* Record the fields for profiling. */
4350 if (PROFILE_MODEL_P (current_cpu))
4352 FLD (in_Rd) = f_operand2;
4353 FLD (in_Rs) = f_operand1;
4354 FLD (in_h_gr_SI_0) = 0;
4355 FLD (in_h_gr_SI_1) = 1;
4356 FLD (in_h_gr_SI_10) = 10;
4357 FLD (in_h_gr_SI_11) = 11;
4358 FLD (in_h_gr_SI_12) = 12;
4359 FLD (in_h_gr_SI_13) = 13;
4360 FLD (in_h_gr_SI_14) = 14;
4361 FLD (in_h_gr_SI_15) = 15;
4362 FLD (in_h_gr_SI_2) = 2;
4363 FLD (in_h_gr_SI_3) = 3;
4364 FLD (in_h_gr_SI_4) = 4;
4365 FLD (in_h_gr_SI_5) = 5;
4366 FLD (in_h_gr_SI_6) = 6;
4367 FLD (in_h_gr_SI_7) = 7;
4368 FLD (in_h_gr_SI_8) = 8;
4369 FLD (in_h_gr_SI_9) = 9;
4370 FLD (out_Rs) = f_operand1;
4377 extract_sfmt_movem_m_r:
4379 const IDESC *idesc = &crisv10f_insn_data[itype];
4380 CGEN_INSN_INT insn = base_insn;
4381 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
4386 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4387 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4388 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4390 /* Record the fields for the semantic handler. */
4391 FLD (f_operand2) = f_operand2;
4392 FLD (f_operand1) = f_operand1;
4393 FLD (f_memmode) = f_memmode;
4394 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4396 #if WITH_PROFILE_MODEL_P
4397 /* Record the fields for profiling. */
4398 if (PROFILE_MODEL_P (current_cpu))
4400 FLD (in_Rd) = f_operand2;
4401 FLD (in_Rs) = f_operand1;
4402 FLD (out_Rs) = f_operand1;
4403 FLD (out_h_gr_SI_0) = 0;
4404 FLD (out_h_gr_SI_1) = 1;
4405 FLD (out_h_gr_SI_10) = 10;
4406 FLD (out_h_gr_SI_11) = 11;
4407 FLD (out_h_gr_SI_12) = 12;
4408 FLD (out_h_gr_SI_13) = 13;
4409 FLD (out_h_gr_SI_14) = 14;
4410 FLD (out_h_gr_SI_2) = 2;
4411 FLD (out_h_gr_SI_3) = 3;
4412 FLD (out_h_gr_SI_4) = 4;
4413 FLD (out_h_gr_SI_5) = 5;
4414 FLD (out_h_gr_SI_6) = 6;
4415 FLD (out_h_gr_SI_7) = 7;
4416 FLD (out_h_gr_SI_8) = 8;
4417 FLD (out_h_gr_SI_9) = 9;
4424 extract_sfmt_movem_m_pc:
4426 const IDESC *idesc = &crisv10f_insn_data[itype];
4427 CGEN_INSN_INT insn = base_insn;
4428 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
4432 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4433 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4435 /* Record the fields for the semantic handler. */
4436 FLD (f_operand1) = f_operand1;
4437 FLD (f_memmode) = f_memmode;
4438 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_pc", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4440 #if WITH_PROFILE_MODEL_P
4441 /* Record the fields for profiling. */
4442 if (PROFILE_MODEL_P (current_cpu))
4444 FLD (in_Rs) = f_operand1;
4445 FLD (out_Rs) = f_operand1;
4446 FLD (out_h_gr_SI_0) = 0;
4447 FLD (out_h_gr_SI_1) = 1;
4448 FLD (out_h_gr_SI_10) = 10;
4449 FLD (out_h_gr_SI_11) = 11;
4450 FLD (out_h_gr_SI_12) = 12;
4451 FLD (out_h_gr_SI_13) = 13;
4452 FLD (out_h_gr_SI_14) = 14;
4453 FLD (out_h_gr_SI_2) = 2;
4454 FLD (out_h_gr_SI_3) = 3;
4455 FLD (out_h_gr_SI_4) = 4;
4456 FLD (out_h_gr_SI_5) = 5;
4457 FLD (out_h_gr_SI_6) = 6;
4458 FLD (out_h_gr_SI_7) = 7;
4459 FLD (out_h_gr_SI_8) = 8;
4460 FLD (out_h_gr_SI_9) = 9;
4467 extract_sfmt_add_b_r:
4469 const IDESC *idesc = &crisv10f_insn_data[itype];
4470 CGEN_INSN_INT insn = base_insn;
4471 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4475 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4476 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4478 /* Record the fields for the semantic handler. */
4479 FLD (f_operand2) = f_operand2;
4480 FLD (f_operand1) = f_operand1;
4481 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
4483 #if WITH_PROFILE_MODEL_P
4484 /* Record the fields for profiling. */
4485 if (PROFILE_MODEL_P (current_cpu))
4487 FLD (in_Rd) = f_operand2;
4488 FLD (in_Rs) = f_operand1;
4489 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4496 extract_sfmt_add_d_r:
4498 const IDESC *idesc = &crisv10f_insn_data[itype];
4499 CGEN_INSN_INT insn = base_insn;
4500 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4504 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4505 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4507 /* Record the fields for the semantic handler. */
4508 FLD (f_operand2) = f_operand2;
4509 FLD (f_operand1) = f_operand1;
4510 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
4512 #if WITH_PROFILE_MODEL_P
4513 /* Record the fields for profiling. */
4514 if (PROFILE_MODEL_P (current_cpu))
4516 FLD (in_Rd) = f_operand2;
4517 FLD (in_Rs) = f_operand1;
4518 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4525 extract_sfmt_add_m_b_m:
4527 const IDESC *idesc = &crisv10f_insn_data[itype];
4528 CGEN_INSN_INT insn = base_insn;
4529 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4534 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4535 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4536 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4538 /* Record the fields for the semantic handler. */
4539 FLD (f_operand2) = f_operand2;
4540 FLD (f_operand1) = f_operand1;
4541 FLD (f_memmode) = f_memmode;
4542 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4544 #if WITH_PROFILE_MODEL_P
4545 /* Record the fields for profiling. */
4546 if (PROFILE_MODEL_P (current_cpu))
4548 FLD (in_Rd) = f_operand2;
4549 FLD (in_Rs) = f_operand1;
4550 FLD (out_Rs) = f_operand1;
4551 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
4558 extract_sfmt_add_m_w_m:
4560 const IDESC *idesc = &crisv10f_insn_data[itype];
4561 CGEN_INSN_INT insn = base_insn;
4562 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4567 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4568 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4569 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4571 /* Record the fields for the semantic handler. */
4572 FLD (f_operand2) = f_operand2;
4573 FLD (f_operand1) = f_operand1;
4574 FLD (f_memmode) = f_memmode;
4575 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4577 #if WITH_PROFILE_MODEL_P
4578 /* Record the fields for profiling. */
4579 if (PROFILE_MODEL_P (current_cpu))
4581 FLD (in_Rd) = f_operand2;
4582 FLD (in_Rs) = f_operand1;
4583 FLD (out_Rs) = f_operand1;
4584 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
4591 extract_sfmt_add_m_d_m:
4593 const IDESC *idesc = &crisv10f_insn_data[itype];
4594 CGEN_INSN_INT insn = base_insn;
4595 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4600 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4601 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4602 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4604 /* Record the fields for the semantic handler. */
4605 FLD (f_operand2) = f_operand2;
4606 FLD (f_operand1) = f_operand1;
4607 FLD (f_memmode) = f_memmode;
4608 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4610 #if WITH_PROFILE_MODEL_P
4611 /* Record the fields for profiling. */
4612 if (PROFILE_MODEL_P (current_cpu))
4614 FLD (in_Rd) = f_operand2;
4615 FLD (in_Rs) = f_operand1;
4616 FLD (out_Rs) = f_operand1;
4617 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
4624 extract_sfmt_addcbr:
4626 const IDESC *idesc = &crisv10f_insn_data[itype];
4627 CGEN_INSN_INT insn = base_insn;
4628 #define FLD(f) abuf->fields.sfmt_addcbr.f
4629 INT f_indir_pc__byte;
4631 /* Contents of trailing part of insn. */
4634 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4635 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
4636 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4638 /* Record the fields for the semantic handler. */
4639 FLD (f_operand2) = f_operand2;
4640 FLD (f_indir_pc__byte) = f_indir_pc__byte;
4641 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
4643 #if WITH_PROFILE_MODEL_P
4644 /* Record the fields for profiling. */
4645 if (PROFILE_MODEL_P (current_cpu))
4647 FLD (in_Rd) = f_operand2;
4648 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4655 extract_sfmt_addcwr:
4657 const IDESC *idesc = &crisv10f_insn_data[itype];
4658 CGEN_INSN_INT insn = base_insn;
4659 #define FLD(f) abuf->fields.sfmt_addcwr.f
4660 INT f_indir_pc__word;
4662 /* Contents of trailing part of insn. */
4665 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4666 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
4667 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4669 /* Record the fields for the semantic handler. */
4670 FLD (f_operand2) = f_operand2;
4671 FLD (f_indir_pc__word) = f_indir_pc__word;
4672 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
4674 #if WITH_PROFILE_MODEL_P
4675 /* Record the fields for profiling. */
4676 if (PROFILE_MODEL_P (current_cpu))
4678 FLD (in_Rd) = f_operand2;
4679 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4686 extract_sfmt_addcdr:
4688 const IDESC *idesc = &crisv10f_insn_data[itype];
4689 CGEN_INSN_INT insn = base_insn;
4690 #define FLD(f) abuf->fields.sfmt_addcdr.f
4691 INT f_indir_pc__dword;
4693 /* Contents of trailing part of insn. */
4696 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4697 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
4698 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4700 /* Record the fields for the semantic handler. */
4701 FLD (f_operand2) = f_operand2;
4702 FLD (f_indir_pc__dword) = f_indir_pc__dword;
4703 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
4705 #if WITH_PROFILE_MODEL_P
4706 /* Record the fields for profiling. */
4707 if (PROFILE_MODEL_P (current_cpu))
4709 FLD (in_Rd) = f_operand2;
4710 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4717 extract_sfmt_addcpc:
4719 const IDESC *idesc = &crisv10f_insn_data[itype];
4720 CGEN_INSN_INT insn = base_insn;
4721 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
4722 INT f_indir_pc__dword;
4723 /* Contents of trailing part of insn. */
4726 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4727 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
4729 /* Record the fields for the semantic handler. */
4730 FLD (f_indir_pc__dword) = f_indir_pc__dword;
4731 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcpc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
4733 #if WITH_PROFILE_MODEL_P
4734 /* Record the fields for profiling. */
4735 if (PROFILE_MODEL_P (current_cpu))
4743 extract_sfmt_adds_m_b_m:
4745 const IDESC *idesc = &crisv10f_insn_data[itype];
4746 CGEN_INSN_INT insn = base_insn;
4747 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4752 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4753 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4754 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4756 /* Record the fields for the semantic handler. */
4757 FLD (f_operand2) = f_operand2;
4758 FLD (f_operand1) = f_operand1;
4759 FLD (f_memmode) = f_memmode;
4760 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4762 #if WITH_PROFILE_MODEL_P
4763 /* Record the fields for profiling. */
4764 if (PROFILE_MODEL_P (current_cpu))
4766 FLD (in_Rd) = f_operand2;
4767 FLD (in_Rs) = f_operand1;
4768 FLD (out_Rs) = f_operand1;
4769 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
4776 extract_sfmt_adds_m_w_m:
4778 const IDESC *idesc = &crisv10f_insn_data[itype];
4779 CGEN_INSN_INT insn = base_insn;
4780 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4785 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4786 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4787 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4789 /* Record the fields for the semantic handler. */
4790 FLD (f_operand2) = f_operand2;
4791 FLD (f_operand1) = f_operand1;
4792 FLD (f_memmode) = f_memmode;
4793 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4795 #if WITH_PROFILE_MODEL_P
4796 /* Record the fields for profiling. */
4797 if (PROFILE_MODEL_P (current_cpu))
4799 FLD (in_Rd) = f_operand2;
4800 FLD (in_Rs) = f_operand1;
4801 FLD (out_Rs) = f_operand1;
4802 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
4809 extract_sfmt_addscbr:
4811 const IDESC *idesc = &crisv10f_insn_data[itype];
4812 CGEN_INSN_INT insn = base_insn;
4813 #define FLD(f) abuf->fields.sfmt_addcbr.f
4814 INT f_indir_pc__byte;
4816 /* Contents of trailing part of insn. */
4819 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4820 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
4821 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4823 /* Record the fields for the semantic handler. */
4824 FLD (f_operand2) = f_operand2;
4825 FLD (f_indir_pc__byte) = f_indir_pc__byte;
4826 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
4828 #if WITH_PROFILE_MODEL_P
4829 /* Record the fields for profiling. */
4830 if (PROFILE_MODEL_P (current_cpu))
4832 FLD (in_Rd) = f_operand2;
4833 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4840 extract_sfmt_addscwr:
4842 const IDESC *idesc = &crisv10f_insn_data[itype];
4843 CGEN_INSN_INT insn = base_insn;
4844 #define FLD(f) abuf->fields.sfmt_addcwr.f
4845 INT f_indir_pc__word;
4847 /* Contents of trailing part of insn. */
4850 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4851 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
4852 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4854 /* Record the fields for the semantic handler. */
4855 FLD (f_operand2) = f_operand2;
4856 FLD (f_indir_pc__word) = f_indir_pc__word;
4857 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
4859 #if WITH_PROFILE_MODEL_P
4860 /* Record the fields for profiling. */
4861 if (PROFILE_MODEL_P (current_cpu))
4863 FLD (in_Rd) = f_operand2;
4864 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4871 extract_sfmt_addspcpc:
4873 const IDESC *idesc = &crisv10f_insn_data[itype];
4874 #define FLD(f) abuf->fields.fmt_empty.f
4877 /* Record the fields for the semantic handler. */
4878 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addspcpc", (char *) 0));
4880 #if WITH_PROFILE_MODEL_P
4881 /* Record the fields for profiling. */
4882 if (PROFILE_MODEL_P (current_cpu))
4890 extract_sfmt_addi_b_r:
4892 const IDESC *idesc = &crisv10f_insn_data[itype];
4893 CGEN_INSN_INT insn = base_insn;
4894 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
4898 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4899 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4901 /* Record the fields for the semantic handler. */
4902 FLD (f_operand2) = f_operand2;
4903 FLD (f_operand1) = f_operand1;
4904 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
4906 #if WITH_PROFILE_MODEL_P
4907 /* Record the fields for profiling. */
4908 if (PROFILE_MODEL_P (current_cpu))
4910 FLD (in_Rd) = f_operand2;
4911 FLD (in_Rs) = f_operand1;
4912 FLD (out_Rs) = f_operand1;
4919 extract_sfmt_neg_b_r:
4921 const IDESC *idesc = &crisv10f_insn_data[itype];
4922 CGEN_INSN_INT insn = base_insn;
4923 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4927 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4928 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4930 /* Record the fields for the semantic handler. */
4931 FLD (f_operand1) = f_operand1;
4932 FLD (f_operand2) = f_operand2;
4933 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4935 #if WITH_PROFILE_MODEL_P
4936 /* Record the fields for profiling. */
4937 if (PROFILE_MODEL_P (current_cpu))
4939 FLD (in_Rs) = f_operand1;
4940 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4947 extract_sfmt_neg_d_r:
4949 const IDESC *idesc = &crisv10f_insn_data[itype];
4950 CGEN_INSN_INT insn = base_insn;
4951 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4955 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4956 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4958 /* Record the fields for the semantic handler. */
4959 FLD (f_operand1) = f_operand1;
4960 FLD (f_operand2) = f_operand2;
4961 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4963 #if WITH_PROFILE_MODEL_P
4964 /* Record the fields for profiling. */
4965 if (PROFILE_MODEL_P (current_cpu))
4967 FLD (in_Rs) = f_operand1;
4968 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4975 extract_sfmt_test_m_b_m:
4977 const IDESC *idesc = &crisv10f_insn_data[itype];
4978 CGEN_INSN_INT insn = base_insn;
4979 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
4983 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4984 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4986 /* Record the fields for the semantic handler. */
4987 FLD (f_operand1) = f_operand1;
4988 FLD (f_memmode) = f_memmode;
4989 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
4991 #if WITH_PROFILE_MODEL_P
4992 /* Record the fields for profiling. */
4993 if (PROFILE_MODEL_P (current_cpu))
4995 FLD (in_Rs) = f_operand1;
4996 FLD (out_Rs) = f_operand1;
5003 extract_sfmt_test_m_w_m:
5005 const IDESC *idesc = &crisv10f_insn_data[itype];
5006 CGEN_INSN_INT insn = base_insn;
5007 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
5011 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5012 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5014 /* Record the fields for the semantic handler. */
5015 FLD (f_operand1) = f_operand1;
5016 FLD (f_memmode) = f_memmode;
5017 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5019 #if WITH_PROFILE_MODEL_P
5020 /* Record the fields for profiling. */
5021 if (PROFILE_MODEL_P (current_cpu))
5023 FLD (in_Rs) = f_operand1;
5024 FLD (out_Rs) = f_operand1;
5031 extract_sfmt_test_m_d_m:
5033 const IDESC *idesc = &crisv10f_insn_data[itype];
5034 CGEN_INSN_INT insn = base_insn;
5035 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
5039 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5040 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5042 /* Record the fields for the semantic handler. */
5043 FLD (f_operand1) = f_operand1;
5044 FLD (f_memmode) = f_memmode;
5045 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5047 #if WITH_PROFILE_MODEL_P
5048 /* Record the fields for profiling. */
5049 if (PROFILE_MODEL_P (current_cpu))
5051 FLD (in_Rs) = f_operand1;
5052 FLD (out_Rs) = f_operand1;
5059 extract_sfmt_move_r_m_b_m:
5061 const IDESC *idesc = &crisv10f_insn_data[itype];
5062 CGEN_INSN_INT insn = base_insn;
5063 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5068 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5069 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5070 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5072 /* Record the fields for the semantic handler. */
5073 FLD (f_operand2) = f_operand2;
5074 FLD (f_operand1) = f_operand1;
5075 FLD (f_memmode) = f_memmode;
5076 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5078 #if WITH_PROFILE_MODEL_P
5079 /* Record the fields for profiling. */
5080 if (PROFILE_MODEL_P (current_cpu))
5082 FLD (in_Rd) = f_operand2;
5083 FLD (in_Rs) = f_operand1;
5084 FLD (out_Rs) = f_operand1;
5091 extract_sfmt_move_r_m_w_m:
5093 const IDESC *idesc = &crisv10f_insn_data[itype];
5094 CGEN_INSN_INT insn = base_insn;
5095 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5100 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5101 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5102 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5104 /* Record the fields for the semantic handler. */
5105 FLD (f_operand2) = f_operand2;
5106 FLD (f_operand1) = f_operand1;
5107 FLD (f_memmode) = f_memmode;
5108 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5110 #if WITH_PROFILE_MODEL_P
5111 /* Record the fields for profiling. */
5112 if (PROFILE_MODEL_P (current_cpu))
5114 FLD (in_Rd) = f_operand2;
5115 FLD (in_Rs) = f_operand1;
5116 FLD (out_Rs) = f_operand1;
5123 extract_sfmt_move_r_m_d_m:
5125 const IDESC *idesc = &crisv10f_insn_data[itype];
5126 CGEN_INSN_INT insn = base_insn;
5127 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5132 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5133 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5134 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5136 /* Record the fields for the semantic handler. */
5137 FLD (f_operand2) = f_operand2;
5138 FLD (f_operand1) = f_operand1;
5139 FLD (f_memmode) = f_memmode;
5140 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5142 #if WITH_PROFILE_MODEL_P
5143 /* Record the fields for profiling. */
5144 if (PROFILE_MODEL_P (current_cpu))
5146 FLD (in_Rd) = f_operand2;
5147 FLD (in_Rs) = f_operand1;
5148 FLD (out_Rs) = f_operand1;
5155 extract_sfmt_muls_b:
5157 const IDESC *idesc = &crisv10f_insn_data[itype];
5158 CGEN_INSN_INT insn = base_insn;
5159 #define FLD(f) abuf->fields.sfmt_muls_b.f
5163 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5164 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5166 /* Record the fields for the semantic handler. */
5167 FLD (f_operand2) = f_operand2;
5168 FLD (f_operand1) = f_operand1;
5169 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_muls_b", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5171 #if WITH_PROFILE_MODEL_P
5172 /* Record the fields for profiling. */
5173 if (PROFILE_MODEL_P (current_cpu))
5175 FLD (in_Rd) = f_operand2;
5176 FLD (in_Rs) = f_operand1;
5177 FLD (out_Rd) = f_operand2;
5178 FLD (out_h_sr_SI_7) = 7;
5187 const IDESC *idesc = &crisv10f_insn_data[itype];
5188 CGEN_INSN_INT insn = base_insn;
5189 #define FLD(f) abuf->fields.sfmt_muls_b.f
5193 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5194 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5196 /* Record the fields for the semantic handler. */
5197 FLD (f_operand2) = f_operand2;
5198 FLD (f_operand1) = f_operand1;
5199 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5201 #if WITH_PROFILE_MODEL_P
5202 /* Record the fields for profiling. */
5203 if (PROFILE_MODEL_P (current_cpu))
5205 FLD (in_Rd) = f_operand2;
5206 FLD (in_Rs) = f_operand1;
5207 FLD (out_Rd) = f_operand2;
5216 const IDESC *idesc = &crisv10f_insn_data[itype];
5217 CGEN_INSN_INT insn = base_insn;
5218 #define FLD(f) abuf->fields.sfmt_muls_b.f
5222 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5223 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5225 /* Record the fields for the semantic handler. */
5226 FLD (f_operand2) = f_operand2;
5227 FLD (f_operand1) = f_operand1;
5228 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5230 #if WITH_PROFILE_MODEL_P
5231 /* Record the fields for profiling. */
5232 if (PROFILE_MODEL_P (current_cpu))
5234 FLD (in_Rd) = f_operand2;
5235 FLD (in_Rs) = f_operand1;
5236 FLD (out_Rd) = f_operand2;
5243 extract_sfmt_and_b_r:
5245 const IDESC *idesc = &crisv10f_insn_data[itype];
5246 CGEN_INSN_INT insn = base_insn;
5247 #define FLD(f) abuf->fields.sfmt_add_b_r.f
5251 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5252 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5254 /* Record the fields for the semantic handler. */
5255 FLD (f_operand2) = f_operand2;
5256 FLD (f_operand1) = f_operand1;
5257 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5259 #if WITH_PROFILE_MODEL_P
5260 /* Record the fields for profiling. */
5261 if (PROFILE_MODEL_P (current_cpu))
5263 FLD (in_Rd) = f_operand2;
5264 FLD (in_Rs) = f_operand1;
5265 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5272 extract_sfmt_and_w_r:
5274 const IDESC *idesc = &crisv10f_insn_data[itype];
5275 CGEN_INSN_INT insn = base_insn;
5276 #define FLD(f) abuf->fields.sfmt_add_b_r.f
5280 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5281 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5283 /* Record the fields for the semantic handler. */
5284 FLD (f_operand2) = f_operand2;
5285 FLD (f_operand1) = f_operand1;
5286 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_w_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5288 #if WITH_PROFILE_MODEL_P
5289 /* Record the fields for profiling. */
5290 if (PROFILE_MODEL_P (current_cpu))
5292 FLD (in_Rd) = f_operand2;
5293 FLD (in_Rs) = f_operand1;
5294 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5301 extract_sfmt_and_d_r:
5303 const IDESC *idesc = &crisv10f_insn_data[itype];
5304 CGEN_INSN_INT insn = base_insn;
5305 #define FLD(f) abuf->fields.sfmt_add_b_r.f
5309 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5310 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5312 /* Record the fields for the semantic handler. */
5313 FLD (f_operand2) = f_operand2;
5314 FLD (f_operand1) = f_operand1;
5315 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5317 #if WITH_PROFILE_MODEL_P
5318 /* Record the fields for profiling. */
5319 if (PROFILE_MODEL_P (current_cpu))
5321 FLD (in_Rd) = f_operand2;
5322 FLD (in_Rs) = f_operand1;
5323 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5330 extract_sfmt_and_m_b_m:
5332 const IDESC *idesc = &crisv10f_insn_data[itype];
5333 CGEN_INSN_INT insn = base_insn;
5334 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
5339 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5340 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5341 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5343 /* Record the fields for the semantic handler. */
5344 FLD (f_operand2) = f_operand2;
5345 FLD (f_operand1) = f_operand1;
5346 FLD (f_memmode) = f_memmode;
5347 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5349 #if WITH_PROFILE_MODEL_P
5350 /* Record the fields for profiling. */
5351 if (PROFILE_MODEL_P (current_cpu))
5353 FLD (in_Rd) = f_operand2;
5354 FLD (in_Rs) = f_operand1;
5355 FLD (out_Rs) = f_operand1;
5356 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
5363 extract_sfmt_and_m_w_m:
5365 const IDESC *idesc = &crisv10f_insn_data[itype];
5366 CGEN_INSN_INT insn = base_insn;
5367 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
5372 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5373 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5374 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5376 /* Record the fields for the semantic handler. */
5377 FLD (f_operand2) = f_operand2;
5378 FLD (f_operand1) = f_operand1;
5379 FLD (f_memmode) = f_memmode;
5380 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5382 #if WITH_PROFILE_MODEL_P
5383 /* Record the fields for profiling. */
5384 if (PROFILE_MODEL_P (current_cpu))
5386 FLD (in_Rd) = f_operand2;
5387 FLD (in_Rs) = f_operand1;
5388 FLD (out_Rs) = f_operand1;
5389 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
5396 extract_sfmt_and_m_d_m:
5398 const IDESC *idesc = &crisv10f_insn_data[itype];
5399 CGEN_INSN_INT insn = base_insn;
5400 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
5405 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5406 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5407 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5409 /* Record the fields for the semantic handler. */
5410 FLD (f_operand2) = f_operand2;
5411 FLD (f_operand1) = f_operand1;
5412 FLD (f_memmode) = f_memmode;
5413 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5415 #if WITH_PROFILE_MODEL_P
5416 /* Record the fields for profiling. */
5417 if (PROFILE_MODEL_P (current_cpu))
5419 FLD (in_Rd) = f_operand2;
5420 FLD (in_Rs) = f_operand1;
5421 FLD (out_Rs) = f_operand1;
5422 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
5429 extract_sfmt_andcbr:
5431 const IDESC *idesc = &crisv10f_insn_data[itype];
5432 CGEN_INSN_INT insn = base_insn;
5433 #define FLD(f) abuf->fields.sfmt_addcbr.f
5434 INT f_indir_pc__byte;
5436 /* Contents of trailing part of insn. */
5439 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5440 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
5441 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5443 /* Record the fields for the semantic handler. */
5444 FLD (f_operand2) = f_operand2;
5445 FLD (f_indir_pc__byte) = f_indir_pc__byte;
5446 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
5448 #if WITH_PROFILE_MODEL_P
5449 /* Record the fields for profiling. */
5450 if (PROFILE_MODEL_P (current_cpu))
5452 FLD (in_Rd) = f_operand2;
5453 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5460 extract_sfmt_andcwr:
5462 const IDESC *idesc = &crisv10f_insn_data[itype];
5463 CGEN_INSN_INT insn = base_insn;
5464 #define FLD(f) abuf->fields.sfmt_addcwr.f
5465 INT f_indir_pc__word;
5467 /* Contents of trailing part of insn. */
5470 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5471 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
5472 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5474 /* Record the fields for the semantic handler. */
5475 FLD (f_operand2) = f_operand2;
5476 FLD (f_indir_pc__word) = f_indir_pc__word;
5477 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
5479 #if WITH_PROFILE_MODEL_P
5480 /* Record the fields for profiling. */
5481 if (PROFILE_MODEL_P (current_cpu))
5483 FLD (in_Rd) = f_operand2;
5484 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5491 extract_sfmt_andcdr:
5493 const IDESC *idesc = &crisv10f_insn_data[itype];
5494 CGEN_INSN_INT insn = base_insn;
5495 #define FLD(f) abuf->fields.sfmt_addcdr.f
5496 INT f_indir_pc__dword;
5498 /* Contents of trailing part of insn. */
5501 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5502 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
5503 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5505 /* Record the fields for the semantic handler. */
5506 FLD (f_operand2) = f_operand2;
5507 FLD (f_indir_pc__dword) = f_indir_pc__dword;
5508 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
5510 #if WITH_PROFILE_MODEL_P
5511 /* Record the fields for profiling. */
5512 if (PROFILE_MODEL_P (current_cpu))
5514 FLD (in_Rd) = f_operand2;
5515 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5524 const IDESC *idesc = &crisv10f_insn_data[itype];
5525 CGEN_INSN_INT insn = base_insn;
5526 #define FLD(f) abuf->fields.sfmt_andq.f
5530 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5531 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
5533 /* Record the fields for the semantic handler. */
5534 FLD (f_operand2) = f_operand2;
5536 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
5538 #if WITH_PROFILE_MODEL_P
5539 /* Record the fields for profiling. */
5540 if (PROFILE_MODEL_P (current_cpu))
5542 FLD (in_Rd) = f_operand2;
5543 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5552 const IDESC *idesc = &crisv10f_insn_data[itype];
5553 CGEN_INSN_INT insn = base_insn;
5554 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
5558 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5559 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5561 /* Record the fields for the semantic handler. */
5562 FLD (f_operand1) = f_operand1;
5563 FLD (f_operand2) = f_operand2;
5564 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
5566 #if WITH_PROFILE_MODEL_P
5567 /* Record the fields for profiling. */
5568 if (PROFILE_MODEL_P (current_cpu))
5570 FLD (in_Rs) = f_operand1;
5571 FLD (out_Rs) = f_operand1;
5578 extract_sfmt_asrr_b_r:
5580 const IDESC *idesc = &crisv10f_insn_data[itype];
5581 CGEN_INSN_INT insn = base_insn;
5582 #define FLD(f) abuf->fields.sfmt_add_b_r.f
5586 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5587 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5589 /* Record the fields for the semantic handler. */
5590 FLD (f_operand2) = f_operand2;
5591 FLD (f_operand1) = f_operand1;
5592 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5594 #if WITH_PROFILE_MODEL_P
5595 /* Record the fields for profiling. */
5596 if (PROFILE_MODEL_P (current_cpu))
5598 FLD (in_Rd) = f_operand2;
5599 FLD (in_Rs) = f_operand1;
5600 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5609 const IDESC *idesc = &crisv10f_insn_data[itype];
5610 CGEN_INSN_INT insn = base_insn;
5611 #define FLD(f) abuf->fields.sfmt_asrq.f
5615 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5616 f_u5 = EXTRACT_LSB0_UINT (insn, 16, 4, 5);
5618 /* Record the fields for the semantic handler. */
5619 FLD (f_operand2) = f_operand2;
5621 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
5623 #if WITH_PROFILE_MODEL_P
5624 /* Record the fields for profiling. */
5625 if (PROFILE_MODEL_P (current_cpu))
5627 FLD (in_Rd) = f_operand2;
5628 FLD (out_Rd) = f_operand2;
5635 extract_sfmt_lsrr_b_r:
5637 const IDESC *idesc = &crisv10f_insn_data[itype];
5638 CGEN_INSN_INT insn = base_insn;
5639 #define FLD(f) abuf->fields.sfmt_add_b_r.f
5643 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5644 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5646 /* Record the fields for the semantic handler. */
5647 FLD (f_operand2) = f_operand2;
5648 FLD (f_operand1) = f_operand1;
5649 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5651 #if WITH_PROFILE_MODEL_P
5652 /* Record the fields for profiling. */
5653 if (PROFILE_MODEL_P (current_cpu))
5655 FLD (in_Rd) = f_operand2;
5656 FLD (in_Rs) = f_operand1;
5657 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5664 extract_sfmt_lsrr_d_r:
5666 const IDESC *idesc = &crisv10f_insn_data[itype];
5667 CGEN_INSN_INT insn = base_insn;
5668 #define FLD(f) abuf->fields.sfmt_add_b_r.f
5672 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5673 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5675 /* Record the fields for the semantic handler. */
5676 FLD (f_operand2) = f_operand2;
5677 FLD (f_operand1) = f_operand1;
5678 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5680 #if WITH_PROFILE_MODEL_P
5681 /* Record the fields for profiling. */
5682 if (PROFILE_MODEL_P (current_cpu))
5684 FLD (in_Rd) = f_operand2;
5685 FLD (in_Rs) = f_operand1;
5686 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
5695 const IDESC *idesc = &crisv10f_insn_data[itype];
5696 CGEN_INSN_INT insn = base_insn;
5697 #define FLD(f) abuf->fields.sfmt_add_b_r.f
5701 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5702 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5704 /* Record the fields for the semantic handler. */
5705 FLD (f_operand2) = f_operand2;
5706 FLD (f_operand1) = f_operand1;
5707 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5709 #if WITH_PROFILE_MODEL_P
5710 /* Record the fields for profiling. */
5711 if (PROFILE_MODEL_P (current_cpu))
5713 FLD (in_Rd) = f_operand2;
5714 FLD (in_Rs) = f_operand1;
5723 const IDESC *idesc = &crisv10f_insn_data[itype];
5724 CGEN_INSN_INT insn = base_insn;
5725 #define FLD(f) abuf->fields.sfmt_asrq.f
5729 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5730 f_u5 = EXTRACT_LSB0_UINT (insn, 16, 4, 5);
5732 /* Record the fields for the semantic handler. */
5733 FLD (f_operand2) = f_operand2;
5735 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
5737 #if WITH_PROFILE_MODEL_P
5738 /* Record the fields for profiling. */
5739 if (PROFILE_MODEL_P (current_cpu))
5741 FLD (in_Rd) = f_operand2;
5750 const IDESC *idesc = &crisv10f_insn_data[itype];
5751 CGEN_INSN_INT insn = base_insn;
5752 #define FLD(f) abuf->fields.sfmt_setf.f
5757 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5758 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5759 f_dstsrc = ((((f_operand1) | (((f_operand2) << (4))))) & (255));
5761 /* Record the fields for the semantic handler. */
5762 FLD (f_dstsrc) = f_dstsrc;
5763 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
5771 const IDESC *idesc = &crisv10f_insn_data[itype];
5772 CGEN_INSN_INT insn = base_insn;
5773 #define FLD(f) abuf->fields.sfmt_bcc_b.f
5779 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5780 f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
5781 f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
5785 tmp_abslo = ((f_disp9_lo) << (1));
5786 tmp_absval = ((((((f_disp9_hi) != (0))) ? ((~ (255))) : (0))) | (tmp_abslo));
5787 f_disp9 = ((((pc) + (tmp_absval))) + (((GET_H_V32_NON_V32 ()) ? (0) : (2))));
5790 /* Record the fields for the semantic handler. */
5791 FLD (f_operand2) = f_operand2;
5792 FLD (i_o_pcrel) = f_disp9;
5793 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
5795 #if WITH_PROFILE_MODEL_P
5796 /* Record the fields for profiling. */
5797 if (PROFILE_MODEL_P (current_cpu))
5807 const IDESC *idesc = &crisv10f_insn_data[itype];
5808 CGEN_INSN_INT insn = base_insn;
5809 #define FLD(f) abuf->fields.sfmt_bcc_b.f
5814 f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
5815 f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
5819 tmp_abslo = ((f_disp9_lo) << (1));
5820 tmp_absval = ((((((f_disp9_hi) != (0))) ? ((~ (255))) : (0))) | (tmp_abslo));
5821 f_disp9 = ((((pc) + (tmp_absval))) + (((GET_H_V32_NON_V32 ()) ? (0) : (2))));
5824 /* Record the fields for the semantic handler. */
5825 FLD (i_o_pcrel) = f_disp9;
5826 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
5828 #if WITH_PROFILE_MODEL_P
5829 /* Record the fields for profiling. */
5830 if (PROFILE_MODEL_P (current_cpu))
5840 const IDESC *idesc = &crisv10f_insn_data[itype];
5841 CGEN_INSN_INT insn = base_insn;
5842 #define FLD(f) abuf->fields.sfmt_bcc_w.f
5843 SI f_indir_pc__word_pcrel;
5845 /* Contents of trailing part of insn. */
5848 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5849 f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_NON_V32 ()) ? (0) : (4))))));
5850 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5852 /* Record the fields for the semantic handler. */
5853 FLD (f_operand2) = f_operand2;
5854 FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
5855 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
5857 #if WITH_PROFILE_MODEL_P
5858 /* Record the fields for profiling. */
5859 if (PROFILE_MODEL_P (current_cpu))
5869 const IDESC *idesc = &crisv10f_insn_data[itype];
5870 CGEN_INSN_INT insn = base_insn;
5871 #define FLD(f) abuf->fields.sfmt_bcc_w.f
5872 SI f_indir_pc__word_pcrel;
5873 /* Contents of trailing part of insn. */
5876 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5877 f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_NON_V32 ()) ? (0) : (4))))));
5879 /* Record the fields for the semantic handler. */
5880 FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
5881 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
5883 #if WITH_PROFILE_MODEL_P
5884 /* Record the fields for profiling. */
5885 if (PROFILE_MODEL_P (current_cpu))
5893 extract_sfmt_jump_r:
5895 const IDESC *idesc = &crisv10f_insn_data[itype];
5896 CGEN_INSN_INT insn = base_insn;
5897 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
5901 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5902 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5904 /* Record the fields for the semantic handler. */
5905 FLD (f_operand1) = f_operand1;
5906 FLD (f_operand2) = f_operand2;
5907 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
5909 #if WITH_PROFILE_MODEL_P
5910 /* Record the fields for profiling. */
5911 if (PROFILE_MODEL_P (current_cpu))
5913 FLD (in_Rs) = f_operand1;
5914 FLD (out_Pd) = f_operand2;
5921 extract_sfmt_jump_m:
5923 const IDESC *idesc = &crisv10f_insn_data[itype];
5924 CGEN_INSN_INT insn = base_insn;
5925 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
5930 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5931 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5932 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5934 /* Record the fields for the semantic handler. */
5935 FLD (f_operand1) = f_operand1;
5936 FLD (f_memmode) = f_memmode;
5937 FLD (f_operand2) = f_operand2;
5938 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
5940 #if WITH_PROFILE_MODEL_P
5941 /* Record the fields for profiling. */
5942 if (PROFILE_MODEL_P (current_cpu))
5944 FLD (in_Rs) = f_operand1;
5945 FLD (out_Pd) = f_operand2;
5946 FLD (out_Rs) = f_operand1;
5953 extract_sfmt_jump_c:
5955 const IDESC *idesc = &crisv10f_insn_data[itype];
5956 CGEN_INSN_INT insn = base_insn;
5957 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
5958 INT f_indir_pc__dword;
5960 /* Contents of trailing part of insn. */
5963 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5964 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
5965 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5967 /* Record the fields for the semantic handler. */
5968 FLD (f_indir_pc__dword) = f_indir_pc__dword;
5969 FLD (f_operand2) = f_operand2;
5970 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
5972 #if WITH_PROFILE_MODEL_P
5973 /* Record the fields for profiling. */
5974 if (PROFILE_MODEL_P (current_cpu))
5976 FLD (out_Pd) = f_operand2;
5985 const IDESC *idesc = &crisv10f_insn_data[itype];
5986 CGEN_INSN_INT insn = base_insn;
5987 #define FLD(f) abuf->fields.sfmt_break.f
5990 f_u4 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5992 /* Record the fields for the semantic handler. */
5994 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
5996 #if WITH_PROFILE_MODEL_P
5997 /* Record the fields for profiling. */
5998 if (PROFILE_MODEL_P (current_cpu))
6006 extract_sfmt_bound_m_b_m:
6008 const IDESC *idesc = &crisv10f_insn_data[itype];
6009 CGEN_INSN_INT insn = base_insn;
6010 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
6015 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6016 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
6017 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6019 /* Record the fields for the semantic handler. */
6020 FLD (f_operand2) = f_operand2;
6021 FLD (f_operand1) = f_operand1;
6022 FLD (f_memmode) = f_memmode;
6023 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
6025 #if WITH_PROFILE_MODEL_P
6026 /* Record the fields for profiling. */
6027 if (PROFILE_MODEL_P (current_cpu))
6029 FLD (in_Rd) = f_operand2;
6030 FLD (in_Rs) = f_operand1;
6031 FLD (out_Rd) = f_operand2;
6032 FLD (out_Rs) = f_operand1;
6039 extract_sfmt_bound_m_w_m:
6041 const IDESC *idesc = &crisv10f_insn_data[itype];
6042 CGEN_INSN_INT insn = base_insn;
6043 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
6048 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6049 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
6050 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6052 /* Record the fields for the semantic handler. */
6053 FLD (f_operand2) = f_operand2;
6054 FLD (f_operand1) = f_operand1;
6055 FLD (f_memmode) = f_memmode;
6056 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
6058 #if WITH_PROFILE_MODEL_P
6059 /* Record the fields for profiling. */
6060 if (PROFILE_MODEL_P (current_cpu))
6062 FLD (in_Rd) = f_operand2;
6063 FLD (in_Rs) = f_operand1;
6064 FLD (out_Rd) = f_operand2;
6065 FLD (out_Rs) = f_operand1;
6072 extract_sfmt_bound_m_d_m:
6074 const IDESC *idesc = &crisv10f_insn_data[itype];
6075 CGEN_INSN_INT insn = base_insn;
6076 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
6081 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6082 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
6083 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6085 /* Record the fields for the semantic handler. */
6086 FLD (f_operand2) = f_operand2;
6087 FLD (f_operand1) = f_operand1;
6088 FLD (f_memmode) = f_memmode;
6089 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
6091 #if WITH_PROFILE_MODEL_P
6092 /* Record the fields for profiling. */
6093 if (PROFILE_MODEL_P (current_cpu))
6095 FLD (in_Rd) = f_operand2;
6096 FLD (in_Rs) = f_operand1;
6097 FLD (out_Rd) = f_operand2;
6098 FLD (out_Rs) = f_operand1;
6105 extract_sfmt_bound_cb:
6107 const IDESC *idesc = &crisv10f_insn_data[itype];
6108 CGEN_INSN_INT insn = base_insn;
6109 #define FLD(f) abuf->fields.sfmt_bound_cb.f
6110 INT f_indir_pc__byte;
6112 /* Contents of trailing part of insn. */
6115 word_1 = GETIMEMUSI (current_cpu, pc + 2);
6116 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
6117 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6119 /* Record the fields for the semantic handler. */
6120 FLD (f_operand2) = f_operand2;
6121 FLD (f_indir_pc__byte) = f_indir_pc__byte;
6122 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
6124 #if WITH_PROFILE_MODEL_P
6125 /* Record the fields for profiling. */
6126 if (PROFILE_MODEL_P (current_cpu))
6128 FLD (in_Rd) = f_operand2;
6129 FLD (out_Rd) = f_operand2;
6136 extract_sfmt_bound_cw:
6138 const IDESC *idesc = &crisv10f_insn_data[itype];
6139 CGEN_INSN_INT insn = base_insn;
6140 #define FLD(f) abuf->fields.sfmt_bound_cw.f
6141 INT f_indir_pc__word;
6143 /* Contents of trailing part of insn. */
6146 word_1 = GETIMEMUSI (current_cpu, pc + 2);
6147 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
6148 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6150 /* Record the fields for the semantic handler. */
6151 FLD (f_operand2) = f_operand2;
6152 FLD (f_indir_pc__word) = f_indir_pc__word;
6153 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
6155 #if WITH_PROFILE_MODEL_P
6156 /* Record the fields for profiling. */
6157 if (PROFILE_MODEL_P (current_cpu))
6159 FLD (in_Rd) = f_operand2;
6160 FLD (out_Rd) = f_operand2;
6167 extract_sfmt_bound_cd:
6169 const IDESC *idesc = &crisv10f_insn_data[itype];
6170 CGEN_INSN_INT insn = base_insn;
6171 #define FLD(f) abuf->fields.sfmt_bound_cd.f
6172 INT f_indir_pc__dword;
6174 /* Contents of trailing part of insn. */
6177 word_1 = GETIMEMUSI (current_cpu, pc + 2);
6178 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
6179 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6181 /* Record the fields for the semantic handler. */
6182 FLD (f_operand2) = f_operand2;
6183 FLD (f_indir_pc__dword) = f_indir_pc__dword;
6184 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
6186 #if WITH_PROFILE_MODEL_P
6187 /* Record the fields for profiling. */
6188 if (PROFILE_MODEL_P (current_cpu))
6190 FLD (in_Rd) = f_operand2;
6191 FLD (out_Rd) = f_operand2;
6200 const IDESC *idesc = &crisv10f_insn_data[itype];
6201 CGEN_INSN_INT insn = base_insn;
6202 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
6206 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6207 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6209 /* Record the fields for the semantic handler. */
6210 FLD (f_operand2) = f_operand2;
6211 FLD (f_operand1) = f_operand1;
6212 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scc", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
6214 #if WITH_PROFILE_MODEL_P
6215 /* Record the fields for profiling. */
6216 if (PROFILE_MODEL_P (current_cpu))
6218 FLD (out_Rs) = f_operand1;
6227 const IDESC *idesc = &crisv10f_insn_data[itype];
6228 CGEN_INSN_INT insn = base_insn;
6229 #define FLD(f) abuf->fields.sfmt_addoq.f
6233 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6234 f_s8 = EXTRACT_LSB0_INT (insn, 16, 7, 8);
6236 /* Record the fields for the semantic handler. */
6237 FLD (f_operand2) = f_operand2;
6239 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0));
6241 #if WITH_PROFILE_MODEL_P
6242 /* Record the fields for profiling. */
6243 if (PROFILE_MODEL_P (current_cpu))
6245 FLD (in_Rd) = f_operand2;
6252 extract_sfmt_bdapqpc:
6254 const IDESC *idesc = &crisv10f_insn_data[itype];
6255 CGEN_INSN_INT insn = base_insn;
6256 #define FLD(f) abuf->fields.sfmt_addoq.f
6259 f_s8 = EXTRACT_LSB0_INT (insn, 16, 7, 8);
6261 /* Record the fields for the semantic handler. */
6263 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdapqpc", "f_s8 0x%x", 'x', f_s8, (char *) 0));
6265 #if WITH_PROFILE_MODEL_P
6266 /* Record the fields for profiling. */
6267 if (PROFILE_MODEL_P (current_cpu))
6275 extract_sfmt_addo_m_b_m:
6277 const IDESC *idesc = &crisv10f_insn_data[itype];
6278 CGEN_INSN_INT insn = base_insn;
6279 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
6284 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6285 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
6286 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6288 /* Record the fields for the semantic handler. */
6289 FLD (f_operand2) = f_operand2;
6290 FLD (f_operand1) = f_operand1;
6291 FLD (f_memmode) = f_memmode;
6292 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
6294 #if WITH_PROFILE_MODEL_P
6295 /* Record the fields for profiling. */
6296 if (PROFILE_MODEL_P (current_cpu))
6298 FLD (in_Rd) = f_operand2;
6299 FLD (in_Rs) = f_operand1;
6300 FLD (out_Rs) = f_operand1;
6307 extract_sfmt_addo_m_w_m:
6309 const IDESC *idesc = &crisv10f_insn_data[itype];
6310 CGEN_INSN_INT insn = base_insn;
6311 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
6316 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6317 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
6318 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6320 /* Record the fields for the semantic handler. */
6321 FLD (f_operand2) = f_operand2;
6322 FLD (f_operand1) = f_operand1;
6323 FLD (f_memmode) = f_memmode;
6324 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
6326 #if WITH_PROFILE_MODEL_P
6327 /* Record the fields for profiling. */
6328 if (PROFILE_MODEL_P (current_cpu))
6330 FLD (in_Rd) = f_operand2;
6331 FLD (in_Rs) = f_operand1;
6332 FLD (out_Rs) = f_operand1;
6339 extract_sfmt_addo_m_d_m:
6341 const IDESC *idesc = &crisv10f_insn_data[itype];
6342 CGEN_INSN_INT insn = base_insn;
6343 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
6348 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6349 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
6350 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6352 /* Record the fields for the semantic handler. */
6353 FLD (f_operand2) = f_operand2;
6354 FLD (f_operand1) = f_operand1;
6355 FLD (f_memmode) = f_memmode;
6356 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
6358 #if WITH_PROFILE_MODEL_P
6359 /* Record the fields for profiling. */
6360 if (PROFILE_MODEL_P (current_cpu))
6362 FLD (in_Rd) = f_operand2;
6363 FLD (in_Rs) = f_operand1;
6364 FLD (out_Rs) = f_operand1;
6371 extract_sfmt_addo_cb:
6373 const IDESC *idesc = &crisv10f_insn_data[itype];
6374 CGEN_INSN_INT insn = base_insn;
6375 #define FLD(f) abuf->fields.sfmt_bound_cb.f
6376 INT f_indir_pc__byte;
6378 /* Contents of trailing part of insn. */
6381 word_1 = GETIMEMUSI (current_cpu, pc + 2);
6382 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
6383 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6385 /* Record the fields for the semantic handler. */
6386 FLD (f_operand2) = f_operand2;
6387 FLD (f_indir_pc__byte) = f_indir_pc__byte;
6388 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
6390 #if WITH_PROFILE_MODEL_P
6391 /* Record the fields for profiling. */
6392 if (PROFILE_MODEL_P (current_cpu))
6394 FLD (in_Rd) = f_operand2;
6401 extract_sfmt_addo_cw:
6403 const IDESC *idesc = &crisv10f_insn_data[itype];
6404 CGEN_INSN_INT insn = base_insn;
6405 #define FLD(f) abuf->fields.sfmt_bound_cw.f
6406 INT f_indir_pc__word;
6408 /* Contents of trailing part of insn. */
6411 word_1 = GETIMEMUSI (current_cpu, pc + 2);
6412 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 32, 15, 16) << 0));
6413 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6415 /* Record the fields for the semantic handler. */
6416 FLD (f_operand2) = f_operand2;
6417 FLD (f_indir_pc__word) = f_indir_pc__word;
6418 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
6420 #if WITH_PROFILE_MODEL_P
6421 /* Record the fields for profiling. */
6422 if (PROFILE_MODEL_P (current_cpu))
6424 FLD (in_Rd) = f_operand2;
6431 extract_sfmt_addo_cd:
6433 const IDESC *idesc = &crisv10f_insn_data[itype];
6434 CGEN_INSN_INT insn = base_insn;
6435 #define FLD(f) abuf->fields.sfmt_bound_cd.f
6436 INT f_indir_pc__dword;
6438 /* Contents of trailing part of insn. */
6441 word_1 = GETIMEMUSI (current_cpu, pc + 2);
6442 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
6443 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6445 /* Record the fields for the semantic handler. */
6446 FLD (f_operand2) = f_operand2;
6447 FLD (f_indir_pc__dword) = f_indir_pc__dword;
6448 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
6450 #if WITH_PROFILE_MODEL_P
6451 /* Record the fields for profiling. */
6452 if (PROFILE_MODEL_P (current_cpu))
6454 FLD (in_Rd) = f_operand2;
6463 const IDESC *idesc = &crisv10f_insn_data[itype];
6464 CGEN_INSN_INT insn = base_insn;
6465 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
6469 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
6470 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6472 /* Record the fields for the semantic handler. */
6473 FLD (f_operand1) = f_operand1;
6474 FLD (f_memmode) = f_memmode;
6475 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
6477 #if WITH_PROFILE_MODEL_P
6478 /* Record the fields for profiling. */
6479 if (PROFILE_MODEL_P (current_cpu))
6481 FLD (in_Rs) = f_operand1;
6482 FLD (out_Rs) = f_operand1;
6491 const IDESC *idesc = &crisv10f_insn_data[itype];
6492 CGEN_INSN_INT insn = base_insn;
6493 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
6494 INT f_indir_pc__dword;
6495 /* Contents of trailing part of insn. */
6498 word_1 = GETIMEMUSI (current_cpu, pc + 2);
6499 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
6501 /* Record the fields for the semantic handler. */
6502 FLD (f_indir_pc__dword) = f_indir_pc__dword;
6503 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
6509 extract_sfmt_addi_acr_b_r:
6511 const IDESC *idesc = &crisv10f_insn_data[itype];
6512 CGEN_INSN_INT insn = base_insn;
6513 #define FLD(f) abuf->fields.sfmt_add_b_r.f
6517 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6518 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
6520 /* Record the fields for the semantic handler. */
6521 FLD (f_operand2) = f_operand2;
6522 FLD (f_operand1) = f_operand1;
6523 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_acr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
6525 #if WITH_PROFILE_MODEL_P
6526 /* Record the fields for profiling. */
6527 if (PROFILE_MODEL_P (current_cpu))
6529 FLD (in_Rd) = f_operand2;
6530 FLD (in_Rs) = f_operand1;
6537 extract_sfmt_biap_pc_b_r:
6539 const IDESC *idesc = &crisv10f_insn_data[itype];
6540 CGEN_INSN_INT insn = base_insn;
6541 #define FLD(f) abuf->fields.sfmt_addoq.f
6544 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
6546 /* Record the fields for the semantic handler. */
6547 FLD (f_operand2) = f_operand2;
6548 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_biap_pc_b_r", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
6550 #if WITH_PROFILE_MODEL_P
6551 /* Record the fields for profiling. */
6552 if (PROFILE_MODEL_P (current_cpu))
6554 FLD (in_Rd) = f_operand2;