1 /* Simulator instruction decoder for crisv10f.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996-2004 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 crisv10f
26 #define WANT_CPU_CRISV10F
29 #include "sim-assert.h"
31 /* The instruction descriptor array.
32 This is computed at runtime. Space for it is not malloc'd to save a
33 teensy bit of cpu in the decoder. Moving it to malloc space is trivial
34 but won't be done until necessary (we don't currently support the runtime
35 addition of instructions nor an SMP machine with different cpus). */
36 static IDESC crisv10f_insn_data[CRISV10F_INSN__MAX];
38 /* Commas between elements are contained in the macros.
39 Some of these are conditionally compiled out. */
41 static const struct insn_sem crisv10f_insn_sem[] =
43 { VIRTUAL_INSN_X_INVALID, CRISV10F_INSN_X_INVALID, CRISV10F_SFMT_EMPTY },
44 { VIRTUAL_INSN_X_AFTER, CRISV10F_INSN_X_AFTER, CRISV10F_SFMT_EMPTY },
45 { VIRTUAL_INSN_X_BEFORE, CRISV10F_INSN_X_BEFORE, CRISV10F_SFMT_EMPTY },
46 { VIRTUAL_INSN_X_CTI_CHAIN, CRISV10F_INSN_X_CTI_CHAIN, CRISV10F_SFMT_EMPTY },
47 { VIRTUAL_INSN_X_CHAIN, CRISV10F_INSN_X_CHAIN, CRISV10F_SFMT_EMPTY },
48 { VIRTUAL_INSN_X_BEGIN, CRISV10F_INSN_X_BEGIN, CRISV10F_SFMT_EMPTY },
49 { CRIS_INSN_NOP, CRISV10F_INSN_NOP, CRISV10F_SFMT_NOP },
50 { CRIS_INSN_MOVE_B_R, CRISV10F_INSN_MOVE_B_R, CRISV10F_SFMT_MOVE_B_R },
51 { CRIS_INSN_MOVE_W_R, CRISV10F_INSN_MOVE_W_R, CRISV10F_SFMT_MOVE_B_R },
52 { CRIS_INSN_MOVE_D_R, CRISV10F_INSN_MOVE_D_R, CRISV10F_SFMT_MOVE_D_R },
53 { CRIS_INSN_MOVEPCR, CRISV10F_INSN_MOVEPCR, CRISV10F_SFMT_MOVEPCR },
54 { CRIS_INSN_MOVEQ, CRISV10F_INSN_MOVEQ, CRISV10F_SFMT_MOVEQ },
55 { CRIS_INSN_MOVS_B_R, CRISV10F_INSN_MOVS_B_R, CRISV10F_SFMT_MOVS_B_R },
56 { CRIS_INSN_MOVS_W_R, CRISV10F_INSN_MOVS_W_R, CRISV10F_SFMT_MOVS_B_R },
57 { CRIS_INSN_MOVU_B_R, CRISV10F_INSN_MOVU_B_R, CRISV10F_SFMT_MOVS_B_R },
58 { CRIS_INSN_MOVU_W_R, CRISV10F_INSN_MOVU_W_R, CRISV10F_SFMT_MOVS_B_R },
59 { CRIS_INSN_MOVECBR, CRISV10F_INSN_MOVECBR, CRISV10F_SFMT_MOVECBR },
60 { CRIS_INSN_MOVECWR, CRISV10F_INSN_MOVECWR, CRISV10F_SFMT_MOVECWR },
61 { CRIS_INSN_MOVECDR, CRISV10F_INSN_MOVECDR, CRISV10F_SFMT_MOVECDR },
62 { CRIS_INSN_MOVSCBR, CRISV10F_INSN_MOVSCBR, CRISV10F_SFMT_MOVSCBR },
63 { CRIS_INSN_MOVSCWR, CRISV10F_INSN_MOVSCWR, CRISV10F_SFMT_MOVSCWR },
64 { CRIS_INSN_MOVUCBR, CRISV10F_INSN_MOVUCBR, CRISV10F_SFMT_MOVUCBR },
65 { CRIS_INSN_MOVUCWR, CRISV10F_INSN_MOVUCWR, CRISV10F_SFMT_MOVUCWR },
66 { CRIS_INSN_ADDQ, CRISV10F_INSN_ADDQ, CRISV10F_SFMT_ADDQ },
67 { CRIS_INSN_SUBQ, CRISV10F_INSN_SUBQ, CRISV10F_SFMT_ADDQ },
68 { CRIS_INSN_CMP_R_B_R, CRISV10F_INSN_CMP_R_B_R, CRISV10F_SFMT_CMP_R_B_R },
69 { CRIS_INSN_CMP_R_W_R, CRISV10F_INSN_CMP_R_W_R, CRISV10F_SFMT_CMP_R_B_R },
70 { CRIS_INSN_CMP_R_D_R, CRISV10F_INSN_CMP_R_D_R, CRISV10F_SFMT_CMP_R_B_R },
71 { CRIS_INSN_CMP_M_B_M, CRISV10F_INSN_CMP_M_B_M, CRISV10F_SFMT_CMP_M_B_M },
72 { CRIS_INSN_CMP_M_W_M, CRISV10F_INSN_CMP_M_W_M, CRISV10F_SFMT_CMP_M_W_M },
73 { CRIS_INSN_CMP_M_D_M, CRISV10F_INSN_CMP_M_D_M, CRISV10F_SFMT_CMP_M_D_M },
74 { CRIS_INSN_CMPCBR, CRISV10F_INSN_CMPCBR, CRISV10F_SFMT_CMPCBR },
75 { CRIS_INSN_CMPCWR, CRISV10F_INSN_CMPCWR, CRISV10F_SFMT_CMPCWR },
76 { CRIS_INSN_CMPCDR, CRISV10F_INSN_CMPCDR, CRISV10F_SFMT_CMPCDR },
77 { CRIS_INSN_CMPQ, CRISV10F_INSN_CMPQ, CRISV10F_SFMT_CMPQ },
78 { CRIS_INSN_CMPS_M_B_M, CRISV10F_INSN_CMPS_M_B_M, CRISV10F_SFMT_CMP_M_B_M },
79 { CRIS_INSN_CMPS_M_W_M, CRISV10F_INSN_CMPS_M_W_M, CRISV10F_SFMT_CMP_M_W_M },
80 { CRIS_INSN_CMPSCBR, CRISV10F_INSN_CMPSCBR, CRISV10F_SFMT_CMPCBR },
81 { CRIS_INSN_CMPSCWR, CRISV10F_INSN_CMPSCWR, CRISV10F_SFMT_CMPCWR },
82 { CRIS_INSN_CMPU_M_B_M, CRISV10F_INSN_CMPU_M_B_M, CRISV10F_SFMT_CMP_M_B_M },
83 { CRIS_INSN_CMPU_M_W_M, CRISV10F_INSN_CMPU_M_W_M, CRISV10F_SFMT_CMP_M_W_M },
84 { CRIS_INSN_CMPUCBR, CRISV10F_INSN_CMPUCBR, CRISV10F_SFMT_CMPUCBR },
85 { CRIS_INSN_CMPUCWR, CRISV10F_INSN_CMPUCWR, CRISV10F_SFMT_CMPUCWR },
86 { CRIS_INSN_MOVE_M_B_M, CRISV10F_INSN_MOVE_M_B_M, CRISV10F_SFMT_MOVE_M_B_M },
87 { CRIS_INSN_MOVE_M_W_M, CRISV10F_INSN_MOVE_M_W_M, CRISV10F_SFMT_MOVE_M_W_M },
88 { CRIS_INSN_MOVE_M_D_M, CRISV10F_INSN_MOVE_M_D_M, CRISV10F_SFMT_MOVE_M_D_M },
89 { CRIS_INSN_MOVS_M_B_M, CRISV10F_INSN_MOVS_M_B_M, CRISV10F_SFMT_MOVS_M_B_M },
90 { CRIS_INSN_MOVS_M_W_M, CRISV10F_INSN_MOVS_M_W_M, CRISV10F_SFMT_MOVS_M_W_M },
91 { CRIS_INSN_MOVU_M_B_M, CRISV10F_INSN_MOVU_M_B_M, CRISV10F_SFMT_MOVS_M_B_M },
92 { CRIS_INSN_MOVU_M_W_M, CRISV10F_INSN_MOVU_M_W_M, CRISV10F_SFMT_MOVS_M_W_M },
93 { CRIS_INSN_MOVE_R_SPRV10, CRISV10F_INSN_MOVE_R_SPRV10, CRISV10F_SFMT_MOVE_R_SPRV10 },
94 { CRIS_INSN_MOVE_SPR_RV10, CRISV10F_INSN_MOVE_SPR_RV10, CRISV10F_SFMT_MOVE_SPR_RV10 },
95 { CRIS_INSN_RET_TYPE, CRISV10F_INSN_RET_TYPE, CRISV10F_SFMT_RET_TYPE },
96 { CRIS_INSN_MOVE_M_SPRV10, CRISV10F_INSN_MOVE_M_SPRV10, CRISV10F_SFMT_MOVE_M_SPRV10 },
97 { CRIS_INSN_MOVE_C_SPRV10_P0, CRISV10F_INSN_MOVE_C_SPRV10_P0, CRISV10F_SFMT_MOVE_C_SPRV10_P0 },
98 { CRIS_INSN_MOVE_C_SPRV10_P1, CRISV10F_INSN_MOVE_C_SPRV10_P1, CRISV10F_SFMT_MOVE_C_SPRV10_P0 },
99 { CRIS_INSN_MOVE_C_SPRV10_P4, CRISV10F_INSN_MOVE_C_SPRV10_P4, CRISV10F_SFMT_MOVE_C_SPRV10_P4 },
100 { CRIS_INSN_MOVE_C_SPRV10_P5, CRISV10F_INSN_MOVE_C_SPRV10_P5, CRISV10F_SFMT_MOVE_C_SPRV10_P4 },
101 { CRIS_INSN_MOVE_C_SPRV10_P8, CRISV10F_INSN_MOVE_C_SPRV10_P8, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
102 { CRIS_INSN_MOVE_C_SPRV10_P9, CRISV10F_INSN_MOVE_C_SPRV10_P9, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
103 { CRIS_INSN_MOVE_C_SPRV10_P10, CRISV10F_INSN_MOVE_C_SPRV10_P10, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
104 { CRIS_INSN_MOVE_C_SPRV10_P11, CRISV10F_INSN_MOVE_C_SPRV10_P11, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
105 { CRIS_INSN_MOVE_C_SPRV10_P12, CRISV10F_INSN_MOVE_C_SPRV10_P12, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
106 { CRIS_INSN_MOVE_C_SPRV10_P13, CRISV10F_INSN_MOVE_C_SPRV10_P13, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
107 { CRIS_INSN_MOVE_C_SPRV10_P7, CRISV10F_INSN_MOVE_C_SPRV10_P7, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
108 { CRIS_INSN_MOVE_C_SPRV10_P14, CRISV10F_INSN_MOVE_C_SPRV10_P14, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
109 { CRIS_INSN_MOVE_C_SPRV10_P15, CRISV10F_INSN_MOVE_C_SPRV10_P15, CRISV10F_SFMT_MOVE_C_SPRV10_P8 },
110 { CRIS_INSN_MOVE_SPR_MV10, CRISV10F_INSN_MOVE_SPR_MV10, CRISV10F_SFMT_MOVE_SPR_MV10 },
111 { CRIS_INSN_SBFS, CRISV10F_INSN_SBFS, CRISV10F_SFMT_SBFS },
112 { CRIS_INSN_MOVEM_R_M, CRISV10F_INSN_MOVEM_R_M, CRISV10F_SFMT_MOVEM_R_M },
113 { CRIS_INSN_MOVEM_M_R, CRISV10F_INSN_MOVEM_M_R, CRISV10F_SFMT_MOVEM_M_R },
114 { CRIS_INSN_MOVEM_M_PC, CRISV10F_INSN_MOVEM_M_PC, CRISV10F_SFMT_MOVEM_M_PC },
115 { CRIS_INSN_ADD_B_R, CRISV10F_INSN_ADD_B_R, CRISV10F_SFMT_ADD_B_R },
116 { CRIS_INSN_ADD_W_R, CRISV10F_INSN_ADD_W_R, CRISV10F_SFMT_ADD_B_R },
117 { CRIS_INSN_ADD_D_R, CRISV10F_INSN_ADD_D_R, CRISV10F_SFMT_ADD_D_R },
118 { CRIS_INSN_ADD_M_B_M, CRISV10F_INSN_ADD_M_B_M, CRISV10F_SFMT_ADD_M_B_M },
119 { CRIS_INSN_ADD_M_W_M, CRISV10F_INSN_ADD_M_W_M, CRISV10F_SFMT_ADD_M_W_M },
120 { CRIS_INSN_ADD_M_D_M, CRISV10F_INSN_ADD_M_D_M, CRISV10F_SFMT_ADD_M_D_M },
121 { CRIS_INSN_ADDCBR, CRISV10F_INSN_ADDCBR, CRISV10F_SFMT_ADDCBR },
122 { CRIS_INSN_ADDCWR, CRISV10F_INSN_ADDCWR, CRISV10F_SFMT_ADDCWR },
123 { CRIS_INSN_ADDCDR, CRISV10F_INSN_ADDCDR, CRISV10F_SFMT_ADDCDR },
124 { CRIS_INSN_ADDCPC, CRISV10F_INSN_ADDCPC, CRISV10F_SFMT_ADDCPC },
125 { CRIS_INSN_ADDS_B_R, CRISV10F_INSN_ADDS_B_R, CRISV10F_SFMT_ADD_D_R },
126 { CRIS_INSN_ADDS_W_R, CRISV10F_INSN_ADDS_W_R, CRISV10F_SFMT_ADD_D_R },
127 { CRIS_INSN_ADDS_M_B_M, CRISV10F_INSN_ADDS_M_B_M, CRISV10F_SFMT_ADDS_M_B_M },
128 { CRIS_INSN_ADDS_M_W_M, CRISV10F_INSN_ADDS_M_W_M, CRISV10F_SFMT_ADDS_M_W_M },
129 { CRIS_INSN_ADDSCBR, CRISV10F_INSN_ADDSCBR, CRISV10F_SFMT_ADDSCBR },
130 { CRIS_INSN_ADDSCWR, CRISV10F_INSN_ADDSCWR, CRISV10F_SFMT_ADDSCWR },
131 { CRIS_INSN_ADDSPCPC, CRISV10F_INSN_ADDSPCPC, CRISV10F_SFMT_ADDSPCPC },
132 { CRIS_INSN_ADDU_B_R, CRISV10F_INSN_ADDU_B_R, CRISV10F_SFMT_ADD_D_R },
133 { CRIS_INSN_ADDU_W_R, CRISV10F_INSN_ADDU_W_R, CRISV10F_SFMT_ADD_D_R },
134 { CRIS_INSN_ADDU_M_B_M, CRISV10F_INSN_ADDU_M_B_M, CRISV10F_SFMT_ADDS_M_B_M },
135 { CRIS_INSN_ADDU_M_W_M, CRISV10F_INSN_ADDU_M_W_M, CRISV10F_SFMT_ADDS_M_W_M },
136 { CRIS_INSN_ADDUCBR, CRISV10F_INSN_ADDUCBR, CRISV10F_SFMT_ADDSCBR },
137 { CRIS_INSN_ADDUCWR, CRISV10F_INSN_ADDUCWR, CRISV10F_SFMT_ADDSCWR },
138 { CRIS_INSN_SUB_B_R, CRISV10F_INSN_SUB_B_R, CRISV10F_SFMT_ADD_B_R },
139 { CRIS_INSN_SUB_W_R, CRISV10F_INSN_SUB_W_R, CRISV10F_SFMT_ADD_B_R },
140 { CRIS_INSN_SUB_D_R, CRISV10F_INSN_SUB_D_R, CRISV10F_SFMT_ADD_D_R },
141 { CRIS_INSN_SUB_M_B_M, CRISV10F_INSN_SUB_M_B_M, CRISV10F_SFMT_ADD_M_B_M },
142 { CRIS_INSN_SUB_M_W_M, CRISV10F_INSN_SUB_M_W_M, CRISV10F_SFMT_ADD_M_W_M },
143 { CRIS_INSN_SUB_M_D_M, CRISV10F_INSN_SUB_M_D_M, CRISV10F_SFMT_ADD_M_D_M },
144 { CRIS_INSN_SUBCBR, CRISV10F_INSN_SUBCBR, CRISV10F_SFMT_ADDCBR },
145 { CRIS_INSN_SUBCWR, CRISV10F_INSN_SUBCWR, CRISV10F_SFMT_ADDCWR },
146 { CRIS_INSN_SUBCDR, CRISV10F_INSN_SUBCDR, CRISV10F_SFMT_ADDCDR },
147 { CRIS_INSN_SUBS_B_R, CRISV10F_INSN_SUBS_B_R, CRISV10F_SFMT_ADD_D_R },
148 { CRIS_INSN_SUBS_W_R, CRISV10F_INSN_SUBS_W_R, CRISV10F_SFMT_ADD_D_R },
149 { CRIS_INSN_SUBS_M_B_M, CRISV10F_INSN_SUBS_M_B_M, CRISV10F_SFMT_ADDS_M_B_M },
150 { CRIS_INSN_SUBS_M_W_M, CRISV10F_INSN_SUBS_M_W_M, CRISV10F_SFMT_ADDS_M_W_M },
151 { CRIS_INSN_SUBSCBR, CRISV10F_INSN_SUBSCBR, CRISV10F_SFMT_ADDSCBR },
152 { CRIS_INSN_SUBSCWR, CRISV10F_INSN_SUBSCWR, CRISV10F_SFMT_ADDSCWR },
153 { CRIS_INSN_SUBU_B_R, CRISV10F_INSN_SUBU_B_R, CRISV10F_SFMT_ADD_D_R },
154 { CRIS_INSN_SUBU_W_R, CRISV10F_INSN_SUBU_W_R, CRISV10F_SFMT_ADD_D_R },
155 { CRIS_INSN_SUBU_M_B_M, CRISV10F_INSN_SUBU_M_B_M, CRISV10F_SFMT_ADDS_M_B_M },
156 { CRIS_INSN_SUBU_M_W_M, CRISV10F_INSN_SUBU_M_W_M, CRISV10F_SFMT_ADDS_M_W_M },
157 { CRIS_INSN_SUBUCBR, CRISV10F_INSN_SUBUCBR, CRISV10F_SFMT_ADDSCBR },
158 { CRIS_INSN_SUBUCWR, CRISV10F_INSN_SUBUCWR, CRISV10F_SFMT_ADDSCWR },
159 { CRIS_INSN_ADDI_B_R, CRISV10F_INSN_ADDI_B_R, CRISV10F_SFMT_ADDI_B_R },
160 { CRIS_INSN_ADDI_W_R, CRISV10F_INSN_ADDI_W_R, CRISV10F_SFMT_ADDI_B_R },
161 { CRIS_INSN_ADDI_D_R, CRISV10F_INSN_ADDI_D_R, CRISV10F_SFMT_ADDI_B_R },
162 { CRIS_INSN_NEG_B_R, CRISV10F_INSN_NEG_B_R, CRISV10F_SFMT_NEG_B_R },
163 { CRIS_INSN_NEG_W_R, CRISV10F_INSN_NEG_W_R, CRISV10F_SFMT_NEG_B_R },
164 { CRIS_INSN_NEG_D_R, CRISV10F_INSN_NEG_D_R, CRISV10F_SFMT_NEG_D_R },
165 { CRIS_INSN_TEST_M_B_M, CRISV10F_INSN_TEST_M_B_M, CRISV10F_SFMT_TEST_M_B_M },
166 { CRIS_INSN_TEST_M_W_M, CRISV10F_INSN_TEST_M_W_M, CRISV10F_SFMT_TEST_M_W_M },
167 { CRIS_INSN_TEST_M_D_M, CRISV10F_INSN_TEST_M_D_M, CRISV10F_SFMT_TEST_M_D_M },
168 { CRIS_INSN_MOVE_R_M_B_M, CRISV10F_INSN_MOVE_R_M_B_M, CRISV10F_SFMT_MOVE_R_M_B_M },
169 { CRIS_INSN_MOVE_R_M_W_M, CRISV10F_INSN_MOVE_R_M_W_M, CRISV10F_SFMT_MOVE_R_M_W_M },
170 { CRIS_INSN_MOVE_R_M_D_M, CRISV10F_INSN_MOVE_R_M_D_M, CRISV10F_SFMT_MOVE_R_M_D_M },
171 { CRIS_INSN_MULS_B, CRISV10F_INSN_MULS_B, CRISV10F_SFMT_MULS_B },
172 { CRIS_INSN_MULS_W, CRISV10F_INSN_MULS_W, CRISV10F_SFMT_MULS_B },
173 { CRIS_INSN_MULS_D, CRISV10F_INSN_MULS_D, CRISV10F_SFMT_MULS_B },
174 { CRIS_INSN_MULU_B, CRISV10F_INSN_MULU_B, CRISV10F_SFMT_MULS_B },
175 { CRIS_INSN_MULU_W, CRISV10F_INSN_MULU_W, CRISV10F_SFMT_MULS_B },
176 { CRIS_INSN_MULU_D, CRISV10F_INSN_MULU_D, CRISV10F_SFMT_MULS_B },
177 { CRIS_INSN_MSTEP, CRISV10F_INSN_MSTEP, CRISV10F_SFMT_MSTEP },
178 { CRIS_INSN_DSTEP, CRISV10F_INSN_DSTEP, CRISV10F_SFMT_DSTEP },
179 { CRIS_INSN_ABS, CRISV10F_INSN_ABS, CRISV10F_SFMT_MOVS_B_R },
180 { CRIS_INSN_AND_B_R, CRISV10F_INSN_AND_B_R, CRISV10F_SFMT_AND_B_R },
181 { CRIS_INSN_AND_W_R, CRISV10F_INSN_AND_W_R, CRISV10F_SFMT_AND_W_R },
182 { CRIS_INSN_AND_D_R, CRISV10F_INSN_AND_D_R, CRISV10F_SFMT_AND_D_R },
183 { CRIS_INSN_AND_M_B_M, CRISV10F_INSN_AND_M_B_M, CRISV10F_SFMT_AND_M_B_M },
184 { CRIS_INSN_AND_M_W_M, CRISV10F_INSN_AND_M_W_M, CRISV10F_SFMT_AND_M_W_M },
185 { CRIS_INSN_AND_M_D_M, CRISV10F_INSN_AND_M_D_M, CRISV10F_SFMT_AND_M_D_M },
186 { CRIS_INSN_ANDCBR, CRISV10F_INSN_ANDCBR, CRISV10F_SFMT_ANDCBR },
187 { CRIS_INSN_ANDCWR, CRISV10F_INSN_ANDCWR, CRISV10F_SFMT_ANDCWR },
188 { CRIS_INSN_ANDCDR, CRISV10F_INSN_ANDCDR, CRISV10F_SFMT_ANDCDR },
189 { CRIS_INSN_ANDQ, CRISV10F_INSN_ANDQ, CRISV10F_SFMT_ANDQ },
190 { CRIS_INSN_ORR_B_R, CRISV10F_INSN_ORR_B_R, CRISV10F_SFMT_AND_B_R },
191 { CRIS_INSN_ORR_W_R, CRISV10F_INSN_ORR_W_R, CRISV10F_SFMT_AND_W_R },
192 { CRIS_INSN_ORR_D_R, CRISV10F_INSN_ORR_D_R, CRISV10F_SFMT_AND_D_R },
193 { CRIS_INSN_OR_M_B_M, CRISV10F_INSN_OR_M_B_M, CRISV10F_SFMT_AND_M_B_M },
194 { CRIS_INSN_OR_M_W_M, CRISV10F_INSN_OR_M_W_M, CRISV10F_SFMT_AND_M_W_M },
195 { CRIS_INSN_OR_M_D_M, CRISV10F_INSN_OR_M_D_M, CRISV10F_SFMT_AND_M_D_M },
196 { CRIS_INSN_ORCBR, CRISV10F_INSN_ORCBR, CRISV10F_SFMT_ANDCBR },
197 { CRIS_INSN_ORCWR, CRISV10F_INSN_ORCWR, CRISV10F_SFMT_ANDCWR },
198 { CRIS_INSN_ORCDR, CRISV10F_INSN_ORCDR, CRISV10F_SFMT_ANDCDR },
199 { CRIS_INSN_ORQ, CRISV10F_INSN_ORQ, CRISV10F_SFMT_ANDQ },
200 { CRIS_INSN_XOR, CRISV10F_INSN_XOR, CRISV10F_SFMT_DSTEP },
201 { CRIS_INSN_SWAP, CRISV10F_INSN_SWAP, CRISV10F_SFMT_SWAP },
202 { CRIS_INSN_ASRR_B_R, CRISV10F_INSN_ASRR_B_R, CRISV10F_SFMT_ASRR_B_R },
203 { CRIS_INSN_ASRR_W_R, CRISV10F_INSN_ASRR_W_R, CRISV10F_SFMT_ASRR_B_R },
204 { CRIS_INSN_ASRR_D_R, CRISV10F_INSN_ASRR_D_R, CRISV10F_SFMT_AND_D_R },
205 { CRIS_INSN_ASRQ, CRISV10F_INSN_ASRQ, CRISV10F_SFMT_ASRQ },
206 { CRIS_INSN_LSRR_B_R, CRISV10F_INSN_LSRR_B_R, CRISV10F_SFMT_LSRR_B_R },
207 { CRIS_INSN_LSRR_W_R, CRISV10F_INSN_LSRR_W_R, CRISV10F_SFMT_LSRR_B_R },
208 { CRIS_INSN_LSRR_D_R, CRISV10F_INSN_LSRR_D_R, CRISV10F_SFMT_LSRR_D_R },
209 { CRIS_INSN_LSRQ, CRISV10F_INSN_LSRQ, CRISV10F_SFMT_ASRQ },
210 { CRIS_INSN_LSLR_B_R, CRISV10F_INSN_LSLR_B_R, CRISV10F_SFMT_LSRR_B_R },
211 { CRIS_INSN_LSLR_W_R, CRISV10F_INSN_LSLR_W_R, CRISV10F_SFMT_LSRR_B_R },
212 { CRIS_INSN_LSLR_D_R, CRISV10F_INSN_LSLR_D_R, CRISV10F_SFMT_LSRR_D_R },
213 { CRIS_INSN_LSLQ, CRISV10F_INSN_LSLQ, CRISV10F_SFMT_ASRQ },
214 { CRIS_INSN_BTST, CRISV10F_INSN_BTST, CRISV10F_SFMT_BTST },
215 { CRIS_INSN_BTSTQ, CRISV10F_INSN_BTSTQ, CRISV10F_SFMT_BTSTQ },
216 { CRIS_INSN_SETF, CRISV10F_INSN_SETF, CRISV10F_SFMT_SETF },
217 { CRIS_INSN_CLEARF, CRISV10F_INSN_CLEARF, CRISV10F_SFMT_SETF },
218 { CRIS_INSN_BCC_B, CRISV10F_INSN_BCC_B, CRISV10F_SFMT_BCC_B },
219 { CRIS_INSN_BA_B, CRISV10F_INSN_BA_B, CRISV10F_SFMT_BA_B },
220 { CRIS_INSN_BCC_W, CRISV10F_INSN_BCC_W, CRISV10F_SFMT_BCC_W },
221 { CRIS_INSN_BA_W, CRISV10F_INSN_BA_W, CRISV10F_SFMT_BA_W },
222 { CRIS_INSN_JUMP_R, CRISV10F_INSN_JUMP_R, CRISV10F_SFMT_JUMP_R },
223 { CRIS_INSN_JUMP_M, CRISV10F_INSN_JUMP_M, CRISV10F_SFMT_JUMP_M },
224 { CRIS_INSN_JUMP_C, CRISV10F_INSN_JUMP_C, CRISV10F_SFMT_JUMP_C },
225 { CRIS_INSN_BREAK, CRISV10F_INSN_BREAK, CRISV10F_SFMT_BREAK },
226 { CRIS_INSN_BOUND_R_B_R, CRISV10F_INSN_BOUND_R_B_R, CRISV10F_SFMT_DSTEP },
227 { CRIS_INSN_BOUND_R_W_R, CRISV10F_INSN_BOUND_R_W_R, CRISV10F_SFMT_DSTEP },
228 { CRIS_INSN_BOUND_R_D_R, CRISV10F_INSN_BOUND_R_D_R, CRISV10F_SFMT_DSTEP },
229 { CRIS_INSN_BOUND_M_B_M, CRISV10F_INSN_BOUND_M_B_M, CRISV10F_SFMT_BOUND_M_B_M },
230 { CRIS_INSN_BOUND_M_W_M, CRISV10F_INSN_BOUND_M_W_M, CRISV10F_SFMT_BOUND_M_W_M },
231 { CRIS_INSN_BOUND_M_D_M, CRISV10F_INSN_BOUND_M_D_M, CRISV10F_SFMT_BOUND_M_D_M },
232 { CRIS_INSN_BOUND_CB, CRISV10F_INSN_BOUND_CB, CRISV10F_SFMT_BOUND_CB },
233 { CRIS_INSN_BOUND_CW, CRISV10F_INSN_BOUND_CW, CRISV10F_SFMT_BOUND_CW },
234 { CRIS_INSN_BOUND_CD, CRISV10F_INSN_BOUND_CD, CRISV10F_SFMT_BOUND_CD },
235 { CRIS_INSN_SCC, CRISV10F_INSN_SCC, CRISV10F_SFMT_SCC },
236 { CRIS_INSN_LZ, CRISV10F_INSN_LZ, CRISV10F_SFMT_MOVS_B_R },
237 { CRIS_INSN_ADDOQ, CRISV10F_INSN_ADDOQ, CRISV10F_SFMT_ADDOQ },
238 { CRIS_INSN_BDAPQPC, CRISV10F_INSN_BDAPQPC, CRISV10F_SFMT_BDAPQPC },
239 { CRIS_INSN_ADDO_M_B_M, CRISV10F_INSN_ADDO_M_B_M, CRISV10F_SFMT_ADDO_M_B_M },
240 { CRIS_INSN_ADDO_M_W_M, CRISV10F_INSN_ADDO_M_W_M, CRISV10F_SFMT_ADDO_M_W_M },
241 { CRIS_INSN_ADDO_M_D_M, CRISV10F_INSN_ADDO_M_D_M, CRISV10F_SFMT_ADDO_M_D_M },
242 { CRIS_INSN_ADDO_CB, CRISV10F_INSN_ADDO_CB, CRISV10F_SFMT_ADDO_CB },
243 { CRIS_INSN_ADDO_CW, CRISV10F_INSN_ADDO_CW, CRISV10F_SFMT_ADDO_CW },
244 { CRIS_INSN_ADDO_CD, CRISV10F_INSN_ADDO_CD, CRISV10F_SFMT_ADDO_CD },
245 { CRIS_INSN_DIP_M, CRISV10F_INSN_DIP_M, CRISV10F_SFMT_DIP_M },
246 { CRIS_INSN_DIP_C, CRISV10F_INSN_DIP_C, CRISV10F_SFMT_DIP_C },
247 { CRIS_INSN_ADDI_ACR_B_R, CRISV10F_INSN_ADDI_ACR_B_R, CRISV10F_SFMT_ADDI_ACR_B_R },
248 { CRIS_INSN_ADDI_ACR_W_R, CRISV10F_INSN_ADDI_ACR_W_R, CRISV10F_SFMT_ADDI_ACR_B_R },
249 { CRIS_INSN_ADDI_ACR_D_R, CRISV10F_INSN_ADDI_ACR_D_R, CRISV10F_SFMT_ADDI_ACR_B_R },
250 { CRIS_INSN_BIAP_PC_B_R, CRISV10F_INSN_BIAP_PC_B_R, CRISV10F_SFMT_BIAP_PC_B_R },
251 { CRIS_INSN_BIAP_PC_W_R, CRISV10F_INSN_BIAP_PC_W_R, CRISV10F_SFMT_BIAP_PC_B_R },
252 { CRIS_INSN_BIAP_PC_D_R, CRISV10F_INSN_BIAP_PC_D_R, CRISV10F_SFMT_BIAP_PC_B_R },
255 static const struct insn_sem crisv10f_insn_sem_invalid = {
256 VIRTUAL_INSN_X_INVALID, CRISV10F_INSN_X_INVALID, CRISV10F_SFMT_EMPTY
259 /* Initialize an IDESC from the compile-time computable parts. */
262 init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
264 const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
268 if ((int) t->type <= 0)
269 id->idata = & cgen_virtual_insn_table[- (int) t->type];
271 id->idata = & insn_table[t->type];
272 id->attrs = CGEN_INSN_ATTRS (id->idata);
273 /* Oh my god, a magic number. */
274 id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
276 #if WITH_PROFILE_MODEL_P
277 id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
279 SIM_DESC sd = CPU_STATE (cpu);
280 SIM_ASSERT (t->index == id->timing->num);
284 /* Semantic pointers are initialized elsewhere. */
287 /* Initialize the instruction descriptor table. */
290 crisv10f_init_idesc_table (SIM_CPU *cpu)
293 const struct insn_sem *t,*tend;
294 int tabsize = CRISV10F_INSN__MAX;
295 IDESC *table = crisv10f_insn_data;
297 memset (table, 0, tabsize * sizeof (IDESC));
299 /* First set all entries to the `invalid insn'. */
300 t = & crisv10f_insn_sem_invalid;
301 for (id = table, tabend = table + tabsize; id < tabend; ++id)
302 init_idesc (cpu, id, t);
304 /* Now fill in the values for the chosen cpu. */
305 for (t = crisv10f_insn_sem, tend = t + sizeof (crisv10f_insn_sem) / sizeof (*t);
308 init_idesc (cpu, & table[t->index], t);
311 /* Link the IDESC table into the cpu. */
312 CPU_IDESC (cpu) = table;
315 /* Given an instruction, return a pointer to its IDESC entry. */
318 crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
319 CGEN_INSN_INT base_insn,
322 /* Result of decoder. */
323 CRISV10F_INSN_TYPE itype;
326 CGEN_INSN_INT insn = base_insn;
329 unsigned int val = (((insn >> 4) & (255 << 0)));
332 case 0 : /* fall through */
333 case 1 : /* fall through */
334 case 2 : /* fall through */
335 case 3 : /* fall through */
336 case 4 : /* fall through */
337 case 5 : /* fall through */
338 case 6 : /* fall through */
339 case 7 : /* fall through */
340 case 8 : /* fall through */
341 case 9 : /* fall through */
342 case 10 : /* fall through */
343 case 11 : /* fall through */
344 case 12 : /* fall through */
345 case 13 : /* fall through */
346 case 14 : /* fall through */
349 unsigned int val = (((insn >> 12) & (15 << 0)));
352 case 0 : /* fall through */
353 case 1 : /* fall through */
354 case 2 : /* fall through */
355 case 3 : /* fall through */
356 case 4 : /* fall through */
357 case 5 : /* fall through */
358 case 6 : /* fall through */
359 case 7 : /* fall through */
360 case 8 : /* fall through */
361 case 9 : /* fall through */
362 case 10 : /* fall through */
363 case 11 : /* fall through */
364 case 12 : /* fall through */
365 case 13 : /* fall through */
366 case 15 : itype = CRISV10F_INSN_BCC_B; goto extract_sfmt_bcc_b;
367 case 14 : itype = CRISV10F_INSN_BA_B; goto extract_sfmt_ba_b;
368 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
371 case 16 : /* fall through */
372 case 17 : /* fall through */
373 case 18 : /* fall through */
374 case 19 : /* fall through */
375 case 20 : /* fall through */
376 case 21 : /* fall through */
377 case 22 : /* fall through */
378 case 23 : /* fall through */
379 case 24 : /* fall through */
380 case 25 : /* fall through */
381 case 26 : /* fall through */
382 case 27 : /* fall through */
383 case 28 : /* fall through */
384 case 29 : /* fall through */
385 case 30 : /* fall through */
388 unsigned int val = (((insn >> 12) & (15 << 0)));
391 case 0 : /* fall through */
392 case 1 : /* fall through */
393 case 2 : /* fall through */
394 case 3 : /* fall through */
395 case 4 : /* fall through */
396 case 5 : /* fall through */
397 case 6 : /* fall through */
398 case 7 : /* fall through */
399 case 8 : /* fall through */
400 case 9 : /* fall through */
401 case 10 : /* fall through */
402 case 11 : /* fall through */
403 case 12 : /* fall through */
404 case 13 : /* fall through */
405 case 14 : itype = CRISV10F_INSN_ADDOQ; goto extract_sfmt_addoq;
406 case 15 : itype = CRISV10F_INSN_BDAPQPC; goto extract_sfmt_bdapqpc;
407 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
410 case 32 : /* fall through */
411 case 33 : /* fall through */
412 case 34 : /* fall through */
413 case 35 : itype = CRISV10F_INSN_ADDQ; goto extract_sfmt_addq;
414 case 36 : /* fall through */
415 case 37 : /* fall through */
416 case 38 : /* fall through */
417 case 39 : itype = CRISV10F_INSN_MOVEQ; goto extract_sfmt_moveq;
418 case 40 : /* fall through */
419 case 41 : /* fall through */
420 case 42 : /* fall through */
421 case 43 : itype = CRISV10F_INSN_SUBQ; goto extract_sfmt_addq;
422 case 44 : /* fall through */
423 case 45 : /* fall through */
424 case 46 : /* fall through */
425 case 47 : itype = CRISV10F_INSN_CMPQ; goto extract_sfmt_cmpq;
426 case 48 : /* fall through */
427 case 49 : /* fall through */
428 case 50 : /* fall through */
429 case 51 : itype = CRISV10F_INSN_ANDQ; goto extract_sfmt_andq;
430 case 52 : /* fall through */
431 case 53 : /* fall through */
432 case 54 : /* fall through */
433 case 55 : itype = CRISV10F_INSN_ORQ; goto extract_sfmt_andq;
434 case 56 : /* fall through */
435 case 57 : itype = CRISV10F_INSN_BTSTQ; goto extract_sfmt_btstq;
436 case 58 : /* fall through */
437 case 59 : itype = CRISV10F_INSN_ASRQ; goto extract_sfmt_asrq;
438 case 60 : /* fall through */
439 case 61 : itype = CRISV10F_INSN_LSLQ; goto extract_sfmt_asrq;
440 case 62 : /* fall through */
441 case 63 : itype = CRISV10F_INSN_LSRQ; goto extract_sfmt_asrq;
442 case 64 : itype = CRISV10F_INSN_ADDU_B_R; goto extract_sfmt_add_d_r;
443 case 65 : itype = CRISV10F_INSN_ADDU_W_R; goto extract_sfmt_add_d_r;
444 case 66 : itype = CRISV10F_INSN_ADDS_B_R; goto extract_sfmt_add_d_r;
445 case 67 : itype = CRISV10F_INSN_ADDS_W_R; goto extract_sfmt_add_d_r;
446 case 68 : itype = CRISV10F_INSN_MOVU_B_R; goto extract_sfmt_movs_b_r;
447 case 69 : itype = CRISV10F_INSN_MOVU_W_R; goto extract_sfmt_movs_b_r;
448 case 70 : itype = CRISV10F_INSN_MOVS_B_R; goto extract_sfmt_movs_b_r;
449 case 71 : itype = CRISV10F_INSN_MOVS_W_R; goto extract_sfmt_movs_b_r;
450 case 72 : itype = CRISV10F_INSN_SUBU_B_R; goto extract_sfmt_add_d_r;
451 case 73 : itype = CRISV10F_INSN_SUBU_W_R; goto extract_sfmt_add_d_r;
452 case 74 : itype = CRISV10F_INSN_SUBS_B_R; goto extract_sfmt_add_d_r;
453 case 75 : itype = CRISV10F_INSN_SUBS_W_R; goto extract_sfmt_add_d_r;
454 case 76 : itype = CRISV10F_INSN_LSLR_B_R; goto extract_sfmt_lsrr_b_r;
455 case 77 : itype = CRISV10F_INSN_LSLR_W_R; goto extract_sfmt_lsrr_b_r;
456 case 78 : itype = CRISV10F_INSN_LSLR_D_R; goto extract_sfmt_lsrr_d_r;
457 case 79 : itype = CRISV10F_INSN_BTST; goto extract_sfmt_btst;
460 unsigned int val = (((insn >> 8) & (7 << 4)) | ((insn >> 0) & (15 << 0)));
463 case 0 : /* fall through */
464 case 1 : /* fall through */
465 case 2 : /* fall through */
466 case 3 : /* fall through */
467 case 4 : /* fall through */
468 case 5 : /* fall through */
469 case 6 : /* fall through */
470 case 7 : /* fall through */
471 case 8 : /* fall through */
472 case 9 : /* fall through */
473 case 10 : /* fall through */
474 case 11 : /* fall through */
475 case 12 : /* fall through */
476 case 13 : /* fall through */
477 case 14 : /* fall through */
478 case 16 : /* fall through */
479 case 17 : /* fall through */
480 case 18 : /* fall through */
481 case 19 : /* fall through */
482 case 20 : /* fall through */
483 case 21 : /* fall through */
484 case 22 : /* fall through */
485 case 23 : /* fall through */
486 case 24 : /* fall through */
487 case 25 : /* fall through */
488 case 26 : /* fall through */
489 case 27 : /* fall through */
490 case 28 : /* fall through */
491 case 29 : /* fall through */
492 case 30 : /* fall through */
493 case 31 : /* fall through */
494 case 32 : /* fall through */
495 case 33 : /* fall through */
496 case 34 : /* fall through */
497 case 35 : /* fall through */
498 case 36 : /* fall through */
499 case 37 : /* fall through */
500 case 38 : /* fall through */
501 case 39 : /* fall through */
502 case 40 : /* fall through */
503 case 41 : /* fall through */
504 case 42 : /* fall through */
505 case 43 : /* fall through */
506 case 44 : /* fall through */
507 case 45 : /* fall through */
508 case 46 : /* fall through */
509 case 47 : /* fall through */
510 case 48 : /* fall through */
511 case 49 : /* fall through */
512 case 50 : /* fall through */
513 case 51 : /* fall through */
514 case 52 : /* fall through */
515 case 53 : /* fall through */
516 case 54 : /* fall through */
517 case 55 : /* fall through */
518 case 56 : /* fall through */
519 case 57 : /* fall through */
520 case 58 : /* fall through */
521 case 59 : /* fall through */
522 case 60 : /* fall through */
523 case 61 : /* fall through */
524 case 62 : /* fall through */
525 case 63 : /* fall through */
526 case 64 : /* fall through */
527 case 65 : /* fall through */
528 case 66 : /* fall through */
529 case 67 : /* fall through */
530 case 68 : /* fall through */
531 case 69 : /* fall through */
532 case 70 : /* fall through */
533 case 71 : /* fall through */
534 case 72 : /* fall through */
535 case 73 : /* fall through */
536 case 74 : /* fall through */
537 case 75 : /* fall through */
538 case 76 : /* fall through */
539 case 77 : /* fall through */
540 case 78 : /* fall through */
541 case 79 : /* fall through */
542 case 80 : /* fall through */
543 case 81 : /* fall through */
544 case 82 : /* fall through */
545 case 83 : /* fall through */
546 case 84 : /* fall through */
547 case 85 : /* fall through */
548 case 86 : /* fall through */
549 case 87 : /* fall through */
550 case 88 : /* fall through */
551 case 89 : /* fall through */
552 case 90 : /* fall through */
553 case 91 : /* fall through */
554 case 92 : /* fall through */
555 case 93 : /* fall through */
556 case 94 : /* fall through */
557 case 95 : /* fall through */
558 case 96 : /* fall through */
559 case 97 : /* fall through */
560 case 98 : /* fall through */
561 case 99 : /* fall through */
562 case 100 : /* fall through */
563 case 101 : /* fall through */
564 case 102 : /* fall through */
565 case 103 : /* fall through */
566 case 104 : /* fall through */
567 case 105 : /* fall through */
568 case 106 : /* fall through */
569 case 107 : /* fall through */
570 case 108 : /* fall through */
571 case 109 : /* fall through */
572 case 110 : /* fall through */
573 case 111 : /* fall through */
574 case 112 : /* fall through */
575 case 113 : /* fall through */
576 case 114 : /* fall through */
577 case 115 : /* fall through */
578 case 116 : /* fall through */
579 case 117 : /* fall through */
580 case 118 : /* fall through */
581 case 119 : /* fall through */
582 case 120 : /* fall through */
583 case 121 : /* fall through */
584 case 122 : /* fall through */
585 case 123 : /* fall through */
586 case 124 : /* fall through */
587 case 125 : /* fall through */
588 case 126 : /* fall through */
589 case 127 : itype = CRISV10F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r;
592 unsigned int val = (((insn >> 15) & (1 << 0)));
595 case 0 : itype = CRISV10F_INSN_NOP; goto extract_sfmt_nop;
596 case 1 : itype = CRISV10F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r;
597 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
600 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
603 case 81 : itype = CRISV10F_INSN_ADDI_W_R; goto extract_sfmt_addi_b_r;
604 case 82 : itype = CRISV10F_INSN_ADDI_D_R; goto extract_sfmt_addi_b_r;
605 case 83 : itype = CRISV10F_INSN_SCC; goto extract_sfmt_scc;
608 unsigned int val = (((insn >> 0) & (15 << 0)));
611 case 0 : /* fall through */
612 case 1 : /* fall through */
613 case 2 : /* fall through */
614 case 3 : /* fall through */
615 case 4 : /* fall through */
616 case 5 : /* fall through */
617 case 6 : /* fall through */
618 case 7 : /* fall through */
619 case 8 : /* fall through */
620 case 9 : /* fall through */
621 case 10 : /* fall through */
622 case 11 : /* fall through */
623 case 12 : /* fall through */
624 case 13 : /* fall through */
625 case 14 : itype = CRISV10F_INSN_ADDI_ACR_B_R; goto extract_sfmt_addi_acr_b_r;
626 case 15 : itype = CRISV10F_INSN_BIAP_PC_B_R; goto extract_sfmt_biap_pc_b_r;
627 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
632 unsigned int val = (((insn >> 0) & (15 << 0)));
635 case 0 : /* fall through */
636 case 1 : /* fall through */
637 case 2 : /* fall through */
638 case 3 : /* fall through */
639 case 4 : /* fall through */
640 case 5 : /* fall through */
641 case 6 : /* fall through */
642 case 7 : /* fall through */
643 case 8 : /* fall through */
644 case 9 : /* fall through */
645 case 10 : /* fall through */
646 case 11 : /* fall through */
647 case 12 : /* fall through */
648 case 13 : /* fall through */
649 case 14 : itype = CRISV10F_INSN_ADDI_ACR_W_R; goto extract_sfmt_addi_acr_b_r;
650 case 15 : itype = CRISV10F_INSN_BIAP_PC_W_R; goto extract_sfmt_biap_pc_b_r;
651 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
656 unsigned int val = (((insn >> 0) & (15 << 0)));
659 case 0 : /* fall through */
660 case 1 : /* fall through */
661 case 2 : /* fall through */
662 case 3 : /* fall through */
663 case 4 : /* fall through */
664 case 5 : /* fall through */
665 case 6 : /* fall through */
666 case 7 : /* fall through */
667 case 8 : /* fall through */
668 case 9 : /* fall through */
669 case 10 : /* fall through */
670 case 11 : /* fall through */
671 case 12 : /* fall through */
672 case 13 : /* fall through */
673 case 14 : itype = CRISV10F_INSN_ADDI_ACR_D_R; goto extract_sfmt_addi_acr_b_r;
674 case 15 : itype = CRISV10F_INSN_BIAP_PC_D_R; goto extract_sfmt_biap_pc_b_r;
675 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
678 case 88 : itype = CRISV10F_INSN_NEG_B_R; goto extract_sfmt_neg_b_r;
679 case 89 : itype = CRISV10F_INSN_NEG_W_R; goto extract_sfmt_neg_b_r;
680 case 90 : itype = CRISV10F_INSN_NEG_D_R; goto extract_sfmt_neg_d_r;
681 case 91 : itype = CRISV10F_INSN_SETF; goto extract_sfmt_setf;
682 case 92 : itype = CRISV10F_INSN_BOUND_R_B_R; goto extract_sfmt_dstep;
683 case 93 : itype = CRISV10F_INSN_BOUND_R_W_R; goto extract_sfmt_dstep;
684 case 94 : itype = CRISV10F_INSN_BOUND_R_D_R; goto extract_sfmt_dstep;
685 case 95 : itype = CRISV10F_INSN_CLEARF; goto extract_sfmt_setf;
686 case 96 : itype = CRISV10F_INSN_ADD_B_R; goto extract_sfmt_add_b_r;
687 case 97 : itype = CRISV10F_INSN_ADD_W_R; goto extract_sfmt_add_b_r;
688 case 98 : itype = CRISV10F_INSN_ADD_D_R; goto extract_sfmt_add_d_r;
689 case 99 : itype = CRISV10F_INSN_MOVE_R_SPRV10; goto extract_sfmt_move_r_sprv10;
690 case 100 : itype = CRISV10F_INSN_MOVE_B_R; goto extract_sfmt_move_b_r;
691 case 101 : itype = CRISV10F_INSN_MOVE_W_R; goto extract_sfmt_move_b_r;
694 unsigned int val = (((insn >> 0) & (15 << 0)));
697 case 0 : /* fall through */
698 case 1 : /* fall through */
699 case 2 : /* fall through */
700 case 3 : /* fall through */
701 case 4 : /* fall through */
702 case 5 : /* fall through */
703 case 6 : /* fall through */
704 case 7 : /* fall through */
705 case 8 : /* fall through */
706 case 9 : /* fall through */
707 case 10 : /* fall through */
708 case 11 : /* fall through */
709 case 12 : /* fall through */
710 case 13 : /* fall through */
711 case 14 : itype = CRISV10F_INSN_MOVE_D_R; goto extract_sfmt_move_d_r;
712 case 15 : itype = CRISV10F_INSN_MOVEPCR; goto extract_sfmt_movepcr;
713 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
718 unsigned int val = (((insn >> 0) & (15 << 0)));
721 case 0 : /* fall through */
722 case 1 : /* fall through */
723 case 2 : /* fall through */
724 case 3 : /* fall through */
725 case 4 : /* fall through */
726 case 5 : /* fall through */
727 case 6 : /* fall through */
728 case 7 : /* fall through */
729 case 8 : /* fall through */
730 case 9 : /* fall through */
731 case 10 : /* fall through */
732 case 11 : /* fall through */
733 case 12 : /* fall through */
734 case 13 : /* fall through */
735 case 14 : itype = CRISV10F_INSN_MOVE_SPR_RV10; goto extract_sfmt_move_spr_rv10;
736 case 15 : itype = CRISV10F_INSN_RET_TYPE; goto extract_sfmt_ret_type;
737 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
740 case 104 : itype = CRISV10F_INSN_SUB_B_R; goto extract_sfmt_add_b_r;
741 case 105 : itype = CRISV10F_INSN_SUB_W_R; goto extract_sfmt_add_b_r;
742 case 106 : itype = CRISV10F_INSN_SUB_D_R; goto extract_sfmt_add_d_r;
743 case 107 : itype = CRISV10F_INSN_ABS; goto extract_sfmt_movs_b_r;
744 case 108 : itype = CRISV10F_INSN_CMP_R_B_R; goto extract_sfmt_cmp_r_b_r;
745 case 109 : itype = CRISV10F_INSN_CMP_R_W_R; goto extract_sfmt_cmp_r_b_r;
746 case 110 : itype = CRISV10F_INSN_CMP_R_D_R; goto extract_sfmt_cmp_r_b_r;
747 case 111 : itype = CRISV10F_INSN_DSTEP; goto extract_sfmt_dstep;
748 case 112 : itype = CRISV10F_INSN_AND_B_R; goto extract_sfmt_and_b_r;
749 case 113 : itype = CRISV10F_INSN_AND_W_R; goto extract_sfmt_and_w_r;
750 case 114 : itype = CRISV10F_INSN_AND_D_R; goto extract_sfmt_and_d_r;
751 case 115 : itype = CRISV10F_INSN_LZ; goto extract_sfmt_movs_b_r;
752 case 116 : itype = CRISV10F_INSN_ORR_B_R; goto extract_sfmt_and_b_r;
753 case 117 : itype = CRISV10F_INSN_ORR_W_R; goto extract_sfmt_and_w_r;
754 case 118 : itype = CRISV10F_INSN_ORR_D_R; goto extract_sfmt_and_d_r;
755 case 119 : itype = CRISV10F_INSN_SWAP; goto extract_sfmt_swap;
756 case 120 : itype = CRISV10F_INSN_ASRR_B_R; goto extract_sfmt_asrr_b_r;
757 case 121 : itype = CRISV10F_INSN_ASRR_W_R; goto extract_sfmt_asrr_b_r;
758 case 122 : itype = CRISV10F_INSN_ASRR_D_R; goto extract_sfmt_and_d_r;
759 case 123 : itype = CRISV10F_INSN_XOR; goto extract_sfmt_dstep;
760 case 124 : itype = CRISV10F_INSN_LSRR_B_R; goto extract_sfmt_lsrr_b_r;
761 case 125 : itype = CRISV10F_INSN_LSRR_W_R; goto extract_sfmt_lsrr_b_r;
762 case 126 : itype = CRISV10F_INSN_LSRR_D_R; goto extract_sfmt_lsrr_d_r;
763 case 127 : itype = CRISV10F_INSN_MSTEP; goto extract_sfmt_mstep;
764 case 128 : itype = CRISV10F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m;
765 case 129 : itype = CRISV10F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m;
766 case 130 : itype = CRISV10F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m;
769 unsigned int val = (((insn >> 8) & (7 << 4)) | ((insn >> 0) & (15 << 0)));
772 case 0 : /* fall through */
773 case 1 : /* fall through */
774 case 2 : /* fall through */
775 case 3 : /* fall through */
776 case 4 : /* fall through */
777 case 5 : /* fall through */
778 case 6 : /* fall through */
779 case 7 : /* fall through */
780 case 8 : /* fall through */
781 case 9 : /* fall through */
782 case 10 : /* fall through */
783 case 11 : /* fall through */
784 case 12 : /* fall through */
785 case 13 : /* fall through */
786 case 14 : /* fall through */
787 case 15 : /* fall through */
788 case 16 : /* fall through */
789 case 17 : /* fall through */
790 case 18 : /* fall through */
791 case 19 : /* fall through */
792 case 20 : /* fall through */
793 case 21 : /* fall through */
794 case 22 : /* fall through */
795 case 23 : /* fall through */
796 case 24 : /* fall through */
797 case 25 : /* fall through */
798 case 26 : /* fall through */
799 case 27 : /* fall through */
800 case 28 : /* fall through */
801 case 29 : /* fall through */
802 case 30 : /* fall through */
803 case 31 : /* fall through */
804 case 32 : /* fall through */
805 case 33 : /* fall through */
806 case 34 : /* fall through */
807 case 35 : /* fall through */
808 case 36 : /* fall through */
809 case 37 : /* fall through */
810 case 38 : /* fall through */
811 case 39 : /* fall through */
812 case 40 : /* fall through */
813 case 41 : /* fall through */
814 case 42 : /* fall through */
815 case 43 : /* fall through */
816 case 44 : /* fall through */
817 case 45 : /* fall through */
818 case 46 : /* fall through */
819 case 47 : /* fall through */
820 case 48 : /* fall through */
821 case 49 : /* fall through */
822 case 50 : /* fall through */
823 case 51 : /* fall through */
824 case 52 : /* fall through */
825 case 53 : /* fall through */
826 case 54 : /* fall through */
827 case 55 : /* fall through */
828 case 56 : /* fall through */
829 case 57 : /* fall through */
830 case 58 : /* fall through */
831 case 59 : /* fall through */
832 case 60 : /* fall through */
833 case 61 : /* fall through */
834 case 62 : /* fall through */
835 case 63 : /* fall through */
836 case 64 : /* fall through */
837 case 65 : /* fall through */
838 case 66 : /* fall through */
839 case 67 : /* fall through */
840 case 68 : /* fall through */
841 case 69 : /* fall through */
842 case 70 : /* fall through */
843 case 71 : /* fall through */
844 case 72 : /* fall through */
845 case 73 : /* fall through */
846 case 74 : /* fall through */
847 case 75 : /* fall through */
848 case 76 : /* fall through */
849 case 77 : /* fall through */
850 case 78 : /* fall through */
851 case 79 : /* fall through */
852 case 80 : /* fall through */
853 case 81 : /* fall through */
854 case 82 : /* fall through */
855 case 83 : /* fall through */
856 case 84 : /* fall through */
857 case 85 : /* fall through */
858 case 86 : /* fall through */
859 case 87 : /* fall through */
860 case 88 : /* fall through */
861 case 89 : /* fall through */
862 case 90 : /* fall through */
863 case 91 : /* fall through */
864 case 92 : /* fall through */
865 case 93 : /* fall through */
866 case 94 : /* fall through */
867 case 95 : /* fall through */
868 case 96 : /* fall through */
869 case 97 : /* fall through */
870 case 98 : /* fall through */
871 case 99 : /* fall through */
872 case 100 : /* fall through */
873 case 101 : /* fall through */
874 case 102 : /* fall through */
875 case 103 : /* fall through */
876 case 104 : /* fall through */
877 case 105 : /* fall through */
878 case 106 : /* fall through */
879 case 107 : /* fall through */
880 case 108 : /* fall through */
881 case 109 : /* fall through */
882 case 110 : /* fall through */
883 case 111 : /* fall through */
884 case 112 : /* fall through */
885 case 113 : /* fall through */
886 case 114 : /* fall through */
887 case 115 : /* fall through */
888 case 116 : /* fall through */
889 case 117 : /* fall through */
890 case 118 : /* fall through */
891 case 119 : /* fall through */
892 case 120 : /* fall through */
893 case 121 : /* fall through */
894 case 122 : /* fall through */
895 case 123 : /* fall through */
896 case 124 : /* fall through */
897 case 125 : /* fall through */
898 case 126 : itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m;
901 unsigned int val = (((insn >> 15) & (1 << 0)));
904 case 0 : itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m;
905 case 1 : itype = CRISV10F_INSN_ADDSPCPC; goto extract_sfmt_addspcpc;
906 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
909 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
912 case 132 : itype = CRISV10F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m;
913 case 133 : itype = CRISV10F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m;
914 case 134 : itype = CRISV10F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m;
915 case 135 : itype = CRISV10F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m;
916 case 136 : itype = CRISV10F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m;
917 case 137 : itype = CRISV10F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m;
918 case 138 : itype = CRISV10F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m;
919 case 139 : itype = CRISV10F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m;
920 case 140 : itype = CRISV10F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m;
921 case 141 : itype = CRISV10F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m;
922 case 142 : itype = CRISV10F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m;
923 case 143 : itype = CRISV10F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m;
924 case 144 : itype = CRISV10F_INSN_MULU_B; goto extract_sfmt_muls_b;
925 case 145 : itype = CRISV10F_INSN_MULU_W; goto extract_sfmt_muls_b;
926 case 146 : itype = CRISV10F_INSN_MULU_D; goto extract_sfmt_muls_b;
929 unsigned int val = (((insn >> 12) & (15 << 0)));
932 case 0 : /* fall through */
933 case 1 : /* fall through */
934 case 2 : /* fall through */
935 case 3 : /* fall through */
936 case 4 : /* fall through */
937 case 5 : /* fall through */
938 case 6 : /* fall through */
939 case 7 : /* fall through */
940 case 8 : /* fall through */
941 case 9 : /* fall through */
942 case 10 : /* fall through */
943 case 11 : /* fall through */
944 case 12 : /* fall through */
945 case 13 : /* fall through */
946 case 15 : itype = CRISV10F_INSN_JUMP_M; goto extract_sfmt_jump_m;
947 case 14 : itype = CRISV10F_INSN_BREAK; goto extract_sfmt_break;
948 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
951 case 148 : itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m;
952 case 149 : itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m;
953 case 150 : itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m;
954 case 151 : itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m;
955 case 155 : itype = CRISV10F_INSN_JUMP_R; goto extract_sfmt_jump_r;
956 case 156 : itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m;
957 case 157 : itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m;
958 case 158 : itype = CRISV10F_INSN_BOUND_M_D_M; goto extract_sfmt_bound_m_d_m;
959 case 160 : itype = CRISV10F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m;
960 case 161 : itype = CRISV10F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m;
961 case 162 : itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
962 case 163 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
963 case 164 : itype = CRISV10F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m;
964 case 165 : itype = CRISV10F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m;
965 case 166 : itype = CRISV10F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m;
966 case 167 : /* fall through */
967 case 231 : itype = CRISV10F_INSN_MOVE_SPR_MV10; goto extract_sfmt_move_spr_mv10;
968 case 168 : itype = CRISV10F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m;
969 case 169 : itype = CRISV10F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m;
970 case 170 : itype = CRISV10F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m;
971 case 172 : itype = CRISV10F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m;
972 case 173 : itype = CRISV10F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m;
973 case 174 : itype = CRISV10F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m;
974 case 176 : itype = CRISV10F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m;
975 case 177 : itype = CRISV10F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m;
976 case 178 : itype = CRISV10F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m;
977 case 180 : itype = CRISV10F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m;
978 case 181 : itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m;
979 case 182 : itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m;
980 case 183 : /* fall through */
981 case 247 : itype = CRISV10F_INSN_SBFS; goto extract_sfmt_sbfs;
982 case 184 : /* fall through */
983 case 248 : itype = CRISV10F_INSN_TEST_M_B_M; goto extract_sfmt_test_m_b_m;
984 case 185 : /* fall through */
985 case 249 : itype = CRISV10F_INSN_TEST_M_W_M; goto extract_sfmt_test_m_w_m;
986 case 186 : /* fall through */
987 case 250 : itype = CRISV10F_INSN_TEST_M_D_M; goto extract_sfmt_test_m_d_m;
988 case 187 : /* fall through */
991 unsigned int val = (((insn >> 12) & (15 << 0)));
994 case 0 : /* fall through */
995 case 1 : /* fall through */
996 case 2 : /* fall through */
997 case 3 : /* fall through */
998 case 4 : /* fall through */
999 case 5 : /* fall through */
1000 case 6 : /* fall through */
1001 case 7 : /* fall through */
1002 case 8 : /* fall through */
1003 case 9 : /* fall through */
1004 case 10 : /* fall through */
1005 case 11 : /* fall through */
1006 case 12 : /* fall through */
1007 case 13 : /* fall through */
1008 case 14 : itype = CRISV10F_INSN_MOVEM_M_R; goto extract_sfmt_movem_m_r;
1009 case 15 : itype = CRISV10F_INSN_MOVEM_M_PC; goto extract_sfmt_movem_m_pc;
1010 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1013 case 188 : /* fall through */
1014 case 252 : itype = CRISV10F_INSN_MOVE_R_M_B_M; goto extract_sfmt_move_r_m_b_m;
1015 case 189 : /* fall through */
1016 case 253 : itype = CRISV10F_INSN_MOVE_R_M_W_M; goto extract_sfmt_move_r_m_w_m;
1017 case 190 : /* fall through */
1018 case 254 : itype = CRISV10F_INSN_MOVE_R_M_D_M; goto extract_sfmt_move_r_m_d_m;
1019 case 191 : /* fall through */
1020 case 255 : itype = CRISV10F_INSN_MOVEM_R_M; goto extract_sfmt_movem_r_m;
1023 unsigned int val = (((insn >> 0) & (15 << 0)));
1026 case 0 : /* fall through */
1027 case 1 : /* fall through */
1028 case 2 : /* fall through */
1029 case 3 : /* fall through */
1030 case 4 : /* fall through */
1031 case 5 : /* fall through */
1032 case 6 : /* fall through */
1033 case 7 : /* fall through */
1034 case 8 : /* fall through */
1035 case 9 : /* fall through */
1036 case 10 : /* fall through */
1037 case 11 : /* fall through */
1038 case 12 : /* fall through */
1039 case 13 : /* fall through */
1040 case 14 : itype = CRISV10F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m;
1041 case 15 : itype = CRISV10F_INSN_ADDUCBR; goto extract_sfmt_addscbr;
1042 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1047 unsigned int val = (((insn >> 0) & (15 << 0)));
1050 case 0 : /* fall through */
1051 case 1 : /* fall through */
1052 case 2 : /* fall through */
1053 case 3 : /* fall through */
1054 case 4 : /* fall through */
1055 case 5 : /* fall through */
1056 case 6 : /* fall through */
1057 case 7 : /* fall through */
1058 case 8 : /* fall through */
1059 case 9 : /* fall through */
1060 case 10 : /* fall through */
1061 case 11 : /* fall through */
1062 case 12 : /* fall through */
1063 case 13 : /* fall through */
1064 case 14 : itype = CRISV10F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m;
1065 case 15 : itype = CRISV10F_INSN_ADDUCWR; goto extract_sfmt_addscwr;
1066 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1071 unsigned int val = (((insn >> 0) & (15 << 0)));
1074 case 0 : /* fall through */
1075 case 1 : /* fall through */
1076 case 2 : /* fall through */
1077 case 3 : /* fall through */
1078 case 4 : /* fall through */
1079 case 5 : /* fall through */
1080 case 6 : /* fall through */
1081 case 7 : /* fall through */
1082 case 8 : /* fall through */
1083 case 9 : /* fall through */
1084 case 10 : /* fall through */
1085 case 11 : /* fall through */
1086 case 12 : /* fall through */
1087 case 13 : /* fall through */
1088 case 14 : itype = CRISV10F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m;
1089 case 15 : itype = CRISV10F_INSN_ADDSCBR; goto extract_sfmt_addscbr;
1090 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1095 unsigned int val = (((insn >> 0) & (15 << 0)));
1098 case 0 : /* fall through */
1099 case 1 : /* fall through */
1100 case 2 : /* fall through */
1101 case 3 : /* fall through */
1102 case 4 : /* fall through */
1103 case 5 : /* fall through */
1104 case 6 : /* fall through */
1105 case 7 : /* fall through */
1106 case 8 : /* fall through */
1107 case 9 : /* fall through */
1108 case 10 : /* fall through */
1109 case 11 : /* fall through */
1110 case 12 : /* fall through */
1111 case 13 : /* fall through */
1112 case 14 : itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m;
1113 case 15 : itype = CRISV10F_INSN_ADDSCWR; goto extract_sfmt_addscwr;
1114 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1119 unsigned int val = (((insn >> 0) & (15 << 0)));
1122 case 0 : /* fall through */
1123 case 1 : /* fall through */
1124 case 2 : /* fall through */
1125 case 3 : /* fall through */
1126 case 4 : /* fall through */
1127 case 5 : /* fall through */
1128 case 6 : /* fall through */
1129 case 7 : /* fall through */
1130 case 8 : /* fall through */
1131 case 9 : /* fall through */
1132 case 10 : /* fall through */
1133 case 11 : /* fall through */
1134 case 12 : /* fall through */
1135 case 13 : /* fall through */
1136 case 14 : itype = CRISV10F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m;
1137 case 15 : itype = CRISV10F_INSN_MOVUCBR; goto extract_sfmt_movucbr;
1138 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1143 unsigned int val = (((insn >> 0) & (15 << 0)));
1146 case 0 : /* fall through */
1147 case 1 : /* fall through */
1148 case 2 : /* fall through */
1149 case 3 : /* fall through */
1150 case 4 : /* fall through */
1151 case 5 : /* fall through */
1152 case 6 : /* fall through */
1153 case 7 : /* fall through */
1154 case 8 : /* fall through */
1155 case 9 : /* fall through */
1156 case 10 : /* fall through */
1157 case 11 : /* fall through */
1158 case 12 : /* fall through */
1159 case 13 : /* fall through */
1160 case 14 : itype = CRISV10F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m;
1161 case 15 : itype = CRISV10F_INSN_MOVUCWR; goto extract_sfmt_movucwr;
1162 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1167 unsigned int val = (((insn >> 0) & (15 << 0)));
1170 case 0 : /* fall through */
1171 case 1 : /* fall through */
1172 case 2 : /* fall through */
1173 case 3 : /* fall through */
1174 case 4 : /* fall through */
1175 case 5 : /* fall through */
1176 case 6 : /* fall through */
1177 case 7 : /* fall through */
1178 case 8 : /* fall through */
1179 case 9 : /* fall through */
1180 case 10 : /* fall through */
1181 case 11 : /* fall through */
1182 case 12 : /* fall through */
1183 case 13 : /* fall through */
1184 case 14 : itype = CRISV10F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m;
1185 case 15 : itype = CRISV10F_INSN_MOVSCBR; goto extract_sfmt_movscbr;
1186 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1191 unsigned int val = (((insn >> 0) & (15 << 0)));
1194 case 0 : /* fall through */
1195 case 1 : /* fall through */
1196 case 2 : /* fall through */
1197 case 3 : /* fall through */
1198 case 4 : /* fall through */
1199 case 5 : /* fall through */
1200 case 6 : /* fall through */
1201 case 7 : /* fall through */
1202 case 8 : /* fall through */
1203 case 9 : /* fall through */
1204 case 10 : /* fall through */
1205 case 11 : /* fall through */
1206 case 12 : /* fall through */
1207 case 13 : /* fall through */
1208 case 14 : itype = CRISV10F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m;
1209 case 15 : itype = CRISV10F_INSN_MOVSCWR; goto extract_sfmt_movscwr;
1210 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1215 unsigned int val = (((insn >> 0) & (15 << 0)));
1218 case 0 : /* fall through */
1219 case 1 : /* fall through */
1220 case 2 : /* fall through */
1221 case 3 : /* fall through */
1222 case 4 : /* fall through */
1223 case 5 : /* fall through */
1224 case 6 : /* fall through */
1225 case 7 : /* fall through */
1226 case 8 : /* fall through */
1227 case 9 : /* fall through */
1228 case 10 : /* fall through */
1229 case 11 : /* fall through */
1230 case 12 : /* fall through */
1231 case 13 : /* fall through */
1232 case 14 : itype = CRISV10F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m;
1233 case 15 : itype = CRISV10F_INSN_SUBUCBR; goto extract_sfmt_addscbr;
1234 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1239 unsigned int val = (((insn >> 0) & (15 << 0)));
1242 case 0 : /* fall through */
1243 case 1 : /* fall through */
1244 case 2 : /* fall through */
1245 case 3 : /* fall through */
1246 case 4 : /* fall through */
1247 case 5 : /* fall through */
1248 case 6 : /* fall through */
1249 case 7 : /* fall through */
1250 case 8 : /* fall through */
1251 case 9 : /* fall through */
1252 case 10 : /* fall through */
1253 case 11 : /* fall through */
1254 case 12 : /* fall through */
1255 case 13 : /* fall through */
1256 case 14 : itype = CRISV10F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m;
1257 case 15 : itype = CRISV10F_INSN_SUBUCWR; goto extract_sfmt_addscwr;
1258 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1263 unsigned int val = (((insn >> 0) & (15 << 0)));
1266 case 0 : /* fall through */
1267 case 1 : /* fall through */
1268 case 2 : /* fall through */
1269 case 3 : /* fall through */
1270 case 4 : /* fall through */
1271 case 5 : /* fall through */
1272 case 6 : /* fall through */
1273 case 7 : /* fall through */
1274 case 8 : /* fall through */
1275 case 9 : /* fall through */
1276 case 10 : /* fall through */
1277 case 11 : /* fall through */
1278 case 12 : /* fall through */
1279 case 13 : /* fall through */
1280 case 14 : itype = CRISV10F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m;
1281 case 15 : itype = CRISV10F_INSN_SUBSCBR; goto extract_sfmt_addscbr;
1282 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1287 unsigned int val = (((insn >> 0) & (15 << 0)));
1290 case 0 : /* fall through */
1291 case 1 : /* fall through */
1292 case 2 : /* fall through */
1293 case 3 : /* fall through */
1294 case 4 : /* fall through */
1295 case 5 : /* fall through */
1296 case 6 : /* fall through */
1297 case 7 : /* fall through */
1298 case 8 : /* fall through */
1299 case 9 : /* fall through */
1300 case 10 : /* fall through */
1301 case 11 : /* fall through */
1302 case 12 : /* fall through */
1303 case 13 : /* fall through */
1304 case 14 : itype = CRISV10F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m;
1305 case 15 : itype = CRISV10F_INSN_SUBSCWR; goto extract_sfmt_addscwr;
1306 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1311 unsigned int val = (((insn >> 0) & (15 << 0)));
1314 case 0 : /* fall through */
1315 case 1 : /* fall through */
1316 case 2 : /* fall through */
1317 case 3 : /* fall through */
1318 case 4 : /* fall through */
1319 case 5 : /* fall through */
1320 case 6 : /* fall through */
1321 case 7 : /* fall through */
1322 case 8 : /* fall through */
1323 case 9 : /* fall through */
1324 case 10 : /* fall through */
1325 case 11 : /* fall through */
1326 case 12 : /* fall through */
1327 case 13 : /* fall through */
1328 case 14 : itype = CRISV10F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m;
1329 case 15 : itype = CRISV10F_INSN_CMPUCBR; goto extract_sfmt_cmpucbr;
1330 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1335 unsigned int val = (((insn >> 0) & (15 << 0)));
1338 case 0 : /* fall through */
1339 case 1 : /* fall through */
1340 case 2 : /* fall through */
1341 case 3 : /* fall through */
1342 case 4 : /* fall through */
1343 case 5 : /* fall through */
1344 case 6 : /* fall through */
1345 case 7 : /* fall through */
1346 case 8 : /* fall through */
1347 case 9 : /* fall through */
1348 case 10 : /* fall through */
1349 case 11 : /* fall through */
1350 case 12 : /* fall through */
1351 case 13 : /* fall through */
1352 case 14 : itype = CRISV10F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m;
1353 case 15 : itype = CRISV10F_INSN_CMPUCWR; goto extract_sfmt_cmpucwr;
1354 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1359 unsigned int val = (((insn >> 0) & (15 << 0)));
1362 case 0 : /* fall through */
1363 case 1 : /* fall through */
1364 case 2 : /* fall through */
1365 case 3 : /* fall through */
1366 case 4 : /* fall through */
1367 case 5 : /* fall through */
1368 case 6 : /* fall through */
1369 case 7 : /* fall through */
1370 case 8 : /* fall through */
1371 case 9 : /* fall through */
1372 case 10 : /* fall through */
1373 case 11 : /* fall through */
1374 case 12 : /* fall through */
1375 case 13 : /* fall through */
1376 case 14 : itype = CRISV10F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m;
1377 case 15 : itype = CRISV10F_INSN_CMPSCBR; goto extract_sfmt_cmpcbr;
1378 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1383 unsigned int val = (((insn >> 0) & (15 << 0)));
1386 case 0 : /* fall through */
1387 case 1 : /* fall through */
1388 case 2 : /* fall through */
1389 case 3 : /* fall through */
1390 case 4 : /* fall through */
1391 case 5 : /* fall through */
1392 case 6 : /* fall through */
1393 case 7 : /* fall through */
1394 case 8 : /* fall through */
1395 case 9 : /* fall through */
1396 case 10 : /* fall through */
1397 case 11 : /* fall through */
1398 case 12 : /* fall through */
1399 case 13 : /* fall through */
1400 case 14 : itype = CRISV10F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m;
1401 case 15 : itype = CRISV10F_INSN_CMPSCWR; goto extract_sfmt_cmpcwr;
1402 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1405 case 208 : itype = CRISV10F_INSN_MULS_B; goto extract_sfmt_muls_b;
1406 case 209 : itype = CRISV10F_INSN_MULS_W; goto extract_sfmt_muls_b;
1407 case 210 : itype = CRISV10F_INSN_MULS_D; goto extract_sfmt_muls_b;
1410 unsigned int val = (((insn >> 0) & (15 << 0)));
1413 case 0 : /* fall through */
1414 case 1 : /* fall through */
1415 case 2 : /* fall through */
1416 case 3 : /* fall through */
1417 case 4 : /* fall through */
1418 case 5 : /* fall through */
1419 case 6 : /* fall through */
1420 case 7 : /* fall through */
1421 case 8 : /* fall through */
1422 case 9 : /* fall through */
1423 case 10 : /* fall through */
1424 case 11 : /* fall through */
1425 case 12 : /* fall through */
1426 case 13 : /* fall through */
1427 case 14 : itype = CRISV10F_INSN_JUMP_M; goto extract_sfmt_jump_m;
1428 case 15 : itype = CRISV10F_INSN_JUMP_C; goto extract_sfmt_jump_c;
1429 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1434 unsigned int val = (((insn >> 0) & (15 << 0)));
1437 case 0 : /* fall through */
1438 case 1 : /* fall through */
1439 case 2 : /* fall through */
1440 case 3 : /* fall through */
1441 case 4 : /* fall through */
1442 case 5 : /* fall through */
1443 case 6 : /* fall through */
1444 case 7 : /* fall through */
1445 case 8 : /* fall through */
1446 case 9 : /* fall through */
1447 case 10 : /* fall through */
1448 case 11 : /* fall through */
1449 case 12 : /* fall through */
1450 case 13 : /* fall through */
1451 case 14 : itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m;
1452 case 15 : itype = CRISV10F_INSN_ADDO_CB; goto extract_sfmt_addo_cb;
1453 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1458 unsigned int val = (((insn >> 0) & (15 << 0)));
1461 case 0 : /* fall through */
1462 case 1 : /* fall through */
1463 case 2 : /* fall through */
1464 case 3 : /* fall through */
1465 case 4 : /* fall through */
1466 case 5 : /* fall through */
1467 case 6 : /* fall through */
1468 case 7 : /* fall through */
1469 case 8 : /* fall through */
1470 case 9 : /* fall through */
1471 case 10 : /* fall through */
1472 case 11 : /* fall through */
1473 case 12 : /* fall through */
1474 case 13 : /* fall through */
1475 case 14 : itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m;
1476 case 15 : itype = CRISV10F_INSN_ADDO_CW; goto extract_sfmt_addo_cw;
1477 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1482 unsigned int val = (((insn >> 0) & (15 << 0)));
1485 case 0 : /* fall through */
1486 case 1 : /* fall through */
1487 case 2 : /* fall through */
1488 case 3 : /* fall through */
1489 case 4 : /* fall through */
1490 case 5 : /* fall through */
1491 case 6 : /* fall through */
1492 case 7 : /* fall through */
1493 case 8 : /* fall through */
1494 case 9 : /* fall through */
1495 case 10 : /* fall through */
1496 case 11 : /* fall through */
1497 case 12 : /* fall through */
1498 case 13 : /* fall through */
1499 case 14 : itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m;
1500 case 15 : itype = CRISV10F_INSN_ADDO_CD; goto extract_sfmt_addo_cd;
1501 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1506 unsigned int val = (((insn >> 0) & (15 << 0)));
1509 case 0 : /* fall through */
1510 case 1 : /* fall through */
1511 case 2 : /* fall through */
1512 case 3 : /* fall through */
1513 case 4 : /* fall through */
1514 case 5 : /* fall through */
1515 case 6 : /* fall through */
1516 case 7 : /* fall through */
1517 case 8 : /* fall through */
1518 case 9 : /* fall through */
1519 case 10 : /* fall through */
1520 case 11 : /* fall through */
1521 case 12 : /* fall through */
1522 case 13 : /* fall through */
1523 case 14 : itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m;
1524 case 15 : itype = CRISV10F_INSN_DIP_C; goto extract_sfmt_dip_c;
1525 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1530 unsigned int val = (((insn >> 0) & (15 << 0)));
1533 case 0 : /* fall through */
1534 case 1 : /* fall through */
1535 case 2 : /* fall through */
1536 case 3 : /* fall through */
1537 case 4 : /* fall through */
1538 case 5 : /* fall through */
1539 case 6 : /* fall through */
1540 case 7 : /* fall through */
1541 case 8 : /* fall through */
1542 case 9 : /* fall through */
1543 case 10 : /* fall through */
1544 case 11 : /* fall through */
1545 case 12 : /* fall through */
1546 case 13 : /* fall through */
1547 case 14 : itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m;
1548 case 15 : itype = CRISV10F_INSN_BOUND_CB; goto extract_sfmt_bound_cb;
1549 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1554 unsigned int val = (((insn >> 0) & (15 << 0)));
1557 case 0 : /* fall through */
1558 case 1 : /* fall through */
1559 case 2 : /* fall through */
1560 case 3 : /* fall through */
1561 case 4 : /* fall through */
1562 case 5 : /* fall through */
1563 case 6 : /* fall through */
1564 case 7 : /* fall through */
1565 case 8 : /* fall through */
1566 case 9 : /* fall through */
1567 case 10 : /* fall through */
1568 case 11 : /* fall through */
1569 case 12 : /* fall through */
1570 case 13 : /* fall through */
1571 case 14 : itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m;
1572 case 15 : itype = CRISV10F_INSN_BOUND_CW; goto extract_sfmt_bound_cw;
1573 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1578 unsigned int val = (((insn >> 0) & (15 << 0)));
1581 case 0 : /* fall through */
1582 case 1 : /* fall through */
1583 case 2 : /* fall through */
1584 case 3 : /* fall through */
1585 case 4 : /* fall through */
1586 case 5 : /* fall through */
1587 case 6 : /* fall through */
1588 case 7 : /* fall through */
1589 case 8 : /* fall through */
1590 case 9 : /* fall through */
1591 case 10 : /* fall through */
1592 case 11 : /* fall through */
1593 case 12 : /* fall through */
1594 case 13 : /* fall through */
1595 case 14 : itype = CRISV10F_INSN_BOUND_M_D_M; goto extract_sfmt_bound_m_d_m;
1596 case 15 : itype = CRISV10F_INSN_BOUND_CD; goto extract_sfmt_bound_cd;
1597 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1602 unsigned int val = (((insn >> 12) & (15 << 0)));
1605 case 0 : /* fall through */
1606 case 1 : /* fall through */
1607 case 2 : /* fall through */
1608 case 3 : /* fall through */
1609 case 4 : /* fall through */
1610 case 5 : /* fall through */
1611 case 6 : /* fall through */
1612 case 7 : /* fall through */
1613 case 8 : /* fall through */
1614 case 9 : /* fall through */
1615 case 10 : /* fall through */
1616 case 11 : /* fall through */
1617 case 12 : /* fall through */
1618 case 13 : /* fall through */
1619 case 15 : itype = CRISV10F_INSN_BCC_W; goto extract_sfmt_bcc_w;
1620 case 14 : itype = CRISV10F_INSN_BA_W; goto extract_sfmt_ba_w;
1621 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1626 unsigned int val = (((insn >> 0) & (15 << 0)));
1629 case 0 : /* fall through */
1630 case 1 : /* fall through */
1631 case 2 : /* fall through */
1632 case 3 : /* fall through */
1633 case 4 : /* fall through */
1634 case 5 : /* fall through */
1635 case 6 : /* fall through */
1636 case 7 : /* fall through */
1637 case 8 : /* fall through */
1638 case 9 : /* fall through */
1639 case 10 : /* fall through */
1640 case 11 : /* fall through */
1641 case 12 : /* fall through */
1642 case 13 : /* fall through */
1643 case 14 : itype = CRISV10F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m;
1644 case 15 : itype = CRISV10F_INSN_ADDCBR; goto extract_sfmt_addcbr;
1645 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1650 unsigned int val = (((insn >> 0) & (15 << 0)));
1653 case 0 : /* fall through */
1654 case 1 : /* fall through */
1655 case 2 : /* fall through */
1656 case 3 : /* fall through */
1657 case 4 : /* fall through */
1658 case 5 : /* fall through */
1659 case 6 : /* fall through */
1660 case 7 : /* fall through */
1661 case 8 : /* fall through */
1662 case 9 : /* fall through */
1663 case 10 : /* fall through */
1664 case 11 : /* fall through */
1665 case 12 : /* fall through */
1666 case 13 : /* fall through */
1667 case 14 : itype = CRISV10F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m;
1668 case 15 : itype = CRISV10F_INSN_ADDCWR; goto extract_sfmt_addcwr;
1669 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1674 unsigned int val = (((insn >> 12) & (15 << 0)));
1677 case 0 : /* fall through */
1678 case 1 : /* fall through */
1679 case 2 : /* fall through */
1680 case 3 : /* fall through */
1681 case 4 : /* fall through */
1682 case 5 : /* fall through */
1683 case 6 : /* fall through */
1684 case 7 : /* fall through */
1685 case 8 : /* fall through */
1686 case 9 : /* fall through */
1687 case 10 : /* fall through */
1688 case 11 : /* fall through */
1689 case 12 : /* fall through */
1690 case 13 : /* fall through */
1693 unsigned int val = (((insn >> 0) & (15 << 0)));
1696 case 0 : /* fall through */
1697 case 1 : /* fall through */
1698 case 2 : /* fall through */
1699 case 3 : /* fall through */
1700 case 4 : /* fall through */
1701 case 5 : /* fall through */
1702 case 6 : /* fall through */
1703 case 7 : /* fall through */
1704 case 8 : /* fall through */
1705 case 9 : /* fall through */
1706 case 10 : /* fall through */
1707 case 11 : /* fall through */
1708 case 12 : /* fall through */
1709 case 13 : /* fall through */
1710 case 14 : itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
1711 case 15 : itype = CRISV10F_INSN_ADDCDR; goto extract_sfmt_addcdr;
1712 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1717 unsigned int val = (((insn >> 0) & (15 << 0)));
1720 case 0 : /* fall through */
1721 case 1 : /* fall through */
1722 case 2 : /* fall through */
1723 case 3 : /* fall through */
1724 case 4 : /* fall through */
1725 case 5 : /* fall through */
1726 case 6 : /* fall through */
1727 case 7 : /* fall through */
1728 case 8 : /* fall through */
1729 case 9 : /* fall through */
1730 case 10 : /* fall through */
1731 case 11 : /* fall through */
1732 case 12 : /* fall through */
1733 case 13 : /* fall through */
1734 case 14 : itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
1735 case 15 : itype = CRISV10F_INSN_ADDCPC; goto extract_sfmt_addcpc;
1736 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1739 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1744 unsigned int val = (((insn >> 12) & (15 << 0)));
1749 unsigned int val = (((insn >> 0) & (15 << 0)));
1752 case 0 : /* fall through */
1753 case 1 : /* fall through */
1754 case 2 : /* fall through */
1755 case 3 : /* fall through */
1756 case 4 : /* fall through */
1757 case 5 : /* fall through */
1758 case 6 : /* fall through */
1759 case 7 : /* fall through */
1760 case 8 : /* fall through */
1761 case 9 : /* fall through */
1762 case 10 : /* fall through */
1763 case 11 : /* fall through */
1764 case 12 : /* fall through */
1765 case 13 : /* fall through */
1766 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1767 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P0; goto extract_sfmt_move_c_sprv10_p0;
1768 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1773 unsigned int val = (((insn >> 0) & (15 << 0)));
1776 case 0 : /* fall through */
1777 case 1 : /* fall through */
1778 case 2 : /* fall through */
1779 case 3 : /* fall through */
1780 case 4 : /* fall through */
1781 case 5 : /* fall through */
1782 case 6 : /* fall through */
1783 case 7 : /* fall through */
1784 case 8 : /* fall through */
1785 case 9 : /* fall through */
1786 case 10 : /* fall through */
1787 case 11 : /* fall through */
1788 case 12 : /* fall through */
1789 case 13 : /* fall through */
1790 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1791 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P1; goto extract_sfmt_move_c_sprv10_p0;
1792 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1795 case 2 : /* fall through */
1796 case 3 : /* fall through */
1797 case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1800 unsigned int val = (((insn >> 0) & (15 << 0)));
1803 case 0 : /* fall through */
1804 case 1 : /* fall through */
1805 case 2 : /* fall through */
1806 case 3 : /* fall through */
1807 case 4 : /* fall through */
1808 case 5 : /* fall through */
1809 case 6 : /* fall through */
1810 case 7 : /* fall through */
1811 case 8 : /* fall through */
1812 case 9 : /* fall through */
1813 case 10 : /* fall through */
1814 case 11 : /* fall through */
1815 case 12 : /* fall through */
1816 case 13 : /* fall through */
1817 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1818 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P4; goto extract_sfmt_move_c_sprv10_p4;
1819 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1824 unsigned int val = (((insn >> 0) & (15 << 0)));
1827 case 0 : /* fall through */
1828 case 1 : /* fall through */
1829 case 2 : /* fall through */
1830 case 3 : /* fall through */
1831 case 4 : /* fall through */
1832 case 5 : /* fall through */
1833 case 6 : /* fall through */
1834 case 7 : /* fall through */
1835 case 8 : /* fall through */
1836 case 9 : /* fall through */
1837 case 10 : /* fall through */
1838 case 11 : /* fall through */
1839 case 12 : /* fall through */
1840 case 13 : /* fall through */
1841 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1842 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P5; goto extract_sfmt_move_c_sprv10_p4;
1843 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1848 unsigned int val = (((insn >> 0) & (15 << 0)));
1851 case 0 : /* fall through */
1852 case 1 : /* fall through */
1853 case 2 : /* fall through */
1854 case 3 : /* fall through */
1855 case 4 : /* fall through */
1856 case 5 : /* fall through */
1857 case 6 : /* fall through */
1858 case 7 : /* fall through */
1859 case 8 : /* fall through */
1860 case 9 : /* fall through */
1861 case 10 : /* fall through */
1862 case 11 : /* fall through */
1863 case 12 : /* fall through */
1864 case 13 : /* fall through */
1865 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1866 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P7; goto extract_sfmt_move_c_sprv10_p8;
1867 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1872 unsigned int val = (((insn >> 0) & (15 << 0)));
1875 case 0 : /* fall through */
1876 case 1 : /* fall through */
1877 case 2 : /* fall through */
1878 case 3 : /* fall through */
1879 case 4 : /* fall through */
1880 case 5 : /* fall through */
1881 case 6 : /* fall through */
1882 case 7 : /* fall through */
1883 case 8 : /* fall through */
1884 case 9 : /* fall through */
1885 case 10 : /* fall through */
1886 case 11 : /* fall through */
1887 case 12 : /* fall through */
1888 case 13 : /* fall through */
1889 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1890 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P8; goto extract_sfmt_move_c_sprv10_p8;
1891 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1896 unsigned int val = (((insn >> 0) & (15 << 0)));
1899 case 0 : /* fall through */
1900 case 1 : /* fall through */
1901 case 2 : /* fall through */
1902 case 3 : /* fall through */
1903 case 4 : /* fall through */
1904 case 5 : /* fall through */
1905 case 6 : /* fall through */
1906 case 7 : /* fall through */
1907 case 8 : /* fall through */
1908 case 9 : /* fall through */
1909 case 10 : /* fall through */
1910 case 11 : /* fall through */
1911 case 12 : /* fall through */
1912 case 13 : /* fall through */
1913 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1914 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P9; goto extract_sfmt_move_c_sprv10_p8;
1915 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1920 unsigned int val = (((insn >> 0) & (15 << 0)));
1923 case 0 : /* fall through */
1924 case 1 : /* fall through */
1925 case 2 : /* fall through */
1926 case 3 : /* fall through */
1927 case 4 : /* fall through */
1928 case 5 : /* fall through */
1929 case 6 : /* fall through */
1930 case 7 : /* fall through */
1931 case 8 : /* fall through */
1932 case 9 : /* fall through */
1933 case 10 : /* fall through */
1934 case 11 : /* fall through */
1935 case 12 : /* fall through */
1936 case 13 : /* fall through */
1937 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1938 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P10; goto extract_sfmt_move_c_sprv10_p8;
1939 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1944 unsigned int val = (((insn >> 0) & (15 << 0)));
1947 case 0 : /* fall through */
1948 case 1 : /* fall through */
1949 case 2 : /* fall through */
1950 case 3 : /* fall through */
1951 case 4 : /* fall through */
1952 case 5 : /* fall through */
1953 case 6 : /* fall through */
1954 case 7 : /* fall through */
1955 case 8 : /* fall through */
1956 case 9 : /* fall through */
1957 case 10 : /* fall through */
1958 case 11 : /* fall through */
1959 case 12 : /* fall through */
1960 case 13 : /* fall through */
1961 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1962 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P11; goto extract_sfmt_move_c_sprv10_p8;
1963 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1968 unsigned int val = (((insn >> 0) & (15 << 0)));
1971 case 0 : /* fall through */
1972 case 1 : /* fall through */
1973 case 2 : /* fall through */
1974 case 3 : /* fall through */
1975 case 4 : /* fall through */
1976 case 5 : /* fall through */
1977 case 6 : /* fall through */
1978 case 7 : /* fall through */
1979 case 8 : /* fall through */
1980 case 9 : /* fall through */
1981 case 10 : /* fall through */
1982 case 11 : /* fall through */
1983 case 12 : /* fall through */
1984 case 13 : /* fall through */
1985 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
1986 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P12; goto extract_sfmt_move_c_sprv10_p8;
1987 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
1992 unsigned int val = (((insn >> 0) & (15 << 0)));
1995 case 0 : /* fall through */
1996 case 1 : /* fall through */
1997 case 2 : /* fall through */
1998 case 3 : /* fall through */
1999 case 4 : /* fall through */
2000 case 5 : /* fall through */
2001 case 6 : /* fall through */
2002 case 7 : /* fall through */
2003 case 8 : /* fall through */
2004 case 9 : /* fall through */
2005 case 10 : /* fall through */
2006 case 11 : /* fall through */
2007 case 12 : /* fall through */
2008 case 13 : /* fall through */
2009 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
2010 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P13; goto extract_sfmt_move_c_sprv10_p8;
2011 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2016 unsigned int val = (((insn >> 0) & (15 << 0)));
2019 case 0 : /* fall through */
2020 case 1 : /* fall through */
2021 case 2 : /* fall through */
2022 case 3 : /* fall through */
2023 case 4 : /* fall through */
2024 case 5 : /* fall through */
2025 case 6 : /* fall through */
2026 case 7 : /* fall through */
2027 case 8 : /* fall through */
2028 case 9 : /* fall through */
2029 case 10 : /* fall through */
2030 case 11 : /* fall through */
2031 case 12 : /* fall through */
2032 case 13 : /* fall through */
2033 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
2034 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P14; goto extract_sfmt_move_c_sprv10_p8;
2035 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2040 unsigned int val = (((insn >> 0) & (15 << 0)));
2043 case 0 : /* fall through */
2044 case 1 : /* fall through */
2045 case 2 : /* fall through */
2046 case 3 : /* fall through */
2047 case 4 : /* fall through */
2048 case 5 : /* fall through */
2049 case 6 : /* fall through */
2050 case 7 : /* fall through */
2051 case 8 : /* fall through */
2052 case 9 : /* fall through */
2053 case 10 : /* fall through */
2054 case 11 : /* fall through */
2055 case 12 : /* fall through */
2056 case 13 : /* fall through */
2057 case 14 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
2058 case 15 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P15; goto extract_sfmt_move_c_sprv10_p8;
2059 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2062 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2067 unsigned int val = (((insn >> 0) & (15 << 0)));
2070 case 0 : /* fall through */
2071 case 1 : /* fall through */
2072 case 2 : /* fall through */
2073 case 3 : /* fall through */
2074 case 4 : /* fall through */
2075 case 5 : /* fall through */
2076 case 6 : /* fall through */
2077 case 7 : /* fall through */
2078 case 8 : /* fall through */
2079 case 9 : /* fall through */
2080 case 10 : /* fall through */
2081 case 11 : /* fall through */
2082 case 12 : /* fall through */
2083 case 13 : /* fall through */
2084 case 14 : itype = CRISV10F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m;
2085 case 15 : itype = CRISV10F_INSN_MOVECBR; goto extract_sfmt_movecbr;
2086 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2091 unsigned int val = (((insn >> 0) & (15 << 0)));
2094 case 0 : /* fall through */
2095 case 1 : /* fall through */
2096 case 2 : /* fall through */
2097 case 3 : /* fall through */
2098 case 4 : /* fall through */
2099 case 5 : /* fall through */
2100 case 6 : /* fall through */
2101 case 7 : /* fall through */
2102 case 8 : /* fall through */
2103 case 9 : /* fall through */
2104 case 10 : /* fall through */
2105 case 11 : /* fall through */
2106 case 12 : /* fall through */
2107 case 13 : /* fall through */
2108 case 14 : itype = CRISV10F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m;
2109 case 15 : itype = CRISV10F_INSN_MOVECWR; goto extract_sfmt_movecwr;
2110 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2115 unsigned int val = (((insn >> 0) & (15 << 0)));
2118 case 0 : /* fall through */
2119 case 1 : /* fall through */
2120 case 2 : /* fall through */
2121 case 3 : /* fall through */
2122 case 4 : /* fall through */
2123 case 5 : /* fall through */
2124 case 6 : /* fall through */
2125 case 7 : /* fall through */
2126 case 8 : /* fall through */
2127 case 9 : /* fall through */
2128 case 10 : /* fall through */
2129 case 11 : /* fall through */
2130 case 12 : /* fall through */
2131 case 13 : /* fall through */
2132 case 14 : itype = CRISV10F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m;
2133 case 15 : itype = CRISV10F_INSN_MOVECDR; goto extract_sfmt_movecdr;
2134 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2139 unsigned int val = (((insn >> 0) & (15 << 0)));
2142 case 0 : /* fall through */
2143 case 1 : /* fall through */
2144 case 2 : /* fall through */
2145 case 3 : /* fall through */
2146 case 4 : /* fall through */
2147 case 5 : /* fall through */
2148 case 6 : /* fall through */
2149 case 7 : /* fall through */
2150 case 8 : /* fall through */
2151 case 9 : /* fall through */
2152 case 10 : /* fall through */
2153 case 11 : /* fall through */
2154 case 12 : /* fall through */
2155 case 13 : /* fall through */
2156 case 14 : itype = CRISV10F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m;
2157 case 15 : itype = CRISV10F_INSN_SUBCBR; goto extract_sfmt_addcbr;
2158 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2163 unsigned int val = (((insn >> 0) & (15 << 0)));
2166 case 0 : /* fall through */
2167 case 1 : /* fall through */
2168 case 2 : /* fall through */
2169 case 3 : /* fall through */
2170 case 4 : /* fall through */
2171 case 5 : /* fall through */
2172 case 6 : /* fall through */
2173 case 7 : /* fall through */
2174 case 8 : /* fall through */
2175 case 9 : /* fall through */
2176 case 10 : /* fall through */
2177 case 11 : /* fall through */
2178 case 12 : /* fall through */
2179 case 13 : /* fall through */
2180 case 14 : itype = CRISV10F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m;
2181 case 15 : itype = CRISV10F_INSN_SUBCWR; goto extract_sfmt_addcwr;
2182 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2187 unsigned int val = (((insn >> 0) & (15 << 0)));
2190 case 0 : /* fall through */
2191 case 1 : /* fall through */
2192 case 2 : /* fall through */
2193 case 3 : /* fall through */
2194 case 4 : /* fall through */
2195 case 5 : /* fall through */
2196 case 6 : /* fall through */
2197 case 7 : /* fall through */
2198 case 8 : /* fall through */
2199 case 9 : /* fall through */
2200 case 10 : /* fall through */
2201 case 11 : /* fall through */
2202 case 12 : /* fall through */
2203 case 13 : /* fall through */
2204 case 14 : itype = CRISV10F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m;
2205 case 15 : itype = CRISV10F_INSN_SUBCDR; goto extract_sfmt_addcdr;
2206 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2211 unsigned int val = (((insn >> 0) & (15 << 0)));
2214 case 0 : /* fall through */
2215 case 1 : /* fall through */
2216 case 2 : /* fall through */
2217 case 3 : /* fall through */
2218 case 4 : /* fall through */
2219 case 5 : /* fall through */
2220 case 6 : /* fall through */
2221 case 7 : /* fall through */
2222 case 8 : /* fall through */
2223 case 9 : /* fall through */
2224 case 10 : /* fall through */
2225 case 11 : /* fall through */
2226 case 12 : /* fall through */
2227 case 13 : /* fall through */
2228 case 14 : itype = CRISV10F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m;
2229 case 15 : itype = CRISV10F_INSN_CMPCBR; goto extract_sfmt_cmpcbr;
2230 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2235 unsigned int val = (((insn >> 0) & (15 << 0)));
2238 case 0 : /* fall through */
2239 case 1 : /* fall through */
2240 case 2 : /* fall through */
2241 case 3 : /* fall through */
2242 case 4 : /* fall through */
2243 case 5 : /* fall through */
2244 case 6 : /* fall through */
2245 case 7 : /* fall through */
2246 case 8 : /* fall through */
2247 case 9 : /* fall through */
2248 case 10 : /* fall through */
2249 case 11 : /* fall through */
2250 case 12 : /* fall through */
2251 case 13 : /* fall through */
2252 case 14 : itype = CRISV10F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m;
2253 case 15 : itype = CRISV10F_INSN_CMPCWR; goto extract_sfmt_cmpcwr;
2254 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2259 unsigned int val = (((insn >> 0) & (15 << 0)));
2262 case 0 : /* fall through */
2263 case 1 : /* fall through */
2264 case 2 : /* fall through */
2265 case 3 : /* fall through */
2266 case 4 : /* fall through */
2267 case 5 : /* fall through */
2268 case 6 : /* fall through */
2269 case 7 : /* fall through */
2270 case 8 : /* fall through */
2271 case 9 : /* fall through */
2272 case 10 : /* fall through */
2273 case 11 : /* fall through */
2274 case 12 : /* fall through */
2275 case 13 : /* fall through */
2276 case 14 : itype = CRISV10F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m;
2277 case 15 : itype = CRISV10F_INSN_CMPCDR; goto extract_sfmt_cmpcdr;
2278 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2283 unsigned int val = (((insn >> 0) & (15 << 0)));
2286 case 0 : /* fall through */
2287 case 1 : /* fall through */
2288 case 2 : /* fall through */
2289 case 3 : /* fall through */
2290 case 4 : /* fall through */
2291 case 5 : /* fall through */
2292 case 6 : /* fall through */
2293 case 7 : /* fall through */
2294 case 8 : /* fall through */
2295 case 9 : /* fall through */
2296 case 10 : /* fall through */
2297 case 11 : /* fall through */
2298 case 12 : /* fall through */
2299 case 13 : /* fall through */
2300 case 14 : itype = CRISV10F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m;
2301 case 15 : itype = CRISV10F_INSN_ANDCBR; goto extract_sfmt_andcbr;
2302 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2307 unsigned int val = (((insn >> 0) & (15 << 0)));
2310 case 0 : /* fall through */
2311 case 1 : /* fall through */
2312 case 2 : /* fall through */
2313 case 3 : /* fall through */
2314 case 4 : /* fall through */
2315 case 5 : /* fall through */
2316 case 6 : /* fall through */
2317 case 7 : /* fall through */
2318 case 8 : /* fall through */
2319 case 9 : /* fall through */
2320 case 10 : /* fall through */
2321 case 11 : /* fall through */
2322 case 12 : /* fall through */
2323 case 13 : /* fall through */
2324 case 14 : itype = CRISV10F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m;
2325 case 15 : itype = CRISV10F_INSN_ANDCWR; goto extract_sfmt_andcwr;
2326 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2331 unsigned int val = (((insn >> 0) & (15 << 0)));
2334 case 0 : /* fall through */
2335 case 1 : /* fall through */
2336 case 2 : /* fall through */
2337 case 3 : /* fall through */
2338 case 4 : /* fall through */
2339 case 5 : /* fall through */
2340 case 6 : /* fall through */
2341 case 7 : /* fall through */
2342 case 8 : /* fall through */
2343 case 9 : /* fall through */
2344 case 10 : /* fall through */
2345 case 11 : /* fall through */
2346 case 12 : /* fall through */
2347 case 13 : /* fall through */
2348 case 14 : itype = CRISV10F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m;
2349 case 15 : itype = CRISV10F_INSN_ANDCDR; goto extract_sfmt_andcdr;
2350 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2355 unsigned int val = (((insn >> 0) & (15 << 0)));
2358 case 0 : /* fall through */
2359 case 1 : /* fall through */
2360 case 2 : /* fall through */
2361 case 3 : /* fall through */
2362 case 4 : /* fall through */
2363 case 5 : /* fall through */
2364 case 6 : /* fall through */
2365 case 7 : /* fall through */
2366 case 8 : /* fall through */
2367 case 9 : /* fall through */
2368 case 10 : /* fall through */
2369 case 11 : /* fall through */
2370 case 12 : /* fall through */
2371 case 13 : /* fall through */
2372 case 14 : itype = CRISV10F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m;
2373 case 15 : itype = CRISV10F_INSN_ORCBR; goto extract_sfmt_andcbr;
2374 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2379 unsigned int val = (((insn >> 0) & (15 << 0)));
2382 case 0 : /* fall through */
2383 case 1 : /* fall through */
2384 case 2 : /* fall through */
2385 case 3 : /* fall through */
2386 case 4 : /* fall through */
2387 case 5 : /* fall through */
2388 case 6 : /* fall through */
2389 case 7 : /* fall through */
2390 case 8 : /* fall through */
2391 case 9 : /* fall through */
2392 case 10 : /* fall through */
2393 case 11 : /* fall through */
2394 case 12 : /* fall through */
2395 case 13 : /* fall through */
2396 case 14 : itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m;
2397 case 15 : itype = CRISV10F_INSN_ORCWR; goto extract_sfmt_andcwr;
2398 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2403 unsigned int val = (((insn >> 0) & (15 << 0)));
2406 case 0 : /* fall through */
2407 case 1 : /* fall through */
2408 case 2 : /* fall through */
2409 case 3 : /* fall through */
2410 case 4 : /* fall through */
2411 case 5 : /* fall through */
2412 case 6 : /* fall through */
2413 case 7 : /* fall through */
2414 case 8 : /* fall through */
2415 case 9 : /* fall through */
2416 case 10 : /* fall through */
2417 case 11 : /* fall through */
2418 case 12 : /* fall through */
2419 case 13 : /* fall through */
2420 case 14 : itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m;
2421 case 15 : itype = CRISV10F_INSN_ORCDR; goto extract_sfmt_andcdr;
2422 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2425 default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
2430 /* The instruction has been decoded, now extract the fields. */
2434 const IDESC *idesc = &crisv10f_insn_data[itype];
2435 #define FLD(f) abuf->fields.fmt_empty.f
2438 /* Record the fields for the semantic handler. */
2439 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
2447 const IDESC *idesc = &crisv10f_insn_data[itype];
2448 #define FLD(f) abuf->fields.fmt_empty.f
2451 /* Record the fields for the semantic handler. */
2452 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
2458 extract_sfmt_move_b_r:
2460 const IDESC *idesc = &crisv10f_insn_data[itype];
2461 CGEN_INSN_INT insn = base_insn;
2462 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2466 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2467 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2469 /* Record the fields for the semantic handler. */
2470 FLD (f_operand1) = f_operand1;
2471 FLD (f_operand2) = f_operand2;
2472 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));
2474 #if WITH_PROFILE_MODEL_P
2475 /* Record the fields for profiling. */
2476 if (PROFILE_MODEL_P (current_cpu))
2478 FLD (in_Rs) = f_operand1;
2479 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2486 extract_sfmt_move_d_r:
2488 const IDESC *idesc = &crisv10f_insn_data[itype];
2489 CGEN_INSN_INT insn = base_insn;
2490 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2494 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2495 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2497 /* Record the fields for the semantic handler. */
2498 FLD (f_operand1) = f_operand1;
2499 FLD (f_operand2) = f_operand2;
2500 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));
2502 #if WITH_PROFILE_MODEL_P
2503 /* Record the fields for profiling. */
2504 if (PROFILE_MODEL_P (current_cpu))
2506 FLD (in_Rs) = f_operand1;
2507 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2514 extract_sfmt_movepcr:
2516 const IDESC *idesc = &crisv10f_insn_data[itype];
2517 CGEN_INSN_INT insn = base_insn;
2518 #define FLD(f) abuf->fields.sfmt_moveq.f
2521 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2523 /* Record the fields for the semantic handler. */
2524 FLD (f_operand2) = f_operand2;
2525 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movepcr", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
2527 #if WITH_PROFILE_MODEL_P
2528 /* Record the fields for profiling. */
2529 if (PROFILE_MODEL_P (current_cpu))
2531 FLD (out_Rd) = f_operand2;
2540 const IDESC *idesc = &crisv10f_insn_data[itype];
2541 CGEN_INSN_INT insn = base_insn;
2542 #define FLD(f) abuf->fields.sfmt_moveq.f
2546 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2547 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
2549 /* Record the fields for the semantic handler. */
2551 FLD (f_operand2) = f_operand2;
2552 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));
2554 #if WITH_PROFILE_MODEL_P
2555 /* Record the fields for profiling. */
2556 if (PROFILE_MODEL_P (current_cpu))
2558 FLD (out_Rd) = f_operand2;
2565 extract_sfmt_movs_b_r:
2567 const IDESC *idesc = &crisv10f_insn_data[itype];
2568 CGEN_INSN_INT insn = base_insn;
2569 #define FLD(f) abuf->fields.sfmt_muls_b.f
2573 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2574 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2576 /* Record the fields for the semantic handler. */
2577 FLD (f_operand1) = f_operand1;
2578 FLD (f_operand2) = f_operand2;
2579 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));
2581 #if WITH_PROFILE_MODEL_P
2582 /* Record the fields for profiling. */
2583 if (PROFILE_MODEL_P (current_cpu))
2585 FLD (in_Rs) = f_operand1;
2586 FLD (out_Rd) = f_operand2;
2593 extract_sfmt_movecbr:
2595 const IDESC *idesc = &crisv10f_insn_data[itype];
2596 CGEN_INSN_INT insn = base_insn;
2597 #define FLD(f) abuf->fields.sfmt_addcbr.f
2598 INT f_indir_pc__byte;
2600 /* Contents of trailing part of insn. */
2603 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2604 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2605 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2607 /* Record the fields for the semantic handler. */
2608 FLD (f_operand2) = f_operand2;
2609 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2610 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));
2612 #if WITH_PROFILE_MODEL_P
2613 /* Record the fields for profiling. */
2614 if (PROFILE_MODEL_P (current_cpu))
2616 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2623 extract_sfmt_movecwr:
2625 const IDESC *idesc = &crisv10f_insn_data[itype];
2626 CGEN_INSN_INT insn = base_insn;
2627 #define FLD(f) abuf->fields.sfmt_addcwr.f
2628 INT f_indir_pc__word;
2630 /* Contents of trailing part of insn. */
2633 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2634 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2635 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2637 /* Record the fields for the semantic handler. */
2638 FLD (f_operand2) = f_operand2;
2639 FLD (f_indir_pc__word) = f_indir_pc__word;
2640 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));
2642 #if WITH_PROFILE_MODEL_P
2643 /* Record the fields for profiling. */
2644 if (PROFILE_MODEL_P (current_cpu))
2646 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2653 extract_sfmt_movecdr:
2655 const IDESC *idesc = &crisv10f_insn_data[itype];
2656 CGEN_INSN_INT insn = base_insn;
2657 #define FLD(f) abuf->fields.sfmt_bound_cd.f
2658 INT f_indir_pc__dword;
2660 /* Contents of trailing part of insn. */
2663 word_1 = GETIMEMUSI (current_cpu, pc + 2);
2664 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
2665 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2667 /* Record the fields for the semantic handler. */
2668 FLD (f_indir_pc__dword) = f_indir_pc__dword;
2669 FLD (f_operand2) = f_operand2;
2670 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));
2672 #if WITH_PROFILE_MODEL_P
2673 /* Record the fields for profiling. */
2674 if (PROFILE_MODEL_P (current_cpu))
2676 FLD (out_Rd) = f_operand2;
2683 extract_sfmt_movscbr:
2685 const IDESC *idesc = &crisv10f_insn_data[itype];
2686 CGEN_INSN_INT insn = base_insn;
2687 #define FLD(f) abuf->fields.sfmt_bound_cb.f
2689 INT f_indir_pc__byte;
2690 /* Contents of trailing part of insn. */
2693 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2694 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2695 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2697 /* Record the fields for the semantic handler. */
2698 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2699 FLD (f_operand2) = f_operand2;
2700 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));
2702 #if WITH_PROFILE_MODEL_P
2703 /* Record the fields for profiling. */
2704 if (PROFILE_MODEL_P (current_cpu))
2706 FLD (out_Rd) = f_operand2;
2713 extract_sfmt_movscwr:
2715 const IDESC *idesc = &crisv10f_insn_data[itype];
2716 CGEN_INSN_INT insn = base_insn;
2717 #define FLD(f) abuf->fields.sfmt_bound_cw.f
2719 INT f_indir_pc__word;
2720 /* Contents of trailing part of insn. */
2723 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2724 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2725 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2727 /* Record the fields for the semantic handler. */
2728 FLD (f_indir_pc__word) = f_indir_pc__word;
2729 FLD (f_operand2) = f_operand2;
2730 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));
2732 #if WITH_PROFILE_MODEL_P
2733 /* Record the fields for profiling. */
2734 if (PROFILE_MODEL_P (current_cpu))
2736 FLD (out_Rd) = f_operand2;
2743 extract_sfmt_movucbr:
2745 const IDESC *idesc = &crisv10f_insn_data[itype];
2746 CGEN_INSN_INT insn = base_insn;
2747 #define FLD(f) abuf->fields.sfmt_bound_cb.f
2749 INT f_indir_pc__byte;
2750 /* Contents of trailing part of insn. */
2753 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2754 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2755 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2757 /* Record the fields for the semantic handler. */
2758 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2759 FLD (f_operand2) = f_operand2;
2760 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));
2762 #if WITH_PROFILE_MODEL_P
2763 /* Record the fields for profiling. */
2764 if (PROFILE_MODEL_P (current_cpu))
2766 FLD (out_Rd) = f_operand2;
2773 extract_sfmt_movucwr:
2775 const IDESC *idesc = &crisv10f_insn_data[itype];
2776 CGEN_INSN_INT insn = base_insn;
2777 #define FLD(f) abuf->fields.sfmt_bound_cw.f
2779 INT f_indir_pc__word;
2780 /* Contents of trailing part of insn. */
2783 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2784 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2785 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2787 /* Record the fields for the semantic handler. */
2788 FLD (f_indir_pc__word) = f_indir_pc__word;
2789 FLD (f_operand2) = f_operand2;
2790 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));
2792 #if WITH_PROFILE_MODEL_P
2793 /* Record the fields for profiling. */
2794 if (PROFILE_MODEL_P (current_cpu))
2796 FLD (out_Rd) = f_operand2;
2805 const IDESC *idesc = &crisv10f_insn_data[itype];
2806 CGEN_INSN_INT insn = base_insn;
2807 #define FLD(f) abuf->fields.sfmt_addq.f
2811 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2812 f_u6 = EXTRACT_LSB0_UINT (insn, 16, 5, 6);
2814 /* Record the fields for the semantic handler. */
2815 FLD (f_operand2) = f_operand2;
2817 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));
2819 #if WITH_PROFILE_MODEL_P
2820 /* Record the fields for profiling. */
2821 if (PROFILE_MODEL_P (current_cpu))
2823 FLD (in_Rd) = f_operand2;
2824 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
2831 extract_sfmt_cmp_r_b_r:
2833 const IDESC *idesc = &crisv10f_insn_data[itype];
2834 CGEN_INSN_INT insn = base_insn;
2835 #define FLD(f) abuf->fields.sfmt_add_b_r.f
2839 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2840 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2842 /* Record the fields for the semantic handler. */
2843 FLD (f_operand2) = f_operand2;
2844 FLD (f_operand1) = f_operand1;
2845 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));
2847 #if WITH_PROFILE_MODEL_P
2848 /* Record the fields for profiling. */
2849 if (PROFILE_MODEL_P (current_cpu))
2851 FLD (in_Rd) = f_operand2;
2852 FLD (in_Rs) = f_operand1;
2859 extract_sfmt_cmp_m_b_m:
2861 const IDESC *idesc = &crisv10f_insn_data[itype];
2862 CGEN_INSN_INT insn = base_insn;
2863 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2868 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2869 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2870 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2872 /* Record the fields for the semantic handler. */
2873 FLD (f_operand2) = f_operand2;
2874 FLD (f_operand1) = f_operand1;
2875 FLD (f_memmode) = f_memmode;
2876 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));
2878 #if WITH_PROFILE_MODEL_P
2879 /* Record the fields for profiling. */
2880 if (PROFILE_MODEL_P (current_cpu))
2882 FLD (in_Rd) = f_operand2;
2883 FLD (in_Rs) = f_operand1;
2884 FLD (out_Rs) = f_operand1;
2891 extract_sfmt_cmp_m_w_m:
2893 const IDESC *idesc = &crisv10f_insn_data[itype];
2894 CGEN_INSN_INT insn = base_insn;
2895 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2900 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2901 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2902 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2904 /* Record the fields for the semantic handler. */
2905 FLD (f_operand2) = f_operand2;
2906 FLD (f_operand1) = f_operand1;
2907 FLD (f_memmode) = f_memmode;
2908 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));
2910 #if WITH_PROFILE_MODEL_P
2911 /* Record the fields for profiling. */
2912 if (PROFILE_MODEL_P (current_cpu))
2914 FLD (in_Rd) = f_operand2;
2915 FLD (in_Rs) = f_operand1;
2916 FLD (out_Rs) = f_operand1;
2923 extract_sfmt_cmp_m_d_m:
2925 const IDESC *idesc = &crisv10f_insn_data[itype];
2926 CGEN_INSN_INT insn = base_insn;
2927 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
2932 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2933 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
2934 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
2936 /* Record the fields for the semantic handler. */
2937 FLD (f_operand2) = f_operand2;
2938 FLD (f_operand1) = f_operand1;
2939 FLD (f_memmode) = f_memmode;
2940 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));
2942 #if WITH_PROFILE_MODEL_P
2943 /* Record the fields for profiling. */
2944 if (PROFILE_MODEL_P (current_cpu))
2946 FLD (in_Rd) = f_operand2;
2947 FLD (in_Rs) = f_operand1;
2948 FLD (out_Rs) = f_operand1;
2955 extract_sfmt_cmpcbr:
2957 const IDESC *idesc = &crisv10f_insn_data[itype];
2958 CGEN_INSN_INT insn = base_insn;
2959 #define FLD(f) abuf->fields.sfmt_bound_cb.f
2960 INT f_indir_pc__byte;
2962 /* Contents of trailing part of insn. */
2965 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2966 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2967 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2969 /* Record the fields for the semantic handler. */
2970 FLD (f_operand2) = f_operand2;
2971 FLD (f_indir_pc__byte) = f_indir_pc__byte;
2972 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));
2974 #if WITH_PROFILE_MODEL_P
2975 /* Record the fields for profiling. */
2976 if (PROFILE_MODEL_P (current_cpu))
2978 FLD (in_Rd) = f_operand2;
2985 extract_sfmt_cmpcwr:
2987 const IDESC *idesc = &crisv10f_insn_data[itype];
2988 CGEN_INSN_INT insn = base_insn;
2989 #define FLD(f) abuf->fields.sfmt_bound_cw.f
2990 INT f_indir_pc__word;
2992 /* Contents of trailing part of insn. */
2995 word_1 = GETIMEMUHI (current_cpu, pc + 2);
2996 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
2997 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
2999 /* Record the fields for the semantic handler. */
3000 FLD (f_operand2) = f_operand2;
3001 FLD (f_indir_pc__word) = f_indir_pc__word;
3002 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));
3004 #if WITH_PROFILE_MODEL_P
3005 /* Record the fields for profiling. */
3006 if (PROFILE_MODEL_P (current_cpu))
3008 FLD (in_Rd) = f_operand2;
3015 extract_sfmt_cmpcdr:
3017 const IDESC *idesc = &crisv10f_insn_data[itype];
3018 CGEN_INSN_INT insn = base_insn;
3019 #define FLD(f) abuf->fields.sfmt_bound_cd.f
3020 INT f_indir_pc__dword;
3022 /* Contents of trailing part of insn. */
3025 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3026 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
3027 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3029 /* Record the fields for the semantic handler. */
3030 FLD (f_operand2) = f_operand2;
3031 FLD (f_indir_pc__dword) = f_indir_pc__dword;
3032 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));
3034 #if WITH_PROFILE_MODEL_P
3035 /* Record the fields for profiling. */
3036 if (PROFILE_MODEL_P (current_cpu))
3038 FLD (in_Rd) = f_operand2;
3047 const IDESC *idesc = &crisv10f_insn_data[itype];
3048 CGEN_INSN_INT insn = base_insn;
3049 #define FLD(f) abuf->fields.sfmt_andq.f
3053 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3054 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
3056 /* Record the fields for the semantic handler. */
3057 FLD (f_operand2) = f_operand2;
3059 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));
3061 #if WITH_PROFILE_MODEL_P
3062 /* Record the fields for profiling. */
3063 if (PROFILE_MODEL_P (current_cpu))
3065 FLD (in_Rd) = f_operand2;
3072 extract_sfmt_cmpucbr:
3074 const IDESC *idesc = &crisv10f_insn_data[itype];
3075 CGEN_INSN_INT insn = base_insn;
3076 #define FLD(f) abuf->fields.sfmt_bound_cb.f
3077 INT f_indir_pc__byte;
3079 /* Contents of trailing part of insn. */
3082 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3083 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3084 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3086 /* Record the fields for the semantic handler. */
3087 FLD (f_operand2) = f_operand2;
3088 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3089 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));
3091 #if WITH_PROFILE_MODEL_P
3092 /* Record the fields for profiling. */
3093 if (PROFILE_MODEL_P (current_cpu))
3095 FLD (in_Rd) = f_operand2;
3102 extract_sfmt_cmpucwr:
3104 const IDESC *idesc = &crisv10f_insn_data[itype];
3105 CGEN_INSN_INT insn = base_insn;
3106 #define FLD(f) abuf->fields.sfmt_bound_cw.f
3107 INT f_indir_pc__word;
3109 /* Contents of trailing part of insn. */
3112 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3113 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3114 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3116 /* Record the fields for the semantic handler. */
3117 FLD (f_operand2) = f_operand2;
3118 FLD (f_indir_pc__word) = f_indir_pc__word;
3119 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));
3121 #if WITH_PROFILE_MODEL_P
3122 /* Record the fields for profiling. */
3123 if (PROFILE_MODEL_P (current_cpu))
3125 FLD (in_Rd) = f_operand2;
3132 extract_sfmt_move_m_b_m:
3134 const IDESC *idesc = &crisv10f_insn_data[itype];
3135 CGEN_INSN_INT insn = base_insn;
3136 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3141 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3142 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3143 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3145 /* Record the fields for the semantic handler. */
3146 FLD (f_operand1) = f_operand1;
3147 FLD (f_operand2) = f_operand2;
3148 FLD (f_memmode) = f_memmode;
3149 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));
3151 #if WITH_PROFILE_MODEL_P
3152 /* Record the fields for profiling. */
3153 if (PROFILE_MODEL_P (current_cpu))
3155 FLD (in_Rs) = f_operand1;
3156 FLD (out_Rs) = f_operand1;
3157 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)));
3164 extract_sfmt_move_m_w_m:
3166 const IDESC *idesc = &crisv10f_insn_data[itype];
3167 CGEN_INSN_INT insn = base_insn;
3168 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3173 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3174 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3175 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3177 /* Record the fields for the semantic handler. */
3178 FLD (f_operand1) = f_operand1;
3179 FLD (f_operand2) = f_operand2;
3180 FLD (f_memmode) = f_memmode;
3181 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));
3183 #if WITH_PROFILE_MODEL_P
3184 /* Record the fields for profiling. */
3185 if (PROFILE_MODEL_P (current_cpu))
3187 FLD (in_Rs) = f_operand1;
3188 FLD (out_Rs) = f_operand1;
3189 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)));
3196 extract_sfmt_move_m_d_m:
3198 const IDESC *idesc = &crisv10f_insn_data[itype];
3199 CGEN_INSN_INT insn = base_insn;
3200 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3205 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3206 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3207 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3209 /* Record the fields for the semantic handler. */
3210 FLD (f_operand1) = f_operand1;
3211 FLD (f_operand2) = f_operand2;
3212 FLD (f_memmode) = f_memmode;
3213 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));
3215 #if WITH_PROFILE_MODEL_P
3216 /* Record the fields for profiling. */
3217 if (PROFILE_MODEL_P (current_cpu))
3219 FLD (in_Rs) = f_operand1;
3220 FLD (out_Rs) = f_operand1;
3221 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)));
3228 extract_sfmt_movs_m_b_m:
3230 const IDESC *idesc = &crisv10f_insn_data[itype];
3231 CGEN_INSN_INT insn = base_insn;
3232 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3237 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3238 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3239 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3241 /* Record the fields for the semantic handler. */
3242 FLD (f_operand1) = f_operand1;
3243 FLD (f_memmode) = f_memmode;
3244 FLD (f_operand2) = f_operand2;
3245 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));
3247 #if WITH_PROFILE_MODEL_P
3248 /* Record the fields for profiling. */
3249 if (PROFILE_MODEL_P (current_cpu))
3251 FLD (in_Rs) = f_operand1;
3252 FLD (out_Rd) = f_operand2;
3253 FLD (out_Rs) = f_operand1;
3260 extract_sfmt_movs_m_w_m:
3262 const IDESC *idesc = &crisv10f_insn_data[itype];
3263 CGEN_INSN_INT insn = base_insn;
3264 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
3269 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3270 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3271 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3273 /* Record the fields for the semantic handler. */
3274 FLD (f_operand1) = f_operand1;
3275 FLD (f_memmode) = f_memmode;
3276 FLD (f_operand2) = f_operand2;
3277 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));
3279 #if WITH_PROFILE_MODEL_P
3280 /* Record the fields for profiling. */
3281 if (PROFILE_MODEL_P (current_cpu))
3283 FLD (in_Rs) = f_operand1;
3284 FLD (out_Rd) = f_operand2;
3285 FLD (out_Rs) = f_operand1;
3292 extract_sfmt_move_r_sprv10:
3294 const IDESC *idesc = &crisv10f_insn_data[itype];
3295 CGEN_INSN_INT insn = base_insn;
3296 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
3300 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3301 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3303 /* Record the fields for the semantic handler. */
3304 FLD (f_operand1) = f_operand1;
3305 FLD (f_operand2) = f_operand2;
3306 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3308 #if WITH_PROFILE_MODEL_P
3309 /* Record the fields for profiling. */
3310 if (PROFILE_MODEL_P (current_cpu))
3312 FLD (in_Rs) = f_operand1;
3313 FLD (out_Pd) = f_operand2;
3320 extract_sfmt_move_spr_rv10:
3322 const IDESC *idesc = &crisv10f_insn_data[itype];
3323 CGEN_INSN_INT insn = base_insn;
3324 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
3328 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3329 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3331 /* Record the fields for the semantic handler. */
3332 FLD (f_operand2) = f_operand2;
3333 FLD (f_operand1) = f_operand1;
3334 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
3336 #if WITH_PROFILE_MODEL_P
3337 /* Record the fields for profiling. */
3338 if (PROFILE_MODEL_P (current_cpu))
3340 FLD (in_Ps) = f_operand2;
3341 FLD (out_h_gr_SI_index_of__DFLT_Rs) = FLD (f_operand1);
3348 extract_sfmt_ret_type:
3350 const IDESC *idesc = &crisv10f_insn_data[itype];
3351 CGEN_INSN_INT insn = base_insn;
3352 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
3355 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3357 /* Record the fields for the semantic handler. */
3358 FLD (f_operand2) = f_operand2;
3359 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret_type", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3361 #if WITH_PROFILE_MODEL_P
3362 /* Record the fields for profiling. */
3363 if (PROFILE_MODEL_P (current_cpu))
3365 FLD (in_Ps) = f_operand2;
3372 extract_sfmt_move_m_sprv10:
3374 const IDESC *idesc = &crisv10f_insn_data[itype];
3375 CGEN_INSN_INT insn = base_insn;
3376 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
3381 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3382 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3383 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3385 /* Record the fields for the semantic handler. */
3386 FLD (f_operand1) = f_operand1;
3387 FLD (f_operand2) = f_operand2;
3388 FLD (f_memmode) = f_memmode;
3389 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3391 #if WITH_PROFILE_MODEL_P
3392 /* Record the fields for profiling. */
3393 if (PROFILE_MODEL_P (current_cpu))
3395 FLD (in_Rs) = f_operand1;
3396 FLD (out_Pd) = f_operand2;
3397 FLD (out_Rs) = f_operand1;
3404 extract_sfmt_move_c_sprv10_p0:
3406 const IDESC *idesc = &crisv10f_insn_data[itype];
3407 CGEN_INSN_INT insn = base_insn;
3408 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p0.f
3410 INT f_indir_pc__byte;
3411 /* Contents of trailing part of insn. */
3414 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3415 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3416 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3418 /* Record the fields for the semantic handler. */
3419 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3420 FLD (f_operand2) = f_operand2;
3421 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p0", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3423 #if WITH_PROFILE_MODEL_P
3424 /* Record the fields for profiling. */
3425 if (PROFILE_MODEL_P (current_cpu))
3427 FLD (out_Pd) = f_operand2;
3434 extract_sfmt_move_c_sprv10_p4:
3436 const IDESC *idesc = &crisv10f_insn_data[itype];
3437 CGEN_INSN_INT insn = base_insn;
3438 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p4.f
3440 INT f_indir_pc__word;
3441 /* Contents of trailing part of insn. */
3444 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3445 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3446 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3448 /* Record the fields for the semantic handler. */
3449 FLD (f_indir_pc__word) = f_indir_pc__word;
3450 FLD (f_operand2) = f_operand2;
3451 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p4", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3453 #if WITH_PROFILE_MODEL_P
3454 /* Record the fields for profiling. */
3455 if (PROFILE_MODEL_P (current_cpu))
3457 FLD (out_Pd) = f_operand2;
3464 extract_sfmt_move_c_sprv10_p8:
3466 const IDESC *idesc = &crisv10f_insn_data[itype];
3467 CGEN_INSN_INT insn = base_insn;
3468 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
3469 INT f_indir_pc__dword;
3471 /* Contents of trailing part of insn. */
3474 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3475 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
3476 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3478 /* Record the fields for the semantic handler. */
3479 FLD (f_indir_pc__dword) = f_indir_pc__dword;
3480 FLD (f_operand2) = f_operand2;
3481 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p8", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
3483 #if WITH_PROFILE_MODEL_P
3484 /* Record the fields for profiling. */
3485 if (PROFILE_MODEL_P (current_cpu))
3487 FLD (out_Pd) = f_operand2;
3494 extract_sfmt_move_spr_mv10:
3496 const IDESC *idesc = &crisv10f_insn_data[itype];
3497 CGEN_INSN_INT insn = base_insn;
3498 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
3503 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3504 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3505 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3507 /* Record the fields for the semantic handler. */
3508 FLD (f_operand2) = f_operand2;
3509 FLD (f_operand1) = f_operand1;
3510 FLD (f_memmode) = f_memmode;
3511 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3513 #if WITH_PROFILE_MODEL_P
3514 /* Record the fields for profiling. */
3515 if (PROFILE_MODEL_P (current_cpu))
3517 FLD (in_Ps) = f_operand2;
3518 FLD (in_Rs) = f_operand1;
3519 FLD (out_Rs) = f_operand1;
3528 const IDESC *idesc = &crisv10f_insn_data[itype];
3529 #define FLD(f) abuf->fields.fmt_empty.f
3532 /* Record the fields for the semantic handler. */
3533 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sbfs", (char *) 0));
3539 extract_sfmt_movem_r_m:
3541 const IDESC *idesc = &crisv10f_insn_data[itype];
3542 CGEN_INSN_INT insn = base_insn;
3543 #define FLD(f) abuf->fields.sfmt_movem_r_m.f
3548 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3549 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3550 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3552 /* Record the fields for the semantic handler. */
3553 FLD (f_operand2) = f_operand2;
3554 FLD (f_operand1) = f_operand1;
3555 FLD (f_memmode) = f_memmode;
3556 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3558 #if WITH_PROFILE_MODEL_P
3559 /* Record the fields for profiling. */
3560 if (PROFILE_MODEL_P (current_cpu))
3562 FLD (in_Rd) = f_operand2;
3563 FLD (in_Rs) = f_operand1;
3564 FLD (in_h_gr_SI_0) = 0;
3565 FLD (in_h_gr_SI_1) = 1;
3566 FLD (in_h_gr_SI_10) = 10;
3567 FLD (in_h_gr_SI_11) = 11;
3568 FLD (in_h_gr_SI_12) = 12;
3569 FLD (in_h_gr_SI_13) = 13;
3570 FLD (in_h_gr_SI_14) = 14;
3571 FLD (in_h_gr_SI_15) = 15;
3572 FLD (in_h_gr_SI_2) = 2;
3573 FLD (in_h_gr_SI_3) = 3;
3574 FLD (in_h_gr_SI_4) = 4;
3575 FLD (in_h_gr_SI_5) = 5;
3576 FLD (in_h_gr_SI_6) = 6;
3577 FLD (in_h_gr_SI_7) = 7;
3578 FLD (in_h_gr_SI_8) = 8;
3579 FLD (in_h_gr_SI_9) = 9;
3580 FLD (out_Rs) = f_operand1;
3587 extract_sfmt_movem_m_r:
3589 const IDESC *idesc = &crisv10f_insn_data[itype];
3590 CGEN_INSN_INT insn = base_insn;
3591 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
3596 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3597 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3598 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3600 /* Record the fields for the semantic handler. */
3601 FLD (f_operand2) = f_operand2;
3602 FLD (f_operand1) = f_operand1;
3603 FLD (f_memmode) = f_memmode;
3604 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3606 #if WITH_PROFILE_MODEL_P
3607 /* Record the fields for profiling. */
3608 if (PROFILE_MODEL_P (current_cpu))
3610 FLD (in_Rd) = f_operand2;
3611 FLD (in_Rs) = f_operand1;
3612 FLD (out_Rs) = f_operand1;
3613 FLD (out_h_gr_SI_0) = 0;
3614 FLD (out_h_gr_SI_1) = 1;
3615 FLD (out_h_gr_SI_10) = 10;
3616 FLD (out_h_gr_SI_11) = 11;
3617 FLD (out_h_gr_SI_12) = 12;
3618 FLD (out_h_gr_SI_13) = 13;
3619 FLD (out_h_gr_SI_14) = 14;
3620 FLD (out_h_gr_SI_2) = 2;
3621 FLD (out_h_gr_SI_3) = 3;
3622 FLD (out_h_gr_SI_4) = 4;
3623 FLD (out_h_gr_SI_5) = 5;
3624 FLD (out_h_gr_SI_6) = 6;
3625 FLD (out_h_gr_SI_7) = 7;
3626 FLD (out_h_gr_SI_8) = 8;
3627 FLD (out_h_gr_SI_9) = 9;
3634 extract_sfmt_movem_m_pc:
3636 const IDESC *idesc = &crisv10f_insn_data[itype];
3637 CGEN_INSN_INT insn = base_insn;
3638 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
3642 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3643 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3645 /* Record the fields for the semantic handler. */
3646 FLD (f_operand1) = f_operand1;
3647 FLD (f_memmode) = f_memmode;
3648 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_pc", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
3650 #if WITH_PROFILE_MODEL_P
3651 /* Record the fields for profiling. */
3652 if (PROFILE_MODEL_P (current_cpu))
3654 FLD (in_Rs) = f_operand1;
3655 FLD (out_Rs) = f_operand1;
3656 FLD (out_h_gr_SI_0) = 0;
3657 FLD (out_h_gr_SI_1) = 1;
3658 FLD (out_h_gr_SI_10) = 10;
3659 FLD (out_h_gr_SI_11) = 11;
3660 FLD (out_h_gr_SI_12) = 12;
3661 FLD (out_h_gr_SI_13) = 13;
3662 FLD (out_h_gr_SI_14) = 14;
3663 FLD (out_h_gr_SI_2) = 2;
3664 FLD (out_h_gr_SI_3) = 3;
3665 FLD (out_h_gr_SI_4) = 4;
3666 FLD (out_h_gr_SI_5) = 5;
3667 FLD (out_h_gr_SI_6) = 6;
3668 FLD (out_h_gr_SI_7) = 7;
3669 FLD (out_h_gr_SI_8) = 8;
3670 FLD (out_h_gr_SI_9) = 9;
3677 extract_sfmt_add_b_r:
3679 const IDESC *idesc = &crisv10f_insn_data[itype];
3680 CGEN_INSN_INT insn = base_insn;
3681 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3685 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3686 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3688 /* Record the fields for the semantic handler. */
3689 FLD (f_operand2) = f_operand2;
3690 FLD (f_operand1) = f_operand1;
3691 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));
3693 #if WITH_PROFILE_MODEL_P
3694 /* Record the fields for profiling. */
3695 if (PROFILE_MODEL_P (current_cpu))
3697 FLD (in_Rd) = f_operand2;
3698 FLD (in_Rs) = f_operand1;
3699 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3706 extract_sfmt_add_d_r:
3708 const IDESC *idesc = &crisv10f_insn_data[itype];
3709 CGEN_INSN_INT insn = base_insn;
3710 #define FLD(f) abuf->fields.sfmt_add_b_r.f
3714 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3715 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3717 /* Record the fields for the semantic handler. */
3718 FLD (f_operand2) = f_operand2;
3719 FLD (f_operand1) = f_operand1;
3720 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));
3722 #if WITH_PROFILE_MODEL_P
3723 /* Record the fields for profiling. */
3724 if (PROFILE_MODEL_P (current_cpu))
3726 FLD (in_Rd) = f_operand2;
3727 FLD (in_Rs) = f_operand1;
3728 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3735 extract_sfmt_add_m_b_m:
3737 const IDESC *idesc = &crisv10f_insn_data[itype];
3738 CGEN_INSN_INT insn = base_insn;
3739 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3744 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3745 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3746 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3748 /* Record the fields for the semantic handler. */
3749 FLD (f_operand2) = f_operand2;
3750 FLD (f_operand1) = f_operand1;
3751 FLD (f_memmode) = f_memmode;
3752 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));
3754 #if WITH_PROFILE_MODEL_P
3755 /* Record the fields for profiling. */
3756 if (PROFILE_MODEL_P (current_cpu))
3758 FLD (in_Rd) = f_operand2;
3759 FLD (in_Rs) = f_operand1;
3760 FLD (out_Rs) = f_operand1;
3761 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)));
3768 extract_sfmt_add_m_w_m:
3770 const IDESC *idesc = &crisv10f_insn_data[itype];
3771 CGEN_INSN_INT insn = base_insn;
3772 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3777 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3778 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3779 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3781 /* Record the fields for the semantic handler. */
3782 FLD (f_operand2) = f_operand2;
3783 FLD (f_operand1) = f_operand1;
3784 FLD (f_memmode) = f_memmode;
3785 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));
3787 #if WITH_PROFILE_MODEL_P
3788 /* Record the fields for profiling. */
3789 if (PROFILE_MODEL_P (current_cpu))
3791 FLD (in_Rd) = f_operand2;
3792 FLD (in_Rs) = f_operand1;
3793 FLD (out_Rs) = f_operand1;
3794 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)));
3801 extract_sfmt_add_m_d_m:
3803 const IDESC *idesc = &crisv10f_insn_data[itype];
3804 CGEN_INSN_INT insn = base_insn;
3805 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3810 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3811 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3812 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3814 /* Record the fields for the semantic handler. */
3815 FLD (f_operand2) = f_operand2;
3816 FLD (f_operand1) = f_operand1;
3817 FLD (f_memmode) = f_memmode;
3818 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));
3820 #if WITH_PROFILE_MODEL_P
3821 /* Record the fields for profiling. */
3822 if (PROFILE_MODEL_P (current_cpu))
3824 FLD (in_Rd) = f_operand2;
3825 FLD (in_Rs) = f_operand1;
3826 FLD (out_Rs) = f_operand1;
3827 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)));
3834 extract_sfmt_addcbr:
3836 const IDESC *idesc = &crisv10f_insn_data[itype];
3837 CGEN_INSN_INT insn = base_insn;
3838 #define FLD(f) abuf->fields.sfmt_addcbr.f
3839 INT f_indir_pc__byte;
3841 /* Contents of trailing part of insn. */
3844 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3845 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3846 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3848 /* Record the fields for the semantic handler. */
3849 FLD (f_operand2) = f_operand2;
3850 FLD (f_indir_pc__byte) = f_indir_pc__byte;
3851 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));
3853 #if WITH_PROFILE_MODEL_P
3854 /* Record the fields for profiling. */
3855 if (PROFILE_MODEL_P (current_cpu))
3857 FLD (in_Rd) = f_operand2;
3858 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3865 extract_sfmt_addcwr:
3867 const IDESC *idesc = &crisv10f_insn_data[itype];
3868 CGEN_INSN_INT insn = base_insn;
3869 #define FLD(f) abuf->fields.sfmt_addcwr.f
3870 INT f_indir_pc__word;
3872 /* Contents of trailing part of insn. */
3875 word_1 = GETIMEMUHI (current_cpu, pc + 2);
3876 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
3877 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3879 /* Record the fields for the semantic handler. */
3880 FLD (f_operand2) = f_operand2;
3881 FLD (f_indir_pc__word) = f_indir_pc__word;
3882 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));
3884 #if WITH_PROFILE_MODEL_P
3885 /* Record the fields for profiling. */
3886 if (PROFILE_MODEL_P (current_cpu))
3888 FLD (in_Rd) = f_operand2;
3889 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3896 extract_sfmt_addcdr:
3898 const IDESC *idesc = &crisv10f_insn_data[itype];
3899 CGEN_INSN_INT insn = base_insn;
3900 #define FLD(f) abuf->fields.sfmt_addcdr.f
3901 INT f_indir_pc__dword;
3903 /* Contents of trailing part of insn. */
3906 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3907 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
3908 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3910 /* Record the fields for the semantic handler. */
3911 FLD (f_operand2) = f_operand2;
3912 FLD (f_indir_pc__dword) = f_indir_pc__dword;
3913 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));
3915 #if WITH_PROFILE_MODEL_P
3916 /* Record the fields for profiling. */
3917 if (PROFILE_MODEL_P (current_cpu))
3919 FLD (in_Rd) = f_operand2;
3920 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
3927 extract_sfmt_addcpc:
3929 const IDESC *idesc = &crisv10f_insn_data[itype];
3930 CGEN_INSN_INT insn = base_insn;
3931 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
3932 INT f_indir_pc__dword;
3933 /* Contents of trailing part of insn. */
3936 word_1 = GETIMEMUSI (current_cpu, pc + 2);
3937 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
3939 /* Record the fields for the semantic handler. */
3940 FLD (f_indir_pc__dword) = f_indir_pc__dword;
3941 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcpc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
3943 #if WITH_PROFILE_MODEL_P
3944 /* Record the fields for profiling. */
3945 if (PROFILE_MODEL_P (current_cpu))
3953 extract_sfmt_adds_m_b_m:
3955 const IDESC *idesc = &crisv10f_insn_data[itype];
3956 CGEN_INSN_INT insn = base_insn;
3957 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3962 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3963 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3964 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3966 /* Record the fields for the semantic handler. */
3967 FLD (f_operand2) = f_operand2;
3968 FLD (f_operand1) = f_operand1;
3969 FLD (f_memmode) = f_memmode;
3970 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));
3972 #if WITH_PROFILE_MODEL_P
3973 /* Record the fields for profiling. */
3974 if (PROFILE_MODEL_P (current_cpu))
3976 FLD (in_Rd) = f_operand2;
3977 FLD (in_Rs) = f_operand1;
3978 FLD (out_Rs) = f_operand1;
3979 FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
3986 extract_sfmt_adds_m_w_m:
3988 const IDESC *idesc = &crisv10f_insn_data[itype];
3989 CGEN_INSN_INT insn = base_insn;
3990 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
3995 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
3996 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
3997 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
3999 /* Record the fields for the semantic handler. */
4000 FLD (f_operand2) = f_operand2;
4001 FLD (f_operand1) = f_operand1;
4002 FLD (f_memmode) = f_memmode;
4003 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));
4005 #if WITH_PROFILE_MODEL_P
4006 /* Record the fields for profiling. */
4007 if (PROFILE_MODEL_P (current_cpu))
4009 FLD (in_Rd) = f_operand2;
4010 FLD (in_Rs) = f_operand1;
4011 FLD (out_Rs) = f_operand1;
4012 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)));
4019 extract_sfmt_addscbr:
4021 const IDESC *idesc = &crisv10f_insn_data[itype];
4022 CGEN_INSN_INT insn = base_insn;
4023 #define FLD(f) abuf->fields.sfmt_addcbr.f
4024 INT f_indir_pc__byte;
4026 /* Contents of trailing part of insn. */
4029 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4030 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
4031 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4033 /* Record the fields for the semantic handler. */
4034 FLD (f_operand2) = f_operand2;
4035 FLD (f_indir_pc__byte) = f_indir_pc__byte;
4036 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));
4038 #if WITH_PROFILE_MODEL_P
4039 /* Record the fields for profiling. */
4040 if (PROFILE_MODEL_P (current_cpu))
4042 FLD (in_Rd) = f_operand2;
4043 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4050 extract_sfmt_addscwr:
4052 const IDESC *idesc = &crisv10f_insn_data[itype];
4053 CGEN_INSN_INT insn = base_insn;
4054 #define FLD(f) abuf->fields.sfmt_addcwr.f
4055 INT f_indir_pc__word;
4057 /* Contents of trailing part of insn. */
4060 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4061 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
4062 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4064 /* Record the fields for the semantic handler. */
4065 FLD (f_operand2) = f_operand2;
4066 FLD (f_indir_pc__word) = f_indir_pc__word;
4067 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));
4069 #if WITH_PROFILE_MODEL_P
4070 /* Record the fields for profiling. */
4071 if (PROFILE_MODEL_P (current_cpu))
4073 FLD (in_Rd) = f_operand2;
4074 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4081 extract_sfmt_addspcpc:
4083 const IDESC *idesc = &crisv10f_insn_data[itype];
4084 #define FLD(f) abuf->fields.fmt_empty.f
4087 /* Record the fields for the semantic handler. */
4088 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addspcpc", (char *) 0));
4090 #if WITH_PROFILE_MODEL_P
4091 /* Record the fields for profiling. */
4092 if (PROFILE_MODEL_P (current_cpu))
4100 extract_sfmt_addi_b_r:
4102 const IDESC *idesc = &crisv10f_insn_data[itype];
4103 CGEN_INSN_INT insn = base_insn;
4104 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
4108 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4109 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4111 /* Record the fields for the semantic handler. */
4112 FLD (f_operand2) = f_operand2;
4113 FLD (f_operand1) = f_operand1;
4114 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));
4116 #if WITH_PROFILE_MODEL_P
4117 /* Record the fields for profiling. */
4118 if (PROFILE_MODEL_P (current_cpu))
4120 FLD (in_Rd) = f_operand2;
4121 FLD (in_Rs) = f_operand1;
4122 FLD (out_Rs) = f_operand1;
4129 extract_sfmt_neg_b_r:
4131 const IDESC *idesc = &crisv10f_insn_data[itype];
4132 CGEN_INSN_INT insn = base_insn;
4133 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4137 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4138 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4140 /* Record the fields for the semantic handler. */
4141 FLD (f_operand1) = f_operand1;
4142 FLD (f_operand2) = f_operand2;
4143 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));
4145 #if WITH_PROFILE_MODEL_P
4146 /* Record the fields for profiling. */
4147 if (PROFILE_MODEL_P (current_cpu))
4149 FLD (in_Rs) = f_operand1;
4150 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4157 extract_sfmt_neg_d_r:
4159 const IDESC *idesc = &crisv10f_insn_data[itype];
4160 CGEN_INSN_INT insn = base_insn;
4161 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4165 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4166 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4168 /* Record the fields for the semantic handler. */
4169 FLD (f_operand1) = f_operand1;
4170 FLD (f_operand2) = f_operand2;
4171 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));
4173 #if WITH_PROFILE_MODEL_P
4174 /* Record the fields for profiling. */
4175 if (PROFILE_MODEL_P (current_cpu))
4177 FLD (in_Rs) = f_operand1;
4178 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4185 extract_sfmt_test_m_b_m:
4187 const IDESC *idesc = &crisv10f_insn_data[itype];
4188 CGEN_INSN_INT insn = base_insn;
4189 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
4193 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4194 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4196 /* Record the fields for the semantic handler. */
4197 FLD (f_operand1) = f_operand1;
4198 FLD (f_memmode) = f_memmode;
4199 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));
4201 #if WITH_PROFILE_MODEL_P
4202 /* Record the fields for profiling. */
4203 if (PROFILE_MODEL_P (current_cpu))
4205 FLD (in_Rs) = f_operand1;
4206 FLD (out_Rs) = f_operand1;
4213 extract_sfmt_test_m_w_m:
4215 const IDESC *idesc = &crisv10f_insn_data[itype];
4216 CGEN_INSN_INT insn = base_insn;
4217 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
4221 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4222 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4224 /* Record the fields for the semantic handler. */
4225 FLD (f_operand1) = f_operand1;
4226 FLD (f_memmode) = f_memmode;
4227 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));
4229 #if WITH_PROFILE_MODEL_P
4230 /* Record the fields for profiling. */
4231 if (PROFILE_MODEL_P (current_cpu))
4233 FLD (in_Rs) = f_operand1;
4234 FLD (out_Rs) = f_operand1;
4241 extract_sfmt_test_m_d_m:
4243 const IDESC *idesc = &crisv10f_insn_data[itype];
4244 CGEN_INSN_INT insn = base_insn;
4245 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
4249 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4250 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4252 /* Record the fields for the semantic handler. */
4253 FLD (f_operand1) = f_operand1;
4254 FLD (f_memmode) = f_memmode;
4255 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));
4257 #if WITH_PROFILE_MODEL_P
4258 /* Record the fields for profiling. */
4259 if (PROFILE_MODEL_P (current_cpu))
4261 FLD (in_Rs) = f_operand1;
4262 FLD (out_Rs) = f_operand1;
4269 extract_sfmt_move_r_m_b_m:
4271 const IDESC *idesc = &crisv10f_insn_data[itype];
4272 CGEN_INSN_INT insn = base_insn;
4273 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
4278 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4279 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4280 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4282 /* Record the fields for the semantic handler. */
4283 FLD (f_operand2) = f_operand2;
4284 FLD (f_operand1) = f_operand1;
4285 FLD (f_memmode) = f_memmode;
4286 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));
4288 #if WITH_PROFILE_MODEL_P
4289 /* Record the fields for profiling. */
4290 if (PROFILE_MODEL_P (current_cpu))
4292 FLD (in_Rd) = f_operand2;
4293 FLD (in_Rs) = f_operand1;
4294 FLD (out_Rs) = f_operand1;
4301 extract_sfmt_move_r_m_w_m:
4303 const IDESC *idesc = &crisv10f_insn_data[itype];
4304 CGEN_INSN_INT insn = base_insn;
4305 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
4310 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4311 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4312 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4314 /* Record the fields for the semantic handler. */
4315 FLD (f_operand2) = f_operand2;
4316 FLD (f_operand1) = f_operand1;
4317 FLD (f_memmode) = f_memmode;
4318 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));
4320 #if WITH_PROFILE_MODEL_P
4321 /* Record the fields for profiling. */
4322 if (PROFILE_MODEL_P (current_cpu))
4324 FLD (in_Rd) = f_operand2;
4325 FLD (in_Rs) = f_operand1;
4326 FLD (out_Rs) = f_operand1;
4333 extract_sfmt_move_r_m_d_m:
4335 const IDESC *idesc = &crisv10f_insn_data[itype];
4336 CGEN_INSN_INT insn = base_insn;
4337 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
4342 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4343 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4344 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4346 /* Record the fields for the semantic handler. */
4347 FLD (f_operand2) = f_operand2;
4348 FLD (f_operand1) = f_operand1;
4349 FLD (f_memmode) = f_memmode;
4350 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));
4352 #if WITH_PROFILE_MODEL_P
4353 /* Record the fields for profiling. */
4354 if (PROFILE_MODEL_P (current_cpu))
4356 FLD (in_Rd) = f_operand2;
4357 FLD (in_Rs) = f_operand1;
4358 FLD (out_Rs) = f_operand1;
4365 extract_sfmt_muls_b:
4367 const IDESC *idesc = &crisv10f_insn_data[itype];
4368 CGEN_INSN_INT insn = base_insn;
4369 #define FLD(f) abuf->fields.sfmt_muls_b.f
4373 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4374 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4376 /* Record the fields for the semantic handler. */
4377 FLD (f_operand2) = f_operand2;
4378 FLD (f_operand1) = f_operand1;
4379 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));
4381 #if WITH_PROFILE_MODEL_P
4382 /* Record the fields for profiling. */
4383 if (PROFILE_MODEL_P (current_cpu))
4385 FLD (in_Rd) = f_operand2;
4386 FLD (in_Rs) = f_operand1;
4387 FLD (out_Rd) = f_operand2;
4388 FLD (out_h_sr_SI_7) = 7;
4397 const IDESC *idesc = &crisv10f_insn_data[itype];
4398 CGEN_INSN_INT insn = base_insn;
4399 #define FLD(f) abuf->fields.sfmt_muls_b.f
4403 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4404 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4406 /* Record the fields for the semantic handler. */
4407 FLD (f_operand2) = f_operand2;
4408 FLD (f_operand1) = f_operand1;
4409 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
4411 #if WITH_PROFILE_MODEL_P
4412 /* Record the fields for profiling. */
4413 if (PROFILE_MODEL_P (current_cpu))
4415 FLD (in_Rd) = f_operand2;
4416 FLD (in_Rs) = f_operand1;
4417 FLD (out_Rd) = f_operand2;
4426 const IDESC *idesc = &crisv10f_insn_data[itype];
4427 CGEN_INSN_INT insn = base_insn;
4428 #define FLD(f) abuf->fields.sfmt_muls_b.f
4432 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4433 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4435 /* Record the fields for the semantic handler. */
4436 FLD (f_operand2) = f_operand2;
4437 FLD (f_operand1) = f_operand1;
4438 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));
4440 #if WITH_PROFILE_MODEL_P
4441 /* Record the fields for profiling. */
4442 if (PROFILE_MODEL_P (current_cpu))
4444 FLD (in_Rd) = f_operand2;
4445 FLD (in_Rs) = f_operand1;
4446 FLD (out_Rd) = f_operand2;
4453 extract_sfmt_and_b_r:
4455 const IDESC *idesc = &crisv10f_insn_data[itype];
4456 CGEN_INSN_INT insn = base_insn;
4457 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4461 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4462 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4464 /* Record the fields for the semantic handler. */
4465 FLD (f_operand2) = f_operand2;
4466 FLD (f_operand1) = f_operand1;
4467 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));
4469 #if WITH_PROFILE_MODEL_P
4470 /* Record the fields for profiling. */
4471 if (PROFILE_MODEL_P (current_cpu))
4473 FLD (in_Rd) = f_operand2;
4474 FLD (in_Rs) = f_operand1;
4475 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4482 extract_sfmt_and_w_r:
4484 const IDESC *idesc = &crisv10f_insn_data[itype];
4485 CGEN_INSN_INT insn = base_insn;
4486 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4490 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4491 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4493 /* Record the fields for the semantic handler. */
4494 FLD (f_operand2) = f_operand2;
4495 FLD (f_operand1) = f_operand1;
4496 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));
4498 #if WITH_PROFILE_MODEL_P
4499 /* Record the fields for profiling. */
4500 if (PROFILE_MODEL_P (current_cpu))
4502 FLD (in_Rd) = f_operand2;
4503 FLD (in_Rs) = f_operand1;
4504 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4511 extract_sfmt_and_d_r:
4513 const IDESC *idesc = &crisv10f_insn_data[itype];
4514 CGEN_INSN_INT insn = base_insn;
4515 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4519 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4520 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4522 /* Record the fields for the semantic handler. */
4523 FLD (f_operand2) = f_operand2;
4524 FLD (f_operand1) = f_operand1;
4525 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));
4527 #if WITH_PROFILE_MODEL_P
4528 /* Record the fields for profiling. */
4529 if (PROFILE_MODEL_P (current_cpu))
4531 FLD (in_Rd) = f_operand2;
4532 FLD (in_Rs) = f_operand1;
4533 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4540 extract_sfmt_and_m_b_m:
4542 const IDESC *idesc = &crisv10f_insn_data[itype];
4543 CGEN_INSN_INT insn = base_insn;
4544 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4549 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4550 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4551 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4553 /* Record the fields for the semantic handler. */
4554 FLD (f_operand2) = f_operand2;
4555 FLD (f_operand1) = f_operand1;
4556 FLD (f_memmode) = f_memmode;
4557 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));
4559 #if WITH_PROFILE_MODEL_P
4560 /* Record the fields for profiling. */
4561 if (PROFILE_MODEL_P (current_cpu))
4563 FLD (in_Rd) = f_operand2;
4564 FLD (in_Rs) = f_operand1;
4565 FLD (out_Rs) = f_operand1;
4566 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)));
4573 extract_sfmt_and_m_w_m:
4575 const IDESC *idesc = &crisv10f_insn_data[itype];
4576 CGEN_INSN_INT insn = base_insn;
4577 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4582 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4583 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4584 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4586 /* Record the fields for the semantic handler. */
4587 FLD (f_operand2) = f_operand2;
4588 FLD (f_operand1) = f_operand1;
4589 FLD (f_memmode) = f_memmode;
4590 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));
4592 #if WITH_PROFILE_MODEL_P
4593 /* Record the fields for profiling. */
4594 if (PROFILE_MODEL_P (current_cpu))
4596 FLD (in_Rd) = f_operand2;
4597 FLD (in_Rs) = f_operand1;
4598 FLD (out_Rs) = f_operand1;
4599 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)));
4606 extract_sfmt_and_m_d_m:
4608 const IDESC *idesc = &crisv10f_insn_data[itype];
4609 CGEN_INSN_INT insn = base_insn;
4610 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
4615 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4616 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
4617 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4619 /* Record the fields for the semantic handler. */
4620 FLD (f_operand2) = f_operand2;
4621 FLD (f_operand1) = f_operand1;
4622 FLD (f_memmode) = f_memmode;
4623 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));
4625 #if WITH_PROFILE_MODEL_P
4626 /* Record the fields for profiling. */
4627 if (PROFILE_MODEL_P (current_cpu))
4629 FLD (in_Rd) = f_operand2;
4630 FLD (in_Rs) = f_operand1;
4631 FLD (out_Rs) = f_operand1;
4632 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)));
4639 extract_sfmt_andcbr:
4641 const IDESC *idesc = &crisv10f_insn_data[itype];
4642 CGEN_INSN_INT insn = base_insn;
4643 #define FLD(f) abuf->fields.sfmt_addcbr.f
4644 INT f_indir_pc__byte;
4646 /* Contents of trailing part of insn. */
4649 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4650 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
4651 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4653 /* Record the fields for the semantic handler. */
4654 FLD (f_operand2) = f_operand2;
4655 FLD (f_indir_pc__byte) = f_indir_pc__byte;
4656 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));
4658 #if WITH_PROFILE_MODEL_P
4659 /* Record the fields for profiling. */
4660 if (PROFILE_MODEL_P (current_cpu))
4662 FLD (in_Rd) = f_operand2;
4663 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4670 extract_sfmt_andcwr:
4672 const IDESC *idesc = &crisv10f_insn_data[itype];
4673 CGEN_INSN_INT insn = base_insn;
4674 #define FLD(f) abuf->fields.sfmt_addcwr.f
4675 INT f_indir_pc__word;
4677 /* Contents of trailing part of insn. */
4680 word_1 = GETIMEMUHI (current_cpu, pc + 2);
4681 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
4682 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4684 /* Record the fields for the semantic handler. */
4685 FLD (f_operand2) = f_operand2;
4686 FLD (f_indir_pc__word) = f_indir_pc__word;
4687 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));
4689 #if WITH_PROFILE_MODEL_P
4690 /* Record the fields for profiling. */
4691 if (PROFILE_MODEL_P (current_cpu))
4693 FLD (in_Rd) = f_operand2;
4694 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4701 extract_sfmt_andcdr:
4703 const IDESC *idesc = &crisv10f_insn_data[itype];
4704 CGEN_INSN_INT insn = base_insn;
4705 #define FLD(f) abuf->fields.sfmt_addcdr.f
4706 INT f_indir_pc__dword;
4708 /* Contents of trailing part of insn. */
4711 word_1 = GETIMEMUSI (current_cpu, pc + 2);
4712 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
4713 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4715 /* Record the fields for the semantic handler. */
4716 FLD (f_operand2) = f_operand2;
4717 FLD (f_indir_pc__dword) = f_indir_pc__dword;
4718 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));
4720 #if WITH_PROFILE_MODEL_P
4721 /* Record the fields for profiling. */
4722 if (PROFILE_MODEL_P (current_cpu))
4724 FLD (in_Rd) = f_operand2;
4725 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4734 const IDESC *idesc = &crisv10f_insn_data[itype];
4735 CGEN_INSN_INT insn = base_insn;
4736 #define FLD(f) abuf->fields.sfmt_andq.f
4740 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4741 f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
4743 /* Record the fields for the semantic handler. */
4744 FLD (f_operand2) = f_operand2;
4746 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));
4748 #if WITH_PROFILE_MODEL_P
4749 /* Record the fields for profiling. */
4750 if (PROFILE_MODEL_P (current_cpu))
4752 FLD (in_Rd) = f_operand2;
4753 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4762 const IDESC *idesc = &crisv10f_insn_data[itype];
4763 CGEN_INSN_INT insn = base_insn;
4764 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
4768 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4769 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4771 /* Record the fields for the semantic handler. */
4772 FLD (f_operand1) = f_operand1;
4773 FLD (f_operand2) = f_operand2;
4774 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));
4776 #if WITH_PROFILE_MODEL_P
4777 /* Record the fields for profiling. */
4778 if (PROFILE_MODEL_P (current_cpu))
4780 FLD (in_Rs) = f_operand1;
4781 FLD (out_Rs) = f_operand1;
4788 extract_sfmt_asrr_b_r:
4790 const IDESC *idesc = &crisv10f_insn_data[itype];
4791 CGEN_INSN_INT insn = base_insn;
4792 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4796 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4797 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4799 /* Record the fields for the semantic handler. */
4800 FLD (f_operand2) = f_operand2;
4801 FLD (f_operand1) = f_operand1;
4802 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));
4804 #if WITH_PROFILE_MODEL_P
4805 /* Record the fields for profiling. */
4806 if (PROFILE_MODEL_P (current_cpu))
4808 FLD (in_Rd) = f_operand2;
4809 FLD (in_Rs) = f_operand1;
4810 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4819 const IDESC *idesc = &crisv10f_insn_data[itype];
4820 CGEN_INSN_INT insn = base_insn;
4821 #define FLD(f) abuf->fields.sfmt_asrq.f
4825 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4826 f_u5 = EXTRACT_LSB0_UINT (insn, 16, 4, 5);
4828 /* Record the fields for the semantic handler. */
4829 FLD (f_operand2) = f_operand2;
4831 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));
4833 #if WITH_PROFILE_MODEL_P
4834 /* Record the fields for profiling. */
4835 if (PROFILE_MODEL_P (current_cpu))
4837 FLD (in_Rd) = f_operand2;
4838 FLD (out_Rd) = f_operand2;
4845 extract_sfmt_lsrr_b_r:
4847 const IDESC *idesc = &crisv10f_insn_data[itype];
4848 CGEN_INSN_INT insn = base_insn;
4849 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4853 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4854 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4856 /* Record the fields for the semantic handler. */
4857 FLD (f_operand2) = f_operand2;
4858 FLD (f_operand1) = f_operand1;
4859 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));
4861 #if WITH_PROFILE_MODEL_P
4862 /* Record the fields for profiling. */
4863 if (PROFILE_MODEL_P (current_cpu))
4865 FLD (in_Rd) = f_operand2;
4866 FLD (in_Rs) = f_operand1;
4867 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4874 extract_sfmt_lsrr_d_r:
4876 const IDESC *idesc = &crisv10f_insn_data[itype];
4877 CGEN_INSN_INT insn = base_insn;
4878 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4882 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4883 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4885 /* Record the fields for the semantic handler. */
4886 FLD (f_operand2) = f_operand2;
4887 FLD (f_operand1) = f_operand1;
4888 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));
4890 #if WITH_PROFILE_MODEL_P
4891 /* Record the fields for profiling. */
4892 if (PROFILE_MODEL_P (current_cpu))
4894 FLD (in_Rd) = f_operand2;
4895 FLD (in_Rs) = f_operand1;
4896 FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
4905 const IDESC *idesc = &crisv10f_insn_data[itype];
4906 CGEN_INSN_INT insn = base_insn;
4907 #define FLD(f) abuf->fields.sfmt_add_b_r.f
4911 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4912 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4914 /* Record the fields for the semantic handler. */
4915 FLD (f_operand2) = f_operand2;
4916 FLD (f_operand1) = f_operand1;
4917 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));
4919 #if WITH_PROFILE_MODEL_P
4920 /* Record the fields for profiling. */
4921 if (PROFILE_MODEL_P (current_cpu))
4923 FLD (in_Rd) = f_operand2;
4924 FLD (in_Rs) = f_operand1;
4933 const IDESC *idesc = &crisv10f_insn_data[itype];
4934 CGEN_INSN_INT insn = base_insn;
4935 #define FLD(f) abuf->fields.sfmt_asrq.f
4939 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4940 f_u5 = EXTRACT_LSB0_UINT (insn, 16, 4, 5);
4942 /* Record the fields for the semantic handler. */
4943 FLD (f_operand2) = f_operand2;
4945 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));
4947 #if WITH_PROFILE_MODEL_P
4948 /* Record the fields for profiling. */
4949 if (PROFILE_MODEL_P (current_cpu))
4951 FLD (in_Rd) = f_operand2;
4960 const IDESC *idesc = &crisv10f_insn_data[itype];
4961 CGEN_INSN_INT insn = base_insn;
4962 #define FLD(f) abuf->fields.sfmt_setf.f
4967 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4968 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
4969 f_dstsrc = ((((f_operand1) | (((f_operand2) << (4))))) & (255));
4971 /* Record the fields for the semantic handler. */
4972 FLD (f_dstsrc) = f_dstsrc;
4973 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
4981 const IDESC *idesc = &crisv10f_insn_data[itype];
4982 CGEN_INSN_INT insn = base_insn;
4983 #define FLD(f) abuf->fields.sfmt_bcc_b.f
4989 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
4990 f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
4991 f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
4995 tmp_abslo = ((f_disp9_lo) << (1));
4996 tmp_absval = ((((((f_disp9_hi) != (0))) ? ((~ (255))) : (0))) | (tmp_abslo));
4997 f_disp9 = ((((pc) + (tmp_absval))) + (((GET_H_V32_NON_V32 ()) ? (0) : (2))));
5000 /* Record the fields for the semantic handler. */
5001 FLD (f_operand2) = f_operand2;
5002 FLD (i_o_pcrel) = f_disp9;
5003 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));
5005 #if WITH_PROFILE_MODEL_P
5006 /* Record the fields for profiling. */
5007 if (PROFILE_MODEL_P (current_cpu))
5017 const IDESC *idesc = &crisv10f_insn_data[itype];
5018 CGEN_INSN_INT insn = base_insn;
5019 #define FLD(f) abuf->fields.sfmt_bcc_b.f
5024 f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
5025 f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
5029 tmp_abslo = ((f_disp9_lo) << (1));
5030 tmp_absval = ((((((f_disp9_hi) != (0))) ? ((~ (255))) : (0))) | (tmp_abslo));
5031 f_disp9 = ((((pc) + (tmp_absval))) + (((GET_H_V32_NON_V32 ()) ? (0) : (2))));
5034 /* Record the fields for the semantic handler. */
5035 FLD (i_o_pcrel) = f_disp9;
5036 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
5038 #if WITH_PROFILE_MODEL_P
5039 /* Record the fields for profiling. */
5040 if (PROFILE_MODEL_P (current_cpu))
5050 const IDESC *idesc = &crisv10f_insn_data[itype];
5051 CGEN_INSN_INT insn = base_insn;
5052 #define FLD(f) abuf->fields.sfmt_bcc_w.f
5053 SI f_indir_pc__word_pcrel;
5055 /* Contents of trailing part of insn. */
5058 word_1 = GETIMEMUHI (current_cpu, pc + 2);
5059 f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_NON_V32 ()) ? (0) : (4))))));
5060 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5062 /* Record the fields for the semantic handler. */
5063 FLD (f_operand2) = f_operand2;
5064 FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
5065 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));
5067 #if WITH_PROFILE_MODEL_P
5068 /* Record the fields for profiling. */
5069 if (PROFILE_MODEL_P (current_cpu))
5079 const IDESC *idesc = &crisv10f_insn_data[itype];
5080 CGEN_INSN_INT insn = base_insn;
5081 #define FLD(f) abuf->fields.sfmt_bcc_w.f
5082 SI f_indir_pc__word_pcrel;
5083 /* Contents of trailing part of insn. */
5086 word_1 = GETIMEMUHI (current_cpu, pc + 2);
5087 f_indir_pc__word_pcrel = ((EXTHISI (((HI) (UINT) ((0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0)))))) + (((pc) + (((GET_H_V32_NON_V32 ()) ? (0) : (4))))));
5089 /* Record the fields for the semantic handler. */
5090 FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
5091 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
5093 #if WITH_PROFILE_MODEL_P
5094 /* Record the fields for profiling. */
5095 if (PROFILE_MODEL_P (current_cpu))
5103 extract_sfmt_jump_r:
5105 const IDESC *idesc = &crisv10f_insn_data[itype];
5106 CGEN_INSN_INT insn = base_insn;
5107 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
5111 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5112 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5114 /* Record the fields for the semantic handler. */
5115 FLD (f_operand1) = f_operand1;
5116 FLD (f_operand2) = f_operand2;
5117 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
5119 #if WITH_PROFILE_MODEL_P
5120 /* Record the fields for profiling. */
5121 if (PROFILE_MODEL_P (current_cpu))
5123 FLD (in_Rs) = f_operand1;
5124 FLD (out_Pd) = f_operand2;
5131 extract_sfmt_jump_m:
5133 const IDESC *idesc = &crisv10f_insn_data[itype];
5134 CGEN_INSN_INT insn = base_insn;
5135 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
5140 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5141 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5142 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5144 /* Record the fields for the semantic handler. */
5145 FLD (f_operand1) = f_operand1;
5146 FLD (f_memmode) = f_memmode;
5147 FLD (f_operand2) = f_operand2;
5148 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
5150 #if WITH_PROFILE_MODEL_P
5151 /* Record the fields for profiling. */
5152 if (PROFILE_MODEL_P (current_cpu))
5154 FLD (in_Rs) = f_operand1;
5155 FLD (out_Pd) = f_operand2;
5156 FLD (out_Rs) = f_operand1;
5163 extract_sfmt_jump_c:
5165 const IDESC *idesc = &crisv10f_insn_data[itype];
5166 CGEN_INSN_INT insn = base_insn;
5167 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
5168 INT f_indir_pc__dword;
5170 /* Contents of trailing part of insn. */
5173 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5174 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
5175 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5177 /* Record the fields for the semantic handler. */
5178 FLD (f_indir_pc__dword) = f_indir_pc__dword;
5179 FLD (f_operand2) = f_operand2;
5180 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
5182 #if WITH_PROFILE_MODEL_P
5183 /* Record the fields for profiling. */
5184 if (PROFILE_MODEL_P (current_cpu))
5186 FLD (out_Pd) = f_operand2;
5195 const IDESC *idesc = &crisv10f_insn_data[itype];
5196 CGEN_INSN_INT insn = base_insn;
5197 #define FLD(f) abuf->fields.sfmt_break.f
5200 f_u4 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5202 /* Record the fields for the semantic handler. */
5204 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
5206 #if WITH_PROFILE_MODEL_P
5207 /* Record the fields for profiling. */
5208 if (PROFILE_MODEL_P (current_cpu))
5216 extract_sfmt_bound_m_b_m:
5218 const IDESC *idesc = &crisv10f_insn_data[itype];
5219 CGEN_INSN_INT insn = base_insn;
5220 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5225 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5226 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5227 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5229 /* Record the fields for the semantic handler. */
5230 FLD (f_operand2) = f_operand2;
5231 FLD (f_operand1) = f_operand1;
5232 FLD (f_memmode) = f_memmode;
5233 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5235 #if WITH_PROFILE_MODEL_P
5236 /* Record the fields for profiling. */
5237 if (PROFILE_MODEL_P (current_cpu))
5239 FLD (in_Rd) = f_operand2;
5240 FLD (in_Rs) = f_operand1;
5241 FLD (out_Rd) = f_operand2;
5242 FLD (out_Rs) = f_operand1;
5249 extract_sfmt_bound_m_w_m:
5251 const IDESC *idesc = &crisv10f_insn_data[itype];
5252 CGEN_INSN_INT insn = base_insn;
5253 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5258 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5259 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5260 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5262 /* Record the fields for the semantic handler. */
5263 FLD (f_operand2) = f_operand2;
5264 FLD (f_operand1) = f_operand1;
5265 FLD (f_memmode) = f_memmode;
5266 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5268 #if WITH_PROFILE_MODEL_P
5269 /* Record the fields for profiling. */
5270 if (PROFILE_MODEL_P (current_cpu))
5272 FLD (in_Rd) = f_operand2;
5273 FLD (in_Rs) = f_operand1;
5274 FLD (out_Rd) = f_operand2;
5275 FLD (out_Rs) = f_operand1;
5282 extract_sfmt_bound_m_d_m:
5284 const IDESC *idesc = &crisv10f_insn_data[itype];
5285 CGEN_INSN_INT insn = base_insn;
5286 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5291 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5292 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5293 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5295 /* Record the fields for the semantic handler. */
5296 FLD (f_operand2) = f_operand2;
5297 FLD (f_operand1) = f_operand1;
5298 FLD (f_memmode) = f_memmode;
5299 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5301 #if WITH_PROFILE_MODEL_P
5302 /* Record the fields for profiling. */
5303 if (PROFILE_MODEL_P (current_cpu))
5305 FLD (in_Rd) = f_operand2;
5306 FLD (in_Rs) = f_operand1;
5307 FLD (out_Rd) = f_operand2;
5308 FLD (out_Rs) = f_operand1;
5315 extract_sfmt_bound_cb:
5317 const IDESC *idesc = &crisv10f_insn_data[itype];
5318 CGEN_INSN_INT insn = base_insn;
5319 #define FLD(f) abuf->fields.sfmt_bound_cb.f
5320 INT f_indir_pc__byte;
5322 /* Contents of trailing part of insn. */
5325 word_1 = GETIMEMUHI (current_cpu, pc + 2);
5326 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
5327 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5329 /* Record the fields for the semantic handler. */
5330 FLD (f_operand2) = f_operand2;
5331 FLD (f_indir_pc__byte) = f_indir_pc__byte;
5332 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));
5334 #if WITH_PROFILE_MODEL_P
5335 /* Record the fields for profiling. */
5336 if (PROFILE_MODEL_P (current_cpu))
5338 FLD (in_Rd) = f_operand2;
5339 FLD (out_Rd) = f_operand2;
5346 extract_sfmt_bound_cw:
5348 const IDESC *idesc = &crisv10f_insn_data[itype];
5349 CGEN_INSN_INT insn = base_insn;
5350 #define FLD(f) abuf->fields.sfmt_bound_cw.f
5351 INT f_indir_pc__word;
5353 /* Contents of trailing part of insn. */
5356 word_1 = GETIMEMUHI (current_cpu, pc + 2);
5357 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
5358 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5360 /* Record the fields for the semantic handler. */
5361 FLD (f_operand2) = f_operand2;
5362 FLD (f_indir_pc__word) = f_indir_pc__word;
5363 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));
5365 #if WITH_PROFILE_MODEL_P
5366 /* Record the fields for profiling. */
5367 if (PROFILE_MODEL_P (current_cpu))
5369 FLD (in_Rd) = f_operand2;
5370 FLD (out_Rd) = f_operand2;
5377 extract_sfmt_bound_cd:
5379 const IDESC *idesc = &crisv10f_insn_data[itype];
5380 CGEN_INSN_INT insn = base_insn;
5381 #define FLD(f) abuf->fields.sfmt_bound_cd.f
5382 INT f_indir_pc__dword;
5384 /* Contents of trailing part of insn. */
5387 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5388 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
5389 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5391 /* Record the fields for the semantic handler. */
5392 FLD (f_operand2) = f_operand2;
5393 FLD (f_indir_pc__dword) = f_indir_pc__dword;
5394 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));
5396 #if WITH_PROFILE_MODEL_P
5397 /* Record the fields for profiling. */
5398 if (PROFILE_MODEL_P (current_cpu))
5400 FLD (in_Rd) = f_operand2;
5401 FLD (out_Rd) = f_operand2;
5410 const IDESC *idesc = &crisv10f_insn_data[itype];
5411 CGEN_INSN_INT insn = base_insn;
5412 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
5416 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5417 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5419 /* Record the fields for the semantic handler. */
5420 FLD (f_operand2) = f_operand2;
5421 FLD (f_operand1) = f_operand1;
5422 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));
5424 #if WITH_PROFILE_MODEL_P
5425 /* Record the fields for profiling. */
5426 if (PROFILE_MODEL_P (current_cpu))
5428 FLD (out_Rs) = f_operand1;
5437 const IDESC *idesc = &crisv10f_insn_data[itype];
5438 CGEN_INSN_INT insn = base_insn;
5439 #define FLD(f) abuf->fields.sfmt_addoq.f
5443 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5444 f_s8 = EXTRACT_LSB0_INT (insn, 16, 7, 8);
5446 /* Record the fields for the semantic handler. */
5447 FLD (f_operand2) = f_operand2;
5449 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));
5451 #if WITH_PROFILE_MODEL_P
5452 /* Record the fields for profiling. */
5453 if (PROFILE_MODEL_P (current_cpu))
5455 FLD (in_Rd) = f_operand2;
5462 extract_sfmt_bdapqpc:
5464 const IDESC *idesc = &crisv10f_insn_data[itype];
5465 CGEN_INSN_INT insn = base_insn;
5466 #define FLD(f) abuf->fields.sfmt_addoq.f
5469 f_s8 = EXTRACT_LSB0_INT (insn, 16, 7, 8);
5471 /* Record the fields for the semantic handler. */
5473 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdapqpc", "f_s8 0x%x", 'x', f_s8, (char *) 0));
5475 #if WITH_PROFILE_MODEL_P
5476 /* Record the fields for profiling. */
5477 if (PROFILE_MODEL_P (current_cpu))
5485 extract_sfmt_addo_m_b_m:
5487 const IDESC *idesc = &crisv10f_insn_data[itype];
5488 CGEN_INSN_INT insn = base_insn;
5489 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5494 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5495 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5496 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5498 /* Record the fields for the semantic handler. */
5499 FLD (f_operand2) = f_operand2;
5500 FLD (f_operand1) = f_operand1;
5501 FLD (f_memmode) = f_memmode;
5502 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));
5504 #if WITH_PROFILE_MODEL_P
5505 /* Record the fields for profiling. */
5506 if (PROFILE_MODEL_P (current_cpu))
5508 FLD (in_Rd) = f_operand2;
5509 FLD (in_Rs) = f_operand1;
5510 FLD (out_Rs) = f_operand1;
5517 extract_sfmt_addo_m_w_m:
5519 const IDESC *idesc = &crisv10f_insn_data[itype];
5520 CGEN_INSN_INT insn = base_insn;
5521 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5526 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5527 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5528 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5530 /* Record the fields for the semantic handler. */
5531 FLD (f_operand2) = f_operand2;
5532 FLD (f_operand1) = f_operand1;
5533 FLD (f_memmode) = f_memmode;
5534 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));
5536 #if WITH_PROFILE_MODEL_P
5537 /* Record the fields for profiling. */
5538 if (PROFILE_MODEL_P (current_cpu))
5540 FLD (in_Rd) = f_operand2;
5541 FLD (in_Rs) = f_operand1;
5542 FLD (out_Rs) = f_operand1;
5549 extract_sfmt_addo_m_d_m:
5551 const IDESC *idesc = &crisv10f_insn_data[itype];
5552 CGEN_INSN_INT insn = base_insn;
5553 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
5558 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5559 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5560 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5562 /* Record the fields for the semantic handler. */
5563 FLD (f_operand2) = f_operand2;
5564 FLD (f_operand1) = f_operand1;
5565 FLD (f_memmode) = f_memmode;
5566 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));
5568 #if WITH_PROFILE_MODEL_P
5569 /* Record the fields for profiling. */
5570 if (PROFILE_MODEL_P (current_cpu))
5572 FLD (in_Rd) = f_operand2;
5573 FLD (in_Rs) = f_operand1;
5574 FLD (out_Rs) = f_operand1;
5581 extract_sfmt_addo_cb:
5583 const IDESC *idesc = &crisv10f_insn_data[itype];
5584 CGEN_INSN_INT insn = base_insn;
5585 #define FLD(f) abuf->fields.sfmt_bound_cb.f
5586 INT f_indir_pc__byte;
5588 /* Contents of trailing part of insn. */
5591 word_1 = GETIMEMUHI (current_cpu, pc + 2);
5592 f_indir_pc__byte = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
5593 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5595 /* Record the fields for the semantic handler. */
5596 FLD (f_operand2) = f_operand2;
5597 FLD (f_indir_pc__byte) = f_indir_pc__byte;
5598 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));
5600 #if WITH_PROFILE_MODEL_P
5601 /* Record the fields for profiling. */
5602 if (PROFILE_MODEL_P (current_cpu))
5604 FLD (in_Rd) = f_operand2;
5611 extract_sfmt_addo_cw:
5613 const IDESC *idesc = &crisv10f_insn_data[itype];
5614 CGEN_INSN_INT insn = base_insn;
5615 #define FLD(f) abuf->fields.sfmt_bound_cw.f
5616 INT f_indir_pc__word;
5618 /* Contents of trailing part of insn. */
5621 word_1 = GETIMEMUHI (current_cpu, pc + 2);
5622 f_indir_pc__word = (0|(EXTRACT_LSB0_UINT (word_1, 16, 15, 16) << 0));
5623 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5625 /* Record the fields for the semantic handler. */
5626 FLD (f_operand2) = f_operand2;
5627 FLD (f_indir_pc__word) = f_indir_pc__word;
5628 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));
5630 #if WITH_PROFILE_MODEL_P
5631 /* Record the fields for profiling. */
5632 if (PROFILE_MODEL_P (current_cpu))
5634 FLD (in_Rd) = f_operand2;
5641 extract_sfmt_addo_cd:
5643 const IDESC *idesc = &crisv10f_insn_data[itype];
5644 CGEN_INSN_INT insn = base_insn;
5645 #define FLD(f) abuf->fields.sfmt_bound_cd.f
5646 INT f_indir_pc__dword;
5648 /* Contents of trailing part of insn. */
5651 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5652 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
5653 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5655 /* Record the fields for the semantic handler. */
5656 FLD (f_operand2) = f_operand2;
5657 FLD (f_indir_pc__dword) = f_indir_pc__dword;
5658 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));
5660 #if WITH_PROFILE_MODEL_P
5661 /* Record the fields for profiling. */
5662 if (PROFILE_MODEL_P (current_cpu))
5664 FLD (in_Rd) = f_operand2;
5673 const IDESC *idesc = &crisv10f_insn_data[itype];
5674 CGEN_INSN_INT insn = base_insn;
5675 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
5679 f_memmode = EXTRACT_LSB0_UINT (insn, 16, 10, 1);
5680 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5682 /* Record the fields for the semantic handler. */
5683 FLD (f_operand1) = f_operand1;
5684 FLD (f_memmode) = f_memmode;
5685 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
5687 #if WITH_PROFILE_MODEL_P
5688 /* Record the fields for profiling. */
5689 if (PROFILE_MODEL_P (current_cpu))
5691 FLD (in_Rs) = f_operand1;
5692 FLD (out_Rs) = f_operand1;
5701 const IDESC *idesc = &crisv10f_insn_data[itype];
5702 CGEN_INSN_INT insn = base_insn;
5703 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p8.f
5704 INT f_indir_pc__dword;
5705 /* Contents of trailing part of insn. */
5708 word_1 = GETIMEMUSI (current_cpu, pc + 2);
5709 f_indir_pc__dword = (0|(EXTRACT_LSB0_UINT (word_1, 32, 31, 32) << 0));
5711 /* Record the fields for the semantic handler. */
5712 FLD (f_indir_pc__dword) = f_indir_pc__dword;
5713 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
5719 extract_sfmt_addi_acr_b_r:
5721 const IDESC *idesc = &crisv10f_insn_data[itype];
5722 CGEN_INSN_INT insn = base_insn;
5723 #define FLD(f) abuf->fields.sfmt_add_b_r.f
5727 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5728 f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
5730 /* Record the fields for the semantic handler. */
5731 FLD (f_operand2) = f_operand2;
5732 FLD (f_operand1) = f_operand1;
5733 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));
5735 #if WITH_PROFILE_MODEL_P
5736 /* Record the fields for profiling. */
5737 if (PROFILE_MODEL_P (current_cpu))
5739 FLD (in_Rd) = f_operand2;
5740 FLD (in_Rs) = f_operand1;
5747 extract_sfmt_biap_pc_b_r:
5749 const IDESC *idesc = &crisv10f_insn_data[itype];
5750 CGEN_INSN_INT insn = base_insn;
5751 #define FLD(f) abuf->fields.sfmt_addoq.f
5754 f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
5756 /* Record the fields for the semantic handler. */
5757 FLD (f_operand2) = f_operand2;
5758 TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_biap_pc_b_r", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
5760 #if WITH_PROFILE_MODEL_P
5761 /* Record the fields for profiling. */
5762 if (PROFILE_MODEL_P (current_cpu))
5764 FLD (in_Rd) = f_operand2;