1 /* Simulator instruction decoder for crisv32f.
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 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 #define WANT_CPU crisv32f
26 #define WANT_CPU_CRISV32F
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 crisv32f_insn_data[CRISV32F_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 crisv32f_insn_sem[] =
44 { VIRTUAL_INSN_X_INVALID, CRISV32F_INSN_X_INVALID, CRISV32F_SFMT_EMPTY },
45 { VIRTUAL_INSN_X_AFTER, CRISV32F_INSN_X_AFTER, CRISV32F_SFMT_EMPTY },
46 { VIRTUAL_INSN_X_BEFORE, CRISV32F_INSN_X_BEFORE, CRISV32F_SFMT_EMPTY },
47 { VIRTUAL_INSN_X_CTI_CHAIN, CRISV32F_INSN_X_CTI_CHAIN, CRISV32F_SFMT_EMPTY },
48 { VIRTUAL_INSN_X_CHAIN, CRISV32F_INSN_X_CHAIN, CRISV32F_SFMT_EMPTY },
49 { VIRTUAL_INSN_X_BEGIN, CRISV32F_INSN_X_BEGIN, CRISV32F_SFMT_EMPTY },
50 { CRIS_INSN_MOVE_B_R, CRISV32F_INSN_MOVE_B_R, CRISV32F_SFMT_MOVE_B_R },
51 { CRIS_INSN_MOVE_W_R, CRISV32F_INSN_MOVE_W_R, CRISV32F_SFMT_MOVE_B_R },
52 { CRIS_INSN_MOVE_D_R, CRISV32F_INSN_MOVE_D_R, CRISV32F_SFMT_MOVE_D_R },
53 { CRIS_INSN_MOVEQ, CRISV32F_INSN_MOVEQ, CRISV32F_SFMT_MOVEQ },
54 { CRIS_INSN_MOVS_B_R, CRISV32F_INSN_MOVS_B_R, CRISV32F_SFMT_MOVS_B_R },
55 { CRIS_INSN_MOVS_W_R, CRISV32F_INSN_MOVS_W_R, CRISV32F_SFMT_MOVS_B_R },
56 { CRIS_INSN_MOVU_B_R, CRISV32F_INSN_MOVU_B_R, CRISV32F_SFMT_MOVS_B_R },
57 { CRIS_INSN_MOVU_W_R, CRISV32F_INSN_MOVU_W_R, CRISV32F_SFMT_MOVS_B_R },
58 { CRIS_INSN_MOVECBR, CRISV32F_INSN_MOVECBR, CRISV32F_SFMT_MOVECBR },
59 { CRIS_INSN_MOVECWR, CRISV32F_INSN_MOVECWR, CRISV32F_SFMT_MOVECWR },
60 { CRIS_INSN_MOVECDR, CRISV32F_INSN_MOVECDR, CRISV32F_SFMT_MOVECDR },
61 { CRIS_INSN_MOVSCBR, CRISV32F_INSN_MOVSCBR, CRISV32F_SFMT_MOVSCBR },
62 { CRIS_INSN_MOVSCWR, CRISV32F_INSN_MOVSCWR, CRISV32F_SFMT_MOVSCWR },
63 { CRIS_INSN_MOVUCBR, CRISV32F_INSN_MOVUCBR, CRISV32F_SFMT_MOVUCBR },
64 { CRIS_INSN_MOVUCWR, CRISV32F_INSN_MOVUCWR, CRISV32F_SFMT_MOVUCWR },
65 { CRIS_INSN_ADDQ, CRISV32F_INSN_ADDQ, CRISV32F_SFMT_ADDQ },
66 { CRIS_INSN_SUBQ, CRISV32F_INSN_SUBQ, CRISV32F_SFMT_ADDQ },
67 { CRIS_INSN_CMP_R_B_R, CRISV32F_INSN_CMP_R_B_R, CRISV32F_SFMT_CMP_R_B_R },
68 { CRIS_INSN_CMP_R_W_R, CRISV32F_INSN_CMP_R_W_R, CRISV32F_SFMT_CMP_R_B_R },
69 { CRIS_INSN_CMP_R_D_R, CRISV32F_INSN_CMP_R_D_R, CRISV32F_SFMT_CMP_R_B_R },
70 { CRIS_INSN_CMP_M_B_M, CRISV32F_INSN_CMP_M_B_M, CRISV32F_SFMT_CMP_M_B_M },
71 { CRIS_INSN_CMP_M_W_M, CRISV32F_INSN_CMP_M_W_M, CRISV32F_SFMT_CMP_M_W_M },
72 { CRIS_INSN_CMP_M_D_M, CRISV32F_INSN_CMP_M_D_M, CRISV32F_SFMT_CMP_M_D_M },
73 { CRIS_INSN_CMPCBR, CRISV32F_INSN_CMPCBR, CRISV32F_SFMT_CMPCBR },
74 { CRIS_INSN_CMPCWR, CRISV32F_INSN_CMPCWR, CRISV32F_SFMT_CMPCWR },
75 { CRIS_INSN_CMPCDR, CRISV32F_INSN_CMPCDR, CRISV32F_SFMT_CMPCDR },
76 { CRIS_INSN_CMPQ, CRISV32F_INSN_CMPQ, CRISV32F_SFMT_CMPQ },
77 { CRIS_INSN_CMPS_M_B_M, CRISV32F_INSN_CMPS_M_B_M, CRISV32F_SFMT_CMP_M_B_M },
78 { CRIS_INSN_CMPS_M_W_M, CRISV32F_INSN_CMPS_M_W_M, CRISV32F_SFMT_CMP_M_W_M },
79 { CRIS_INSN_CMPSCBR, CRISV32F_INSN_CMPSCBR, CRISV32F_SFMT_CMPCBR },
80 { CRIS_INSN_CMPSCWR, CRISV32F_INSN_CMPSCWR, CRISV32F_SFMT_CMPCWR },
81 { CRIS_INSN_CMPU_M_B_M, CRISV32F_INSN_CMPU_M_B_M, CRISV32F_SFMT_CMP_M_B_M },
82 { CRIS_INSN_CMPU_M_W_M, CRISV32F_INSN_CMPU_M_W_M, CRISV32F_SFMT_CMP_M_W_M },
83 { CRIS_INSN_CMPUCBR, CRISV32F_INSN_CMPUCBR, CRISV32F_SFMT_CMPUCBR },
84 { CRIS_INSN_CMPUCWR, CRISV32F_INSN_CMPUCWR, CRISV32F_SFMT_CMPUCWR },
85 { CRIS_INSN_MOVE_M_B_M, CRISV32F_INSN_MOVE_M_B_M, CRISV32F_SFMT_MOVE_M_B_M },
86 { CRIS_INSN_MOVE_M_W_M, CRISV32F_INSN_MOVE_M_W_M, CRISV32F_SFMT_MOVE_M_W_M },
87 { CRIS_INSN_MOVE_M_D_M, CRISV32F_INSN_MOVE_M_D_M, CRISV32F_SFMT_MOVE_M_D_M },
88 { CRIS_INSN_MOVS_M_B_M, CRISV32F_INSN_MOVS_M_B_M, CRISV32F_SFMT_MOVS_M_B_M },
89 { CRIS_INSN_MOVS_M_W_M, CRISV32F_INSN_MOVS_M_W_M, CRISV32F_SFMT_MOVS_M_W_M },
90 { CRIS_INSN_MOVU_M_B_M, CRISV32F_INSN_MOVU_M_B_M, CRISV32F_SFMT_MOVS_M_B_M },
91 { CRIS_INSN_MOVU_M_W_M, CRISV32F_INSN_MOVU_M_W_M, CRISV32F_SFMT_MOVS_M_W_M },
92 { CRIS_INSN_MOVE_R_SPRV32, CRISV32F_INSN_MOVE_R_SPRV32, CRISV32F_SFMT_MOVE_R_SPRV32 },
93 { CRIS_INSN_MOVE_SPR_RV32, CRISV32F_INSN_MOVE_SPR_RV32, CRISV32F_SFMT_MOVE_SPR_RV32 },
94 { CRIS_INSN_MOVE_M_SPRV32, CRISV32F_INSN_MOVE_M_SPRV32, CRISV32F_SFMT_MOVE_M_SPRV32 },
95 { CRIS_INSN_MOVE_C_SPRV32_P0, CRISV32F_INSN_MOVE_C_SPRV32_P0, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
96 { CRIS_INSN_MOVE_C_SPRV32_P1, CRISV32F_INSN_MOVE_C_SPRV32_P1, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
97 { CRIS_INSN_MOVE_C_SPRV32_P2, CRISV32F_INSN_MOVE_C_SPRV32_P2, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
98 { CRIS_INSN_MOVE_C_SPRV32_P3, CRISV32F_INSN_MOVE_C_SPRV32_P3, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
99 { CRIS_INSN_MOVE_C_SPRV32_P4, CRISV32F_INSN_MOVE_C_SPRV32_P4, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
100 { CRIS_INSN_MOVE_C_SPRV32_P5, CRISV32F_INSN_MOVE_C_SPRV32_P5, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
101 { CRIS_INSN_MOVE_C_SPRV32_P6, CRISV32F_INSN_MOVE_C_SPRV32_P6, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
102 { CRIS_INSN_MOVE_C_SPRV32_P7, CRISV32F_INSN_MOVE_C_SPRV32_P7, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
103 { CRIS_INSN_MOVE_C_SPRV32_P8, CRISV32F_INSN_MOVE_C_SPRV32_P8, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
104 { CRIS_INSN_MOVE_C_SPRV32_P9, CRISV32F_INSN_MOVE_C_SPRV32_P9, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
105 { CRIS_INSN_MOVE_C_SPRV32_P10, CRISV32F_INSN_MOVE_C_SPRV32_P10, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
106 { CRIS_INSN_MOVE_C_SPRV32_P11, CRISV32F_INSN_MOVE_C_SPRV32_P11, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
107 { CRIS_INSN_MOVE_C_SPRV32_P12, CRISV32F_INSN_MOVE_C_SPRV32_P12, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
108 { CRIS_INSN_MOVE_C_SPRV32_P13, CRISV32F_INSN_MOVE_C_SPRV32_P13, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
109 { CRIS_INSN_MOVE_C_SPRV32_P14, CRISV32F_INSN_MOVE_C_SPRV32_P14, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
110 { CRIS_INSN_MOVE_C_SPRV32_P15, CRISV32F_INSN_MOVE_C_SPRV32_P15, CRISV32F_SFMT_MOVE_C_SPRV32_P0 },
111 { CRIS_INSN_MOVE_SPR_MV32, CRISV32F_INSN_MOVE_SPR_MV32, CRISV32F_SFMT_MOVE_SPR_MV32 },
112 { CRIS_INSN_MOVE_SS_R, CRISV32F_INSN_MOVE_SS_R, CRISV32F_SFMT_MOVE_SS_R },
113 { CRIS_INSN_MOVE_R_SS, CRISV32F_INSN_MOVE_R_SS, CRISV32F_SFMT_MOVE_R_SS },
114 { CRIS_INSN_MOVEM_R_M_V32, CRISV32F_INSN_MOVEM_R_M_V32, CRISV32F_SFMT_MOVEM_R_M_V32 },
115 { CRIS_INSN_MOVEM_M_R_V32, CRISV32F_INSN_MOVEM_M_R_V32, CRISV32F_SFMT_MOVEM_M_R_V32 },
116 { CRIS_INSN_ADD_B_R, CRISV32F_INSN_ADD_B_R, CRISV32F_SFMT_ADD_B_R },
117 { CRIS_INSN_ADD_W_R, CRISV32F_INSN_ADD_W_R, CRISV32F_SFMT_ADD_B_R },
118 { CRIS_INSN_ADD_D_R, CRISV32F_INSN_ADD_D_R, CRISV32F_SFMT_ADD_D_R },
119 { CRIS_INSN_ADD_M_B_M, CRISV32F_INSN_ADD_M_B_M, CRISV32F_SFMT_ADD_M_B_M },
120 { CRIS_INSN_ADD_M_W_M, CRISV32F_INSN_ADD_M_W_M, CRISV32F_SFMT_ADD_M_W_M },
121 { CRIS_INSN_ADD_M_D_M, CRISV32F_INSN_ADD_M_D_M, CRISV32F_SFMT_ADD_M_D_M },
122 { CRIS_INSN_ADDCBR, CRISV32F_INSN_ADDCBR, CRISV32F_SFMT_ADDCBR },
123 { CRIS_INSN_ADDCWR, CRISV32F_INSN_ADDCWR, CRISV32F_SFMT_ADDCWR },
124 { CRIS_INSN_ADDCDR, CRISV32F_INSN_ADDCDR, CRISV32F_SFMT_ADDCDR },
125 { CRIS_INSN_ADDS_B_R, CRISV32F_INSN_ADDS_B_R, CRISV32F_SFMT_ADD_D_R },
126 { CRIS_INSN_ADDS_W_R, CRISV32F_INSN_ADDS_W_R, CRISV32F_SFMT_ADD_D_R },
127 { CRIS_INSN_ADDS_M_B_M, CRISV32F_INSN_ADDS_M_B_M, CRISV32F_SFMT_ADDS_M_B_M },
128 { CRIS_INSN_ADDS_M_W_M, CRISV32F_INSN_ADDS_M_W_M, CRISV32F_SFMT_ADDS_M_W_M },
129 { CRIS_INSN_ADDSCBR, CRISV32F_INSN_ADDSCBR, CRISV32F_SFMT_ADDSCBR },
130 { CRIS_INSN_ADDSCWR, CRISV32F_INSN_ADDSCWR, CRISV32F_SFMT_ADDSCWR },
131 { CRIS_INSN_ADDU_B_R, CRISV32F_INSN_ADDU_B_R, CRISV32F_SFMT_ADD_D_R },
132 { CRIS_INSN_ADDU_W_R, CRISV32F_INSN_ADDU_W_R, CRISV32F_SFMT_ADD_D_R },
133 { CRIS_INSN_ADDU_M_B_M, CRISV32F_INSN_ADDU_M_B_M, CRISV32F_SFMT_ADDS_M_B_M },
134 { CRIS_INSN_ADDU_M_W_M, CRISV32F_INSN_ADDU_M_W_M, CRISV32F_SFMT_ADDS_M_W_M },
135 { CRIS_INSN_ADDUCBR, CRISV32F_INSN_ADDUCBR, CRISV32F_SFMT_ADDSCBR },
136 { CRIS_INSN_ADDUCWR, CRISV32F_INSN_ADDUCWR, CRISV32F_SFMT_ADDSCWR },
137 { CRIS_INSN_SUB_B_R, CRISV32F_INSN_SUB_B_R, CRISV32F_SFMT_ADD_B_R },
138 { CRIS_INSN_SUB_W_R, CRISV32F_INSN_SUB_W_R, CRISV32F_SFMT_ADD_B_R },
139 { CRIS_INSN_SUB_D_R, CRISV32F_INSN_SUB_D_R, CRISV32F_SFMT_ADD_D_R },
140 { CRIS_INSN_SUB_M_B_M, CRISV32F_INSN_SUB_M_B_M, CRISV32F_SFMT_ADD_M_B_M },
141 { CRIS_INSN_SUB_M_W_M, CRISV32F_INSN_SUB_M_W_M, CRISV32F_SFMT_ADD_M_W_M },
142 { CRIS_INSN_SUB_M_D_M, CRISV32F_INSN_SUB_M_D_M, CRISV32F_SFMT_ADD_M_D_M },
143 { CRIS_INSN_SUBCBR, CRISV32F_INSN_SUBCBR, CRISV32F_SFMT_ADDCBR },
144 { CRIS_INSN_SUBCWR, CRISV32F_INSN_SUBCWR, CRISV32F_SFMT_ADDCWR },
145 { CRIS_INSN_SUBCDR, CRISV32F_INSN_SUBCDR, CRISV32F_SFMT_ADDCDR },
146 { CRIS_INSN_SUBS_B_R, CRISV32F_INSN_SUBS_B_R, CRISV32F_SFMT_ADD_D_R },
147 { CRIS_INSN_SUBS_W_R, CRISV32F_INSN_SUBS_W_R, CRISV32F_SFMT_ADD_D_R },
148 { CRIS_INSN_SUBS_M_B_M, CRISV32F_INSN_SUBS_M_B_M, CRISV32F_SFMT_ADDS_M_B_M },
149 { CRIS_INSN_SUBS_M_W_M, CRISV32F_INSN_SUBS_M_W_M, CRISV32F_SFMT_ADDS_M_W_M },
150 { CRIS_INSN_SUBSCBR, CRISV32F_INSN_SUBSCBR, CRISV32F_SFMT_ADDSCBR },
151 { CRIS_INSN_SUBSCWR, CRISV32F_INSN_SUBSCWR, CRISV32F_SFMT_ADDSCWR },
152 { CRIS_INSN_SUBU_B_R, CRISV32F_INSN_SUBU_B_R, CRISV32F_SFMT_ADD_D_R },
153 { CRIS_INSN_SUBU_W_R, CRISV32F_INSN_SUBU_W_R, CRISV32F_SFMT_ADD_D_R },
154 { CRIS_INSN_SUBU_M_B_M, CRISV32F_INSN_SUBU_M_B_M, CRISV32F_SFMT_ADDS_M_B_M },
155 { CRIS_INSN_SUBU_M_W_M, CRISV32F_INSN_SUBU_M_W_M, CRISV32F_SFMT_ADDS_M_W_M },
156 { CRIS_INSN_SUBUCBR, CRISV32F_INSN_SUBUCBR, CRISV32F_SFMT_ADDSCBR },
157 { CRIS_INSN_SUBUCWR, CRISV32F_INSN_SUBUCWR, CRISV32F_SFMT_ADDSCWR },
158 { CRIS_INSN_ADDC_R, CRISV32F_INSN_ADDC_R, CRISV32F_SFMT_ADD_D_R },
159 { CRIS_INSN_ADDC_M, CRISV32F_INSN_ADDC_M, CRISV32F_SFMT_ADDC_M },
160 { CRIS_INSN_ADDC_C, CRISV32F_INSN_ADDC_C, CRISV32F_SFMT_ADDCDR },
161 { CRIS_INSN_LAPC_D, CRISV32F_INSN_LAPC_D, CRISV32F_SFMT_LAPC_D },
162 { CRIS_INSN_LAPCQ, CRISV32F_INSN_LAPCQ, CRISV32F_SFMT_LAPCQ },
163 { CRIS_INSN_ADDI_B_R, CRISV32F_INSN_ADDI_B_R, CRISV32F_SFMT_ADDI_B_R },
164 { CRIS_INSN_ADDI_W_R, CRISV32F_INSN_ADDI_W_R, CRISV32F_SFMT_ADDI_B_R },
165 { CRIS_INSN_ADDI_D_R, CRISV32F_INSN_ADDI_D_R, CRISV32F_SFMT_ADDI_B_R },
166 { CRIS_INSN_NEG_B_R, CRISV32F_INSN_NEG_B_R, CRISV32F_SFMT_NEG_B_R },
167 { CRIS_INSN_NEG_W_R, CRISV32F_INSN_NEG_W_R, CRISV32F_SFMT_NEG_B_R },
168 { CRIS_INSN_NEG_D_R, CRISV32F_INSN_NEG_D_R, CRISV32F_SFMT_NEG_D_R },
169 { CRIS_INSN_TEST_M_B_M, CRISV32F_INSN_TEST_M_B_M, CRISV32F_SFMT_TEST_M_B_M },
170 { CRIS_INSN_TEST_M_W_M, CRISV32F_INSN_TEST_M_W_M, CRISV32F_SFMT_TEST_M_W_M },
171 { CRIS_INSN_TEST_M_D_M, CRISV32F_INSN_TEST_M_D_M, CRISV32F_SFMT_TEST_M_D_M },
172 { CRIS_INSN_MOVE_R_M_B_M, CRISV32F_INSN_MOVE_R_M_B_M, CRISV32F_SFMT_MOVE_R_M_B_M },
173 { CRIS_INSN_MOVE_R_M_W_M, CRISV32F_INSN_MOVE_R_M_W_M, CRISV32F_SFMT_MOVE_R_M_W_M },
174 { CRIS_INSN_MOVE_R_M_D_M, CRISV32F_INSN_MOVE_R_M_D_M, CRISV32F_SFMT_MOVE_R_M_D_M },
175 { CRIS_INSN_MULS_B, CRISV32F_INSN_MULS_B, CRISV32F_SFMT_MULS_B },
176 { CRIS_INSN_MULS_W, CRISV32F_INSN_MULS_W, CRISV32F_SFMT_MULS_B },
177 { CRIS_INSN_MULS_D, CRISV32F_INSN_MULS_D, CRISV32F_SFMT_MULS_B },
178 { CRIS_INSN_MULU_B, CRISV32F_INSN_MULU_B, CRISV32F_SFMT_MULS_B },
179 { CRIS_INSN_MULU_W, CRISV32F_INSN_MULU_W, CRISV32F_SFMT_MULS_B },
180 { CRIS_INSN_MULU_D, CRISV32F_INSN_MULU_D, CRISV32F_SFMT_MULS_B },
181 { CRIS_INSN_MCP, CRISV32F_INSN_MCP, CRISV32F_SFMT_MCP },
182 { CRIS_INSN_DSTEP, CRISV32F_INSN_DSTEP, CRISV32F_SFMT_DSTEP },
183 { CRIS_INSN_ABS, CRISV32F_INSN_ABS, CRISV32F_SFMT_MOVS_B_R },
184 { CRIS_INSN_AND_B_R, CRISV32F_INSN_AND_B_R, CRISV32F_SFMT_AND_B_R },
185 { CRIS_INSN_AND_W_R, CRISV32F_INSN_AND_W_R, CRISV32F_SFMT_AND_W_R },
186 { CRIS_INSN_AND_D_R, CRISV32F_INSN_AND_D_R, CRISV32F_SFMT_AND_D_R },
187 { CRIS_INSN_AND_M_B_M, CRISV32F_INSN_AND_M_B_M, CRISV32F_SFMT_AND_M_B_M },
188 { CRIS_INSN_AND_M_W_M, CRISV32F_INSN_AND_M_W_M, CRISV32F_SFMT_AND_M_W_M },
189 { CRIS_INSN_AND_M_D_M, CRISV32F_INSN_AND_M_D_M, CRISV32F_SFMT_AND_M_D_M },
190 { CRIS_INSN_ANDCBR, CRISV32F_INSN_ANDCBR, CRISV32F_SFMT_ANDCBR },
191 { CRIS_INSN_ANDCWR, CRISV32F_INSN_ANDCWR, CRISV32F_SFMT_ANDCWR },
192 { CRIS_INSN_ANDCDR, CRISV32F_INSN_ANDCDR, CRISV32F_SFMT_ANDCDR },
193 { CRIS_INSN_ANDQ, CRISV32F_INSN_ANDQ, CRISV32F_SFMT_ANDQ },
194 { CRIS_INSN_ORR_B_R, CRISV32F_INSN_ORR_B_R, CRISV32F_SFMT_AND_B_R },
195 { CRIS_INSN_ORR_W_R, CRISV32F_INSN_ORR_W_R, CRISV32F_SFMT_AND_W_R },
196 { CRIS_INSN_ORR_D_R, CRISV32F_INSN_ORR_D_R, CRISV32F_SFMT_AND_D_R },
197 { CRIS_INSN_OR_M_B_M, CRISV32F_INSN_OR_M_B_M, CRISV32F_SFMT_AND_M_B_M },
198 { CRIS_INSN_OR_M_W_M, CRISV32F_INSN_OR_M_W_M, CRISV32F_SFMT_AND_M_W_M },
199 { CRIS_INSN_OR_M_D_M, CRISV32F_INSN_OR_M_D_M, CRISV32F_SFMT_AND_M_D_M },
200 { CRIS_INSN_ORCBR, CRISV32F_INSN_ORCBR, CRISV32F_SFMT_ANDCBR },
201 { CRIS_INSN_ORCWR, CRISV32F_INSN_ORCWR, CRISV32F_SFMT_ANDCWR },
202 { CRIS_INSN_ORCDR, CRISV32F_INSN_ORCDR, CRISV32F_SFMT_ANDCDR },
203 { CRIS_INSN_ORQ, CRISV32F_INSN_ORQ, CRISV32F_SFMT_ANDQ },
204 { CRIS_INSN_XOR, CRISV32F_INSN_XOR, CRISV32F_SFMT_DSTEP },
205 { CRIS_INSN_SWAP, CRISV32F_INSN_SWAP, CRISV32F_SFMT_SWAP },
206 { CRIS_INSN_ASRR_B_R, CRISV32F_INSN_ASRR_B_R, CRISV32F_SFMT_ASRR_B_R },
207 { CRIS_INSN_ASRR_W_R, CRISV32F_INSN_ASRR_W_R, CRISV32F_SFMT_ASRR_B_R },
208 { CRIS_INSN_ASRR_D_R, CRISV32F_INSN_ASRR_D_R, CRISV32F_SFMT_AND_D_R },
209 { CRIS_INSN_ASRQ, CRISV32F_INSN_ASRQ, CRISV32F_SFMT_ASRQ },
210 { CRIS_INSN_LSRR_B_R, CRISV32F_INSN_LSRR_B_R, CRISV32F_SFMT_LSRR_B_R },
211 { CRIS_INSN_LSRR_W_R, CRISV32F_INSN_LSRR_W_R, CRISV32F_SFMT_LSRR_B_R },
212 { CRIS_INSN_LSRR_D_R, CRISV32F_INSN_LSRR_D_R, CRISV32F_SFMT_LSRR_D_R },
213 { CRIS_INSN_LSRQ, CRISV32F_INSN_LSRQ, CRISV32F_SFMT_ASRQ },
214 { CRIS_INSN_LSLR_B_R, CRISV32F_INSN_LSLR_B_R, CRISV32F_SFMT_LSRR_B_R },
215 { CRIS_INSN_LSLR_W_R, CRISV32F_INSN_LSLR_W_R, CRISV32F_SFMT_LSRR_B_R },
216 { CRIS_INSN_LSLR_D_R, CRISV32F_INSN_LSLR_D_R, CRISV32F_SFMT_LSRR_D_R },
217 { CRIS_INSN_LSLQ, CRISV32F_INSN_LSLQ, CRISV32F_SFMT_ASRQ },
218 { CRIS_INSN_BTST, CRISV32F_INSN_BTST, CRISV32F_SFMT_BTST },
219 { CRIS_INSN_BTSTQ, CRISV32F_INSN_BTSTQ, CRISV32F_SFMT_BTSTQ },
220 { CRIS_INSN_SETF, CRISV32F_INSN_SETF, CRISV32F_SFMT_SETF },
221 { CRIS_INSN_CLEARF, CRISV32F_INSN_CLEARF, CRISV32F_SFMT_SETF },
222 { CRIS_INSN_RFE, CRISV32F_INSN_RFE, CRISV32F_SFMT_RFE },
223 { CRIS_INSN_SFE, CRISV32F_INSN_SFE, CRISV32F_SFMT_SFE },
224 { CRIS_INSN_RFG, CRISV32F_INSN_RFG, CRISV32F_SFMT_RFG },
225 { CRIS_INSN_RFN, CRISV32F_INSN_RFN, CRISV32F_SFMT_RFN },
226 { CRIS_INSN_HALT, CRISV32F_INSN_HALT, CRISV32F_SFMT_HALT },
227 { CRIS_INSN_BCC_B, CRISV32F_INSN_BCC_B, CRISV32F_SFMT_BCC_B },
228 { CRIS_INSN_BA_B, CRISV32F_INSN_BA_B, CRISV32F_SFMT_BA_B },
229 { CRIS_INSN_BCC_W, CRISV32F_INSN_BCC_W, CRISV32F_SFMT_BCC_W },
230 { CRIS_INSN_BA_W, CRISV32F_INSN_BA_W, CRISV32F_SFMT_BA_W },
231 { CRIS_INSN_JAS_R, CRISV32F_INSN_JAS_R, CRISV32F_SFMT_JAS_R },
232 { CRIS_INSN_JAS_C, CRISV32F_INSN_JAS_C, CRISV32F_SFMT_JAS_C },
233 { CRIS_INSN_JUMP_P, CRISV32F_INSN_JUMP_P, CRISV32F_SFMT_JUMP_P },
234 { CRIS_INSN_BAS_C, CRISV32F_INSN_BAS_C, CRISV32F_SFMT_BAS_C },
235 { CRIS_INSN_JASC_R, CRISV32F_INSN_JASC_R, CRISV32F_SFMT_JASC_R },
236 { CRIS_INSN_JASC_C, CRISV32F_INSN_JASC_C, CRISV32F_SFMT_JAS_C },
237 { CRIS_INSN_BASC_C, CRISV32F_INSN_BASC_C, CRISV32F_SFMT_BAS_C },
238 { CRIS_INSN_BREAK, CRISV32F_INSN_BREAK, CRISV32F_SFMT_BREAK },
239 { CRIS_INSN_BOUND_R_B_R, CRISV32F_INSN_BOUND_R_B_R, CRISV32F_SFMT_DSTEP },
240 { CRIS_INSN_BOUND_R_W_R, CRISV32F_INSN_BOUND_R_W_R, CRISV32F_SFMT_DSTEP },
241 { CRIS_INSN_BOUND_R_D_R, CRISV32F_INSN_BOUND_R_D_R, CRISV32F_SFMT_DSTEP },
242 { CRIS_INSN_BOUND_CB, CRISV32F_INSN_BOUND_CB, CRISV32F_SFMT_BOUND_CB },
243 { CRIS_INSN_BOUND_CW, CRISV32F_INSN_BOUND_CW, CRISV32F_SFMT_BOUND_CW },
244 { CRIS_INSN_BOUND_CD, CRISV32F_INSN_BOUND_CD, CRISV32F_SFMT_BOUND_CD },
245 { CRIS_INSN_SCC, CRISV32F_INSN_SCC, CRISV32F_SFMT_SCC },
246 { CRIS_INSN_LZ, CRISV32F_INSN_LZ, CRISV32F_SFMT_MOVS_B_R },
247 { CRIS_INSN_ADDOQ, CRISV32F_INSN_ADDOQ, CRISV32F_SFMT_ADDOQ },
248 { CRIS_INSN_ADDO_M_B_M, CRISV32F_INSN_ADDO_M_B_M, CRISV32F_SFMT_ADDO_M_B_M },
249 { CRIS_INSN_ADDO_M_W_M, CRISV32F_INSN_ADDO_M_W_M, CRISV32F_SFMT_ADDO_M_W_M },
250 { CRIS_INSN_ADDO_M_D_M, CRISV32F_INSN_ADDO_M_D_M, CRISV32F_SFMT_ADDO_M_D_M },
251 { CRIS_INSN_ADDO_CB, CRISV32F_INSN_ADDO_CB, CRISV32F_SFMT_ADDO_CB },
252 { CRIS_INSN_ADDO_CW, CRISV32F_INSN_ADDO_CW, CRISV32F_SFMT_ADDO_CW },
253 { CRIS_INSN_ADDO_CD, CRISV32F_INSN_ADDO_CD, CRISV32F_SFMT_ADDO_CD },
254 { CRIS_INSN_ADDI_ACR_B_R, CRISV32F_INSN_ADDI_ACR_B_R, CRISV32F_SFMT_ADDI_ACR_B_R },
255 { CRIS_INSN_ADDI_ACR_W_R, CRISV32F_INSN_ADDI_ACR_W_R, CRISV32F_SFMT_ADDI_ACR_B_R },
256 { CRIS_INSN_ADDI_ACR_D_R, CRISV32F_INSN_ADDI_ACR_D_R, CRISV32F_SFMT_ADDI_ACR_B_R },
257 { CRIS_INSN_FIDXI, CRISV32F_INSN_FIDXI, CRISV32F_SFMT_FIDXI },
258 { CRIS_INSN_FTAGI, CRISV32F_INSN_FTAGI, CRISV32F_SFMT_FIDXI },
259 { CRIS_INSN_FIDXD, CRISV32F_INSN_FIDXD, CRISV32F_SFMT_FIDXI },
260 { CRIS_INSN_FTAGD, CRISV32F_INSN_FTAGD, CRISV32F_SFMT_FIDXI },
263 static const struct insn_sem crisv32f_insn_sem_invalid = {
264 VIRTUAL_INSN_X_INVALID, CRISV32F_INSN_X_INVALID, CRISV32F_SFMT_EMPTY
267 /* Initialize an IDESC from the compile-time computable parts. */
270 init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
272 const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
276 if ((int) t->type <= 0)
277 id->idata = & cgen_virtual_insn_table[- (int) t->type];
279 id->idata = & insn_table[t->type];
280 id->attrs = CGEN_INSN_ATTRS (id->idata);
281 /* Oh my god, a magic number. */
282 id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
284 #if WITH_PROFILE_MODEL_P
285 id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
287 SIM_DESC sd = CPU_STATE (cpu);
288 SIM_ASSERT (t->index == id->timing->num);
292 /* Semantic pointers are initialized elsewhere. */
295 /* Initialize the instruction descriptor table. */
298 crisv32f_init_idesc_table (SIM_CPU *cpu)
301 const struct insn_sem *t,*tend;
302 int tabsize = CRISV32F_INSN__MAX;
303 IDESC *table = crisv32f_insn_data;
305 memset (table, 0, tabsize * sizeof (IDESC));
307 /* First set all entries to the `invalid insn'. */
308 t = & crisv32f_insn_sem_invalid;
309 for (id = table, tabend = table + tabsize; id < tabend; ++id)
310 init_idesc (cpu, id, t);
312 /* Now fill in the values for the chosen cpu. */
313 for (t = crisv32f_insn_sem, tend = t + sizeof (crisv32f_insn_sem) / sizeof (*t);
316 init_idesc (cpu, & table[t->index], t);
319 /* Link the IDESC table into the cpu. */
320 CPU_IDESC (cpu) = table;
323 /* Given an instruction, return a pointer to its IDESC entry. */
326 crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
327 CGEN_INSN_INT base_insn,
330 /* Result of decoder. */
331 CRISV32F_INSN_TYPE itype;
334 CGEN_INSN_INT insn = base_insn;
337 unsigned int val = (((insn >> 4) & (255 << 0)));
340 case 0 : /* fall through */
341 case 1 : /* fall through */
342 case 2 : /* fall through */
343 case 3 : /* fall through */
344 case 4 : /* fall through */
345 case 5 : /* fall through */
346 case 6 : /* fall through */
347 case 7 : /* fall through */
348 case 8 : /* fall through */
349 case 9 : /* fall through */
350 case 10 : /* fall through */
351 case 11 : /* fall through */
352 case 12 : /* fall through */
353 case 13 : /* fall through */
354 case 14 : /* fall through */
357 unsigned int val = (((insn >> 12) & (15 << 0)));
360 case 0 : /* fall through */
361 case 1 : /* fall through */
362 case 2 : /* fall through */
363 case 3 : /* fall through */
364 case 4 : /* fall through */
365 case 5 : /* fall through */
366 case 6 : /* fall through */
367 case 7 : /* fall through */
368 case 8 : /* fall through */
369 case 9 : /* fall through */
370 case 10 : /* fall through */
371 case 11 : /* fall through */
372 case 12 : /* fall through */
373 case 13 : /* fall through */
374 case 15 : itype = CRISV32F_INSN_BCC_B; goto extract_sfmt_bcc_b;
375 case 14 : itype = CRISV32F_INSN_BA_B; goto extract_sfmt_ba_b;
376 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
379 case 16 : /* fall through */
380 case 17 : /* fall through */
381 case 18 : /* fall through */
382 case 19 : /* fall through */
383 case 20 : /* fall through */
384 case 21 : /* fall through */
385 case 22 : /* fall through */
386 case 23 : /* fall through */
387 case 24 : /* fall through */
388 case 25 : /* fall through */
389 case 26 : /* fall through */
390 case 27 : /* fall through */
391 case 28 : /* fall through */
392 case 29 : /* fall through */
393 case 30 : /* fall through */
394 case 31 : itype = CRISV32F_INSN_ADDOQ; goto extract_sfmt_addoq;
395 case 32 : /* fall through */
396 case 33 : /* fall through */
397 case 34 : /* fall through */
398 case 35 : itype = CRISV32F_INSN_ADDQ; goto extract_sfmt_addq;
399 case 36 : /* fall through */
400 case 37 : /* fall through */
401 case 38 : /* fall through */
402 case 39 : itype = CRISV32F_INSN_MOVEQ; goto extract_sfmt_moveq;
403 case 40 : /* fall through */
404 case 41 : /* fall through */
405 case 42 : /* fall through */
406 case 43 : itype = CRISV32F_INSN_SUBQ; goto extract_sfmt_addq;
407 case 44 : /* fall through */
408 case 45 : /* fall through */
409 case 46 : /* fall through */
410 case 47 : itype = CRISV32F_INSN_CMPQ; goto extract_sfmt_cmpq;
411 case 48 : /* fall through */
412 case 49 : /* fall through */
413 case 50 : /* fall through */
414 case 51 : itype = CRISV32F_INSN_ANDQ; goto extract_sfmt_andq;
415 case 52 : /* fall through */
416 case 53 : /* fall through */
417 case 54 : /* fall through */
418 case 55 : itype = CRISV32F_INSN_ORQ; goto extract_sfmt_andq;
419 case 56 : /* fall through */
420 case 57 : itype = CRISV32F_INSN_BTSTQ; goto extract_sfmt_btstq;
421 case 58 : /* fall through */
422 case 59 : itype = CRISV32F_INSN_ASRQ; goto extract_sfmt_asrq;
423 case 60 : /* fall through */
424 case 61 : itype = CRISV32F_INSN_LSLQ; goto extract_sfmt_asrq;
425 case 62 : /* fall through */
426 case 63 : itype = CRISV32F_INSN_LSRQ; goto extract_sfmt_asrq;
427 case 64 : itype = CRISV32F_INSN_ADDU_B_R; goto extract_sfmt_add_d_r;
428 case 65 : itype = CRISV32F_INSN_ADDU_W_R; goto extract_sfmt_add_d_r;
429 case 66 : itype = CRISV32F_INSN_ADDS_B_R; goto extract_sfmt_add_d_r;
430 case 67 : itype = CRISV32F_INSN_ADDS_W_R; goto extract_sfmt_add_d_r;
431 case 68 : itype = CRISV32F_INSN_MOVU_B_R; goto extract_sfmt_movs_b_r;
432 case 69 : itype = CRISV32F_INSN_MOVU_W_R; goto extract_sfmt_movs_b_r;
433 case 70 : itype = CRISV32F_INSN_MOVS_B_R; goto extract_sfmt_movs_b_r;
434 case 71 : itype = CRISV32F_INSN_MOVS_W_R; goto extract_sfmt_movs_b_r;
435 case 72 : itype = CRISV32F_INSN_SUBU_B_R; goto extract_sfmt_add_d_r;
436 case 73 : itype = CRISV32F_INSN_SUBU_W_R; goto extract_sfmt_add_d_r;
437 case 74 : itype = CRISV32F_INSN_SUBS_B_R; goto extract_sfmt_add_d_r;
438 case 75 : itype = CRISV32F_INSN_SUBS_W_R; goto extract_sfmt_add_d_r;
439 case 76 : itype = CRISV32F_INSN_LSLR_B_R; goto extract_sfmt_lsrr_b_r;
440 case 77 : itype = CRISV32F_INSN_LSLR_W_R; goto extract_sfmt_lsrr_b_r;
441 case 78 : itype = CRISV32F_INSN_LSLR_D_R; goto extract_sfmt_lsrr_d_r;
442 case 79 : itype = CRISV32F_INSN_BTST; goto extract_sfmt_btst;
443 case 80 : itype = CRISV32F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r;
444 case 81 : itype = CRISV32F_INSN_ADDI_W_R; goto extract_sfmt_addi_b_r;
445 case 82 : itype = CRISV32F_INSN_ADDI_D_R; goto extract_sfmt_addi_b_r;
446 case 83 : itype = CRISV32F_INSN_SCC; goto extract_sfmt_scc;
447 case 84 : itype = CRISV32F_INSN_ADDI_ACR_B_R; goto extract_sfmt_addi_acr_b_r;
448 case 85 : itype = CRISV32F_INSN_ADDI_ACR_W_R; goto extract_sfmt_addi_acr_b_r;
449 case 86 : itype = CRISV32F_INSN_ADDI_ACR_D_R; goto extract_sfmt_addi_acr_b_r;
450 case 87 : itype = CRISV32F_INSN_ADDC_R; goto extract_sfmt_add_d_r;
451 case 88 : itype = CRISV32F_INSN_NEG_B_R; goto extract_sfmt_neg_b_r;
452 case 89 : itype = CRISV32F_INSN_NEG_W_R; goto extract_sfmt_neg_b_r;
453 case 90 : itype = CRISV32F_INSN_NEG_D_R; goto extract_sfmt_neg_d_r;
454 case 91 : itype = CRISV32F_INSN_SETF; goto extract_sfmt_setf;
455 case 92 : itype = CRISV32F_INSN_BOUND_R_B_R; goto extract_sfmt_dstep;
456 case 93 : itype = CRISV32F_INSN_BOUND_R_W_R; goto extract_sfmt_dstep;
457 case 94 : itype = CRISV32F_INSN_BOUND_R_D_R; goto extract_sfmt_dstep;
458 case 95 : itype = CRISV32F_INSN_CLEARF; goto extract_sfmt_setf;
459 case 96 : itype = CRISV32F_INSN_ADD_B_R; goto extract_sfmt_add_b_r;
460 case 97 : itype = CRISV32F_INSN_ADD_W_R; goto extract_sfmt_add_b_r;
461 case 98 : itype = CRISV32F_INSN_ADD_D_R; goto extract_sfmt_add_d_r;
462 case 99 : itype = CRISV32F_INSN_MOVE_R_SPRV32; goto extract_sfmt_move_r_sprv32;
463 case 100 : itype = CRISV32F_INSN_MOVE_B_R; goto extract_sfmt_move_b_r;
464 case 101 : itype = CRISV32F_INSN_MOVE_W_R; goto extract_sfmt_move_b_r;
465 case 102 : itype = CRISV32F_INSN_MOVE_D_R; goto extract_sfmt_move_d_r;
466 case 103 : itype = CRISV32F_INSN_MOVE_SPR_RV32; goto extract_sfmt_move_spr_rv32;
467 case 104 : itype = CRISV32F_INSN_SUB_B_R; goto extract_sfmt_add_b_r;
468 case 105 : itype = CRISV32F_INSN_SUB_W_R; goto extract_sfmt_add_b_r;
469 case 106 : itype = CRISV32F_INSN_SUB_D_R; goto extract_sfmt_add_d_r;
470 case 107 : itype = CRISV32F_INSN_ABS; goto extract_sfmt_movs_b_r;
471 case 108 : itype = CRISV32F_INSN_CMP_R_B_R; goto extract_sfmt_cmp_r_b_r;
472 case 109 : itype = CRISV32F_INSN_CMP_R_W_R; goto extract_sfmt_cmp_r_b_r;
473 case 110 : itype = CRISV32F_INSN_CMP_R_D_R; goto extract_sfmt_cmp_r_b_r;
474 case 111 : itype = CRISV32F_INSN_DSTEP; goto extract_sfmt_dstep;
475 case 112 : itype = CRISV32F_INSN_AND_B_R; goto extract_sfmt_and_b_r;
476 case 113 : itype = CRISV32F_INSN_AND_W_R; goto extract_sfmt_and_w_r;
477 case 114 : itype = CRISV32F_INSN_AND_D_R; goto extract_sfmt_and_d_r;
478 case 115 : itype = CRISV32F_INSN_LZ; goto extract_sfmt_movs_b_r;
479 case 116 : itype = CRISV32F_INSN_ORR_B_R; goto extract_sfmt_and_b_r;
480 case 117 : itype = CRISV32F_INSN_ORR_W_R; goto extract_sfmt_and_w_r;
481 case 118 : itype = CRISV32F_INSN_ORR_D_R; goto extract_sfmt_and_d_r;
482 case 119 : itype = CRISV32F_INSN_SWAP; goto extract_sfmt_swap;
483 case 120 : itype = CRISV32F_INSN_ASRR_B_R; goto extract_sfmt_asrr_b_r;
484 case 121 : itype = CRISV32F_INSN_ASRR_W_R; goto extract_sfmt_asrr_b_r;
485 case 122 : itype = CRISV32F_INSN_ASRR_D_R; goto extract_sfmt_and_d_r;
486 case 123 : itype = CRISV32F_INSN_XOR; goto extract_sfmt_dstep;
487 case 124 : itype = CRISV32F_INSN_LSRR_B_R; goto extract_sfmt_lsrr_b_r;
488 case 125 : itype = CRISV32F_INSN_LSRR_W_R; goto extract_sfmt_lsrr_b_r;
489 case 126 : itype = CRISV32F_INSN_LSRR_D_R; goto extract_sfmt_lsrr_d_r;
490 case 127 : itype = CRISV32F_INSN_MCP; goto extract_sfmt_mcp;
491 case 128 : itype = CRISV32F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m;
492 case 129 : itype = CRISV32F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m;
493 case 130 : itype = CRISV32F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m;
494 case 131 : itype = CRISV32F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m;
495 case 132 : itype = CRISV32F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m;
496 case 133 : itype = CRISV32F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m;
497 case 134 : itype = CRISV32F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m;
498 case 135 : itype = CRISV32F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m;
499 case 136 : itype = CRISV32F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m;
500 case 137 : itype = CRISV32F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m;
501 case 138 : itype = CRISV32F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m;
502 case 139 : itype = CRISV32F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m;
503 case 140 : itype = CRISV32F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m;
504 case 141 : itype = CRISV32F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m;
505 case 142 : itype = CRISV32F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m;
506 case 143 : itype = CRISV32F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m;
507 case 144 : itype = CRISV32F_INSN_MULU_B; goto extract_sfmt_muls_b;
508 case 145 : itype = CRISV32F_INSN_MULU_W; goto extract_sfmt_muls_b;
509 case 146 : itype = CRISV32F_INSN_MULU_D; goto extract_sfmt_muls_b;
512 unsigned int val = (((insn >> 12) & (15 << 0)));
515 case 2 : itype = CRISV32F_INSN_RFE; goto extract_sfmt_rfe;
516 case 3 : itype = CRISV32F_INSN_SFE; goto extract_sfmt_sfe;
517 case 4 : itype = CRISV32F_INSN_RFG; goto extract_sfmt_rfg;
518 case 5 : itype = CRISV32F_INSN_RFN; goto extract_sfmt_rfn;
519 case 14 : itype = CRISV32F_INSN_BREAK; goto extract_sfmt_break;
520 case 15 : itype = CRISV32F_INSN_HALT; goto extract_sfmt_halt;
521 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
524 case 148 : itype = CRISV32F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m;
525 case 149 : itype = CRISV32F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m;
526 case 150 : itype = CRISV32F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m;
527 case 151 : itype = CRISV32F_INSN_LAPCQ; goto extract_sfmt_lapcq;
528 case 154 : itype = CRISV32F_INSN_ADDC_M; goto extract_sfmt_addc_m;
529 case 155 : itype = CRISV32F_INSN_JAS_R; goto extract_sfmt_jas_r;
530 case 159 : itype = CRISV32F_INSN_JUMP_P; goto extract_sfmt_jump_p;
531 case 160 : itype = CRISV32F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m;
532 case 161 : itype = CRISV32F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m;
533 case 162 : itype = CRISV32F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
534 case 163 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
535 case 164 : itype = CRISV32F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m;
536 case 165 : itype = CRISV32F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m;
537 case 166 : itype = CRISV32F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m;
538 case 167 : /* fall through */
539 case 231 : itype = CRISV32F_INSN_MOVE_SPR_MV32; goto extract_sfmt_move_spr_mv32;
540 case 168 : itype = CRISV32F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m;
541 case 169 : itype = CRISV32F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m;
542 case 170 : itype = CRISV32F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m;
545 unsigned int val = (((insn >> 12) & (1 << 0)));
548 case 0 : itype = CRISV32F_INSN_FIDXD; goto extract_sfmt_fidxi;
549 case 1 : itype = CRISV32F_INSN_FTAGD; goto extract_sfmt_fidxi;
550 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
553 case 172 : itype = CRISV32F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m;
554 case 173 : itype = CRISV32F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m;
555 case 174 : itype = CRISV32F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m;
556 case 176 : itype = CRISV32F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m;
557 case 177 : itype = CRISV32F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m;
558 case 178 : itype = CRISV32F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m;
559 case 179 : itype = CRISV32F_INSN_JASC_R; goto extract_sfmt_jasc_r;
560 case 180 : itype = CRISV32F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m;
561 case 181 : itype = CRISV32F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m;
562 case 182 : itype = CRISV32F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m;
563 case 183 : itype = CRISV32F_INSN_MOVE_R_SS; goto extract_sfmt_move_r_ss;
564 case 184 : /* fall through */
565 case 248 : itype = CRISV32F_INSN_TEST_M_B_M; goto extract_sfmt_test_m_b_m;
566 case 185 : /* fall through */
567 case 249 : itype = CRISV32F_INSN_TEST_M_W_M; goto extract_sfmt_test_m_w_m;
568 case 186 : /* fall through */
569 case 250 : itype = CRISV32F_INSN_TEST_M_D_M; goto extract_sfmt_test_m_d_m;
570 case 187 : /* fall through */
571 case 251 : itype = CRISV32F_INSN_MOVEM_M_R_V32; goto extract_sfmt_movem_m_r_v32;
572 case 188 : /* fall through */
573 case 252 : itype = CRISV32F_INSN_MOVE_R_M_B_M; goto extract_sfmt_move_r_m_b_m;
574 case 189 : /* fall through */
575 case 253 : itype = CRISV32F_INSN_MOVE_R_M_W_M; goto extract_sfmt_move_r_m_w_m;
576 case 190 : /* fall through */
577 case 254 : itype = CRISV32F_INSN_MOVE_R_M_D_M; goto extract_sfmt_move_r_m_d_m;
578 case 191 : /* fall through */
579 case 255 : itype = CRISV32F_INSN_MOVEM_R_M_V32; goto extract_sfmt_movem_r_m_v32;
582 unsigned int val = (((insn >> 0) & (15 << 0)));
585 case 0 : /* fall through */
586 case 1 : /* fall through */
587 case 2 : /* fall through */
588 case 3 : /* fall through */
589 case 4 : /* fall through */
590 case 5 : /* fall through */
591 case 6 : /* fall through */
592 case 7 : /* fall through */
593 case 8 : /* fall through */
594 case 9 : /* fall through */
595 case 10 : /* fall through */
596 case 11 : /* fall through */
597 case 12 : /* fall through */
598 case 13 : /* fall through */
599 case 14 : itype = CRISV32F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m;
600 case 15 : itype = CRISV32F_INSN_ADDUCBR; goto extract_sfmt_addscbr;
601 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
606 unsigned int val = (((insn >> 0) & (15 << 0)));
609 case 0 : /* fall through */
610 case 1 : /* fall through */
611 case 2 : /* fall through */
612 case 3 : /* fall through */
613 case 4 : /* fall through */
614 case 5 : /* fall through */
615 case 6 : /* fall through */
616 case 7 : /* fall through */
617 case 8 : /* fall through */
618 case 9 : /* fall through */
619 case 10 : /* fall through */
620 case 11 : /* fall through */
621 case 12 : /* fall through */
622 case 13 : /* fall through */
623 case 14 : itype = CRISV32F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m;
624 case 15 : itype = CRISV32F_INSN_ADDUCWR; goto extract_sfmt_addscwr;
625 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
630 unsigned int val = (((insn >> 0) & (15 << 0)));
633 case 0 : /* fall through */
634 case 1 : /* fall through */
635 case 2 : /* fall through */
636 case 3 : /* fall through */
637 case 4 : /* fall through */
638 case 5 : /* fall through */
639 case 6 : /* fall through */
640 case 7 : /* fall through */
641 case 8 : /* fall through */
642 case 9 : /* fall through */
643 case 10 : /* fall through */
644 case 11 : /* fall through */
645 case 12 : /* fall through */
646 case 13 : /* fall through */
647 case 14 : itype = CRISV32F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m;
648 case 15 : itype = CRISV32F_INSN_ADDSCBR; goto extract_sfmt_addscbr;
649 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
654 unsigned int val = (((insn >> 0) & (15 << 0)));
657 case 0 : /* fall through */
658 case 1 : /* fall through */
659 case 2 : /* fall through */
660 case 3 : /* fall through */
661 case 4 : /* fall through */
662 case 5 : /* fall through */
663 case 6 : /* fall through */
664 case 7 : /* fall through */
665 case 8 : /* fall through */
666 case 9 : /* fall through */
667 case 10 : /* fall through */
668 case 11 : /* fall through */
669 case 12 : /* fall through */
670 case 13 : /* fall through */
671 case 14 : itype = CRISV32F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m;
672 case 15 : itype = CRISV32F_INSN_ADDSCWR; goto extract_sfmt_addscwr;
673 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
678 unsigned int val = (((insn >> 0) & (15 << 0)));
681 case 0 : /* fall through */
682 case 1 : /* fall through */
683 case 2 : /* fall through */
684 case 3 : /* fall through */
685 case 4 : /* fall through */
686 case 5 : /* fall through */
687 case 6 : /* fall through */
688 case 7 : /* fall through */
689 case 8 : /* fall through */
690 case 9 : /* fall through */
691 case 10 : /* fall through */
692 case 11 : /* fall through */
693 case 12 : /* fall through */
694 case 13 : /* fall through */
695 case 14 : itype = CRISV32F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m;
696 case 15 : itype = CRISV32F_INSN_MOVUCBR; goto extract_sfmt_movucbr;
697 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
702 unsigned int val = (((insn >> 0) & (15 << 0)));
705 case 0 : /* fall through */
706 case 1 : /* fall through */
707 case 2 : /* fall through */
708 case 3 : /* fall through */
709 case 4 : /* fall through */
710 case 5 : /* fall through */
711 case 6 : /* fall through */
712 case 7 : /* fall through */
713 case 8 : /* fall through */
714 case 9 : /* fall through */
715 case 10 : /* fall through */
716 case 11 : /* fall through */
717 case 12 : /* fall through */
718 case 13 : /* fall through */
719 case 14 : itype = CRISV32F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m;
720 case 15 : itype = CRISV32F_INSN_MOVUCWR; goto extract_sfmt_movucwr;
721 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
726 unsigned int val = (((insn >> 0) & (15 << 0)));
729 case 0 : /* fall through */
730 case 1 : /* fall through */
731 case 2 : /* fall through */
732 case 3 : /* fall through */
733 case 4 : /* fall through */
734 case 5 : /* fall through */
735 case 6 : /* fall through */
736 case 7 : /* fall through */
737 case 8 : /* fall through */
738 case 9 : /* fall through */
739 case 10 : /* fall through */
740 case 11 : /* fall through */
741 case 12 : /* fall through */
742 case 13 : /* fall through */
743 case 14 : itype = CRISV32F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m;
744 case 15 : itype = CRISV32F_INSN_MOVSCBR; goto extract_sfmt_movscbr;
745 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
750 unsigned int val = (((insn >> 0) & (15 << 0)));
753 case 0 : /* fall through */
754 case 1 : /* fall through */
755 case 2 : /* fall through */
756 case 3 : /* fall through */
757 case 4 : /* fall through */
758 case 5 : /* fall through */
759 case 6 : /* fall through */
760 case 7 : /* fall through */
761 case 8 : /* fall through */
762 case 9 : /* fall through */
763 case 10 : /* fall through */
764 case 11 : /* fall through */
765 case 12 : /* fall through */
766 case 13 : /* fall through */
767 case 14 : itype = CRISV32F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m;
768 case 15 : itype = CRISV32F_INSN_MOVSCWR; goto extract_sfmt_movscwr;
769 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
774 unsigned int val = (((insn >> 0) & (15 << 0)));
777 case 0 : /* fall through */
778 case 1 : /* fall through */
779 case 2 : /* fall through */
780 case 3 : /* fall through */
781 case 4 : /* fall through */
782 case 5 : /* fall through */
783 case 6 : /* fall through */
784 case 7 : /* fall through */
785 case 8 : /* fall through */
786 case 9 : /* fall through */
787 case 10 : /* fall through */
788 case 11 : /* fall through */
789 case 12 : /* fall through */
790 case 13 : /* fall through */
791 case 14 : itype = CRISV32F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m;
792 case 15 : itype = CRISV32F_INSN_SUBUCBR; goto extract_sfmt_addscbr;
793 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
798 unsigned int val = (((insn >> 0) & (15 << 0)));
801 case 0 : /* fall through */
802 case 1 : /* fall through */
803 case 2 : /* fall through */
804 case 3 : /* fall through */
805 case 4 : /* fall through */
806 case 5 : /* fall through */
807 case 6 : /* fall through */
808 case 7 : /* fall through */
809 case 8 : /* fall through */
810 case 9 : /* fall through */
811 case 10 : /* fall through */
812 case 11 : /* fall through */
813 case 12 : /* fall through */
814 case 13 : /* fall through */
815 case 14 : itype = CRISV32F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m;
816 case 15 : itype = CRISV32F_INSN_SUBUCWR; goto extract_sfmt_addscwr;
817 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
822 unsigned int val = (((insn >> 0) & (15 << 0)));
825 case 0 : /* fall through */
826 case 1 : /* fall through */
827 case 2 : /* fall through */
828 case 3 : /* fall through */
829 case 4 : /* fall through */
830 case 5 : /* fall through */
831 case 6 : /* fall through */
832 case 7 : /* fall through */
833 case 8 : /* fall through */
834 case 9 : /* fall through */
835 case 10 : /* fall through */
836 case 11 : /* fall through */
837 case 12 : /* fall through */
838 case 13 : /* fall through */
839 case 14 : itype = CRISV32F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m;
840 case 15 : itype = CRISV32F_INSN_SUBSCBR; goto extract_sfmt_addscbr;
841 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
846 unsigned int val = (((insn >> 0) & (15 << 0)));
849 case 0 : /* fall through */
850 case 1 : /* fall through */
851 case 2 : /* fall through */
852 case 3 : /* fall through */
853 case 4 : /* fall through */
854 case 5 : /* fall through */
855 case 6 : /* fall through */
856 case 7 : /* fall through */
857 case 8 : /* fall through */
858 case 9 : /* fall through */
859 case 10 : /* fall through */
860 case 11 : /* fall through */
861 case 12 : /* fall through */
862 case 13 : /* fall through */
863 case 14 : itype = CRISV32F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m;
864 case 15 : itype = CRISV32F_INSN_SUBSCWR; goto extract_sfmt_addscwr;
865 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
870 unsigned int val = (((insn >> 0) & (15 << 0)));
873 case 0 : /* fall through */
874 case 1 : /* fall through */
875 case 2 : /* fall through */
876 case 3 : /* fall through */
877 case 4 : /* fall through */
878 case 5 : /* fall through */
879 case 6 : /* fall through */
880 case 7 : /* fall through */
881 case 8 : /* fall through */
882 case 9 : /* fall through */
883 case 10 : /* fall through */
884 case 11 : /* fall through */
885 case 12 : /* fall through */
886 case 13 : /* fall through */
887 case 14 : itype = CRISV32F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m;
888 case 15 : itype = CRISV32F_INSN_CMPUCBR; goto extract_sfmt_cmpucbr;
889 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
894 unsigned int val = (((insn >> 0) & (15 << 0)));
897 case 0 : /* fall through */
898 case 1 : /* fall through */
899 case 2 : /* fall through */
900 case 3 : /* fall through */
901 case 4 : /* fall through */
902 case 5 : /* fall through */
903 case 6 : /* fall through */
904 case 7 : /* fall through */
905 case 8 : /* fall through */
906 case 9 : /* fall through */
907 case 10 : /* fall through */
908 case 11 : /* fall through */
909 case 12 : /* fall through */
910 case 13 : /* fall through */
911 case 14 : itype = CRISV32F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m;
912 case 15 : itype = CRISV32F_INSN_CMPUCWR; goto extract_sfmt_cmpucwr;
913 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
918 unsigned int val = (((insn >> 0) & (15 << 0)));
921 case 0 : /* fall through */
922 case 1 : /* fall through */
923 case 2 : /* fall through */
924 case 3 : /* fall through */
925 case 4 : /* fall through */
926 case 5 : /* fall through */
927 case 6 : /* fall through */
928 case 7 : /* fall through */
929 case 8 : /* fall through */
930 case 9 : /* fall through */
931 case 10 : /* fall through */
932 case 11 : /* fall through */
933 case 12 : /* fall through */
934 case 13 : /* fall through */
935 case 14 : itype = CRISV32F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m;
936 case 15 : itype = CRISV32F_INSN_CMPSCBR; goto extract_sfmt_cmpcbr;
937 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
942 unsigned int val = (((insn >> 0) & (15 << 0)));
945 case 0 : /* fall through */
946 case 1 : /* fall through */
947 case 2 : /* fall through */
948 case 3 : /* fall through */
949 case 4 : /* fall through */
950 case 5 : /* fall through */
951 case 6 : /* fall through */
952 case 7 : /* fall through */
953 case 8 : /* fall through */
954 case 9 : /* fall through */
955 case 10 : /* fall through */
956 case 11 : /* fall through */
957 case 12 : /* fall through */
958 case 13 : /* fall through */
959 case 14 : itype = CRISV32F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m;
960 case 15 : itype = CRISV32F_INSN_CMPSCWR; goto extract_sfmt_cmpcwr;
961 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
964 case 208 : itype = CRISV32F_INSN_MULS_B; goto extract_sfmt_muls_b;
965 case 209 : itype = CRISV32F_INSN_MULS_W; goto extract_sfmt_muls_b;
966 case 210 : itype = CRISV32F_INSN_MULS_D; goto extract_sfmt_muls_b;
969 unsigned int val = (((insn >> 12) & (1 << 0)));
972 case 0 : itype = CRISV32F_INSN_FIDXI; goto extract_sfmt_fidxi;
973 case 1 : itype = CRISV32F_INSN_FTAGI; goto extract_sfmt_fidxi;
974 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
979 unsigned int val = (((insn >> 0) & (15 << 0)));
982 case 0 : /* fall through */
983 case 1 : /* fall through */
984 case 2 : /* fall through */
985 case 3 : /* fall through */
986 case 4 : /* fall through */
987 case 5 : /* fall through */
988 case 6 : /* fall through */
989 case 7 : /* fall through */
990 case 8 : /* fall through */
991 case 9 : /* fall through */
992 case 10 : /* fall through */
993 case 11 : /* fall through */
994 case 12 : /* fall through */
995 case 13 : /* fall through */
996 case 14 : itype = CRISV32F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m;
997 case 15 : itype = CRISV32F_INSN_ADDO_CB; goto extract_sfmt_addo_cb;
998 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1003 unsigned int val = (((insn >> 0) & (15 << 0)));
1006 case 0 : /* fall through */
1007 case 1 : /* fall through */
1008 case 2 : /* fall through */
1009 case 3 : /* fall through */
1010 case 4 : /* fall through */
1011 case 5 : /* fall through */
1012 case 6 : /* fall through */
1013 case 7 : /* fall through */
1014 case 8 : /* fall through */
1015 case 9 : /* fall through */
1016 case 10 : /* fall through */
1017 case 11 : /* fall through */
1018 case 12 : /* fall through */
1019 case 13 : /* fall through */
1020 case 14 : itype = CRISV32F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m;
1021 case 15 : itype = CRISV32F_INSN_ADDO_CW; goto extract_sfmt_addo_cw;
1022 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1027 unsigned int val = (((insn >> 0) & (15 << 0)));
1030 case 0 : /* fall through */
1031 case 1 : /* fall through */
1032 case 2 : /* fall through */
1033 case 3 : /* fall through */
1034 case 4 : /* fall through */
1035 case 5 : /* fall through */
1036 case 6 : /* fall through */
1037 case 7 : /* fall through */
1038 case 8 : /* fall through */
1039 case 9 : /* fall through */
1040 case 10 : /* fall through */
1041 case 11 : /* fall through */
1042 case 12 : /* fall through */
1043 case 13 : /* fall through */
1044 case 14 : itype = CRISV32F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m;
1045 case 15 : itype = CRISV32F_INSN_ADDO_CD; goto extract_sfmt_addo_cd;
1046 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1049 case 215 : itype = CRISV32F_INSN_LAPC_D; goto extract_sfmt_lapc_d;
1052 unsigned int val = (((insn >> 0) & (15 << 0)));
1055 case 0 : /* fall through */
1056 case 1 : /* fall through */
1057 case 2 : /* fall through */
1058 case 3 : /* fall through */
1059 case 4 : /* fall through */
1060 case 5 : /* fall through */
1061 case 6 : /* fall through */
1062 case 7 : /* fall through */
1063 case 8 : /* fall through */
1064 case 9 : /* fall through */
1065 case 10 : /* fall through */
1066 case 11 : /* fall through */
1067 case 12 : /* fall through */
1068 case 13 : /* fall through */
1069 case 14 : itype = CRISV32F_INSN_ADDC_M; goto extract_sfmt_addc_m;
1070 case 15 : itype = CRISV32F_INSN_ADDC_C; goto extract_sfmt_addcdr;
1071 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1074 case 219 : itype = CRISV32F_INSN_JAS_C; goto extract_sfmt_jas_c;
1075 case 220 : itype = CRISV32F_INSN_BOUND_CB; goto extract_sfmt_bound_cb;
1076 case 221 : itype = CRISV32F_INSN_BOUND_CW; goto extract_sfmt_bound_cw;
1077 case 222 : itype = CRISV32F_INSN_BOUND_CD; goto extract_sfmt_bound_cd;
1080 unsigned int val = (((insn >> 12) & (15 << 0)));
1083 case 0 : /* fall through */
1084 case 1 : /* fall through */
1085 case 2 : /* fall through */
1086 case 3 : /* fall through */
1087 case 4 : /* fall through */
1088 case 5 : /* fall through */
1089 case 6 : /* fall through */
1090 case 7 : /* fall through */
1091 case 8 : /* fall through */
1092 case 9 : /* fall through */
1093 case 10 : /* fall through */
1094 case 11 : /* fall through */
1095 case 12 : /* fall through */
1096 case 13 : /* fall through */
1097 case 15 : itype = CRISV32F_INSN_BCC_W; goto extract_sfmt_bcc_w;
1098 case 14 : itype = CRISV32F_INSN_BA_W; goto extract_sfmt_ba_w;
1099 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1104 unsigned int val = (((insn >> 0) & (15 << 0)));
1107 case 0 : /* fall through */
1108 case 1 : /* fall through */
1109 case 2 : /* fall through */
1110 case 3 : /* fall through */
1111 case 4 : /* fall through */
1112 case 5 : /* fall through */
1113 case 6 : /* fall through */
1114 case 7 : /* fall through */
1115 case 8 : /* fall through */
1116 case 9 : /* fall through */
1117 case 10 : /* fall through */
1118 case 11 : /* fall through */
1119 case 12 : /* fall through */
1120 case 13 : /* fall through */
1121 case 14 : itype = CRISV32F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m;
1122 case 15 : itype = CRISV32F_INSN_ADDCBR; goto extract_sfmt_addcbr;
1123 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1128 unsigned int val = (((insn >> 0) & (15 << 0)));
1131 case 0 : /* fall through */
1132 case 1 : /* fall through */
1133 case 2 : /* fall through */
1134 case 3 : /* fall through */
1135 case 4 : /* fall through */
1136 case 5 : /* fall through */
1137 case 6 : /* fall through */
1138 case 7 : /* fall through */
1139 case 8 : /* fall through */
1140 case 9 : /* fall through */
1141 case 10 : /* fall through */
1142 case 11 : /* fall through */
1143 case 12 : /* fall through */
1144 case 13 : /* fall through */
1145 case 14 : itype = CRISV32F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m;
1146 case 15 : itype = CRISV32F_INSN_ADDCWR; goto extract_sfmt_addcwr;
1147 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1152 unsigned int val = (((insn >> 0) & (15 << 0)));
1155 case 0 : /* fall through */
1156 case 1 : /* fall through */
1157 case 2 : /* fall through */
1158 case 3 : /* fall through */
1159 case 4 : /* fall through */
1160 case 5 : /* fall through */
1161 case 6 : /* fall through */
1162 case 7 : /* fall through */
1163 case 8 : /* fall through */
1164 case 9 : /* fall through */
1165 case 10 : /* fall through */
1166 case 11 : /* fall through */
1167 case 12 : /* fall through */
1168 case 13 : /* fall through */
1169 case 14 : itype = CRISV32F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
1170 case 15 : itype = CRISV32F_INSN_ADDCDR; goto extract_sfmt_addcdr;
1171 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1176 unsigned int val = (((insn >> 12) & (15 << 0)));
1181 unsigned int val = (((insn >> 0) & (15 << 0)));
1184 case 0 : /* fall through */
1185 case 1 : /* fall through */
1186 case 2 : /* fall through */
1187 case 3 : /* fall through */
1188 case 4 : /* fall through */
1189 case 5 : /* fall through */
1190 case 6 : /* fall through */
1191 case 7 : /* fall through */
1192 case 8 : /* fall through */
1193 case 9 : /* fall through */
1194 case 10 : /* fall through */
1195 case 11 : /* fall through */
1196 case 12 : /* fall through */
1197 case 13 : /* fall through */
1198 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1199 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P0; goto extract_sfmt_move_c_sprv32_p0;
1200 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1205 unsigned int val = (((insn >> 0) & (15 << 0)));
1208 case 0 : /* fall through */
1209 case 1 : /* fall through */
1210 case 2 : /* fall through */
1211 case 3 : /* fall through */
1212 case 4 : /* fall through */
1213 case 5 : /* fall through */
1214 case 6 : /* fall through */
1215 case 7 : /* fall through */
1216 case 8 : /* fall through */
1217 case 9 : /* fall through */
1218 case 10 : /* fall through */
1219 case 11 : /* fall through */
1220 case 12 : /* fall through */
1221 case 13 : /* fall through */
1222 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1223 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P1; goto extract_sfmt_move_c_sprv32_p0;
1224 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1229 unsigned int val = (((insn >> 0) & (15 << 0)));
1232 case 0 : /* fall through */
1233 case 1 : /* fall through */
1234 case 2 : /* fall through */
1235 case 3 : /* fall through */
1236 case 4 : /* fall through */
1237 case 5 : /* fall through */
1238 case 6 : /* fall through */
1239 case 7 : /* fall through */
1240 case 8 : /* fall through */
1241 case 9 : /* fall through */
1242 case 10 : /* fall through */
1243 case 11 : /* fall through */
1244 case 12 : /* fall through */
1245 case 13 : /* fall through */
1246 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1247 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P2; goto extract_sfmt_move_c_sprv32_p0;
1248 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1253 unsigned int val = (((insn >> 0) & (15 << 0)));
1256 case 0 : /* fall through */
1257 case 1 : /* fall through */
1258 case 2 : /* fall through */
1259 case 3 : /* fall through */
1260 case 4 : /* fall through */
1261 case 5 : /* fall through */
1262 case 6 : /* fall through */
1263 case 7 : /* fall through */
1264 case 8 : /* fall through */
1265 case 9 : /* fall through */
1266 case 10 : /* fall through */
1267 case 11 : /* fall through */
1268 case 12 : /* fall through */
1269 case 13 : /* fall through */
1270 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1271 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P3; goto extract_sfmt_move_c_sprv32_p0;
1272 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1277 unsigned int val = (((insn >> 0) & (15 << 0)));
1280 case 0 : /* fall through */
1281 case 1 : /* fall through */
1282 case 2 : /* fall through */
1283 case 3 : /* fall through */
1284 case 4 : /* fall through */
1285 case 5 : /* fall through */
1286 case 6 : /* fall through */
1287 case 7 : /* fall through */
1288 case 8 : /* fall through */
1289 case 9 : /* fall through */
1290 case 10 : /* fall through */
1291 case 11 : /* fall through */
1292 case 12 : /* fall through */
1293 case 13 : /* fall through */
1294 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1295 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P4; goto extract_sfmt_move_c_sprv32_p0;
1296 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1301 unsigned int val = (((insn >> 0) & (15 << 0)));
1304 case 0 : /* fall through */
1305 case 1 : /* fall through */
1306 case 2 : /* fall through */
1307 case 3 : /* fall through */
1308 case 4 : /* fall through */
1309 case 5 : /* fall through */
1310 case 6 : /* fall through */
1311 case 7 : /* fall through */
1312 case 8 : /* fall through */
1313 case 9 : /* fall through */
1314 case 10 : /* fall through */
1315 case 11 : /* fall through */
1316 case 12 : /* fall through */
1317 case 13 : /* fall through */
1318 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1319 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P5; goto extract_sfmt_move_c_sprv32_p0;
1320 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1325 unsigned int val = (((insn >> 0) & (15 << 0)));
1328 case 0 : /* fall through */
1329 case 1 : /* fall through */
1330 case 2 : /* fall through */
1331 case 3 : /* fall through */
1332 case 4 : /* fall through */
1333 case 5 : /* fall through */
1334 case 6 : /* fall through */
1335 case 7 : /* fall through */
1336 case 8 : /* fall through */
1337 case 9 : /* fall through */
1338 case 10 : /* fall through */
1339 case 11 : /* fall through */
1340 case 12 : /* fall through */
1341 case 13 : /* fall through */
1342 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1343 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P6; goto extract_sfmt_move_c_sprv32_p0;
1344 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1349 unsigned int val = (((insn >> 0) & (15 << 0)));
1352 case 0 : /* fall through */
1353 case 1 : /* fall through */
1354 case 2 : /* fall through */
1355 case 3 : /* fall through */
1356 case 4 : /* fall through */
1357 case 5 : /* fall through */
1358 case 6 : /* fall through */
1359 case 7 : /* fall through */
1360 case 8 : /* fall through */
1361 case 9 : /* fall through */
1362 case 10 : /* fall through */
1363 case 11 : /* fall through */
1364 case 12 : /* fall through */
1365 case 13 : /* fall through */
1366 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1367 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P7; goto extract_sfmt_move_c_sprv32_p0;
1368 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1373 unsigned int val = (((insn >> 0) & (15 << 0)));
1376 case 0 : /* fall through */
1377 case 1 : /* fall through */
1378 case 2 : /* fall through */
1379 case 3 : /* fall through */
1380 case 4 : /* fall through */
1381 case 5 : /* fall through */
1382 case 6 : /* fall through */
1383 case 7 : /* fall through */
1384 case 8 : /* fall through */
1385 case 9 : /* fall through */
1386 case 10 : /* fall through */
1387 case 11 : /* fall through */
1388 case 12 : /* fall through */
1389 case 13 : /* fall through */
1390 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1391 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P8; goto extract_sfmt_move_c_sprv32_p0;
1392 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1397 unsigned int val = (((insn >> 0) & (15 << 0)));
1400 case 0 : /* fall through */
1401 case 1 : /* fall through */
1402 case 2 : /* fall through */
1403 case 3 : /* fall through */
1404 case 4 : /* fall through */
1405 case 5 : /* fall through */
1406 case 6 : /* fall through */
1407 case 7 : /* fall through */
1408 case 8 : /* fall through */
1409 case 9 : /* fall through */
1410 case 10 : /* fall through */
1411 case 11 : /* fall through */
1412 case 12 : /* fall through */
1413 case 13 : /* fall through */
1414 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1415 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P9; goto extract_sfmt_move_c_sprv32_p0;
1416 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1421 unsigned int val = (((insn >> 0) & (15 << 0)));
1424 case 0 : /* fall through */
1425 case 1 : /* fall through */
1426 case 2 : /* fall through */
1427 case 3 : /* fall through */
1428 case 4 : /* fall through */
1429 case 5 : /* fall through */
1430 case 6 : /* fall through */
1431 case 7 : /* fall through */
1432 case 8 : /* fall through */
1433 case 9 : /* fall through */
1434 case 10 : /* fall through */
1435 case 11 : /* fall through */
1436 case 12 : /* fall through */
1437 case 13 : /* fall through */
1438 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1439 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P10; goto extract_sfmt_move_c_sprv32_p0;
1440 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1445 unsigned int val = (((insn >> 0) & (15 << 0)));
1448 case 0 : /* fall through */
1449 case 1 : /* fall through */
1450 case 2 : /* fall through */
1451 case 3 : /* fall through */
1452 case 4 : /* fall through */
1453 case 5 : /* fall through */
1454 case 6 : /* fall through */
1455 case 7 : /* fall through */
1456 case 8 : /* fall through */
1457 case 9 : /* fall through */
1458 case 10 : /* fall through */
1459 case 11 : /* fall through */
1460 case 12 : /* fall through */
1461 case 13 : /* fall through */
1462 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1463 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P11; goto extract_sfmt_move_c_sprv32_p0;
1464 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1469 unsigned int val = (((insn >> 0) & (15 << 0)));
1472 case 0 : /* fall through */
1473 case 1 : /* fall through */
1474 case 2 : /* fall through */
1475 case 3 : /* fall through */
1476 case 4 : /* fall through */
1477 case 5 : /* fall through */
1478 case 6 : /* fall through */
1479 case 7 : /* fall through */
1480 case 8 : /* fall through */
1481 case 9 : /* fall through */
1482 case 10 : /* fall through */
1483 case 11 : /* fall through */
1484 case 12 : /* fall through */
1485 case 13 : /* fall through */
1486 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1487 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P12; goto extract_sfmt_move_c_sprv32_p0;
1488 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1493 unsigned int val = (((insn >> 0) & (15 << 0)));
1496 case 0 : /* fall through */
1497 case 1 : /* fall through */
1498 case 2 : /* fall through */
1499 case 3 : /* fall through */
1500 case 4 : /* fall through */
1501 case 5 : /* fall through */
1502 case 6 : /* fall through */
1503 case 7 : /* fall through */
1504 case 8 : /* fall through */
1505 case 9 : /* fall through */
1506 case 10 : /* fall through */
1507 case 11 : /* fall through */
1508 case 12 : /* fall through */
1509 case 13 : /* fall through */
1510 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1511 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P13; goto extract_sfmt_move_c_sprv32_p0;
1512 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1517 unsigned int val = (((insn >> 0) & (15 << 0)));
1520 case 0 : /* fall through */
1521 case 1 : /* fall through */
1522 case 2 : /* fall through */
1523 case 3 : /* fall through */
1524 case 4 : /* fall through */
1525 case 5 : /* fall through */
1526 case 6 : /* fall through */
1527 case 7 : /* fall through */
1528 case 8 : /* fall through */
1529 case 9 : /* fall through */
1530 case 10 : /* fall through */
1531 case 11 : /* fall through */
1532 case 12 : /* fall through */
1533 case 13 : /* fall through */
1534 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1535 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P14; goto extract_sfmt_move_c_sprv32_p0;
1536 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1541 unsigned int val = (((insn >> 0) & (15 << 0)));
1544 case 0 : /* fall through */
1545 case 1 : /* fall through */
1546 case 2 : /* fall through */
1547 case 3 : /* fall through */
1548 case 4 : /* fall through */
1549 case 5 : /* fall through */
1550 case 6 : /* fall through */
1551 case 7 : /* fall through */
1552 case 8 : /* fall through */
1553 case 9 : /* fall through */
1554 case 10 : /* fall through */
1555 case 11 : /* fall through */
1556 case 12 : /* fall through */
1557 case 13 : /* fall through */
1558 case 14 : itype = CRISV32F_INSN_MOVE_M_SPRV32; goto extract_sfmt_move_m_sprv32;
1559 case 15 : itype = CRISV32F_INSN_MOVE_C_SPRV32_P15; goto extract_sfmt_move_c_sprv32_p0;
1560 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1563 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1568 unsigned int val = (((insn >> 0) & (15 << 0)));
1571 case 0 : /* fall through */
1572 case 1 : /* fall through */
1573 case 2 : /* fall through */
1574 case 3 : /* fall through */
1575 case 4 : /* fall through */
1576 case 5 : /* fall through */
1577 case 6 : /* fall through */
1578 case 7 : /* fall through */
1579 case 8 : /* fall through */
1580 case 9 : /* fall through */
1581 case 10 : /* fall through */
1582 case 11 : /* fall through */
1583 case 12 : /* fall through */
1584 case 13 : /* fall through */
1585 case 14 : itype = CRISV32F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m;
1586 case 15 : itype = CRISV32F_INSN_MOVECBR; goto extract_sfmt_movecbr;
1587 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1592 unsigned int val = (((insn >> 0) & (15 << 0)));
1595 case 0 : /* fall through */
1596 case 1 : /* fall through */
1597 case 2 : /* fall through */
1598 case 3 : /* fall through */
1599 case 4 : /* fall through */
1600 case 5 : /* fall through */
1601 case 6 : /* fall through */
1602 case 7 : /* fall through */
1603 case 8 : /* fall through */
1604 case 9 : /* fall through */
1605 case 10 : /* fall through */
1606 case 11 : /* fall through */
1607 case 12 : /* fall through */
1608 case 13 : /* fall through */
1609 case 14 : itype = CRISV32F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m;
1610 case 15 : itype = CRISV32F_INSN_MOVECWR; goto extract_sfmt_movecwr;
1611 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1616 unsigned int val = (((insn >> 0) & (15 << 0)));
1619 case 0 : /* fall through */
1620 case 1 : /* fall through */
1621 case 2 : /* fall through */
1622 case 3 : /* fall through */
1623 case 4 : /* fall through */
1624 case 5 : /* fall through */
1625 case 6 : /* fall through */
1626 case 7 : /* fall through */
1627 case 8 : /* fall through */
1628 case 9 : /* fall through */
1629 case 10 : /* fall through */
1630 case 11 : /* fall through */
1631 case 12 : /* fall through */
1632 case 13 : /* fall through */
1633 case 14 : itype = CRISV32F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m;
1634 case 15 : itype = CRISV32F_INSN_MOVECDR; goto extract_sfmt_movecdr;
1635 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1640 unsigned int val = (((insn >> 0) & (15 << 0)));
1643 case 0 : /* fall through */
1644 case 1 : /* fall through */
1645 case 2 : /* fall through */
1646 case 3 : /* fall through */
1647 case 4 : /* fall through */
1648 case 5 : /* fall through */
1649 case 6 : /* fall through */
1650 case 7 : /* fall through */
1651 case 8 : /* fall through */
1652 case 9 : /* fall through */
1653 case 10 : /* fall through */
1654 case 11 : /* fall through */
1655 case 12 : /* fall through */
1656 case 13 : /* fall through */
1657 case 14 : itype = CRISV32F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m;
1658 case 15 : itype = CRISV32F_INSN_SUBCBR; goto extract_sfmt_addcbr;
1659 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1664 unsigned int val = (((insn >> 0) & (15 << 0)));
1667 case 0 : /* fall through */
1668 case 1 : /* fall through */
1669 case 2 : /* fall through */
1670 case 3 : /* fall through */
1671 case 4 : /* fall through */
1672 case 5 : /* fall through */
1673 case 6 : /* fall through */
1674 case 7 : /* fall through */
1675 case 8 : /* fall through */
1676 case 9 : /* fall through */
1677 case 10 : /* fall through */
1678 case 11 : /* fall through */
1679 case 12 : /* fall through */
1680 case 13 : /* fall through */
1681 case 14 : itype = CRISV32F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m;
1682 case 15 : itype = CRISV32F_INSN_SUBCWR; goto extract_sfmt_addcwr;
1683 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1688 unsigned int val = (((insn >> 0) & (15 << 0)));
1691 case 0 : /* fall through */
1692 case 1 : /* fall through */
1693 case 2 : /* fall through */
1694 case 3 : /* fall through */
1695 case 4 : /* fall through */
1696 case 5 : /* fall through */
1697 case 6 : /* fall through */
1698 case 7 : /* fall through */
1699 case 8 : /* fall through */
1700 case 9 : /* fall through */
1701 case 10 : /* fall through */
1702 case 11 : /* fall through */
1703 case 12 : /* fall through */
1704 case 13 : /* fall through */
1705 case 14 : itype = CRISV32F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m;
1706 case 15 : itype = CRISV32F_INSN_SUBCDR; goto extract_sfmt_addcdr;
1707 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1710 case 235 : itype = CRISV32F_INSN_BAS_C; goto extract_sfmt_bas_c;
1713 unsigned int val = (((insn >> 0) & (15 << 0)));
1716 case 0 : /* fall through */
1717 case 1 : /* fall through */
1718 case 2 : /* fall through */
1719 case 3 : /* fall through */
1720 case 4 : /* fall through */
1721 case 5 : /* fall through */
1722 case 6 : /* fall through */
1723 case 7 : /* fall through */
1724 case 8 : /* fall through */
1725 case 9 : /* fall through */
1726 case 10 : /* fall through */
1727 case 11 : /* fall through */
1728 case 12 : /* fall through */
1729 case 13 : /* fall through */
1730 case 14 : itype = CRISV32F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m;
1731 case 15 : itype = CRISV32F_INSN_CMPCBR; goto extract_sfmt_cmpcbr;
1732 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1737 unsigned int val = (((insn >> 0) & (15 << 0)));
1740 case 0 : /* fall through */
1741 case 1 : /* fall through */
1742 case 2 : /* fall through */
1743 case 3 : /* fall through */
1744 case 4 : /* fall through */
1745 case 5 : /* fall through */
1746 case 6 : /* fall through */
1747 case 7 : /* fall through */
1748 case 8 : /* fall through */
1749 case 9 : /* fall through */
1750 case 10 : /* fall through */
1751 case 11 : /* fall through */
1752 case 12 : /* fall through */
1753 case 13 : /* fall through */
1754 case 14 : itype = CRISV32F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m;
1755 case 15 : itype = CRISV32F_INSN_CMPCWR; goto extract_sfmt_cmpcwr;
1756 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1761 unsigned int val = (((insn >> 0) & (15 << 0)));
1764 case 0 : /* fall through */
1765 case 1 : /* fall through */
1766 case 2 : /* fall through */
1767 case 3 : /* fall through */
1768 case 4 : /* fall through */
1769 case 5 : /* fall through */
1770 case 6 : /* fall through */
1771 case 7 : /* fall through */
1772 case 8 : /* fall through */
1773 case 9 : /* fall through */
1774 case 10 : /* fall through */
1775 case 11 : /* fall through */
1776 case 12 : /* fall through */
1777 case 13 : /* fall through */
1778 case 14 : itype = CRISV32F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m;
1779 case 15 : itype = CRISV32F_INSN_CMPCDR; goto extract_sfmt_cmpcdr;
1780 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1783 case 239 : itype = CRISV32F_INSN_BASC_C; goto extract_sfmt_bas_c;
1786 unsigned int val = (((insn >> 0) & (15 << 0)));
1789 case 0 : /* fall through */
1790 case 1 : /* fall through */
1791 case 2 : /* fall through */
1792 case 3 : /* fall through */
1793 case 4 : /* fall through */
1794 case 5 : /* fall through */
1795 case 6 : /* fall through */
1796 case 7 : /* fall through */
1797 case 8 : /* fall through */
1798 case 9 : /* fall through */
1799 case 10 : /* fall through */
1800 case 11 : /* fall through */
1801 case 12 : /* fall through */
1802 case 13 : /* fall through */
1803 case 14 : itype = CRISV32F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m;
1804 case 15 : itype = CRISV32F_INSN_ANDCBR; goto extract_sfmt_andcbr;
1805 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1810 unsigned int val = (((insn >> 0) & (15 << 0)));
1813 case 0 : /* fall through */
1814 case 1 : /* fall through */
1815 case 2 : /* fall through */
1816 case 3 : /* fall through */
1817 case 4 : /* fall through */
1818 case 5 : /* fall through */
1819 case 6 : /* fall through */
1820 case 7 : /* fall through */
1821 case 8 : /* fall through */
1822 case 9 : /* fall through */
1823 case 10 : /* fall through */
1824 case 11 : /* fall through */
1825 case 12 : /* fall through */
1826 case 13 : /* fall through */
1827 case 14 : itype = CRISV32F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m;
1828 case 15 : itype = CRISV32F_INSN_ANDCWR; goto extract_sfmt_andcwr;
1829 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1834 unsigned int val = (((insn >> 0) & (15 << 0)));
1837 case 0 : /* fall through */
1838 case 1 : /* fall through */
1839 case 2 : /* fall through */
1840 case 3 : /* fall through */
1841 case 4 : /* fall through */
1842 case 5 : /* fall through */
1843 case 6 : /* fall through */
1844 case 7 : /* fall through */
1845 case 8 : /* fall through */
1846 case 9 : /* fall through */
1847 case 10 : /* fall through */
1848 case 11 : /* fall through */
1849 case 12 : /* fall through */
1850 case 13 : /* fall through */
1851 case 14 : itype = CRISV32F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m;
1852 case 15 : itype = CRISV32F_INSN_ANDCDR; goto extract_sfmt_andcdr;
1853 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1856 case 243 : itype = CRISV32F_INSN_JASC_C; goto extract_sfmt_jas_c;
1859 unsigned int val = (((insn >> 0) & (15 << 0)));
1862 case 0 : /* fall through */
1863 case 1 : /* fall through */
1864 case 2 : /* fall through */
1865 case 3 : /* fall through */
1866 case 4 : /* fall through */
1867 case 5 : /* fall through */
1868 case 6 : /* fall through */
1869 case 7 : /* fall through */
1870 case 8 : /* fall through */
1871 case 9 : /* fall through */
1872 case 10 : /* fall through */
1873 case 11 : /* fall through */
1874 case 12 : /* fall through */
1875 case 13 : /* fall through */
1876 case 14 : itype = CRISV32F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m;
1877 case 15 : itype = CRISV32F_INSN_ORCBR; goto extract_sfmt_andcbr;
1878 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1883 unsigned int val = (((insn >> 0) & (15 << 0)));
1886 case 0 : /* fall through */
1887 case 1 : /* fall through */
1888 case 2 : /* fall through */
1889 case 3 : /* fall through */
1890 case 4 : /* fall through */
1891 case 5 : /* fall through */
1892 case 6 : /* fall through */
1893 case 7 : /* fall through */
1894 case 8 : /* fall through */
1895 case 9 : /* fall through */
1896 case 10 : /* fall through */
1897 case 11 : /* fall through */
1898 case 12 : /* fall through */
1899 case 13 : /* fall through */
1900 case 14 : itype = CRISV32F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m;
1901 case 15 : itype = CRISV32F_INSN_ORCWR; goto extract_sfmt_andcwr;
1902 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1907 unsigned int val = (((insn >> 0) & (15 << 0)));
1910 case 0 : /* fall through */
1911 case 1 : /* fall through */
1912 case 2 : /* fall through */
1913 case 3 : /* fall through */
1914 case 4 : /* fall through */
1915 case 5 : /* fall through */
1916 case 6 : /* fall through */
1917 case 7 : /* fall through */
1918 case 8 : /* fall through */
1919 case 9 : /* fall through */
1920 case 10 : /* fall through */
1921 case 11 : /* fall through */
1922 case 12 : /* fall through */
1923 case 13 : /* fall through */
1924 case 14 : itype = CRISV32F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m;
1925 case 15 : itype = CRISV32F_INSN_ORCDR; goto extract_sfmt_andcdr;
1926 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1929 case 247 : itype = CRISV32F_INSN_MOVE_SS_R; goto extract_sfmt_move_ss_r;
1930 default : itype = CRISV32F_INSN_X_INVALID; goto extract_sfmt_empty;
1935 /* The instruction has been decoded, now extract the fields. */
1939 const IDESC *idesc = &crisv32f_insn_data[itype];
1940 #define FLD(f) abuf->fields.fmt_empty.f
1943 /* Record the fields for the semantic handler. */
1944 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
1950 extract_sfmt_move_b_r:
1952 const IDESC *idesc = &crisv32f_insn_data[itype];
1953 CGEN_INSN_INT insn = base_insn;
1954 #define FLD(f) abuf->fields.sfmt_addc_m.f
1958 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
1959 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
1961 /* Record the fields for the semantic handler. */
1962 FLD (f_operand1) = f_operand1;
1963 FLD (f_operand2) = f_operand2;
1964 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));
1966 #if WITH_PROFILE_MODEL_P
1967 /* Record the fields for profiling. */
1968 if (PROFILE_MODEL_P (current_cpu))
1970 FLD (in_Rs) = f_operand1;
1971 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
1978 extract_sfmt_move_d_r:
1980 const IDESC *idesc = &crisv32f_insn_data[itype];
1981 CGEN_INSN_INT insn = base_insn;
1982 #define FLD(f) abuf->fields.sfmt_addc_m.f
1986 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
1987 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
1989 /* Record the fields for the semantic handler. */
1990 FLD (f_operand1) = f_operand1;
1991 FLD (f_operand2) = f_operand2;
1992 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));
1994 #if WITH_PROFILE_MODEL_P
1995 /* Record the fields for profiling. */
1996 if (PROFILE_MODEL_P (current_cpu))
1998 FLD (in_Rs) = f_operand1;
1999 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2008 const IDESC *idesc = &crisv32f_insn_data[itype];
2009 CGEN_INSN_INT insn = base_insn;
2010 #define FLD(f) abuf->fields.sfmt_moveq.f
2014 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2015 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
2017 /* Record the fields for the semantic handler. */
2019 FLD (f_operand2) = f_operand2;
2020 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));
2022 #if WITH_PROFILE_MODEL_P
2023 /* Record the fields for profiling. */
2024 if (PROFILE_MODEL_P (current_cpu))
2026 FLD (out_Rd) = f_operand2;
2033 extract_sfmt_movs_b_r:
2035 const IDESC *idesc = &crisv32f_insn_data[itype];
2036 CGEN_INSN_INT insn = base_insn;
2037 #define FLD(f) abuf->fields.sfmt_muls_b.f
2041 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2042 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2044 /* Record the fields for the semantic handler. */
2045 FLD (f_operand1) = f_operand1;
2046 FLD (f_operand2) = f_operand2;
2047 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));
2049 #if WITH_PROFILE_MODEL_P
2050 /* Record the fields for profiling. */
2051 if (PROFILE_MODEL_P (current_cpu))
2053 FLD (in_Rs) = f_operand1;
2054 FLD (out_Rd) = f_operand2;
2061 extract_sfmt_movecbr:
2063 const IDESC *idesc = &crisv32f_insn_data[itype];
2064 CGEN_INSN_INT insn = base_insn;
2065 #define FLD(f) abuf->fields.sfmt_addcbr.f
2066 INT f_indir_pc__byte;
2068 /* Contents of trailing part of insn. */
2071 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2072 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2073 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2075 /* Record the fields for the semantic handler. */
2076 FLD (f_operand2) = f_operand2;
2077 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2078 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));
2080 #if WITH_PROFILE_MODEL_P
2081 /* Record the fields for profiling. */
2082 if (PROFILE_MODEL_P (current_cpu))
2084 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2091 extract_sfmt_movecwr:
2093 const IDESC *idesc = &crisv32f_insn_data[itype];
2094 CGEN_INSN_INT insn = base_insn;
2095 #define FLD(f) abuf->fields.sfmt_addcwr.f
2096 INT f_indir_pc__word;
2098 /* Contents of trailing part of insn. */
2101 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2102 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2103 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2105 /* Record the fields for the semantic handler. */
2106 FLD (f_operand2) = f_operand2;
2107 FLD (f_indir_pc__word) = f_indir_pc__word;
2108 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));
2110 #if WITH_PROFILE_MODEL_P
2111 /* Record the fields for profiling. */
2112 if (PROFILE_MODEL_P (current_cpu))
2114 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2121 extract_sfmt_movecdr:
2123 const IDESC *idesc = &crisv32f_insn_data[itype];
2124 CGEN_INSN_INT insn = base_insn;
2125 #define FLD(f) abuf->fields.sfmt_bound_cd.f
2126 INT f_indir_pc__dword;
2128 /* Contents of trailing part of insn. */
2131 word_1 = GETIMEMUSI (current_cpu, pc + 2);
2132 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
2133 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2135 /* Record the fields for the semantic handler. */
2136 FLD (f_indir_pc__dword) = f_indir_pc__dword;
2137 FLD (f_operand2) = f_operand2;
2138 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));
2140 #if WITH_PROFILE_MODEL_P
2141 /* Record the fields for profiling. */
2142 if (PROFILE_MODEL_P (current_cpu))
2144 FLD (out_Rd) = f_operand2;
2151 extract_sfmt_movscbr:
2153 const IDESC *idesc = &crisv32f_insn_data[itype];
2154 CGEN_INSN_INT insn = base_insn;
2155 #define FLD(f) abuf->fields.sfmt_bound_cb.f
2157 INT f_indir_pc__byte;
2158 /* Contents of trailing part of insn. */
2161 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2162 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2163 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2165 /* Record the fields for the semantic handler. */
2166 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2167 FLD (f_operand2) = f_operand2;
2168 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));
2170 #if WITH_PROFILE_MODEL_P
2171 /* Record the fields for profiling. */
2172 if (PROFILE_MODEL_P (current_cpu))
2174 FLD (out_Rd) = f_operand2;
2181 extract_sfmt_movscwr:
2183 const IDESC *idesc = &crisv32f_insn_data[itype];
2184 CGEN_INSN_INT insn = base_insn;
2185 #define FLD(f) abuf->fields.sfmt_bound_cw.f
2187 INT f_indir_pc__word;
2188 /* Contents of trailing part of insn. */
2191 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2192 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2193 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2195 /* Record the fields for the semantic handler. */
2196 FLD (f_indir_pc__word) = f_indir_pc__word;
2197 FLD (f_operand2) = f_operand2;
2198 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));
2200 #if WITH_PROFILE_MODEL_P
2201 /* Record the fields for profiling. */
2202 if (PROFILE_MODEL_P (current_cpu))
2204 FLD (out_Rd) = f_operand2;
2211 extract_sfmt_movucbr:
2213 const IDESC *idesc = &crisv32f_insn_data[itype];
2214 CGEN_INSN_INT insn = base_insn;
2215 #define FLD(f) abuf->fields.sfmt_bound_cb.f
2217 INT f_indir_pc__byte;
2218 /* Contents of trailing part of insn. */
2221 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2222 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2223 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2225 /* Record the fields for the semantic handler. */
2226 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2227 FLD (f_operand2) = f_operand2;
2228 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));
2230 #if WITH_PROFILE_MODEL_P
2231 /* Record the fields for profiling. */
2232 if (PROFILE_MODEL_P (current_cpu))
2234 FLD (out_Rd) = f_operand2;
2241 extract_sfmt_movucwr:
2243 const IDESC *idesc = &crisv32f_insn_data[itype];
2244 CGEN_INSN_INT insn = base_insn;
2245 #define FLD(f) abuf->fields.sfmt_bound_cw.f
2247 INT f_indir_pc__word;
2248 /* Contents of trailing part of insn. */
2251 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2252 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2253 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2255 /* Record the fields for the semantic handler. */
2256 FLD (f_indir_pc__word) = f_indir_pc__word;
2257 FLD (f_operand2) = f_operand2;
2258 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));
2260 #if WITH_PROFILE_MODEL_P
2261 /* Record the fields for profiling. */
2262 if (PROFILE_MODEL_P (current_cpu))
2264 FLD (out_Rd) = f_operand2;
2273 const IDESC *idesc = &crisv32f_insn_data[itype];
2274 CGEN_INSN_INT insn = base_insn;
2275 #define FLD(f) abuf->fields.sfmt_addq.f
2279 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2280 f_u6 = EXTRACT_LSB0_UINT (insn, 16, 5, 6);
2282 /* Record the fields for the semantic handler. */
2283 FLD (f_operand2) = f_operand2;
2285 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));
2287 #if WITH_PROFILE_MODEL_P
2288 /* Record the fields for profiling. */
2289 if (PROFILE_MODEL_P (current_cpu))
2291 FLD (in_Rd) = f_operand2;
2292 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2299 extract_sfmt_cmp_r_b_r:
2301 const IDESC *idesc = &crisv32f_insn_data[itype];
2302 CGEN_INSN_INT insn = base_insn;
2303 #define FLD(f) abuf->fields.sfmt_muls_b.f
2307 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2308 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2310 /* Record the fields for the semantic handler. */
2311 FLD (f_operand2) = f_operand2;
2312 FLD (f_operand1) = f_operand1;
2313 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));
2315 #if WITH_PROFILE_MODEL_P
2316 /* Record the fields for profiling. */
2317 if (PROFILE_MODEL_P (current_cpu))
2319 FLD (in_Rd) = f_operand2;
2320 FLD (in_Rs) = f_operand1;
2327 extract_sfmt_cmp_m_b_m:
2329 const IDESC *idesc = &crisv32f_insn_data[itype];
2330 CGEN_INSN_INT insn = base_insn;
2331 #define FLD(f) abuf->fields.sfmt_addc_m.f
2336 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2337 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2338 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2340 /* Record the fields for the semantic handler. */
2341 FLD (f_operand2) = f_operand2;
2342 FLD (f_operand1) = f_operand1;
2343 FLD (f_memmode) = f_memmode;
2344 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));
2346 #if WITH_PROFILE_MODEL_P
2347 /* Record the fields for profiling. */
2348 if (PROFILE_MODEL_P (current_cpu))
2350 FLD (in_Rd) = f_operand2;
2351 FLD (in_Rs) = f_operand1;
2352 FLD (out_Rs) = f_operand1;
2359 extract_sfmt_cmp_m_w_m:
2361 const IDESC *idesc = &crisv32f_insn_data[itype];
2362 CGEN_INSN_INT insn = base_insn;
2363 #define FLD(f) abuf->fields.sfmt_addc_m.f
2368 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2369 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2370 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2372 /* Record the fields for the semantic handler. */
2373 FLD (f_operand2) = f_operand2;
2374 FLD (f_operand1) = f_operand1;
2375 FLD (f_memmode) = f_memmode;
2376 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));
2378 #if WITH_PROFILE_MODEL_P
2379 /* Record the fields for profiling. */
2380 if (PROFILE_MODEL_P (current_cpu))
2382 FLD (in_Rd) = f_operand2;
2383 FLD (in_Rs) = f_operand1;
2384 FLD (out_Rs) = f_operand1;
2391 extract_sfmt_cmp_m_d_m:
2393 const IDESC *idesc = &crisv32f_insn_data[itype];
2394 CGEN_INSN_INT insn = base_insn;
2395 #define FLD(f) abuf->fields.sfmt_addc_m.f
2400 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2401 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2402 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2404 /* Record the fields for the semantic handler. */
2405 FLD (f_operand2) = f_operand2;
2406 FLD (f_operand1) = f_operand1;
2407 FLD (f_memmode) = f_memmode;
2408 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));
2410 #if WITH_PROFILE_MODEL_P
2411 /* Record the fields for profiling. */
2412 if (PROFILE_MODEL_P (current_cpu))
2414 FLD (in_Rd) = f_operand2;
2415 FLD (in_Rs) = f_operand1;
2416 FLD (out_Rs) = f_operand1;
2423 extract_sfmt_cmpcbr:
2425 const IDESC *idesc = &crisv32f_insn_data[itype];
2426 CGEN_INSN_INT insn = base_insn;
2427 #define FLD(f) abuf->fields.sfmt_bound_cb.f
2428 INT f_indir_pc__byte;
2430 /* Contents of trailing part of insn. */
2433 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2434 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2435 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2437 /* Record the fields for the semantic handler. */
2438 FLD (f_operand2) = f_operand2;
2439 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2440 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));
2442 #if WITH_PROFILE_MODEL_P
2443 /* Record the fields for profiling. */
2444 if (PROFILE_MODEL_P (current_cpu))
2446 FLD (in_Rd) = f_operand2;
2453 extract_sfmt_cmpcwr:
2455 const IDESC *idesc = &crisv32f_insn_data[itype];
2456 CGEN_INSN_INT insn = base_insn;
2457 #define FLD(f) abuf->fields.sfmt_bound_cw.f
2458 INT f_indir_pc__word;
2460 /* Contents of trailing part of insn. */
2463 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2464 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2465 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2467 /* Record the fields for the semantic handler. */
2468 FLD (f_operand2) = f_operand2;
2469 FLD (f_indir_pc__word) = f_indir_pc__word;
2470 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));
2472 #if WITH_PROFILE_MODEL_P
2473 /* Record the fields for profiling. */
2474 if (PROFILE_MODEL_P (current_cpu))
2476 FLD (in_Rd) = f_operand2;
2483 extract_sfmt_cmpcdr:
2485 const IDESC *idesc = &crisv32f_insn_data[itype];
2486 CGEN_INSN_INT insn = base_insn;
2487 #define FLD(f) abuf->fields.sfmt_bound_cd.f
2488 INT f_indir_pc__dword;
2490 /* Contents of trailing part of insn. */
2493 word_1 = GETIMEMUSI (current_cpu, pc + 2);
2494 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
2495 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2497 /* Record the fields for the semantic handler. */
2498 FLD (f_operand2) = f_operand2;
2499 FLD (f_indir_pc__dword) = f_indir_pc__dword;
2500 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));
2502 #if WITH_PROFILE_MODEL_P
2503 /* Record the fields for profiling. */
2504 if (PROFILE_MODEL_P (current_cpu))
2506 FLD (in_Rd) = f_operand2;
2515 const IDESC *idesc = &crisv32f_insn_data[itype];
2516 CGEN_INSN_INT insn = base_insn;
2517 #define FLD(f) abuf->fields.sfmt_andq.f
2521 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2522 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
2524 /* Record the fields for the semantic handler. */
2525 FLD (f_operand2) = f_operand2;
2527 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));
2529 #if WITH_PROFILE_MODEL_P
2530 /* Record the fields for profiling. */
2531 if (PROFILE_MODEL_P (current_cpu))
2533 FLD (in_Rd) = f_operand2;
2540 extract_sfmt_cmpucbr:
2542 const IDESC *idesc = &crisv32f_insn_data[itype];
2543 CGEN_INSN_INT insn = base_insn;
2544 #define FLD(f) abuf->fields.sfmt_bound_cb.f
2545 INT f_indir_pc__byte;
2547 /* Contents of trailing part of insn. */
2550 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2551 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2552 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2554 /* Record the fields for the semantic handler. */
2555 FLD (f_operand2) = f_operand2;
2556 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2557 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));
2559 #if WITH_PROFILE_MODEL_P
2560 /* Record the fields for profiling. */
2561 if (PROFILE_MODEL_P (current_cpu))
2563 FLD (in_Rd) = f_operand2;
2570 extract_sfmt_cmpucwr:
2572 const IDESC *idesc = &crisv32f_insn_data[itype];
2573 CGEN_INSN_INT insn = base_insn;
2574 #define FLD(f) abuf->fields.sfmt_bound_cw.f
2575 INT f_indir_pc__word;
2577 /* Contents of trailing part of insn. */
2580 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2581 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2582 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2584 /* Record the fields for the semantic handler. */
2585 FLD (f_operand2) = f_operand2;
2586 FLD (f_indir_pc__word) = f_indir_pc__word;
2587 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));
2589 #if WITH_PROFILE_MODEL_P
2590 /* Record the fields for profiling. */
2591 if (PROFILE_MODEL_P (current_cpu))
2593 FLD (in_Rd) = f_operand2;
2600 extract_sfmt_move_m_b_m:
2602 const IDESC *idesc = &crisv32f_insn_data[itype];
2603 CGEN_INSN_INT insn = base_insn;
2604 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2609 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2610 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2611 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2613 /* Record the fields for the semantic handler. */
2614 FLD (f_operand1) = f_operand1;
2615 FLD (f_operand2) = f_operand2;
2616 FLD (f_memmode) = f_memmode;
2617 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));
2619 #if WITH_PROFILE_MODEL_P
2620 /* Record the fields for profiling. */
2621 if (PROFILE_MODEL_P (current_cpu))
2623 FLD (in_Rs) = f_operand1;
2624 FLD (out_Rs) = f_operand1;
2625 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)));
2632 extract_sfmt_move_m_w_m:
2634 const IDESC *idesc = &crisv32f_insn_data[itype];
2635 CGEN_INSN_INT insn = base_insn;
2636 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2641 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2642 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2643 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2645 /* Record the fields for the semantic handler. */
2646 FLD (f_operand1) = f_operand1;
2647 FLD (f_operand2) = f_operand2;
2648 FLD (f_memmode) = f_memmode;
2649 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));
2651 #if WITH_PROFILE_MODEL_P
2652 /* Record the fields for profiling. */
2653 if (PROFILE_MODEL_P (current_cpu))
2655 FLD (in_Rs) = f_operand1;
2656 FLD (out_Rs) = f_operand1;
2657 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)));
2664 extract_sfmt_move_m_d_m:
2666 const IDESC *idesc = &crisv32f_insn_data[itype];
2667 CGEN_INSN_INT insn = base_insn;
2668 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
2673 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2674 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2675 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2677 /* Record the fields for the semantic handler. */
2678 FLD (f_operand1) = f_operand1;
2679 FLD (f_operand2) = f_operand2;
2680 FLD (f_memmode) = f_memmode;
2681 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));
2683 #if WITH_PROFILE_MODEL_P
2684 /* Record the fields for profiling. */
2685 if (PROFILE_MODEL_P (current_cpu))
2687 FLD (in_Rs) = f_operand1;
2688 FLD (out_Rs) = f_operand1;
2689 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)));
2696 extract_sfmt_movs_m_b_m:
2698 const IDESC *idesc = &crisv32f_insn_data[itype];
2699 CGEN_INSN_INT insn = base_insn;
2700 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
2705 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2706 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2707 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2709 /* Record the fields for the semantic handler. */
2710 FLD (f_operand1) = f_operand1;
2711 FLD (f_memmode) = f_memmode;
2712 FLD (f_operand2) = f_operand2;
2713 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));
2715 #if WITH_PROFILE_MODEL_P
2716 /* Record the fields for profiling. */
2717 if (PROFILE_MODEL_P (current_cpu))
2719 FLD (in_Rs) = f_operand1;
2720 FLD (out_Rd) = f_operand2;
2721 FLD (out_Rs) = f_operand1;
2728 extract_sfmt_movs_m_w_m:
2730 const IDESC *idesc = &crisv32f_insn_data[itype];
2731 CGEN_INSN_INT insn = base_insn;
2732 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
2737 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2738 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2739 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2741 /* Record the fields for the semantic handler. */
2742 FLD (f_operand1) = f_operand1;
2743 FLD (f_memmode) = f_memmode;
2744 FLD (f_operand2) = f_operand2;
2745 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));
2747 #if WITH_PROFILE_MODEL_P
2748 /* Record the fields for profiling. */
2749 if (PROFILE_MODEL_P (current_cpu))
2751 FLD (in_Rs) = f_operand1;
2752 FLD (out_Rd) = f_operand2;
2753 FLD (out_Rs) = f_operand1;
2760 extract_sfmt_move_r_sprv32:
2762 const IDESC *idesc = &crisv32f_insn_data[itype];
2763 CGEN_INSN_INT insn = base_insn;
2764 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
2768 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2769 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2771 /* Record the fields for the semantic handler. */
2772 FLD (f_operand1) = f_operand1;
2773 FLD (f_operand2) = f_operand2;
2774 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv32", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
2776 #if WITH_PROFILE_MODEL_P
2777 /* Record the fields for profiling. */
2778 if (PROFILE_MODEL_P (current_cpu))
2780 FLD (in_Rs) = f_operand1;
2781 FLD (out_Pd) = f_operand2;
2788 extract_sfmt_move_spr_rv32:
2790 const IDESC *idesc = &crisv32f_insn_data[itype];
2791 CGEN_INSN_INT insn = base_insn;
2792 #define FLD(f) abuf->fields.sfmt_mcp.f
2796 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2797 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2799 /* Record the fields for the semantic handler. */
2800 FLD (f_operand2) = f_operand2;
2801 FLD (f_operand1) = f_operand1;
2802 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
2804 #if WITH_PROFILE_MODEL_P
2805 /* Record the fields for profiling. */
2806 if (PROFILE_MODEL_P (current_cpu))
2808 FLD (in_Ps) = f_operand2;
2809 FLD (out_h_gr_SI_index_of__DFLT_Rs) = FLD (f_operand1);
2816 extract_sfmt_move_m_sprv32:
2818 const IDESC *idesc = &crisv32f_insn_data[itype];
2819 CGEN_INSN_INT insn = base_insn;
2820 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
2825 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2826 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2827 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2829 /* Record the fields for the semantic handler. */
2830 FLD (f_operand1) = f_operand1;
2831 FLD (f_operand2) = f_operand2;
2832 FLD (f_memmode) = f_memmode;
2833 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv32", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
2835 #if WITH_PROFILE_MODEL_P
2836 /* Record the fields for profiling. */
2837 if (PROFILE_MODEL_P (current_cpu))
2839 FLD (in_Rs) = f_operand1;
2840 FLD (out_Pd) = f_operand2;
2841 FLD (out_Rs) = f_operand1;
2848 extract_sfmt_move_c_sprv32_p0:
2850 const IDESC *idesc = &crisv32f_insn_data[itype];
2851 CGEN_INSN_INT insn = base_insn;
2852 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
2853 INT f_indir_pc__dword;
2855 /* Contents of trailing part of insn. */
2858 word_1 = GETIMEMUSI (current_cpu, pc + 2);
2859 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
2860 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2862 /* Record the fields for the semantic handler. */
2863 FLD (f_indir_pc__dword) = f_indir_pc__dword;
2864 FLD (f_operand2) = f_operand2;
2865 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv32_p0", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
2867 #if WITH_PROFILE_MODEL_P
2868 /* Record the fields for profiling. */
2869 if (PROFILE_MODEL_P (current_cpu))
2871 FLD (out_Pd) = f_operand2;
2878 extract_sfmt_move_spr_mv32:
2880 const IDESC *idesc = &crisv32f_insn_data[itype];
2881 CGEN_INSN_INT insn = base_insn;
2882 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
2887 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2888 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2889 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2891 /* Record the fields for the semantic handler. */
2892 FLD (f_operand2) = f_operand2;
2893 FLD (f_operand1) = f_operand1;
2894 FLD (f_memmode) = f_memmode;
2895 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
2897 #if WITH_PROFILE_MODEL_P
2898 /* Record the fields for profiling. */
2899 if (PROFILE_MODEL_P (current_cpu))
2901 FLD (in_Ps) = f_operand2;
2902 FLD (in_Rs) = f_operand1;
2903 FLD (out_Rs) = f_operand1;
2910 extract_sfmt_move_ss_r:
2912 const IDESC *idesc = &crisv32f_insn_data[itype];
2913 CGEN_INSN_INT insn = base_insn;
2914 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
2918 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2919 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2921 /* Record the fields for the semantic handler. */
2922 FLD (f_operand2) = f_operand2;
2923 FLD (f_operand1) = f_operand1;
2924 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_ss_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
2926 #if WITH_PROFILE_MODEL_P
2927 /* Record the fields for profiling. */
2928 if (PROFILE_MODEL_P (current_cpu))
2930 FLD (out_Rs) = f_operand1;
2937 extract_sfmt_move_r_ss:
2939 const IDESC *idesc = &crisv32f_insn_data[itype];
2940 CGEN_INSN_INT insn = base_insn;
2941 #define FLD(f) abuf->fields.sfmt_mcp.f
2945 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2946 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2948 /* Record the fields for the semantic handler. */
2949 FLD (f_operand1) = f_operand1;
2950 FLD (f_operand2) = f_operand2;
2951 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_ss", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
2953 #if WITH_PROFILE_MODEL_P
2954 /* Record the fields for profiling. */
2955 if (PROFILE_MODEL_P (current_cpu))
2957 FLD (in_Rs) = f_operand1;
2964 extract_sfmt_movem_r_m_v32:
2966 const IDESC *idesc = &crisv32f_insn_data[itype];
2967 CGEN_INSN_INT insn = base_insn;
2968 #define FLD(f) abuf->fields.sfmt_movem_r_m_v32.f
2973 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2974 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2975 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2977 /* Record the fields for the semantic handler. */
2978 FLD (f_operand2) = f_operand2;
2979 FLD (f_operand1) = f_operand1;
2980 FLD (f_memmode) = f_memmode;
2981 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m_v32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
2983 #if WITH_PROFILE_MODEL_P
2984 /* Record the fields for profiling. */
2985 if (PROFILE_MODEL_P (current_cpu))
2987 FLD (in_Rd) = f_operand2;
2988 FLD (in_Rs) = f_operand1;
2989 FLD (in_h_gr_SI_0) = 0;
2990 FLD (in_h_gr_SI_1) = 1;
2991 FLD (in_h_gr_SI_10) = 10;
2992 FLD (in_h_gr_SI_11) = 11;
2993 FLD (in_h_gr_SI_12) = 12;
2994 FLD (in_h_gr_SI_13) = 13;
2995 FLD (in_h_gr_SI_14) = 14;
2996 FLD (in_h_gr_SI_15) = 15;
2997 FLD (in_h_gr_SI_2) = 2;
2998 FLD (in_h_gr_SI_3) = 3;
2999 FLD (in_h_gr_SI_4) = 4;
3000 FLD (in_h_gr_SI_5) = 5;
3001 FLD (in_h_gr_SI_6) = 6;
3002 FLD (in_h_gr_SI_7) = 7;
3003 FLD (in_h_gr_SI_8) = 8;
3004 FLD (in_h_gr_SI_9) = 9;
3005 FLD (out_Rs) = f_operand1;
3012 extract_sfmt_movem_m_r_v32:
3014 const IDESC *idesc = &crisv32f_insn_data[itype];
3015 CGEN_INSN_INT insn = base_insn;
3016 #define FLD(f) abuf->fields.sfmt_movem_m_r_v32.f
3021 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3022 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3023 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3025 /* Record the fields for the semantic handler. */
3026 FLD (f_operand2) = f_operand2;
3027 FLD (f_operand1) = f_operand1;
3028 FLD (f_memmode) = f_memmode;
3029 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r_v32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3031 #if WITH_PROFILE_MODEL_P
3032 /* Record the fields for profiling. */
3033 if (PROFILE_MODEL_P (current_cpu))
3035 FLD (in_Rd) = f_operand2;
3036 FLD (in_Rs) = f_operand1;
3037 FLD (out_Rs) = f_operand1;
3038 FLD (out_h_gr_SI_0) = 0;
3039 FLD (out_h_gr_SI_1) = 1;
3040 FLD (out_h_gr_SI_10) = 10;
3041 FLD (out_h_gr_SI_11) = 11;
3042 FLD (out_h_gr_SI_12) = 12;
3043 FLD (out_h_gr_SI_13) = 13;
3044 FLD (out_h_gr_SI_14) = 14;
3045 FLD (out_h_gr_SI_15) = 15;
3046 FLD (out_h_gr_SI_2) = 2;
3047 FLD (out_h_gr_SI_3) = 3;
3048 FLD (out_h_gr_SI_4) = 4;
3049 FLD (out_h_gr_SI_5) = 5;
3050 FLD (out_h_gr_SI_6) = 6;
3051 FLD (out_h_gr_SI_7) = 7;
3052 FLD (out_h_gr_SI_8) = 8;
3053 FLD (out_h_gr_SI_9) = 9;
3060 extract_sfmt_add_b_r:
3062 const IDESC *idesc = &crisv32f_insn_data[itype];
3063 CGEN_INSN_INT insn = base_insn;
3064 #define FLD(f) abuf->fields.sfmt_addc_m.f
3068 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3069 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3071 /* Record the fields for the semantic handler. */
3072 FLD (f_operand2) = f_operand2;
3073 FLD (f_operand1) = f_operand1;
3074 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));
3076 #if WITH_PROFILE_MODEL_P
3077 /* Record the fields for profiling. */
3078 if (PROFILE_MODEL_P (current_cpu))
3080 FLD (in_Rd) = f_operand2;
3081 FLD (in_Rs) = f_operand1;
3082 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3089 extract_sfmt_add_d_r:
3091 const IDESC *idesc = &crisv32f_insn_data[itype];
3092 CGEN_INSN_INT insn = base_insn;
3093 #define FLD(f) abuf->fields.sfmt_addc_m.f
3097 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3098 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3100 /* Record the fields for the semantic handler. */
3101 FLD (f_operand2) = f_operand2;
3102 FLD (f_operand1) = f_operand1;
3103 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));
3105 #if WITH_PROFILE_MODEL_P
3106 /* Record the fields for profiling. */
3107 if (PROFILE_MODEL_P (current_cpu))
3109 FLD (in_Rd) = f_operand2;
3110 FLD (in_Rs) = f_operand1;
3111 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3118 extract_sfmt_add_m_b_m:
3120 const IDESC *idesc = &crisv32f_insn_data[itype];
3121 CGEN_INSN_INT insn = base_insn;
3122 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3127 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3128 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3129 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3131 /* Record the fields for the semantic handler. */
3132 FLD (f_operand2) = f_operand2;
3133 FLD (f_operand1) = f_operand1;
3134 FLD (f_memmode) = f_memmode;
3135 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));
3137 #if WITH_PROFILE_MODEL_P
3138 /* Record the fields for profiling. */
3139 if (PROFILE_MODEL_P (current_cpu))
3141 FLD (in_Rd) = f_operand2;
3142 FLD (in_Rs) = f_operand1;
3143 FLD (out_Rs) = f_operand1;
3144 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)));
3151 extract_sfmt_add_m_w_m:
3153 const IDESC *idesc = &crisv32f_insn_data[itype];
3154 CGEN_INSN_INT insn = base_insn;
3155 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3160 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3161 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3162 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3164 /* Record the fields for the semantic handler. */
3165 FLD (f_operand2) = f_operand2;
3166 FLD (f_operand1) = f_operand1;
3167 FLD (f_memmode) = f_memmode;
3168 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));
3170 #if WITH_PROFILE_MODEL_P
3171 /* Record the fields for profiling. */
3172 if (PROFILE_MODEL_P (current_cpu))
3174 FLD (in_Rd) = f_operand2;
3175 FLD (in_Rs) = f_operand1;
3176 FLD (out_Rs) = f_operand1;
3177 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)));
3184 extract_sfmt_add_m_d_m:
3186 const IDESC *idesc = &crisv32f_insn_data[itype];
3187 CGEN_INSN_INT insn = base_insn;
3188 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3193 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3194 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3195 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3197 /* Record the fields for the semantic handler. */
3198 FLD (f_operand2) = f_operand2;
3199 FLD (f_operand1) = f_operand1;
3200 FLD (f_memmode) = f_memmode;
3201 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));
3203 #if WITH_PROFILE_MODEL_P
3204 /* Record the fields for profiling. */
3205 if (PROFILE_MODEL_P (current_cpu))
3207 FLD (in_Rd) = f_operand2;
3208 FLD (in_Rs) = f_operand1;
3209 FLD (out_Rs) = f_operand1;
3210 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)));
3217 extract_sfmt_addcbr:
3219 const IDESC *idesc = &crisv32f_insn_data[itype];
3220 CGEN_INSN_INT insn = base_insn;
3221 #define FLD(f) abuf->fields.sfmt_addcbr.f
3222 INT f_indir_pc__byte;
3224 /* Contents of trailing part of insn. */
3227 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3228 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3229 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3231 /* Record the fields for the semantic handler. */
3232 FLD (f_operand2) = f_operand2;
3233 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3234 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));
3236 #if WITH_PROFILE_MODEL_P
3237 /* Record the fields for profiling. */
3238 if (PROFILE_MODEL_P (current_cpu))
3240 FLD (in_Rd) = f_operand2;
3241 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3248 extract_sfmt_addcwr:
3250 const IDESC *idesc = &crisv32f_insn_data[itype];
3251 CGEN_INSN_INT insn = base_insn;
3252 #define FLD(f) abuf->fields.sfmt_addcwr.f
3253 INT f_indir_pc__word;
3255 /* Contents of trailing part of insn. */
3258 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3259 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3260 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3262 /* Record the fields for the semantic handler. */
3263 FLD (f_operand2) = f_operand2;
3264 FLD (f_indir_pc__word) = f_indir_pc__word;
3265 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));
3267 #if WITH_PROFILE_MODEL_P
3268 /* Record the fields for profiling. */
3269 if (PROFILE_MODEL_P (current_cpu))
3271 FLD (in_Rd) = f_operand2;
3272 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3279 extract_sfmt_addcdr:
3281 const IDESC *idesc = &crisv32f_insn_data[itype];
3282 CGEN_INSN_INT insn = base_insn;
3283 #define FLD(f) abuf->fields.sfmt_addcdr.f
3284 INT f_indir_pc__dword;
3286 /* Contents of trailing part of insn. */
3289 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3290 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
3291 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3293 /* Record the fields for the semantic handler. */
3294 FLD (f_operand2) = f_operand2;
3295 FLD (f_indir_pc__dword) = f_indir_pc__dword;
3296 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));
3298 #if WITH_PROFILE_MODEL_P
3299 /* Record the fields for profiling. */
3300 if (PROFILE_MODEL_P (current_cpu))
3302 FLD (in_Rd) = f_operand2;
3303 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3310 extract_sfmt_adds_m_b_m:
3312 const IDESC *idesc = &crisv32f_insn_data[itype];
3313 CGEN_INSN_INT insn = base_insn;
3314 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3319 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3320 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3321 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3323 /* Record the fields for the semantic handler. */
3324 FLD (f_operand2) = f_operand2;
3325 FLD (f_operand1) = f_operand1;
3326 FLD (f_memmode) = f_memmode;
3327 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));
3329 #if WITH_PROFILE_MODEL_P
3330 /* Record the fields for profiling. */
3331 if (PROFILE_MODEL_P (current_cpu))
3333 FLD (in_Rd) = f_operand2;
3334 FLD (in_Rs) = f_operand1;
3335 FLD (out_Rs) = f_operand1;
3336 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)));
3343 extract_sfmt_adds_m_w_m:
3345 const IDESC *idesc = &crisv32f_insn_data[itype];
3346 CGEN_INSN_INT insn = base_insn;
3347 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3352 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3353 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3354 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3356 /* Record the fields for the semantic handler. */
3357 FLD (f_operand2) = f_operand2;
3358 FLD (f_operand1) = f_operand1;
3359 FLD (f_memmode) = f_memmode;
3360 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));
3362 #if WITH_PROFILE_MODEL_P
3363 /* Record the fields for profiling. */
3364 if (PROFILE_MODEL_P (current_cpu))
3366 FLD (in_Rd) = f_operand2;
3367 FLD (in_Rs) = f_operand1;
3368 FLD (out_Rs) = f_operand1;
3369 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)));
3376 extract_sfmt_addscbr:
3378 const IDESC *idesc = &crisv32f_insn_data[itype];
3379 CGEN_INSN_INT insn = base_insn;
3380 #define FLD(f) abuf->fields.sfmt_addcbr.f
3381 INT f_indir_pc__byte;
3383 /* Contents of trailing part of insn. */
3386 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3387 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3388 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3390 /* Record the fields for the semantic handler. */
3391 FLD (f_operand2) = f_operand2;
3392 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3393 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));
3395 #if WITH_PROFILE_MODEL_P
3396 /* Record the fields for profiling. */
3397 if (PROFILE_MODEL_P (current_cpu))
3399 FLD (in_Rd) = f_operand2;
3400 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3407 extract_sfmt_addscwr:
3409 const IDESC *idesc = &crisv32f_insn_data[itype];
3410 CGEN_INSN_INT insn = base_insn;
3411 #define FLD(f) abuf->fields.sfmt_addcwr.f
3412 INT f_indir_pc__word;
3414 /* Contents of trailing part of insn. */
3417 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3418 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3419 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3421 /* Record the fields for the semantic handler. */
3422 FLD (f_operand2) = f_operand2;
3423 FLD (f_indir_pc__word) = f_indir_pc__word;
3424 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));
3426 #if WITH_PROFILE_MODEL_P
3427 /* Record the fields for profiling. */
3428 if (PROFILE_MODEL_P (current_cpu))
3430 FLD (in_Rd) = f_operand2;
3431 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3438 extract_sfmt_addc_m:
3440 const IDESC *idesc = &crisv32f_insn_data[itype];
3441 CGEN_INSN_INT insn = base_insn;
3442 #define FLD(f) abuf->fields.sfmt_addc_m.f
3447 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3448 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3449 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3451 /* Record the fields for the semantic handler. */
3452 FLD (f_operand2) = f_operand2;
3453 FLD (f_operand1) = f_operand1;
3454 FLD (f_memmode) = f_memmode;
3455 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3457 #if WITH_PROFILE_MODEL_P
3458 /* Record the fields for profiling. */
3459 if (PROFILE_MODEL_P (current_cpu))
3461 FLD (in_Rd) = f_operand2;
3462 FLD (in_Rs) = f_operand1;
3463 FLD (out_Rs) = f_operand1;
3464 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3471 extract_sfmt_lapc_d:
3473 const IDESC *idesc = &crisv32f_insn_data[itype];
3474 CGEN_INSN_INT insn = base_insn;
3475 #define FLD(f) abuf->fields.sfmt_lapc_d.f
3476 SI f_indir_pc__dword_pcrel;
3478 /* Contents of trailing part of insn. */
3481 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3482 f_indir_pc__dword_pcrel = ((pc) + ((0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0))));
3483 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3485 /* Record the fields for the semantic handler. */
3486 FLD (f_operand2) = f_operand2;
3487 FLD (i_const32_pcrel) = f_indir_pc__dword_pcrel;
3488 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lapc_d", "f_operand2 0x%x", 'x', f_operand2, "const32_pcrel 0x%x", 'x', f_indir_pc__dword_pcrel, (char *) 0));
3490 #if WITH_PROFILE_MODEL_P
3491 /* Record the fields for profiling. */
3492 if (PROFILE_MODEL_P (current_cpu))
3494 FLD (out_Rd) = f_operand2;
3503 const IDESC *idesc = &crisv32f_insn_data[itype];
3504 CGEN_INSN_INT insn = base_insn;
3505 #define FLD(f) abuf->fields.sfmt_lapcq.f
3509 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3510 f_qo = ((pc) + (((EXTRACT_LSB0_UINT (insn, 16, 3, 4)) << (1))));
3512 /* Record the fields for the semantic handler. */
3513 FLD (f_operand2) = f_operand2;
3515 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lapcq", "f_operand2 0x%x", 'x', f_operand2, "qo 0x%x", 'x', f_qo, (char *) 0));
3517 #if WITH_PROFILE_MODEL_P
3518 /* Record the fields for profiling. */
3519 if (PROFILE_MODEL_P (current_cpu))
3521 FLD (out_Rd) = f_operand2;
3528 extract_sfmt_addi_b_r:
3530 const IDESC *idesc = &crisv32f_insn_data[itype];
3531 CGEN_INSN_INT insn = base_insn;
3532 #define FLD(f) abuf->fields.sfmt_addc_m.f
3536 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3537 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3539 /* Record the fields for the semantic handler. */
3540 FLD (f_operand2) = f_operand2;
3541 FLD (f_operand1) = f_operand1;
3542 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));
3544 #if WITH_PROFILE_MODEL_P
3545 /* Record the fields for profiling. */
3546 if (PROFILE_MODEL_P (current_cpu))
3548 FLD (in_Rd) = f_operand2;
3549 FLD (in_Rs) = f_operand1;
3550 FLD (out_Rs) = f_operand1;
3557 extract_sfmt_neg_b_r:
3559 const IDESC *idesc = &crisv32f_insn_data[itype];
3560 CGEN_INSN_INT insn = base_insn;
3561 #define FLD(f) abuf->fields.sfmt_addc_m.f
3565 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3566 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3568 /* Record the fields for the semantic handler. */
3569 FLD (f_operand1) = f_operand1;
3570 FLD (f_operand2) = f_operand2;
3571 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));
3573 #if WITH_PROFILE_MODEL_P
3574 /* Record the fields for profiling. */
3575 if (PROFILE_MODEL_P (current_cpu))
3577 FLD (in_Rs) = f_operand1;
3578 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3585 extract_sfmt_neg_d_r:
3587 const IDESC *idesc = &crisv32f_insn_data[itype];
3588 CGEN_INSN_INT insn = base_insn;
3589 #define FLD(f) abuf->fields.sfmt_addc_m.f
3593 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3594 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3596 /* Record the fields for the semantic handler. */
3597 FLD (f_operand1) = f_operand1;
3598 FLD (f_operand2) = f_operand2;
3599 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));
3601 #if WITH_PROFILE_MODEL_P
3602 /* Record the fields for profiling. */
3603 if (PROFILE_MODEL_P (current_cpu))
3605 FLD (in_Rs) = f_operand1;
3606 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3613 extract_sfmt_test_m_b_m:
3615 const IDESC *idesc = &crisv32f_insn_data[itype];
3616 CGEN_INSN_INT insn = base_insn;
3617 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3621 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3622 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3624 /* Record the fields for the semantic handler. */
3625 FLD (f_operand1) = f_operand1;
3626 FLD (f_memmode) = f_memmode;
3627 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));
3629 #if WITH_PROFILE_MODEL_P
3630 /* Record the fields for profiling. */
3631 if (PROFILE_MODEL_P (current_cpu))
3633 FLD (in_Rs) = f_operand1;
3634 FLD (out_Rs) = f_operand1;
3641 extract_sfmt_test_m_w_m:
3643 const IDESC *idesc = &crisv32f_insn_data[itype];
3644 CGEN_INSN_INT insn = base_insn;
3645 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3649 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3650 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3652 /* Record the fields for the semantic handler. */
3653 FLD (f_operand1) = f_operand1;
3654 FLD (f_memmode) = f_memmode;
3655 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));
3657 #if WITH_PROFILE_MODEL_P
3658 /* Record the fields for profiling. */
3659 if (PROFILE_MODEL_P (current_cpu))
3661 FLD (in_Rs) = f_operand1;
3662 FLD (out_Rs) = f_operand1;
3669 extract_sfmt_test_m_d_m:
3671 const IDESC *idesc = &crisv32f_insn_data[itype];
3672 CGEN_INSN_INT insn = base_insn;
3673 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
3677 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3678 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3680 /* Record the fields for the semantic handler. */
3681 FLD (f_operand1) = f_operand1;
3682 FLD (f_memmode) = f_memmode;
3683 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));
3685 #if WITH_PROFILE_MODEL_P
3686 /* Record the fields for profiling. */
3687 if (PROFILE_MODEL_P (current_cpu))
3689 FLD (in_Rs) = f_operand1;
3690 FLD (out_Rs) = f_operand1;
3697 extract_sfmt_move_r_m_b_m:
3699 const IDESC *idesc = &crisv32f_insn_data[itype];
3700 CGEN_INSN_INT insn = base_insn;
3701 #define FLD(f) abuf->fields.sfmt_addc_m.f
3706 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3707 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3708 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3710 /* Record the fields for the semantic handler. */
3711 FLD (f_operand2) = f_operand2;
3712 FLD (f_operand1) = f_operand1;
3713 FLD (f_memmode) = f_memmode;
3714 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));
3716 #if WITH_PROFILE_MODEL_P
3717 /* Record the fields for profiling. */
3718 if (PROFILE_MODEL_P (current_cpu))
3720 FLD (in_Rd) = f_operand2;
3721 FLD (in_Rs) = f_operand1;
3722 FLD (out_Rs) = f_operand1;
3729 extract_sfmt_move_r_m_w_m:
3731 const IDESC *idesc = &crisv32f_insn_data[itype];
3732 CGEN_INSN_INT insn = base_insn;
3733 #define FLD(f) abuf->fields.sfmt_addc_m.f
3738 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3739 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3740 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3742 /* Record the fields for the semantic handler. */
3743 FLD (f_operand2) = f_operand2;
3744 FLD (f_operand1) = f_operand1;
3745 FLD (f_memmode) = f_memmode;
3746 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));
3748 #if WITH_PROFILE_MODEL_P
3749 /* Record the fields for profiling. */
3750 if (PROFILE_MODEL_P (current_cpu))
3752 FLD (in_Rd) = f_operand2;
3753 FLD (in_Rs) = f_operand1;
3754 FLD (out_Rs) = f_operand1;
3761 extract_sfmt_move_r_m_d_m:
3763 const IDESC *idesc = &crisv32f_insn_data[itype];
3764 CGEN_INSN_INT insn = base_insn;
3765 #define FLD(f) abuf->fields.sfmt_addc_m.f
3770 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3771 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3772 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3774 /* Record the fields for the semantic handler. */
3775 FLD (f_operand2) = f_operand2;
3776 FLD (f_operand1) = f_operand1;
3777 FLD (f_memmode) = f_memmode;
3778 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));
3780 #if WITH_PROFILE_MODEL_P
3781 /* Record the fields for profiling. */
3782 if (PROFILE_MODEL_P (current_cpu))
3784 FLD (in_Rd) = f_operand2;
3785 FLD (in_Rs) = f_operand1;
3786 FLD (out_Rs) = f_operand1;
3793 extract_sfmt_muls_b:
3795 const IDESC *idesc = &crisv32f_insn_data[itype];
3796 CGEN_INSN_INT insn = base_insn;
3797 #define FLD(f) abuf->fields.sfmt_muls_b.f
3801 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3802 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3804 /* Record the fields for the semantic handler. */
3805 FLD (f_operand2) = f_operand2;
3806 FLD (f_operand1) = f_operand1;
3807 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));
3809 #if WITH_PROFILE_MODEL_P
3810 /* Record the fields for profiling. */
3811 if (PROFILE_MODEL_P (current_cpu))
3813 FLD (in_Rd) = f_operand2;
3814 FLD (in_Rs) = f_operand1;
3815 FLD (out_Rd) = f_operand2;
3816 FLD (out_h_sr_SI_7) = 7;
3825 const IDESC *idesc = &crisv32f_insn_data[itype];
3826 CGEN_INSN_INT insn = base_insn;
3827 #define FLD(f) abuf->fields.sfmt_mcp.f
3831 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3832 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3834 /* Record the fields for the semantic handler. */
3835 FLD (f_operand2) = f_operand2;
3836 FLD (f_operand1) = f_operand1;
3837 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcp", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
3839 #if WITH_PROFILE_MODEL_P
3840 /* Record the fields for profiling. */
3841 if (PROFILE_MODEL_P (current_cpu))
3843 FLD (in_Ps) = f_operand2;
3844 FLD (in_Rs) = f_operand1;
3845 FLD (out_h_gr_SI_index_of__DFLT_Rs) = FLD (f_operand1);
3854 const IDESC *idesc = &crisv32f_insn_data[itype];
3855 CGEN_INSN_INT insn = base_insn;
3856 #define FLD(f) abuf->fields.sfmt_muls_b.f
3860 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3861 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3863 /* Record the fields for the semantic handler. */
3864 FLD (f_operand2) = f_operand2;
3865 FLD (f_operand1) = f_operand1;
3866 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));
3868 #if WITH_PROFILE_MODEL_P
3869 /* Record the fields for profiling. */
3870 if (PROFILE_MODEL_P (current_cpu))
3872 FLD (in_Rd) = f_operand2;
3873 FLD (in_Rs) = f_operand1;
3874 FLD (out_Rd) = f_operand2;
3881 extract_sfmt_and_b_r:
3883 const IDESC *idesc = &crisv32f_insn_data[itype];
3884 CGEN_INSN_INT insn = base_insn;
3885 #define FLD(f) abuf->fields.sfmt_addc_m.f
3889 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3890 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3892 /* Record the fields for the semantic handler. */
3893 FLD (f_operand2) = f_operand2;
3894 FLD (f_operand1) = f_operand1;
3895 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));
3897 #if WITH_PROFILE_MODEL_P
3898 /* Record the fields for profiling. */
3899 if (PROFILE_MODEL_P (current_cpu))
3901 FLD (in_Rd) = f_operand2;
3902 FLD (in_Rs) = f_operand1;
3903 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3910 extract_sfmt_and_w_r:
3912 const IDESC *idesc = &crisv32f_insn_data[itype];
3913 CGEN_INSN_INT insn = base_insn;
3914 #define FLD(f) abuf->fields.sfmt_addc_m.f
3918 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3919 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3921 /* Record the fields for the semantic handler. */
3922 FLD (f_operand2) = f_operand2;
3923 FLD (f_operand1) = f_operand1;
3924 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));
3926 #if WITH_PROFILE_MODEL_P
3927 /* Record the fields for profiling. */
3928 if (PROFILE_MODEL_P (current_cpu))
3930 FLD (in_Rd) = f_operand2;
3931 FLD (in_Rs) = f_operand1;
3932 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3939 extract_sfmt_and_d_r:
3941 const IDESC *idesc = &crisv32f_insn_data[itype];
3942 CGEN_INSN_INT insn = base_insn;
3943 #define FLD(f) abuf->fields.sfmt_addc_m.f
3947 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3948 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3950 /* Record the fields for the semantic handler. */
3951 FLD (f_operand2) = f_operand2;
3952 FLD (f_operand1) = f_operand1;
3953 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));
3955 #if WITH_PROFILE_MODEL_P
3956 /* Record the fields for profiling. */
3957 if (PROFILE_MODEL_P (current_cpu))
3959 FLD (in_Rd) = f_operand2;
3960 FLD (in_Rs) = f_operand1;
3961 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3968 extract_sfmt_and_m_b_m:
3970 const IDESC *idesc = &crisv32f_insn_data[itype];
3971 CGEN_INSN_INT insn = base_insn;
3972 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3977 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3978 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3979 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3981 /* Record the fields for the semantic handler. */
3982 FLD (f_operand2) = f_operand2;
3983 FLD (f_operand1) = f_operand1;
3984 FLD (f_memmode) = f_memmode;
3985 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));
3987 #if WITH_PROFILE_MODEL_P
3988 /* Record the fields for profiling. */
3989 if (PROFILE_MODEL_P (current_cpu))
3991 FLD (in_Rd) = f_operand2;
3992 FLD (in_Rs) = f_operand1;
3993 FLD (out_Rs) = f_operand1;
3994 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)));
4001 extract_sfmt_and_m_w_m:
4003 const IDESC *idesc = &crisv32f_insn_data[itype];
4004 CGEN_INSN_INT insn = base_insn;
4005 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4010 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4011 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4012 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4014 /* Record the fields for the semantic handler. */
4015 FLD (f_operand2) = f_operand2;
4016 FLD (f_operand1) = f_operand1;
4017 FLD (f_memmode) = f_memmode;
4018 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));
4020 #if WITH_PROFILE_MODEL_P
4021 /* Record the fields for profiling. */
4022 if (PROFILE_MODEL_P (current_cpu))
4024 FLD (in_Rd) = f_operand2;
4025 FLD (in_Rs) = f_operand1;
4026 FLD (out_Rs) = f_operand1;
4027 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)));
4034 extract_sfmt_and_m_d_m:
4036 const IDESC *idesc = &crisv32f_insn_data[itype];
4037 CGEN_INSN_INT insn = base_insn;
4038 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4043 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4044 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4045 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4047 /* Record the fields for the semantic handler. */
4048 FLD (f_operand2) = f_operand2;
4049 FLD (f_operand1) = f_operand1;
4050 FLD (f_memmode) = f_memmode;
4051 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));
4053 #if WITH_PROFILE_MODEL_P
4054 /* Record the fields for profiling. */
4055 if (PROFILE_MODEL_P (current_cpu))
4057 FLD (in_Rd) = f_operand2;
4058 FLD (in_Rs) = f_operand1;
4059 FLD (out_Rs) = f_operand1;
4060 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)));
4067 extract_sfmt_andcbr:
4069 const IDESC *idesc = &crisv32f_insn_data[itype];
4070 CGEN_INSN_INT insn = base_insn;
4071 #define FLD(f) abuf->fields.sfmt_addcbr.f
4072 INT f_indir_pc__byte;
4074 /* Contents of trailing part of insn. */
4077 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4078 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
4079 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4081 /* Record the fields for the semantic handler. */
4082 FLD (f_operand2) = f_operand2;
4083 FLD (f_indir_pc__byte) = f_indir_pc__byte;
4084 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));
4086 #if WITH_PROFILE_MODEL_P
4087 /* Record the fields for profiling. */
4088 if (PROFILE_MODEL_P (current_cpu))
4090 FLD (in_Rd) = f_operand2;
4091 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4098 extract_sfmt_andcwr:
4100 const IDESC *idesc = &crisv32f_insn_data[itype];
4101 CGEN_INSN_INT insn = base_insn;
4102 #define FLD(f) abuf->fields.sfmt_addcwr.f
4103 INT f_indir_pc__word;
4105 /* Contents of trailing part of insn. */
4108 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4109 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
4110 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4112 /* Record the fields for the semantic handler. */
4113 FLD (f_operand2) = f_operand2;
4114 FLD (f_indir_pc__word) = f_indir_pc__word;
4115 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));
4117 #if WITH_PROFILE_MODEL_P
4118 /* Record the fields for profiling. */
4119 if (PROFILE_MODEL_P (current_cpu))
4121 FLD (in_Rd) = f_operand2;
4122 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4129 extract_sfmt_andcdr:
4131 const IDESC *idesc = &crisv32f_insn_data[itype];
4132 CGEN_INSN_INT insn = base_insn;
4133 #define FLD(f) abuf->fields.sfmt_addcdr.f
4134 INT f_indir_pc__dword;
4136 /* Contents of trailing part of insn. */
4139 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4140 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
4141 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4143 /* Record the fields for the semantic handler. */
4144 FLD (f_operand2) = f_operand2;
4145 FLD (f_indir_pc__dword) = f_indir_pc__dword;
4146 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));
4148 #if WITH_PROFILE_MODEL_P
4149 /* Record the fields for profiling. */
4150 if (PROFILE_MODEL_P (current_cpu))
4152 FLD (in_Rd) = f_operand2;
4153 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4162 const IDESC *idesc = &crisv32f_insn_data[itype];
4163 CGEN_INSN_INT insn = base_insn;
4164 #define FLD(f) abuf->fields.sfmt_andq.f
4168 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4169 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
4171 /* Record the fields for the semantic handler. */
4172 FLD (f_operand2) = f_operand2;
4174 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));
4176 #if WITH_PROFILE_MODEL_P
4177 /* Record the fields for profiling. */
4178 if (PROFILE_MODEL_P (current_cpu))
4180 FLD (in_Rd) = f_operand2;
4181 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4190 const IDESC *idesc = &crisv32f_insn_data[itype];
4191 CGEN_INSN_INT insn = base_insn;
4192 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
4196 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4197 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4199 /* Record the fields for the semantic handler. */
4200 FLD (f_operand1) = f_operand1;
4201 FLD (f_operand2) = f_operand2;
4202 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));
4204 #if WITH_PROFILE_MODEL_P
4205 /* Record the fields for profiling. */
4206 if (PROFILE_MODEL_P (current_cpu))
4208 FLD (in_Rs) = f_operand1;
4209 FLD (out_Rs) = f_operand1;
4216 extract_sfmt_asrr_b_r:
4218 const IDESC *idesc = &crisv32f_insn_data[itype];
4219 CGEN_INSN_INT insn = base_insn;
4220 #define FLD(f) abuf->fields.sfmt_addc_m.f
4224 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4225 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4227 /* Record the fields for the semantic handler. */
4228 FLD (f_operand2) = f_operand2;
4229 FLD (f_operand1) = f_operand1;
4230 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));
4232 #if WITH_PROFILE_MODEL_P
4233 /* Record the fields for profiling. */
4234 if (PROFILE_MODEL_P (current_cpu))
4236 FLD (in_Rd) = f_operand2;
4237 FLD (in_Rs) = f_operand1;
4238 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4247 const IDESC *idesc = &crisv32f_insn_data[itype];
4248 CGEN_INSN_INT insn = base_insn;
4249 #define FLD(f) abuf->fields.sfmt_asrq.f
4253 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4254 f_u5 = EXTRACT_LSB0_UINT (insn, 16, 4, 5);
4256 /* Record the fields for the semantic handler. */
4257 FLD (f_operand2) = f_operand2;
4259 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));
4261 #if WITH_PROFILE_MODEL_P
4262 /* Record the fields for profiling. */
4263 if (PROFILE_MODEL_P (current_cpu))
4265 FLD (in_Rd) = f_operand2;
4266 FLD (out_Rd) = f_operand2;
4273 extract_sfmt_lsrr_b_r:
4275 const IDESC *idesc = &crisv32f_insn_data[itype];
4276 CGEN_INSN_INT insn = base_insn;
4277 #define FLD(f) abuf->fields.sfmt_addc_m.f
4281 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4282 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4284 /* Record the fields for the semantic handler. */
4285 FLD (f_operand2) = f_operand2;
4286 FLD (f_operand1) = f_operand1;
4287 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));
4289 #if WITH_PROFILE_MODEL_P
4290 /* Record the fields for profiling. */
4291 if (PROFILE_MODEL_P (current_cpu))
4293 FLD (in_Rd) = f_operand2;
4294 FLD (in_Rs) = f_operand1;
4295 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4302 extract_sfmt_lsrr_d_r:
4304 const IDESC *idesc = &crisv32f_insn_data[itype];
4305 CGEN_INSN_INT insn = base_insn;
4306 #define FLD(f) abuf->fields.sfmt_addc_m.f
4310 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4311 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4313 /* Record the fields for the semantic handler. */
4314 FLD (f_operand2) = f_operand2;
4315 FLD (f_operand1) = f_operand1;
4316 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));
4318 #if WITH_PROFILE_MODEL_P
4319 /* Record the fields for profiling. */
4320 if (PROFILE_MODEL_P (current_cpu))
4322 FLD (in_Rd) = f_operand2;
4323 FLD (in_Rs) = f_operand1;
4324 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4333 const IDESC *idesc = &crisv32f_insn_data[itype];
4334 CGEN_INSN_INT insn = base_insn;
4335 #define FLD(f) abuf->fields.sfmt_muls_b.f
4339 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
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 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));
4347 #if WITH_PROFILE_MODEL_P
4348 /* Record the fields for profiling. */
4349 if (PROFILE_MODEL_P (current_cpu))
4351 FLD (in_Rd) = f_operand2;
4352 FLD (in_Rs) = f_operand1;
4361 const IDESC *idesc = &crisv32f_insn_data[itype];
4362 CGEN_INSN_INT insn = base_insn;
4363 #define FLD(f) abuf->fields.sfmt_asrq.f
4367 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4368 f_u5 = EXTRACT_LSB0_UINT (insn, 16, 4, 5);
4370 /* Record the fields for the semantic handler. */
4371 FLD (f_operand2) = f_operand2;
4373 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));
4375 #if WITH_PROFILE_MODEL_P
4376 /* Record the fields for profiling. */
4377 if (PROFILE_MODEL_P (current_cpu))
4379 FLD (in_Rd) = f_operand2;
4388 const IDESC *idesc = &crisv32f_insn_data[itype];
4389 CGEN_INSN_INT insn = base_insn;
4390 #define FLD(f) abuf->fields.sfmt_setf.f
4395 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4396 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4397 f_dstsrc = ((((f_operand1) | (((f_operand2) << (4))))) & (255));
4399 /* Record the fields for the semantic handler. */
4400 FLD (f_dstsrc) = f_dstsrc;
4401 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
4409 const IDESC *idesc = &crisv32f_insn_data[itype];
4410 #define FLD(f) abuf->fields.sfmt_rfe.f
4413 /* Record the fields for the semantic handler. */
4414 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfe", (char *) 0));
4416 #if WITH_PROFILE_MODEL_P
4417 /* Record the fields for profiling. */
4418 if (PROFILE_MODEL_P (current_cpu))
4420 FLD (in_h_sr_SI_13) = 13;
4421 FLD (out_h_sr_SI_13) = 13;
4430 const IDESC *idesc = &crisv32f_insn_data[itype];
4431 #define FLD(f) abuf->fields.sfmt_rfe.f
4434 /* Record the fields for the semantic handler. */
4435 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sfe", (char *) 0));
4437 #if WITH_PROFILE_MODEL_P
4438 /* Record the fields for profiling. */
4439 if (PROFILE_MODEL_P (current_cpu))
4441 FLD (in_h_sr_SI_13) = 13;
4442 FLD (out_h_sr_SI_13) = 13;
4451 const IDESC *idesc = &crisv32f_insn_data[itype];
4452 #define FLD(f) abuf->fields.fmt_empty.f
4455 /* Record the fields for the semantic handler. */
4456 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfg", (char *) 0));
4458 #if WITH_PROFILE_MODEL_P
4459 /* Record the fields for profiling. */
4460 if (PROFILE_MODEL_P (current_cpu))
4470 const IDESC *idesc = &crisv32f_insn_data[itype];
4471 #define FLD(f) abuf->fields.sfmt_rfe.f
4474 /* Record the fields for the semantic handler. */
4475 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfn", (char *) 0));
4477 #if WITH_PROFILE_MODEL_P
4478 /* Record the fields for profiling. */
4479 if (PROFILE_MODEL_P (current_cpu))
4481 FLD (in_h_sr_SI_13) = 13;
4482 FLD (out_h_sr_SI_13) = 13;
4491 const IDESC *idesc = &crisv32f_insn_data[itype];
4492 #define FLD(f) abuf->fields.fmt_empty.f
4495 /* Record the fields for the semantic handler. */
4496 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_halt", (char *) 0));
4498 #if WITH_PROFILE_MODEL_P
4499 /* Record the fields for profiling. */
4500 if (PROFILE_MODEL_P (current_cpu))
4510 const IDESC *idesc = &crisv32f_insn_data[itype];
4511 CGEN_INSN_INT insn = base_insn;
4512 #define FLD(f) abuf->fields.sfmt_bcc_b.f
4518 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4519 f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
4520 f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
4524 tmp_abslo = ((f_disp9_lo) << (1));
4525 tmp_absval = ((((((f_disp9_hi) != (0))) ? ((~ (255))) : (0))) | (tmp_abslo));
4526 f_disp9 = ((((pc) + (tmp_absval))) + (((GET_H_V32_V32 ()) ? (0) : (2))));
4529 /* Record the fields for the semantic handler. */
4530 FLD (f_operand2) = f_operand2;
4531 FLD (i_o_pcrel) = f_disp9;
4532 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));
4534 #if WITH_PROFILE_MODEL_P
4535 /* Record the fields for profiling. */
4536 if (PROFILE_MODEL_P (current_cpu))
4546 const IDESC *idesc = &crisv32f_insn_data[itype];
4547 CGEN_INSN_INT insn = base_insn;
4548 #define FLD(f) abuf->fields.sfmt_bcc_b.f
4553 f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
4554 f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
4558 tmp_abslo = ((f_disp9_lo) << (1));
4559 tmp_absval = ((((((f_disp9_hi) != (0))) ? ((~ (255))) : (0))) | (tmp_abslo));
4560 f_disp9 = ((((pc) + (tmp_absval))) + (((GET_H_V32_V32 ()) ? (0) : (2))));
4563 /* Record the fields for the semantic handler. */
4564 FLD (i_o_pcrel) = f_disp9;
4565 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
4567 #if WITH_PROFILE_MODEL_P
4568 /* Record the fields for profiling. */
4569 if (PROFILE_MODEL_P (current_cpu))
4579 const IDESC *idesc = &crisv32f_insn_data[itype];
4580 CGEN_INSN_INT insn = base_insn;
4581 #define FLD(f) abuf->fields.sfmt_bcc_w.f
4582 SI f_indir_pc__word_pcrel;
4584 /* Contents of trailing part of insn. */
4587 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4588 f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_V32 ()) ? (0) : (4))))));
4589 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4591 /* Record the fields for the semantic handler. */
4592 FLD (f_operand2) = f_operand2;
4593 FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
4594 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));
4596 #if WITH_PROFILE_MODEL_P
4597 /* Record the fields for profiling. */
4598 if (PROFILE_MODEL_P (current_cpu))
4608 const IDESC *idesc = &crisv32f_insn_data[itype];
4609 CGEN_INSN_INT insn = base_insn;
4610 #define FLD(f) abuf->fields.sfmt_bcc_w.f
4611 SI f_indir_pc__word_pcrel;
4612 /* Contents of trailing part of insn. */
4615 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4616 f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_V32 ()) ? (0) : (4))))));
4618 /* Record the fields for the semantic handler. */
4619 FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
4620 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
4622 #if WITH_PROFILE_MODEL_P
4623 /* Record the fields for profiling. */
4624 if (PROFILE_MODEL_P (current_cpu))
4634 const IDESC *idesc = &crisv32f_insn_data[itype];
4635 CGEN_INSN_INT insn = base_insn;
4636 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
4640 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4641 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4643 /* Record the fields for the semantic handler. */
4644 FLD (f_operand1) = f_operand1;
4645 FLD (f_operand2) = f_operand2;
4646 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jas_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4648 #if WITH_PROFILE_MODEL_P
4649 /* Record the fields for profiling. */
4650 if (PROFILE_MODEL_P (current_cpu))
4652 FLD (in_Rs) = f_operand1;
4653 FLD (out_Pd) = f_operand2;
4662 const IDESC *idesc = &crisv32f_insn_data[itype];
4663 CGEN_INSN_INT insn = base_insn;
4664 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p0.f
4665 INT f_indir_pc__dword;
4667 /* Contents of trailing part of insn. */
4670 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4671 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
4672 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4674 /* Record the fields for the semantic handler. */
4675 FLD (f_indir_pc__dword) = f_indir_pc__dword;
4676 FLD (f_operand2) = f_operand2;
4677 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jas_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4679 #if WITH_PROFILE_MODEL_P
4680 /* Record the fields for profiling. */
4681 if (PROFILE_MODEL_P (current_cpu))
4683 FLD (out_Pd) = f_operand2;
4690 extract_sfmt_jump_p:
4692 const IDESC *idesc = &crisv32f_insn_data[itype];
4693 CGEN_INSN_INT insn = base_insn;
4694 #define FLD(f) abuf->fields.sfmt_mcp.f
4697 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4699 /* Record the fields for the semantic handler. */
4700 FLD (f_operand2) = f_operand2;
4701 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_p", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4703 #if WITH_PROFILE_MODEL_P
4704 /* Record the fields for profiling. */
4705 if (PROFILE_MODEL_P (current_cpu))
4707 FLD (in_Ps) = f_operand2;
4716 const IDESC *idesc = &crisv32f_insn_data[itype];
4717 CGEN_INSN_INT insn = base_insn;
4718 #define FLD(f) abuf->fields.sfmt_bas_c.f
4719 SI f_indir_pc__dword_pcrel;
4721 /* Contents of trailing part of insn. */
4724 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4725 f_indir_pc__dword_pcrel = ((pc) + ((0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0))));
4726 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4728 /* Record the fields for the semantic handler. */
4729 FLD (f_operand2) = f_operand2;
4730 FLD (i_const32_pcrel) = f_indir_pc__dword_pcrel;
4731 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bas_c", "f_operand2 0x%x", 'x', f_operand2, "const32_pcrel 0x%x", 'x', f_indir_pc__dword_pcrel, (char *) 0));
4733 #if WITH_PROFILE_MODEL_P
4734 /* Record the fields for profiling. */
4735 if (PROFILE_MODEL_P (current_cpu))
4737 FLD (out_Pd) = f_operand2;
4744 extract_sfmt_jasc_r:
4746 const IDESC *idesc = &crisv32f_insn_data[itype];
4747 CGEN_INSN_INT insn = base_insn;
4748 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
4752 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4753 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4755 /* Record the fields for the semantic handler. */
4756 FLD (f_operand1) = f_operand1;
4757 FLD (f_operand2) = f_operand2;
4758 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jasc_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
4760 #if WITH_PROFILE_MODEL_P
4761 /* Record the fields for profiling. */
4762 if (PROFILE_MODEL_P (current_cpu))
4764 FLD (in_Rs) = f_operand1;
4765 FLD (out_Pd) = f_operand2;
4774 const IDESC *idesc = &crisv32f_insn_data[itype];
4775 CGEN_INSN_INT insn = base_insn;
4776 #define FLD(f) abuf->fields.sfmt_break.f
4779 f_u4 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4781 /* Record the fields for the semantic handler. */
4783 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
4785 #if WITH_PROFILE_MODEL_P
4786 /* Record the fields for profiling. */
4787 if (PROFILE_MODEL_P (current_cpu))
4795 extract_sfmt_bound_cb:
4797 const IDESC *idesc = &crisv32f_insn_data[itype];
4798 CGEN_INSN_INT insn = base_insn;
4799 #define FLD(f) abuf->fields.sfmt_bound_cb.f
4800 INT f_indir_pc__byte;
4802 /* Contents of trailing part of insn. */
4805 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4806 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
4807 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4809 /* Record the fields for the semantic handler. */
4810 FLD (f_operand2) = f_operand2;
4811 FLD (f_indir_pc__byte) = f_indir_pc__byte;
4812 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));
4814 #if WITH_PROFILE_MODEL_P
4815 /* Record the fields for profiling. */
4816 if (PROFILE_MODEL_P (current_cpu))
4818 FLD (in_Rd) = f_operand2;
4819 FLD (out_Rd) = f_operand2;
4826 extract_sfmt_bound_cw:
4828 const IDESC *idesc = &crisv32f_insn_data[itype];
4829 CGEN_INSN_INT insn = base_insn;
4830 #define FLD(f) abuf->fields.sfmt_bound_cw.f
4831 INT f_indir_pc__word;
4833 /* Contents of trailing part of insn. */
4836 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4837 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
4838 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4840 /* Record the fields for the semantic handler. */
4841 FLD (f_operand2) = f_operand2;
4842 FLD (f_indir_pc__word) = f_indir_pc__word;
4843 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));
4845 #if WITH_PROFILE_MODEL_P
4846 /* Record the fields for profiling. */
4847 if (PROFILE_MODEL_P (current_cpu))
4849 FLD (in_Rd) = f_operand2;
4850 FLD (out_Rd) = f_operand2;
4857 extract_sfmt_bound_cd:
4859 const IDESC *idesc = &crisv32f_insn_data[itype];
4860 CGEN_INSN_INT insn = base_insn;
4861 #define FLD(f) abuf->fields.sfmt_bound_cd.f
4862 INT f_indir_pc__dword;
4864 /* Contents of trailing part of insn. */
4867 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4868 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
4869 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4871 /* Record the fields for the semantic handler. */
4872 FLD (f_operand2) = f_operand2;
4873 FLD (f_indir_pc__dword) = f_indir_pc__dword;
4874 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));
4876 #if WITH_PROFILE_MODEL_P
4877 /* Record the fields for profiling. */
4878 if (PROFILE_MODEL_P (current_cpu))
4880 FLD (in_Rd) = f_operand2;
4881 FLD (out_Rd) = f_operand2;
4890 const IDESC *idesc = &crisv32f_insn_data[itype];
4891 CGEN_INSN_INT insn = base_insn;
4892 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
4896 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4897 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4899 /* Record the fields for the semantic handler. */
4900 FLD (f_operand2) = f_operand2;
4901 FLD (f_operand1) = f_operand1;
4902 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));
4904 #if WITH_PROFILE_MODEL_P
4905 /* Record the fields for profiling. */
4906 if (PROFILE_MODEL_P (current_cpu))
4908 FLD (out_Rs) = f_operand1;
4917 const IDESC *idesc = &crisv32f_insn_data[itype];
4918 CGEN_INSN_INT insn = base_insn;
4919 #define FLD(f) abuf->fields.sfmt_addoq.f
4923 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4924 f_s8 = EXTRACT_LSB0_INT (insn, 16, 7, 8);
4926 /* Record the fields for the semantic handler. */
4927 FLD (f_operand2) = f_operand2;
4929 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));
4931 #if WITH_PROFILE_MODEL_P
4932 /* Record the fields for profiling. */
4933 if (PROFILE_MODEL_P (current_cpu))
4935 FLD (in_Rd) = f_operand2;
4942 extract_sfmt_addo_m_b_m:
4944 const IDESC *idesc = &crisv32f_insn_data[itype];
4945 CGEN_INSN_INT insn = base_insn;
4946 #define FLD(f) abuf->fields.sfmt_addc_m.f
4951 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4952 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4953 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4955 /* Record the fields for the semantic handler. */
4956 FLD (f_operand2) = f_operand2;
4957 FLD (f_operand1) = f_operand1;
4958 FLD (f_memmode) = f_memmode;
4959 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));
4961 #if WITH_PROFILE_MODEL_P
4962 /* Record the fields for profiling. */
4963 if (PROFILE_MODEL_P (current_cpu))
4965 FLD (in_Rd) = f_operand2;
4966 FLD (in_Rs) = f_operand1;
4967 FLD (out_Rs) = f_operand1;
4974 extract_sfmt_addo_m_w_m:
4976 const IDESC *idesc = &crisv32f_insn_data[itype];
4977 CGEN_INSN_INT insn = base_insn;
4978 #define FLD(f) abuf->fields.sfmt_addc_m.f
4983 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4984 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4985 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4987 /* Record the fields for the semantic handler. */
4988 FLD (f_operand2) = f_operand2;
4989 FLD (f_operand1) = f_operand1;
4990 FLD (f_memmode) = f_memmode;
4991 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));
4993 #if WITH_PROFILE_MODEL_P
4994 /* Record the fields for profiling. */
4995 if (PROFILE_MODEL_P (current_cpu))
4997 FLD (in_Rd) = f_operand2;
4998 FLD (in_Rs) = f_operand1;
4999 FLD (out_Rs) = f_operand1;
5006 extract_sfmt_addo_m_d_m:
5008 const IDESC *idesc = &crisv32f_insn_data[itype];
5009 CGEN_INSN_INT insn = base_insn;
5010 #define FLD(f) abuf->fields.sfmt_addc_m.f
5015 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5016 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5017 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5019 /* Record the fields for the semantic handler. */
5020 FLD (f_operand2) = f_operand2;
5021 FLD (f_operand1) = f_operand1;
5022 FLD (f_memmode) = f_memmode;
5023 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));
5025 #if WITH_PROFILE_MODEL_P
5026 /* Record the fields for profiling. */
5027 if (PROFILE_MODEL_P (current_cpu))
5029 FLD (in_Rd) = f_operand2;
5030 FLD (in_Rs) = f_operand1;
5031 FLD (out_Rs) = f_operand1;
5038 extract_sfmt_addo_cb:
5040 const IDESC *idesc = &crisv32f_insn_data[itype];
5041 CGEN_INSN_INT insn = base_insn;
5042 #define FLD(f) abuf->fields.sfmt_bound_cb.f
5043 INT f_indir_pc__byte;
5045 /* Contents of trailing part of insn. */
5048 word_1 = GETIMEMUHI (current_cpu, pc + 2);
5049 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
5050 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5052 /* Record the fields for the semantic handler. */
5053 FLD (f_operand2) = f_operand2;
5054 FLD (f_indir_pc__byte) = f_indir_pc__byte;
5055 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));
5057 #if WITH_PROFILE_MODEL_P
5058 /* Record the fields for profiling. */
5059 if (PROFILE_MODEL_P (current_cpu))
5061 FLD (in_Rd) = f_operand2;
5068 extract_sfmt_addo_cw:
5070 const IDESC *idesc = &crisv32f_insn_data[itype];
5071 CGEN_INSN_INT insn = base_insn;
5072 #define FLD(f) abuf->fields.sfmt_bound_cw.f
5073 INT f_indir_pc__word;
5075 /* Contents of trailing part of insn. */
5078 word_1 = GETIMEMUHI (current_cpu, pc + 2);
5079 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
5080 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5082 /* Record the fields for the semantic handler. */
5083 FLD (f_operand2) = f_operand2;
5084 FLD (f_indir_pc__word) = f_indir_pc__word;
5085 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));
5087 #if WITH_PROFILE_MODEL_P
5088 /* Record the fields for profiling. */
5089 if (PROFILE_MODEL_P (current_cpu))
5091 FLD (in_Rd) = f_operand2;
5098 extract_sfmt_addo_cd:
5100 const IDESC *idesc = &crisv32f_insn_data[itype];
5101 CGEN_INSN_INT insn = base_insn;
5102 #define FLD(f) abuf->fields.sfmt_bound_cd.f
5103 INT f_indir_pc__dword;
5105 /* Contents of trailing part of insn. */
5108 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5109 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
5110 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5112 /* Record the fields for the semantic handler. */
5113 FLD (f_operand2) = f_operand2;
5114 FLD (f_indir_pc__dword) = f_indir_pc__dword;
5115 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));
5117 #if WITH_PROFILE_MODEL_P
5118 /* Record the fields for profiling. */
5119 if (PROFILE_MODEL_P (current_cpu))
5121 FLD (in_Rd) = f_operand2;
5128 extract_sfmt_addi_acr_b_r:
5130 const IDESC *idesc = &crisv32f_insn_data[itype];
5131 CGEN_INSN_INT insn = base_insn;
5132 #define FLD(f) abuf->fields.sfmt_muls_b.f
5136 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5137 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5139 /* Record the fields for the semantic handler. */
5140 FLD (f_operand2) = f_operand2;
5141 FLD (f_operand1) = f_operand1;
5142 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));
5144 #if WITH_PROFILE_MODEL_P
5145 /* Record the fields for profiling. */
5146 if (PROFILE_MODEL_P (current_cpu))
5148 FLD (in_Rd) = f_operand2;
5149 FLD (in_Rs) = f_operand1;
5158 const IDESC *idesc = &crisv32f_insn_data[itype];
5159 CGEN_INSN_INT insn = base_insn;
5160 #define FLD(f) abuf->fields.sfmt_mcp.f
5163 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5165 /* Record the fields for the semantic handler. */
5166 FLD (f_operand1) = f_operand1;
5167 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fidxi", "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
5169 #if WITH_PROFILE_MODEL_P
5170 /* Record the fields for profiling. */
5171 if (PROFILE_MODEL_P (current_cpu))
5173 FLD (in_Rs) = f_operand1;