1 /* Simulator instruction decoder for i960base.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 1996, 1997, 1998, 1999 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 i960base
26 #define WANT_CPU_I960BASE
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 i960base_insn_data
[I960BASE_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 i960base_insn_sem
[] =
43 { VIRTUAL_INSN_X_INVALID
, I960BASE_INSN_X_INVALID
, I960BASE_SFMT_EMPTY
},
44 { VIRTUAL_INSN_X_AFTER
, I960BASE_INSN_X_AFTER
, I960BASE_SFMT_EMPTY
},
45 { VIRTUAL_INSN_X_BEFORE
, I960BASE_INSN_X_BEFORE
, I960BASE_SFMT_EMPTY
},
46 { VIRTUAL_INSN_X_CTI_CHAIN
, I960BASE_INSN_X_CTI_CHAIN
, I960BASE_SFMT_EMPTY
},
47 { VIRTUAL_INSN_X_CHAIN
, I960BASE_INSN_X_CHAIN
, I960BASE_SFMT_EMPTY
},
48 { VIRTUAL_INSN_X_BEGIN
, I960BASE_INSN_X_BEGIN
, I960BASE_SFMT_EMPTY
},
49 { I960_INSN_MULO
, I960BASE_INSN_MULO
, I960BASE_SFMT_MULO
},
50 { I960_INSN_MULO1
, I960BASE_INSN_MULO1
, I960BASE_SFMT_MULO1
},
51 { I960_INSN_MULO2
, I960BASE_INSN_MULO2
, I960BASE_SFMT_MULO2
},
52 { I960_INSN_MULO3
, I960BASE_INSN_MULO3
, I960BASE_SFMT_MULO3
},
53 { I960_INSN_REMO
, I960BASE_INSN_REMO
, I960BASE_SFMT_MULO
},
54 { I960_INSN_REMO1
, I960BASE_INSN_REMO1
, I960BASE_SFMT_MULO1
},
55 { I960_INSN_REMO2
, I960BASE_INSN_REMO2
, I960BASE_SFMT_MULO2
},
56 { I960_INSN_REMO3
, I960BASE_INSN_REMO3
, I960BASE_SFMT_MULO3
},
57 { I960_INSN_DIVO
, I960BASE_INSN_DIVO
, I960BASE_SFMT_MULO
},
58 { I960_INSN_DIVO1
, I960BASE_INSN_DIVO1
, I960BASE_SFMT_MULO1
},
59 { I960_INSN_DIVO2
, I960BASE_INSN_DIVO2
, I960BASE_SFMT_MULO2
},
60 { I960_INSN_DIVO3
, I960BASE_INSN_DIVO3
, I960BASE_SFMT_MULO3
},
61 { I960_INSN_REMI
, I960BASE_INSN_REMI
, I960BASE_SFMT_MULO
},
62 { I960_INSN_REMI1
, I960BASE_INSN_REMI1
, I960BASE_SFMT_MULO1
},
63 { I960_INSN_REMI2
, I960BASE_INSN_REMI2
, I960BASE_SFMT_MULO2
},
64 { I960_INSN_REMI3
, I960BASE_INSN_REMI3
, I960BASE_SFMT_MULO3
},
65 { I960_INSN_DIVI
, I960BASE_INSN_DIVI
, I960BASE_SFMT_MULO
},
66 { I960_INSN_DIVI1
, I960BASE_INSN_DIVI1
, I960BASE_SFMT_MULO1
},
67 { I960_INSN_DIVI2
, I960BASE_INSN_DIVI2
, I960BASE_SFMT_MULO2
},
68 { I960_INSN_DIVI3
, I960BASE_INSN_DIVI3
, I960BASE_SFMT_MULO3
},
69 { I960_INSN_ADDO
, I960BASE_INSN_ADDO
, I960BASE_SFMT_MULO
},
70 { I960_INSN_ADDO1
, I960BASE_INSN_ADDO1
, I960BASE_SFMT_MULO1
},
71 { I960_INSN_ADDO2
, I960BASE_INSN_ADDO2
, I960BASE_SFMT_MULO2
},
72 { I960_INSN_ADDO3
, I960BASE_INSN_ADDO3
, I960BASE_SFMT_MULO3
},
73 { I960_INSN_SUBO
, I960BASE_INSN_SUBO
, I960BASE_SFMT_MULO
},
74 { I960_INSN_SUBO1
, I960BASE_INSN_SUBO1
, I960BASE_SFMT_MULO1
},
75 { I960_INSN_SUBO2
, I960BASE_INSN_SUBO2
, I960BASE_SFMT_MULO2
},
76 { I960_INSN_SUBO3
, I960BASE_INSN_SUBO3
, I960BASE_SFMT_MULO3
},
77 { I960_INSN_NOTBIT
, I960BASE_INSN_NOTBIT
, I960BASE_SFMT_NOTBIT
},
78 { I960_INSN_NOTBIT1
, I960BASE_INSN_NOTBIT1
, I960BASE_SFMT_NOTBIT1
},
79 { I960_INSN_NOTBIT2
, I960BASE_INSN_NOTBIT2
, I960BASE_SFMT_NOTBIT2
},
80 { I960_INSN_NOTBIT3
, I960BASE_INSN_NOTBIT3
, I960BASE_SFMT_NOTBIT3
},
81 { I960_INSN_AND
, I960BASE_INSN_AND
, I960BASE_SFMT_MULO
},
82 { I960_INSN_AND1
, I960BASE_INSN_AND1
, I960BASE_SFMT_MULO1
},
83 { I960_INSN_AND2
, I960BASE_INSN_AND2
, I960BASE_SFMT_MULO2
},
84 { I960_INSN_AND3
, I960BASE_INSN_AND3
, I960BASE_SFMT_MULO3
},
85 { I960_INSN_ANDNOT
, I960BASE_INSN_ANDNOT
, I960BASE_SFMT_MULO
},
86 { I960_INSN_ANDNOT1
, I960BASE_INSN_ANDNOT1
, I960BASE_SFMT_MULO1
},
87 { I960_INSN_ANDNOT2
, I960BASE_INSN_ANDNOT2
, I960BASE_SFMT_MULO2
},
88 { I960_INSN_ANDNOT3
, I960BASE_INSN_ANDNOT3
, I960BASE_SFMT_MULO3
},
89 { I960_INSN_SETBIT
, I960BASE_INSN_SETBIT
, I960BASE_SFMT_NOTBIT
},
90 { I960_INSN_SETBIT1
, I960BASE_INSN_SETBIT1
, I960BASE_SFMT_NOTBIT1
},
91 { I960_INSN_SETBIT2
, I960BASE_INSN_SETBIT2
, I960BASE_SFMT_NOTBIT2
},
92 { I960_INSN_SETBIT3
, I960BASE_INSN_SETBIT3
, I960BASE_SFMT_NOTBIT3
},
93 { I960_INSN_NOTAND
, I960BASE_INSN_NOTAND
, I960BASE_SFMT_MULO
},
94 { I960_INSN_NOTAND1
, I960BASE_INSN_NOTAND1
, I960BASE_SFMT_MULO1
},
95 { I960_INSN_NOTAND2
, I960BASE_INSN_NOTAND2
, I960BASE_SFMT_MULO2
},
96 { I960_INSN_NOTAND3
, I960BASE_INSN_NOTAND3
, I960BASE_SFMT_MULO3
},
97 { I960_INSN_XOR
, I960BASE_INSN_XOR
, I960BASE_SFMT_MULO
},
98 { I960_INSN_XOR1
, I960BASE_INSN_XOR1
, I960BASE_SFMT_MULO1
},
99 { I960_INSN_XOR2
, I960BASE_INSN_XOR2
, I960BASE_SFMT_MULO2
},
100 { I960_INSN_XOR3
, I960BASE_INSN_XOR3
, I960BASE_SFMT_MULO3
},
101 { I960_INSN_OR
, I960BASE_INSN_OR
, I960BASE_SFMT_MULO
},
102 { I960_INSN_OR1
, I960BASE_INSN_OR1
, I960BASE_SFMT_MULO1
},
103 { I960_INSN_OR2
, I960BASE_INSN_OR2
, I960BASE_SFMT_MULO2
},
104 { I960_INSN_OR3
, I960BASE_INSN_OR3
, I960BASE_SFMT_MULO3
},
105 { I960_INSN_NOR
, I960BASE_INSN_NOR
, I960BASE_SFMT_MULO
},
106 { I960_INSN_NOR1
, I960BASE_INSN_NOR1
, I960BASE_SFMT_MULO1
},
107 { I960_INSN_NOR2
, I960BASE_INSN_NOR2
, I960BASE_SFMT_MULO2
},
108 { I960_INSN_NOR3
, I960BASE_INSN_NOR3
, I960BASE_SFMT_MULO3
},
109 { I960_INSN_XNOR
, I960BASE_INSN_XNOR
, I960BASE_SFMT_MULO
},
110 { I960_INSN_XNOR1
, I960BASE_INSN_XNOR1
, I960BASE_SFMT_MULO1
},
111 { I960_INSN_XNOR2
, I960BASE_INSN_XNOR2
, I960BASE_SFMT_MULO2
},
112 { I960_INSN_XNOR3
, I960BASE_INSN_XNOR3
, I960BASE_SFMT_MULO3
},
113 { I960_INSN_NOT
, I960BASE_INSN_NOT
, I960BASE_SFMT_NOT
},
114 { I960_INSN_NOT1
, I960BASE_INSN_NOT1
, I960BASE_SFMT_NOT1
},
115 { I960_INSN_NOT2
, I960BASE_INSN_NOT2
, I960BASE_SFMT_NOT
},
116 { I960_INSN_NOT3
, I960BASE_INSN_NOT3
, I960BASE_SFMT_NOT1
},
117 { I960_INSN_ORNOT
, I960BASE_INSN_ORNOT
, I960BASE_SFMT_MULO
},
118 { I960_INSN_ORNOT1
, I960BASE_INSN_ORNOT1
, I960BASE_SFMT_MULO1
},
119 { I960_INSN_ORNOT2
, I960BASE_INSN_ORNOT2
, I960BASE_SFMT_MULO2
},
120 { I960_INSN_ORNOT3
, I960BASE_INSN_ORNOT3
, I960BASE_SFMT_MULO3
},
121 { I960_INSN_CLRBIT
, I960BASE_INSN_CLRBIT
, I960BASE_SFMT_NOTBIT
},
122 { I960_INSN_CLRBIT1
, I960BASE_INSN_CLRBIT1
, I960BASE_SFMT_NOTBIT1
},
123 { I960_INSN_CLRBIT2
, I960BASE_INSN_CLRBIT2
, I960BASE_SFMT_NOTBIT2
},
124 { I960_INSN_CLRBIT3
, I960BASE_INSN_CLRBIT3
, I960BASE_SFMT_NOTBIT3
},
125 { I960_INSN_SHLO
, I960BASE_INSN_SHLO
, I960BASE_SFMT_SHLO
},
126 { I960_INSN_SHLO1
, I960BASE_INSN_SHLO1
, I960BASE_SFMT_SHLO1
},
127 { I960_INSN_SHLO2
, I960BASE_INSN_SHLO2
, I960BASE_SFMT_SHLO2
},
128 { I960_INSN_SHLO3
, I960BASE_INSN_SHLO3
, I960BASE_SFMT_SHLO3
},
129 { I960_INSN_SHRO
, I960BASE_INSN_SHRO
, I960BASE_SFMT_SHLO
},
130 { I960_INSN_SHRO1
, I960BASE_INSN_SHRO1
, I960BASE_SFMT_SHLO1
},
131 { I960_INSN_SHRO2
, I960BASE_INSN_SHRO2
, I960BASE_SFMT_SHLO2
},
132 { I960_INSN_SHRO3
, I960BASE_INSN_SHRO3
, I960BASE_SFMT_SHLO3
},
133 { I960_INSN_SHLI
, I960BASE_INSN_SHLI
, I960BASE_SFMT_SHLO
},
134 { I960_INSN_SHLI1
, I960BASE_INSN_SHLI1
, I960BASE_SFMT_SHLO1
},
135 { I960_INSN_SHLI2
, I960BASE_INSN_SHLI2
, I960BASE_SFMT_SHLO2
},
136 { I960_INSN_SHLI3
, I960BASE_INSN_SHLI3
, I960BASE_SFMT_SHLO3
},
137 { I960_INSN_SHRI
, I960BASE_INSN_SHRI
, I960BASE_SFMT_SHLO
},
138 { I960_INSN_SHRI1
, I960BASE_INSN_SHRI1
, I960BASE_SFMT_SHLO1
},
139 { I960_INSN_SHRI2
, I960BASE_INSN_SHRI2
, I960BASE_SFMT_SHLO2
},
140 { I960_INSN_SHRI3
, I960BASE_INSN_SHRI3
, I960BASE_SFMT_SHLO3
},
141 { I960_INSN_EMUL
, I960BASE_INSN_EMUL
, I960BASE_SFMT_EMUL
},
142 { I960_INSN_EMUL1
, I960BASE_INSN_EMUL1
, I960BASE_SFMT_EMUL1
},
143 { I960_INSN_EMUL2
, I960BASE_INSN_EMUL2
, I960BASE_SFMT_EMUL2
},
144 { I960_INSN_EMUL3
, I960BASE_INSN_EMUL3
, I960BASE_SFMT_EMUL3
},
145 { I960_INSN_MOV
, I960BASE_INSN_MOV
, I960BASE_SFMT_NOT
},
146 { I960_INSN_MOV1
, I960BASE_INSN_MOV1
, I960BASE_SFMT_NOT1
},
147 { I960_INSN_MOVL
, I960BASE_INSN_MOVL
, I960BASE_SFMT_MOVL
},
148 { I960_INSN_MOVL1
, I960BASE_INSN_MOVL1
, I960BASE_SFMT_MOVL1
},
149 { I960_INSN_MOVT
, I960BASE_INSN_MOVT
, I960BASE_SFMT_MOVT
},
150 { I960_INSN_MOVT1
, I960BASE_INSN_MOVT1
, I960BASE_SFMT_MOVT1
},
151 { I960_INSN_MOVQ
, I960BASE_INSN_MOVQ
, I960BASE_SFMT_MOVQ
},
152 { I960_INSN_MOVQ1
, I960BASE_INSN_MOVQ1
, I960BASE_SFMT_MOVQ1
},
153 { I960_INSN_MODPC
, I960BASE_INSN_MODPC
, I960BASE_SFMT_MODPC
},
154 { I960_INSN_MODAC
, I960BASE_INSN_MODAC
, I960BASE_SFMT_MODPC
},
155 { I960_INSN_LDA_OFFSET
, I960BASE_INSN_LDA_OFFSET
, I960BASE_SFMT_LDA_OFFSET
},
156 { I960_INSN_LDA_INDIRECT_OFFSET
, I960BASE_INSN_LDA_INDIRECT_OFFSET
, I960BASE_SFMT_LDA_INDIRECT_OFFSET
},
157 { I960_INSN_LDA_INDIRECT
, I960BASE_INSN_LDA_INDIRECT
, I960BASE_SFMT_LDA_INDIRECT
},
158 { I960_INSN_LDA_INDIRECT_INDEX
, I960BASE_INSN_LDA_INDIRECT_INDEX
, I960BASE_SFMT_LDA_INDIRECT_INDEX
},
159 { I960_INSN_LDA_DISP
, I960BASE_INSN_LDA_DISP
, I960BASE_SFMT_LDA_DISP
},
160 { I960_INSN_LDA_INDIRECT_DISP
, I960BASE_INSN_LDA_INDIRECT_DISP
, I960BASE_SFMT_LDA_INDIRECT_DISP
},
161 { I960_INSN_LDA_INDEX_DISP
, I960BASE_INSN_LDA_INDEX_DISP
, I960BASE_SFMT_LDA_INDEX_DISP
},
162 { I960_INSN_LDA_INDIRECT_INDEX_DISP
, I960BASE_INSN_LDA_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LDA_INDIRECT_INDEX_DISP
},
163 { I960_INSN_LD_OFFSET
, I960BASE_INSN_LD_OFFSET
, I960BASE_SFMT_LD_OFFSET
},
164 { I960_INSN_LD_INDIRECT_OFFSET
, I960BASE_INSN_LD_INDIRECT_OFFSET
, I960BASE_SFMT_LD_INDIRECT_OFFSET
},
165 { I960_INSN_LD_INDIRECT
, I960BASE_INSN_LD_INDIRECT
, I960BASE_SFMT_LD_INDIRECT
},
166 { I960_INSN_LD_INDIRECT_INDEX
, I960BASE_INSN_LD_INDIRECT_INDEX
, I960BASE_SFMT_LD_INDIRECT_INDEX
},
167 { I960_INSN_LD_DISP
, I960BASE_INSN_LD_DISP
, I960BASE_SFMT_LD_DISP
},
168 { I960_INSN_LD_INDIRECT_DISP
, I960BASE_INSN_LD_INDIRECT_DISP
, I960BASE_SFMT_LD_INDIRECT_DISP
},
169 { I960_INSN_LD_INDEX_DISP
, I960BASE_INSN_LD_INDEX_DISP
, I960BASE_SFMT_LD_INDEX_DISP
},
170 { I960_INSN_LD_INDIRECT_INDEX_DISP
, I960BASE_INSN_LD_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LD_INDIRECT_INDEX_DISP
},
171 { I960_INSN_LDOB_OFFSET
, I960BASE_INSN_LDOB_OFFSET
, I960BASE_SFMT_LD_OFFSET
},
172 { I960_INSN_LDOB_INDIRECT_OFFSET
, I960BASE_INSN_LDOB_INDIRECT_OFFSET
, I960BASE_SFMT_LD_INDIRECT_OFFSET
},
173 { I960_INSN_LDOB_INDIRECT
, I960BASE_INSN_LDOB_INDIRECT
, I960BASE_SFMT_LD_INDIRECT
},
174 { I960_INSN_LDOB_INDIRECT_INDEX
, I960BASE_INSN_LDOB_INDIRECT_INDEX
, I960BASE_SFMT_LD_INDIRECT_INDEX
},
175 { I960_INSN_LDOB_DISP
, I960BASE_INSN_LDOB_DISP
, I960BASE_SFMT_LD_DISP
},
176 { I960_INSN_LDOB_INDIRECT_DISP
, I960BASE_INSN_LDOB_INDIRECT_DISP
, I960BASE_SFMT_LD_INDIRECT_DISP
},
177 { I960_INSN_LDOB_INDEX_DISP
, I960BASE_INSN_LDOB_INDEX_DISP
, I960BASE_SFMT_LD_INDEX_DISP
},
178 { I960_INSN_LDOB_INDIRECT_INDEX_DISP
, I960BASE_INSN_LDOB_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LD_INDIRECT_INDEX_DISP
},
179 { I960_INSN_LDOS_OFFSET
, I960BASE_INSN_LDOS_OFFSET
, I960BASE_SFMT_LD_OFFSET
},
180 { I960_INSN_LDOS_INDIRECT_OFFSET
, I960BASE_INSN_LDOS_INDIRECT_OFFSET
, I960BASE_SFMT_LD_INDIRECT_OFFSET
},
181 { I960_INSN_LDOS_INDIRECT
, I960BASE_INSN_LDOS_INDIRECT
, I960BASE_SFMT_LD_INDIRECT
},
182 { I960_INSN_LDOS_INDIRECT_INDEX
, I960BASE_INSN_LDOS_INDIRECT_INDEX
, I960BASE_SFMT_LD_INDIRECT_INDEX
},
183 { I960_INSN_LDOS_DISP
, I960BASE_INSN_LDOS_DISP
, I960BASE_SFMT_LD_DISP
},
184 { I960_INSN_LDOS_INDIRECT_DISP
, I960BASE_INSN_LDOS_INDIRECT_DISP
, I960BASE_SFMT_LD_INDIRECT_DISP
},
185 { I960_INSN_LDOS_INDEX_DISP
, I960BASE_INSN_LDOS_INDEX_DISP
, I960BASE_SFMT_LD_INDEX_DISP
},
186 { I960_INSN_LDOS_INDIRECT_INDEX_DISP
, I960BASE_INSN_LDOS_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LD_INDIRECT_INDEX_DISP
},
187 { I960_INSN_LDIB_OFFSET
, I960BASE_INSN_LDIB_OFFSET
, I960BASE_SFMT_LD_OFFSET
},
188 { I960_INSN_LDIB_INDIRECT_OFFSET
, I960BASE_INSN_LDIB_INDIRECT_OFFSET
, I960BASE_SFMT_LD_INDIRECT_OFFSET
},
189 { I960_INSN_LDIB_INDIRECT
, I960BASE_INSN_LDIB_INDIRECT
, I960BASE_SFMT_LD_INDIRECT
},
190 { I960_INSN_LDIB_INDIRECT_INDEX
, I960BASE_INSN_LDIB_INDIRECT_INDEX
, I960BASE_SFMT_LD_INDIRECT_INDEX
},
191 { I960_INSN_LDIB_DISP
, I960BASE_INSN_LDIB_DISP
, I960BASE_SFMT_LD_DISP
},
192 { I960_INSN_LDIB_INDIRECT_DISP
, I960BASE_INSN_LDIB_INDIRECT_DISP
, I960BASE_SFMT_LD_INDIRECT_DISP
},
193 { I960_INSN_LDIB_INDEX_DISP
, I960BASE_INSN_LDIB_INDEX_DISP
, I960BASE_SFMT_LD_INDEX_DISP
},
194 { I960_INSN_LDIB_INDIRECT_INDEX_DISP
, I960BASE_INSN_LDIB_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LD_INDIRECT_INDEX_DISP
},
195 { I960_INSN_LDIS_OFFSET
, I960BASE_INSN_LDIS_OFFSET
, I960BASE_SFMT_LD_OFFSET
},
196 { I960_INSN_LDIS_INDIRECT_OFFSET
, I960BASE_INSN_LDIS_INDIRECT_OFFSET
, I960BASE_SFMT_LD_INDIRECT_OFFSET
},
197 { I960_INSN_LDIS_INDIRECT
, I960BASE_INSN_LDIS_INDIRECT
, I960BASE_SFMT_LD_INDIRECT
},
198 { I960_INSN_LDIS_INDIRECT_INDEX
, I960BASE_INSN_LDIS_INDIRECT_INDEX
, I960BASE_SFMT_LD_INDIRECT_INDEX
},
199 { I960_INSN_LDIS_DISP
, I960BASE_INSN_LDIS_DISP
, I960BASE_SFMT_LD_DISP
},
200 { I960_INSN_LDIS_INDIRECT_DISP
, I960BASE_INSN_LDIS_INDIRECT_DISP
, I960BASE_SFMT_LD_INDIRECT_DISP
},
201 { I960_INSN_LDIS_INDEX_DISP
, I960BASE_INSN_LDIS_INDEX_DISP
, I960BASE_SFMT_LD_INDEX_DISP
},
202 { I960_INSN_LDIS_INDIRECT_INDEX_DISP
, I960BASE_INSN_LDIS_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LD_INDIRECT_INDEX_DISP
},
203 { I960_INSN_LDL_OFFSET
, I960BASE_INSN_LDL_OFFSET
, I960BASE_SFMT_LDL_OFFSET
},
204 { I960_INSN_LDL_INDIRECT_OFFSET
, I960BASE_INSN_LDL_INDIRECT_OFFSET
, I960BASE_SFMT_LDL_INDIRECT_OFFSET
},
205 { I960_INSN_LDL_INDIRECT
, I960BASE_INSN_LDL_INDIRECT
, I960BASE_SFMT_LDL_INDIRECT
},
206 { I960_INSN_LDL_INDIRECT_INDEX
, I960BASE_INSN_LDL_INDIRECT_INDEX
, I960BASE_SFMT_LDL_INDIRECT_INDEX
},
207 { I960_INSN_LDL_DISP
, I960BASE_INSN_LDL_DISP
, I960BASE_SFMT_LDL_DISP
},
208 { I960_INSN_LDL_INDIRECT_DISP
, I960BASE_INSN_LDL_INDIRECT_DISP
, I960BASE_SFMT_LDL_INDIRECT_DISP
},
209 { I960_INSN_LDL_INDEX_DISP
, I960BASE_INSN_LDL_INDEX_DISP
, I960BASE_SFMT_LDL_INDEX_DISP
},
210 { I960_INSN_LDL_INDIRECT_INDEX_DISP
, I960BASE_INSN_LDL_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LDL_INDIRECT_INDEX_DISP
},
211 { I960_INSN_LDT_OFFSET
, I960BASE_INSN_LDT_OFFSET
, I960BASE_SFMT_LDT_OFFSET
},
212 { I960_INSN_LDT_INDIRECT_OFFSET
, I960BASE_INSN_LDT_INDIRECT_OFFSET
, I960BASE_SFMT_LDT_INDIRECT_OFFSET
},
213 { I960_INSN_LDT_INDIRECT
, I960BASE_INSN_LDT_INDIRECT
, I960BASE_SFMT_LDT_INDIRECT
},
214 { I960_INSN_LDT_INDIRECT_INDEX
, I960BASE_INSN_LDT_INDIRECT_INDEX
, I960BASE_SFMT_LDT_INDIRECT_INDEX
},
215 { I960_INSN_LDT_DISP
, I960BASE_INSN_LDT_DISP
, I960BASE_SFMT_LDT_DISP
},
216 { I960_INSN_LDT_INDIRECT_DISP
, I960BASE_INSN_LDT_INDIRECT_DISP
, I960BASE_SFMT_LDT_INDIRECT_DISP
},
217 { I960_INSN_LDT_INDEX_DISP
, I960BASE_INSN_LDT_INDEX_DISP
, I960BASE_SFMT_LDT_INDEX_DISP
},
218 { I960_INSN_LDT_INDIRECT_INDEX_DISP
, I960BASE_INSN_LDT_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LDT_INDIRECT_INDEX_DISP
},
219 { I960_INSN_LDQ_OFFSET
, I960BASE_INSN_LDQ_OFFSET
, I960BASE_SFMT_LDQ_OFFSET
},
220 { I960_INSN_LDQ_INDIRECT_OFFSET
, I960BASE_INSN_LDQ_INDIRECT_OFFSET
, I960BASE_SFMT_LDQ_INDIRECT_OFFSET
},
221 { I960_INSN_LDQ_INDIRECT
, I960BASE_INSN_LDQ_INDIRECT
, I960BASE_SFMT_LDQ_INDIRECT
},
222 { I960_INSN_LDQ_INDIRECT_INDEX
, I960BASE_INSN_LDQ_INDIRECT_INDEX
, I960BASE_SFMT_LDQ_INDIRECT_INDEX
},
223 { I960_INSN_LDQ_DISP
, I960BASE_INSN_LDQ_DISP
, I960BASE_SFMT_LDQ_DISP
},
224 { I960_INSN_LDQ_INDIRECT_DISP
, I960BASE_INSN_LDQ_INDIRECT_DISP
, I960BASE_SFMT_LDQ_INDIRECT_DISP
},
225 { I960_INSN_LDQ_INDEX_DISP
, I960BASE_INSN_LDQ_INDEX_DISP
, I960BASE_SFMT_LDQ_INDEX_DISP
},
226 { I960_INSN_LDQ_INDIRECT_INDEX_DISP
, I960BASE_INSN_LDQ_INDIRECT_INDEX_DISP
, I960BASE_SFMT_LDQ_INDIRECT_INDEX_DISP
},
227 { I960_INSN_ST_OFFSET
, I960BASE_INSN_ST_OFFSET
, I960BASE_SFMT_ST_OFFSET
},
228 { I960_INSN_ST_INDIRECT_OFFSET
, I960BASE_INSN_ST_INDIRECT_OFFSET
, I960BASE_SFMT_ST_INDIRECT_OFFSET
},
229 { I960_INSN_ST_INDIRECT
, I960BASE_INSN_ST_INDIRECT
, I960BASE_SFMT_ST_INDIRECT
},
230 { I960_INSN_ST_INDIRECT_INDEX
, I960BASE_INSN_ST_INDIRECT_INDEX
, I960BASE_SFMT_ST_INDIRECT_INDEX
},
231 { I960_INSN_ST_DISP
, I960BASE_INSN_ST_DISP
, I960BASE_SFMT_ST_DISP
},
232 { I960_INSN_ST_INDIRECT_DISP
, I960BASE_INSN_ST_INDIRECT_DISP
, I960BASE_SFMT_ST_INDIRECT_DISP
},
233 { I960_INSN_ST_INDEX_DISP
, I960BASE_INSN_ST_INDEX_DISP
, I960BASE_SFMT_ST_INDEX_DISP
},
234 { I960_INSN_ST_INDIRECT_INDEX_DISP
, I960BASE_INSN_ST_INDIRECT_INDEX_DISP
, I960BASE_SFMT_ST_INDIRECT_INDEX_DISP
},
235 { I960_INSN_STOB_OFFSET
, I960BASE_INSN_STOB_OFFSET
, I960BASE_SFMT_ST_OFFSET
},
236 { I960_INSN_STOB_INDIRECT_OFFSET
, I960BASE_INSN_STOB_INDIRECT_OFFSET
, I960BASE_SFMT_ST_INDIRECT_OFFSET
},
237 { I960_INSN_STOB_INDIRECT
, I960BASE_INSN_STOB_INDIRECT
, I960BASE_SFMT_ST_INDIRECT
},
238 { I960_INSN_STOB_INDIRECT_INDEX
, I960BASE_INSN_STOB_INDIRECT_INDEX
, I960BASE_SFMT_ST_INDIRECT_INDEX
},
239 { I960_INSN_STOB_DISP
, I960BASE_INSN_STOB_DISP
, I960BASE_SFMT_ST_DISP
},
240 { I960_INSN_STOB_INDIRECT_DISP
, I960BASE_INSN_STOB_INDIRECT_DISP
, I960BASE_SFMT_ST_INDIRECT_DISP
},
241 { I960_INSN_STOB_INDEX_DISP
, I960BASE_INSN_STOB_INDEX_DISP
, I960BASE_SFMT_ST_INDEX_DISP
},
242 { I960_INSN_STOB_INDIRECT_INDEX_DISP
, I960BASE_INSN_STOB_INDIRECT_INDEX_DISP
, I960BASE_SFMT_ST_INDIRECT_INDEX_DISP
},
243 { I960_INSN_STOS_OFFSET
, I960BASE_INSN_STOS_OFFSET
, I960BASE_SFMT_ST_OFFSET
},
244 { I960_INSN_STOS_INDIRECT_OFFSET
, I960BASE_INSN_STOS_INDIRECT_OFFSET
, I960BASE_SFMT_ST_INDIRECT_OFFSET
},
245 { I960_INSN_STOS_INDIRECT
, I960BASE_INSN_STOS_INDIRECT
, I960BASE_SFMT_ST_INDIRECT
},
246 { I960_INSN_STOS_INDIRECT_INDEX
, I960BASE_INSN_STOS_INDIRECT_INDEX
, I960BASE_SFMT_ST_INDIRECT_INDEX
},
247 { I960_INSN_STOS_DISP
, I960BASE_INSN_STOS_DISP
, I960BASE_SFMT_ST_DISP
},
248 { I960_INSN_STOS_INDIRECT_DISP
, I960BASE_INSN_STOS_INDIRECT_DISP
, I960BASE_SFMT_ST_INDIRECT_DISP
},
249 { I960_INSN_STOS_INDEX_DISP
, I960BASE_INSN_STOS_INDEX_DISP
, I960BASE_SFMT_ST_INDEX_DISP
},
250 { I960_INSN_STOS_INDIRECT_INDEX_DISP
, I960BASE_INSN_STOS_INDIRECT_INDEX_DISP
, I960BASE_SFMT_ST_INDIRECT_INDEX_DISP
},
251 { I960_INSN_STL_OFFSET
, I960BASE_INSN_STL_OFFSET
, I960BASE_SFMT_STL_OFFSET
},
252 { I960_INSN_STL_INDIRECT_OFFSET
, I960BASE_INSN_STL_INDIRECT_OFFSET
, I960BASE_SFMT_STL_INDIRECT_OFFSET
},
253 { I960_INSN_STL_INDIRECT
, I960BASE_INSN_STL_INDIRECT
, I960BASE_SFMT_STL_INDIRECT
},
254 { I960_INSN_STL_INDIRECT_INDEX
, I960BASE_INSN_STL_INDIRECT_INDEX
, I960BASE_SFMT_STL_INDIRECT_INDEX
},
255 { I960_INSN_STL_DISP
, I960BASE_INSN_STL_DISP
, I960BASE_SFMT_STL_DISP
},
256 { I960_INSN_STL_INDIRECT_DISP
, I960BASE_INSN_STL_INDIRECT_DISP
, I960BASE_SFMT_STL_INDIRECT_DISP
},
257 { I960_INSN_STL_INDEX_DISP
, I960BASE_INSN_STL_INDEX_DISP
, I960BASE_SFMT_STL_INDEX_DISP
},
258 { I960_INSN_STL_INDIRECT_INDEX_DISP
, I960BASE_INSN_STL_INDIRECT_INDEX_DISP
, I960BASE_SFMT_STL_INDIRECT_INDEX_DISP
},
259 { I960_INSN_STT_OFFSET
, I960BASE_INSN_STT_OFFSET
, I960BASE_SFMT_STT_OFFSET
},
260 { I960_INSN_STT_INDIRECT_OFFSET
, I960BASE_INSN_STT_INDIRECT_OFFSET
, I960BASE_SFMT_STT_INDIRECT_OFFSET
},
261 { I960_INSN_STT_INDIRECT
, I960BASE_INSN_STT_INDIRECT
, I960BASE_SFMT_STT_INDIRECT
},
262 { I960_INSN_STT_INDIRECT_INDEX
, I960BASE_INSN_STT_INDIRECT_INDEX
, I960BASE_SFMT_STT_INDIRECT_INDEX
},
263 { I960_INSN_STT_DISP
, I960BASE_INSN_STT_DISP
, I960BASE_SFMT_STT_DISP
},
264 { I960_INSN_STT_INDIRECT_DISP
, I960BASE_INSN_STT_INDIRECT_DISP
, I960BASE_SFMT_STT_INDIRECT_DISP
},
265 { I960_INSN_STT_INDEX_DISP
, I960BASE_INSN_STT_INDEX_DISP
, I960BASE_SFMT_STT_INDEX_DISP
},
266 { I960_INSN_STT_INDIRECT_INDEX_DISP
, I960BASE_INSN_STT_INDIRECT_INDEX_DISP
, I960BASE_SFMT_STT_INDIRECT_INDEX_DISP
},
267 { I960_INSN_STQ_OFFSET
, I960BASE_INSN_STQ_OFFSET
, I960BASE_SFMT_STQ_OFFSET
},
268 { I960_INSN_STQ_INDIRECT_OFFSET
, I960BASE_INSN_STQ_INDIRECT_OFFSET
, I960BASE_SFMT_STQ_INDIRECT_OFFSET
},
269 { I960_INSN_STQ_INDIRECT
, I960BASE_INSN_STQ_INDIRECT
, I960BASE_SFMT_STQ_INDIRECT
},
270 { I960_INSN_STQ_INDIRECT_INDEX
, I960BASE_INSN_STQ_INDIRECT_INDEX
, I960BASE_SFMT_STQ_INDIRECT_INDEX
},
271 { I960_INSN_STQ_DISP
, I960BASE_INSN_STQ_DISP
, I960BASE_SFMT_STQ_DISP
},
272 { I960_INSN_STQ_INDIRECT_DISP
, I960BASE_INSN_STQ_INDIRECT_DISP
, I960BASE_SFMT_STQ_INDIRECT_DISP
},
273 { I960_INSN_STQ_INDEX_DISP
, I960BASE_INSN_STQ_INDEX_DISP
, I960BASE_SFMT_STQ_INDEX_DISP
},
274 { I960_INSN_STQ_INDIRECT_INDEX_DISP
, I960BASE_INSN_STQ_INDIRECT_INDEX_DISP
, I960BASE_SFMT_STQ_INDIRECT_INDEX_DISP
},
275 { I960_INSN_CMPOBE_REG
, I960BASE_INSN_CMPOBE_REG
, I960BASE_SFMT_CMPOBE_REG
},
276 { I960_INSN_CMPOBE_LIT
, I960BASE_INSN_CMPOBE_LIT
, I960BASE_SFMT_CMPOBE_LIT
},
277 { I960_INSN_CMPOBNE_REG
, I960BASE_INSN_CMPOBNE_REG
, I960BASE_SFMT_CMPOBE_REG
},
278 { I960_INSN_CMPOBNE_LIT
, I960BASE_INSN_CMPOBNE_LIT
, I960BASE_SFMT_CMPOBE_LIT
},
279 { I960_INSN_CMPOBL_REG
, I960BASE_INSN_CMPOBL_REG
, I960BASE_SFMT_CMPOBL_REG
},
280 { I960_INSN_CMPOBL_LIT
, I960BASE_INSN_CMPOBL_LIT
, I960BASE_SFMT_CMPOBL_LIT
},
281 { I960_INSN_CMPOBLE_REG
, I960BASE_INSN_CMPOBLE_REG
, I960BASE_SFMT_CMPOBL_REG
},
282 { I960_INSN_CMPOBLE_LIT
, I960BASE_INSN_CMPOBLE_LIT
, I960BASE_SFMT_CMPOBL_LIT
},
283 { I960_INSN_CMPOBG_REG
, I960BASE_INSN_CMPOBG_REG
, I960BASE_SFMT_CMPOBL_REG
},
284 { I960_INSN_CMPOBG_LIT
, I960BASE_INSN_CMPOBG_LIT
, I960BASE_SFMT_CMPOBL_LIT
},
285 { I960_INSN_CMPOBGE_REG
, I960BASE_INSN_CMPOBGE_REG
, I960BASE_SFMT_CMPOBL_REG
},
286 { I960_INSN_CMPOBGE_LIT
, I960BASE_INSN_CMPOBGE_LIT
, I960BASE_SFMT_CMPOBL_LIT
},
287 { I960_INSN_CMPIBE_REG
, I960BASE_INSN_CMPIBE_REG
, I960BASE_SFMT_CMPOBE_REG
},
288 { I960_INSN_CMPIBE_LIT
, I960BASE_INSN_CMPIBE_LIT
, I960BASE_SFMT_CMPOBE_LIT
},
289 { I960_INSN_CMPIBNE_REG
, I960BASE_INSN_CMPIBNE_REG
, I960BASE_SFMT_CMPOBE_REG
},
290 { I960_INSN_CMPIBNE_LIT
, I960BASE_INSN_CMPIBNE_LIT
, I960BASE_SFMT_CMPOBE_LIT
},
291 { I960_INSN_CMPIBL_REG
, I960BASE_INSN_CMPIBL_REG
, I960BASE_SFMT_CMPOBE_REG
},
292 { I960_INSN_CMPIBL_LIT
, I960BASE_INSN_CMPIBL_LIT
, I960BASE_SFMT_CMPOBE_LIT
},
293 { I960_INSN_CMPIBLE_REG
, I960BASE_INSN_CMPIBLE_REG
, I960BASE_SFMT_CMPOBE_REG
},
294 { I960_INSN_CMPIBLE_LIT
, I960BASE_INSN_CMPIBLE_LIT
, I960BASE_SFMT_CMPOBE_LIT
},
295 { I960_INSN_CMPIBG_REG
, I960BASE_INSN_CMPIBG_REG
, I960BASE_SFMT_CMPOBE_REG
},
296 { I960_INSN_CMPIBG_LIT
, I960BASE_INSN_CMPIBG_LIT
, I960BASE_SFMT_CMPOBE_LIT
},
297 { I960_INSN_CMPIBGE_REG
, I960BASE_INSN_CMPIBGE_REG
, I960BASE_SFMT_CMPOBE_REG
},
298 { I960_INSN_CMPIBGE_LIT
, I960BASE_INSN_CMPIBGE_LIT
, I960BASE_SFMT_CMPOBE_LIT
},
299 { I960_INSN_BBC_REG
, I960BASE_INSN_BBC_REG
, I960BASE_SFMT_BBC_REG
},
300 { I960_INSN_BBC_LIT
, I960BASE_INSN_BBC_LIT
, I960BASE_SFMT_BBC_LIT
},
301 { I960_INSN_BBS_REG
, I960BASE_INSN_BBS_REG
, I960BASE_SFMT_BBC_REG
},
302 { I960_INSN_BBS_LIT
, I960BASE_INSN_BBS_LIT
, I960BASE_SFMT_BBC_LIT
},
303 { I960_INSN_CMPI
, I960BASE_INSN_CMPI
, I960BASE_SFMT_CMPI
},
304 { I960_INSN_CMPI1
, I960BASE_INSN_CMPI1
, I960BASE_SFMT_CMPI1
},
305 { I960_INSN_CMPI2
, I960BASE_INSN_CMPI2
, I960BASE_SFMT_CMPI2
},
306 { I960_INSN_CMPI3
, I960BASE_INSN_CMPI3
, I960BASE_SFMT_CMPI3
},
307 { I960_INSN_CMPO
, I960BASE_INSN_CMPO
, I960BASE_SFMT_CMPO
},
308 { I960_INSN_CMPO1
, I960BASE_INSN_CMPO1
, I960BASE_SFMT_CMPO1
},
309 { I960_INSN_CMPO2
, I960BASE_INSN_CMPO2
, I960BASE_SFMT_CMPO2
},
310 { I960_INSN_CMPO3
, I960BASE_INSN_CMPO3
, I960BASE_SFMT_CMPO3
},
311 { I960_INSN_TESTNO_REG
, I960BASE_INSN_TESTNO_REG
, I960BASE_SFMT_TESTNO_REG
},
312 { I960_INSN_TESTG_REG
, I960BASE_INSN_TESTG_REG
, I960BASE_SFMT_TESTNO_REG
},
313 { I960_INSN_TESTE_REG
, I960BASE_INSN_TESTE_REG
, I960BASE_SFMT_TESTNO_REG
},
314 { I960_INSN_TESTGE_REG
, I960BASE_INSN_TESTGE_REG
, I960BASE_SFMT_TESTNO_REG
},
315 { I960_INSN_TESTL_REG
, I960BASE_INSN_TESTL_REG
, I960BASE_SFMT_TESTNO_REG
},
316 { I960_INSN_TESTNE_REG
, I960BASE_INSN_TESTNE_REG
, I960BASE_SFMT_TESTNO_REG
},
317 { I960_INSN_TESTLE_REG
, I960BASE_INSN_TESTLE_REG
, I960BASE_SFMT_TESTNO_REG
},
318 { I960_INSN_TESTO_REG
, I960BASE_INSN_TESTO_REG
, I960BASE_SFMT_TESTNO_REG
},
319 { I960_INSN_BNO
, I960BASE_INSN_BNO
, I960BASE_SFMT_BNO
},
320 { I960_INSN_BG
, I960BASE_INSN_BG
, I960BASE_SFMT_BNO
},
321 { I960_INSN_BE
, I960BASE_INSN_BE
, I960BASE_SFMT_BNO
},
322 { I960_INSN_BGE
, I960BASE_INSN_BGE
, I960BASE_SFMT_BNO
},
323 { I960_INSN_BL
, I960BASE_INSN_BL
, I960BASE_SFMT_BNO
},
324 { I960_INSN_BNE
, I960BASE_INSN_BNE
, I960BASE_SFMT_BNO
},
325 { I960_INSN_BLE
, I960BASE_INSN_BLE
, I960BASE_SFMT_BNO
},
326 { I960_INSN_BO
, I960BASE_INSN_BO
, I960BASE_SFMT_BNO
},
327 { I960_INSN_B
, I960BASE_INSN_B
, I960BASE_SFMT_B
},
328 { I960_INSN_BX_INDIRECT_OFFSET
, I960BASE_INSN_BX_INDIRECT_OFFSET
, I960BASE_SFMT_BX_INDIRECT_OFFSET
},
329 { I960_INSN_BX_INDIRECT
, I960BASE_INSN_BX_INDIRECT
, I960BASE_SFMT_BX_INDIRECT
},
330 { I960_INSN_BX_INDIRECT_INDEX
, I960BASE_INSN_BX_INDIRECT_INDEX
, I960BASE_SFMT_BX_INDIRECT_INDEX
},
331 { I960_INSN_BX_DISP
, I960BASE_INSN_BX_DISP
, I960BASE_SFMT_BX_DISP
},
332 { I960_INSN_BX_INDIRECT_DISP
, I960BASE_INSN_BX_INDIRECT_DISP
, I960BASE_SFMT_BX_INDIRECT_DISP
},
333 { I960_INSN_CALLX_DISP
, I960BASE_INSN_CALLX_DISP
, I960BASE_SFMT_CALLX_DISP
},
334 { I960_INSN_CALLX_INDIRECT
, I960BASE_INSN_CALLX_INDIRECT
, I960BASE_SFMT_CALLX_INDIRECT
},
335 { I960_INSN_CALLX_INDIRECT_OFFSET
, I960BASE_INSN_CALLX_INDIRECT_OFFSET
, I960BASE_SFMT_CALLX_INDIRECT_OFFSET
},
336 { I960_INSN_RET
, I960BASE_INSN_RET
, I960BASE_SFMT_RET
},
337 { I960_INSN_CALLS
, I960BASE_INSN_CALLS
, I960BASE_SFMT_CALLS
},
338 { I960_INSN_FMARK
, I960BASE_INSN_FMARK
, I960BASE_SFMT_FMARK
},
339 { I960_INSN_FLUSHREG
, I960BASE_INSN_FLUSHREG
, I960BASE_SFMT_FLUSHREG
},
342 static const struct insn_sem i960base_insn_sem_invalid
= {
343 VIRTUAL_INSN_X_INVALID
, I960BASE_INSN_X_INVALID
, I960BASE_SFMT_EMPTY
346 /* Initialize an IDESC from the compile-time computable parts. */
349 init_idesc (SIM_CPU
*cpu
, IDESC
*id
, const struct insn_sem
*t
)
351 const CGEN_INSN
*insn_table
= CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu
))->init_entries
;
355 if ((int) t
->type
<= 0)
356 id
->idata
= & cgen_virtual_insn_table
[- (int) t
->type
];
358 id
->idata
= & insn_table
[t
->type
];
359 id
->attrs
= CGEN_INSN_ATTRS (id
->idata
);
360 /* Oh my god, a magic number. */
361 id
->length
= CGEN_INSN_BITSIZE (id
->idata
) / 8;
363 #if WITH_PROFILE_MODEL_P
364 id
->timing
= & MODEL_TIMING (CPU_MODEL (cpu
)) [t
->index
];
366 SIM_DESC sd
= CPU_STATE (cpu
);
367 SIM_ASSERT (t
->index
== id
->timing
->num
);
371 /* Semantic pointers are initialized elsewhere. */
374 /* Initialize the instruction descriptor table. */
377 i960base_init_idesc_table (SIM_CPU
*cpu
)
380 const struct insn_sem
*t
,*tend
;
381 int tabsize
= I960BASE_INSN_MAX
;
382 IDESC
*table
= i960base_insn_data
;
384 memset (table
, 0, tabsize
* sizeof (IDESC
));
386 /* First set all entries to the `invalid insn'. */
387 t
= & i960base_insn_sem_invalid
;
388 for (id
= table
, tabend
= table
+ tabsize
; id
< tabend
; ++id
)
389 init_idesc (cpu
, id
, t
);
391 /* Now fill in the values for the chosen cpu. */
392 for (t
= i960base_insn_sem
, tend
= t
+ sizeof (i960base_insn_sem
) / sizeof (*t
);
395 init_idesc (cpu
, & table
[t
->index
], t
);
398 /* Link the IDESC table into the cpu. */
399 CPU_IDESC (cpu
) = table
;
402 /* Given an instruction, return a pointer to its IDESC entry. */
405 i960base_decode (SIM_CPU
*current_cpu
, IADDR pc
,
406 CGEN_INSN_INT base_insn
,
409 /* Result of decoder. */
410 I960BASE_INSN_TYPE itype
;
413 CGEN_INSN_INT insn
= base_insn
;
416 unsigned int val
= (((insn
>> 24) & (255 << 0)));
419 case 8 : itype
= I960BASE_INSN_B
; goto extract_sfmt_b
;
420 case 10 : itype
= I960BASE_INSN_RET
; goto extract_sfmt_ret
;
421 case 16 : itype
= I960BASE_INSN_BNO
; goto extract_sfmt_bno
;
422 case 17 : itype
= I960BASE_INSN_BG
; goto extract_sfmt_bno
;
423 case 18 : itype
= I960BASE_INSN_BE
; goto extract_sfmt_bno
;
424 case 19 : itype
= I960BASE_INSN_BGE
; goto extract_sfmt_bno
;
425 case 20 : itype
= I960BASE_INSN_BL
; goto extract_sfmt_bno
;
426 case 21 : itype
= I960BASE_INSN_BNE
; goto extract_sfmt_bno
;
427 case 22 : itype
= I960BASE_INSN_BLE
; goto extract_sfmt_bno
;
428 case 23 : itype
= I960BASE_INSN_BO
; goto extract_sfmt_bno
;
429 case 32 : itype
= I960BASE_INSN_TESTNO_REG
; goto extract_sfmt_testno_reg
;
430 case 33 : itype
= I960BASE_INSN_TESTG_REG
; goto extract_sfmt_testno_reg
;
431 case 34 : itype
= I960BASE_INSN_TESTE_REG
; goto extract_sfmt_testno_reg
;
432 case 35 : itype
= I960BASE_INSN_TESTGE_REG
; goto extract_sfmt_testno_reg
;
433 case 36 : itype
= I960BASE_INSN_TESTL_REG
; goto extract_sfmt_testno_reg
;
434 case 37 : itype
= I960BASE_INSN_TESTNE_REG
; goto extract_sfmt_testno_reg
;
435 case 38 : itype
= I960BASE_INSN_TESTLE_REG
; goto extract_sfmt_testno_reg
;
436 case 39 : itype
= I960BASE_INSN_TESTO_REG
; goto extract_sfmt_testno_reg
;
439 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
442 case 0 : itype
= I960BASE_INSN_BBC_REG
; goto extract_sfmt_bbc_reg
;
443 case 4 : itype
= I960BASE_INSN_BBC_LIT
; goto extract_sfmt_bbc_lit
;
444 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
449 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
452 case 0 : itype
= I960BASE_INSN_CMPOBG_REG
; goto extract_sfmt_cmpobl_reg
;
453 case 4 : itype
= I960BASE_INSN_CMPOBG_LIT
; goto extract_sfmt_cmpobl_lit
;
454 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
459 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
462 case 0 : itype
= I960BASE_INSN_CMPOBE_REG
; goto extract_sfmt_cmpobe_reg
;
463 case 4 : itype
= I960BASE_INSN_CMPOBE_LIT
; goto extract_sfmt_cmpobe_lit
;
464 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
469 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
472 case 0 : itype
= I960BASE_INSN_CMPOBGE_REG
; goto extract_sfmt_cmpobl_reg
;
473 case 4 : itype
= I960BASE_INSN_CMPOBGE_LIT
; goto extract_sfmt_cmpobl_lit
;
474 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
479 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
482 case 0 : itype
= I960BASE_INSN_CMPOBL_REG
; goto extract_sfmt_cmpobl_reg
;
483 case 4 : itype
= I960BASE_INSN_CMPOBL_LIT
; goto extract_sfmt_cmpobl_lit
;
484 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
489 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
492 case 0 : itype
= I960BASE_INSN_CMPOBNE_REG
; goto extract_sfmt_cmpobe_reg
;
493 case 4 : itype
= I960BASE_INSN_CMPOBNE_LIT
; goto extract_sfmt_cmpobe_lit
;
494 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
499 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
502 case 0 : itype
= I960BASE_INSN_CMPOBLE_REG
; goto extract_sfmt_cmpobl_reg
;
503 case 4 : itype
= I960BASE_INSN_CMPOBLE_LIT
; goto extract_sfmt_cmpobl_lit
;
504 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
509 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
512 case 0 : itype
= I960BASE_INSN_BBS_REG
; goto extract_sfmt_bbc_reg
;
513 case 4 : itype
= I960BASE_INSN_BBS_LIT
; goto extract_sfmt_bbc_lit
;
514 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
519 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
522 case 0 : itype
= I960BASE_INSN_CMPIBG_REG
; goto extract_sfmt_cmpobe_reg
;
523 case 4 : itype
= I960BASE_INSN_CMPIBG_LIT
; goto extract_sfmt_cmpobe_lit
;
524 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
529 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
532 case 0 : itype
= I960BASE_INSN_CMPIBE_REG
; goto extract_sfmt_cmpobe_reg
;
533 case 4 : itype
= I960BASE_INSN_CMPIBE_LIT
; goto extract_sfmt_cmpobe_lit
;
534 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
539 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
542 case 0 : itype
= I960BASE_INSN_CMPIBGE_REG
; goto extract_sfmt_cmpobe_reg
;
543 case 4 : itype
= I960BASE_INSN_CMPIBGE_LIT
; goto extract_sfmt_cmpobe_lit
;
544 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
549 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
552 case 0 : itype
= I960BASE_INSN_CMPIBL_REG
; goto extract_sfmt_cmpobe_reg
;
553 case 4 : itype
= I960BASE_INSN_CMPIBL_LIT
; goto extract_sfmt_cmpobe_lit
;
554 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
559 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
562 case 0 : itype
= I960BASE_INSN_CMPIBNE_REG
; goto extract_sfmt_cmpobe_reg
;
563 case 4 : itype
= I960BASE_INSN_CMPIBNE_LIT
; goto extract_sfmt_cmpobe_lit
;
564 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
569 unsigned int val
= (((insn
>> 11) & (1 << 2)) | ((insn
>> 0) & (3 << 0)));
572 case 0 : itype
= I960BASE_INSN_CMPIBLE_REG
; goto extract_sfmt_cmpobe_reg
;
573 case 4 : itype
= I960BASE_INSN_CMPIBLE_LIT
; goto extract_sfmt_cmpobe_lit
;
574 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
579 unsigned int val
= (((insn
>> 10) & (15 << 0)));
584 unsigned int val
= (((insn
>> 6) & (15 << 0)));
587 case 0 : itype
= I960BASE_INSN_NOTBIT
; goto extract_sfmt_notbit
;
588 case 2 : itype
= I960BASE_INSN_AND
; goto extract_sfmt_mulo
;
589 case 4 : itype
= I960BASE_INSN_ANDNOT
; goto extract_sfmt_mulo
;
590 case 6 : itype
= I960BASE_INSN_SETBIT
; goto extract_sfmt_notbit
;
591 case 8 : itype
= I960BASE_INSN_NOTAND
; goto extract_sfmt_mulo
;
592 case 12 : itype
= I960BASE_INSN_XOR
; goto extract_sfmt_mulo
;
593 case 14 : itype
= I960BASE_INSN_OR
; goto extract_sfmt_mulo
;
594 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
599 unsigned int val
= (((insn
>> 6) & (15 << 0)));
602 case 0 : itype
= I960BASE_INSN_NOR
; goto extract_sfmt_mulo
;
603 case 2 : itype
= I960BASE_INSN_XNOR
; goto extract_sfmt_mulo
;
604 case 4 : itype
= I960BASE_INSN_NOT
; goto extract_sfmt_not
;
605 case 6 : itype
= I960BASE_INSN_ORNOT
; goto extract_sfmt_mulo
;
606 case 8 : itype
= I960BASE_INSN_CLRBIT
; goto extract_sfmt_notbit
;
607 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
612 unsigned int val
= (((insn
>> 6) & (15 << 0)));
615 case 0 : itype
= I960BASE_INSN_NOTBIT1
; goto extract_sfmt_notbit1
;
616 case 2 : itype
= I960BASE_INSN_AND1
; goto extract_sfmt_mulo1
;
617 case 4 : itype
= I960BASE_INSN_ANDNOT1
; goto extract_sfmt_mulo1
;
618 case 6 : itype
= I960BASE_INSN_SETBIT1
; goto extract_sfmt_notbit1
;
619 case 8 : itype
= I960BASE_INSN_NOTAND1
; goto extract_sfmt_mulo1
;
620 case 12 : itype
= I960BASE_INSN_XOR1
; goto extract_sfmt_mulo1
;
621 case 14 : itype
= I960BASE_INSN_OR1
; goto extract_sfmt_mulo1
;
622 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
627 unsigned int val
= (((insn
>> 6) & (15 << 0)));
630 case 0 : itype
= I960BASE_INSN_NOR1
; goto extract_sfmt_mulo1
;
631 case 2 : itype
= I960BASE_INSN_XNOR1
; goto extract_sfmt_mulo1
;
632 case 4 : itype
= I960BASE_INSN_NOT1
; goto extract_sfmt_not1
;
633 case 6 : itype
= I960BASE_INSN_ORNOT1
; goto extract_sfmt_mulo1
;
634 case 8 : itype
= I960BASE_INSN_CLRBIT1
; goto extract_sfmt_notbit1
;
635 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
640 unsigned int val
= (((insn
>> 6) & (15 << 0)));
643 case 0 : itype
= I960BASE_INSN_NOTBIT2
; goto extract_sfmt_notbit2
;
644 case 2 : itype
= I960BASE_INSN_AND2
; goto extract_sfmt_mulo2
;
645 case 4 : itype
= I960BASE_INSN_ANDNOT2
; goto extract_sfmt_mulo2
;
646 case 6 : itype
= I960BASE_INSN_SETBIT2
; goto extract_sfmt_notbit2
;
647 case 8 : itype
= I960BASE_INSN_NOTAND2
; goto extract_sfmt_mulo2
;
648 case 12 : itype
= I960BASE_INSN_XOR2
; goto extract_sfmt_mulo2
;
649 case 14 : itype
= I960BASE_INSN_OR2
; goto extract_sfmt_mulo2
;
650 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
655 unsigned int val
= (((insn
>> 6) & (15 << 0)));
658 case 0 : itype
= I960BASE_INSN_NOR2
; goto extract_sfmt_mulo2
;
659 case 2 : itype
= I960BASE_INSN_XNOR2
; goto extract_sfmt_mulo2
;
660 case 4 : itype
= I960BASE_INSN_NOT2
; goto extract_sfmt_not
;
661 case 6 : itype
= I960BASE_INSN_ORNOT2
; goto extract_sfmt_mulo2
;
662 case 8 : itype
= I960BASE_INSN_CLRBIT2
; goto extract_sfmt_notbit2
;
663 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
668 unsigned int val
= (((insn
>> 6) & (15 << 0)));
671 case 0 : itype
= I960BASE_INSN_NOTBIT3
; goto extract_sfmt_notbit3
;
672 case 2 : itype
= I960BASE_INSN_AND3
; goto extract_sfmt_mulo3
;
673 case 4 : itype
= I960BASE_INSN_ANDNOT3
; goto extract_sfmt_mulo3
;
674 case 6 : itype
= I960BASE_INSN_SETBIT3
; goto extract_sfmt_notbit3
;
675 case 8 : itype
= I960BASE_INSN_NOTAND3
; goto extract_sfmt_mulo3
;
676 case 12 : itype
= I960BASE_INSN_XOR3
; goto extract_sfmt_mulo3
;
677 case 14 : itype
= I960BASE_INSN_OR3
; goto extract_sfmt_mulo3
;
678 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
683 unsigned int val
= (((insn
>> 6) & (15 << 0)));
686 case 0 : itype
= I960BASE_INSN_NOR3
; goto extract_sfmt_mulo3
;
687 case 2 : itype
= I960BASE_INSN_XNOR3
; goto extract_sfmt_mulo3
;
688 case 4 : itype
= I960BASE_INSN_NOT3
; goto extract_sfmt_not1
;
689 case 6 : itype
= I960BASE_INSN_ORNOT3
; goto extract_sfmt_mulo3
;
690 case 8 : itype
= I960BASE_INSN_CLRBIT3
; goto extract_sfmt_notbit3
;
691 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
694 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
699 unsigned int val
= (((insn
>> 10) & (15 << 0)));
704 unsigned int val
= (((insn
>> 6) & (15 << 0)));
707 case 0 : itype
= I960BASE_INSN_ADDO
; goto extract_sfmt_mulo
;
708 case 4 : itype
= I960BASE_INSN_SUBO
; goto extract_sfmt_mulo
;
709 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
714 unsigned int val
= (((insn
>> 6) & (15 << 0)));
717 case 0 : itype
= I960BASE_INSN_SHRO
; goto extract_sfmt_shlo
;
718 case 6 : itype
= I960BASE_INSN_SHRI
; goto extract_sfmt_shlo
;
719 case 8 : itype
= I960BASE_INSN_SHLO
; goto extract_sfmt_shlo
;
720 case 12 : itype
= I960BASE_INSN_SHLI
; goto extract_sfmt_shlo
;
721 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
726 unsigned int val
= (((insn
>> 6) & (15 << 0)));
729 case 0 : itype
= I960BASE_INSN_ADDO1
; goto extract_sfmt_mulo1
;
730 case 4 : itype
= I960BASE_INSN_SUBO1
; goto extract_sfmt_mulo1
;
731 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
736 unsigned int val
= (((insn
>> 6) & (15 << 0)));
739 case 0 : itype
= I960BASE_INSN_SHRO1
; goto extract_sfmt_shlo1
;
740 case 6 : itype
= I960BASE_INSN_SHRI1
; goto extract_sfmt_shlo1
;
741 case 8 : itype
= I960BASE_INSN_SHLO1
; goto extract_sfmt_shlo1
;
742 case 12 : itype
= I960BASE_INSN_SHLI1
; goto extract_sfmt_shlo1
;
743 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
748 unsigned int val
= (((insn
>> 6) & (15 << 0)));
751 case 0 : itype
= I960BASE_INSN_ADDO2
; goto extract_sfmt_mulo2
;
752 case 4 : itype
= I960BASE_INSN_SUBO2
; goto extract_sfmt_mulo2
;
753 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
758 unsigned int val
= (((insn
>> 6) & (15 << 0)));
761 case 0 : itype
= I960BASE_INSN_SHRO2
; goto extract_sfmt_shlo2
;
762 case 6 : itype
= I960BASE_INSN_SHRI2
; goto extract_sfmt_shlo2
;
763 case 8 : itype
= I960BASE_INSN_SHLO2
; goto extract_sfmt_shlo2
;
764 case 12 : itype
= I960BASE_INSN_SHLI2
; goto extract_sfmt_shlo2
;
765 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
770 unsigned int val
= (((insn
>> 6) & (15 << 0)));
773 case 0 : itype
= I960BASE_INSN_ADDO3
; goto extract_sfmt_mulo3
;
774 case 4 : itype
= I960BASE_INSN_SUBO3
; goto extract_sfmt_mulo3
;
775 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
780 unsigned int val
= (((insn
>> 6) & (15 << 0)));
783 case 0 : itype
= I960BASE_INSN_SHRO3
; goto extract_sfmt_shlo3
;
784 case 6 : itype
= I960BASE_INSN_SHRI3
; goto extract_sfmt_shlo3
;
785 case 8 : itype
= I960BASE_INSN_SHLO3
; goto extract_sfmt_shlo3
;
786 case 12 : itype
= I960BASE_INSN_SHLI3
; goto extract_sfmt_shlo3
;
787 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
790 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
795 unsigned int val
= (((insn
>> 10) & (15 << 0)));
800 unsigned int val
= (((insn
>> 6) & (15 << 0)));
803 case 0 : itype
= I960BASE_INSN_CMPO
; goto extract_sfmt_cmpo
;
804 case 2 : itype
= I960BASE_INSN_CMPI
; goto extract_sfmt_cmpi
;
805 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
810 unsigned int val
= (((insn
>> 6) & (15 << 0)));
813 case 0 : itype
= I960BASE_INSN_CMPO1
; goto extract_sfmt_cmpo1
;
814 case 2 : itype
= I960BASE_INSN_CMPI1
; goto extract_sfmt_cmpi1
;
815 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
820 unsigned int val
= (((insn
>> 6) & (15 << 0)));
823 case 0 : itype
= I960BASE_INSN_CMPO2
; goto extract_sfmt_cmpo2
;
824 case 2 : itype
= I960BASE_INSN_CMPI2
; goto extract_sfmt_cmpi2
;
825 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
830 unsigned int val
= (((insn
>> 6) & (15 << 0)));
833 case 0 : itype
= I960BASE_INSN_CMPO3
; goto extract_sfmt_cmpo3
;
834 case 2 : itype
= I960BASE_INSN_CMPI3
; goto extract_sfmt_cmpi3
;
835 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
838 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
843 unsigned int val
= (((insn
>> 10) & (15 << 0)));
846 case 5 : itype
= I960BASE_INSN_MOV
; goto extract_sfmt_not
;
847 case 7 : itype
= I960BASE_INSN_MOV1
; goto extract_sfmt_not1
;
848 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
853 unsigned int val
= (((insn
>> 10) & (15 << 0)));
856 case 5 : itype
= I960BASE_INSN_MOVL
; goto extract_sfmt_movl
;
857 case 7 : itype
= I960BASE_INSN_MOVL1
; goto extract_sfmt_movl1
;
858 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
863 unsigned int val
= (((insn
>> 10) & (15 << 0)));
866 case 5 : itype
= I960BASE_INSN_MOVT
; goto extract_sfmt_movt
;
867 case 7 : itype
= I960BASE_INSN_MOVT1
; goto extract_sfmt_movt1
;
868 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
873 unsigned int val
= (((insn
>> 10) & (15 << 0)));
876 case 5 : itype
= I960BASE_INSN_MOVQ
; goto extract_sfmt_movq
;
877 case 7 : itype
= I960BASE_INSN_MOVQ1
; goto extract_sfmt_movq1
;
878 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
881 case 100 : itype
= I960BASE_INSN_MODAC
; goto extract_sfmt_modpc
;
882 case 101 : itype
= I960BASE_INSN_MODPC
; goto extract_sfmt_modpc
;
885 unsigned int val
= (((insn
>> 10) & (15 << 0)));
888 case 12 : itype
= I960BASE_INSN_CALLS
; goto extract_sfmt_calls
;
891 unsigned int val
= (((insn
>> 6) & (15 << 0)));
894 case 8 : itype
= I960BASE_INSN_FMARK
; goto extract_sfmt_fmark
;
895 case 10 : itype
= I960BASE_INSN_FLUSHREG
; goto extract_sfmt_flushreg
;
896 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
899 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
904 unsigned int val
= (((insn
>> 10) & (15 << 0)));
907 case 0 : itype
= I960BASE_INSN_EMUL
; goto extract_sfmt_emul
;
908 case 2 : itype
= I960BASE_INSN_EMUL1
; goto extract_sfmt_emul1
;
909 case 4 : itype
= I960BASE_INSN_EMUL2
; goto extract_sfmt_emul2
;
910 case 6 : itype
= I960BASE_INSN_EMUL3
; goto extract_sfmt_emul3
;
911 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
916 unsigned int val
= (((insn
>> 10) & (15 << 0)));
919 case 0 : itype
= I960BASE_INSN_MULO
; goto extract_sfmt_mulo
;
922 unsigned int val
= (((insn
>> 6) & (15 << 0)));
925 case 0 : itype
= I960BASE_INSN_REMO
; goto extract_sfmt_mulo
;
926 case 6 : itype
= I960BASE_INSN_DIVO
; goto extract_sfmt_mulo
;
927 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
930 case 2 : itype
= I960BASE_INSN_MULO1
; goto extract_sfmt_mulo1
;
933 unsigned int val
= (((insn
>> 6) & (15 << 0)));
936 case 0 : itype
= I960BASE_INSN_REMO1
; goto extract_sfmt_mulo1
;
937 case 6 : itype
= I960BASE_INSN_DIVO1
; goto extract_sfmt_mulo1
;
938 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
941 case 4 : itype
= I960BASE_INSN_MULO2
; goto extract_sfmt_mulo2
;
944 unsigned int val
= (((insn
>> 6) & (15 << 0)));
947 case 0 : itype
= I960BASE_INSN_REMO2
; goto extract_sfmt_mulo2
;
948 case 6 : itype
= I960BASE_INSN_DIVO2
; goto extract_sfmt_mulo2
;
949 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
952 case 6 : itype
= I960BASE_INSN_MULO3
; goto extract_sfmt_mulo3
;
955 unsigned int val
= (((insn
>> 6) & (15 << 0)));
958 case 0 : itype
= I960BASE_INSN_REMO3
; goto extract_sfmt_mulo3
;
959 case 6 : itype
= I960BASE_INSN_DIVO3
; goto extract_sfmt_mulo3
;
960 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
963 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
968 unsigned int val
= (((insn
>> 10) & (15 << 0)));
973 unsigned int val
= (((insn
>> 6) & (15 << 0)));
976 case 0 : itype
= I960BASE_INSN_REMI
; goto extract_sfmt_mulo
;
977 case 6 : itype
= I960BASE_INSN_DIVI
; goto extract_sfmt_mulo
;
978 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
983 unsigned int val
= (((insn
>> 6) & (15 << 0)));
986 case 0 : itype
= I960BASE_INSN_REMI1
; goto extract_sfmt_mulo1
;
987 case 6 : itype
= I960BASE_INSN_DIVI1
; goto extract_sfmt_mulo1
;
988 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
993 unsigned int val
= (((insn
>> 6) & (15 << 0)));
996 case 0 : itype
= I960BASE_INSN_REMI2
; goto extract_sfmt_mulo2
;
997 case 6 : itype
= I960BASE_INSN_DIVI2
; goto extract_sfmt_mulo2
;
998 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1003 unsigned int val
= (((insn
>> 6) & (15 << 0)));
1006 case 0 : itype
= I960BASE_INSN_REMI3
; goto extract_sfmt_mulo3
;
1007 case 6 : itype
= I960BASE_INSN_DIVI3
; goto extract_sfmt_mulo3
;
1008 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1011 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1016 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1019 case 0 : /* fall through */
1020 case 1 : /* fall through */
1021 case 2 : /* fall through */
1022 case 3 : itype
= I960BASE_INSN_LDOB_OFFSET
; goto extract_sfmt_ld_offset
;
1023 case 4 : itype
= I960BASE_INSN_LDOB_INDIRECT
; goto extract_sfmt_ld_indirect
;
1024 case 7 : itype
= I960BASE_INSN_LDOB_INDIRECT_INDEX
; goto extract_sfmt_ld_indirect_index
;
1025 case 8 : /* fall through */
1026 case 9 : /* fall through */
1027 case 10 : /* fall through */
1028 case 11 : itype
= I960BASE_INSN_LDOB_INDIRECT_OFFSET
; goto extract_sfmt_ld_indirect_offset
;
1029 case 12 : itype
= I960BASE_INSN_LDOB_DISP
; goto extract_sfmt_ld_disp
;
1030 case 13 : itype
= I960BASE_INSN_LDOB_INDIRECT_DISP
; goto extract_sfmt_ld_indirect_disp
;
1031 case 14 : itype
= I960BASE_INSN_LDOB_INDEX_DISP
; goto extract_sfmt_ld_index_disp
;
1032 case 15 : itype
= I960BASE_INSN_LDOB_INDIRECT_INDEX_DISP
; goto extract_sfmt_ld_indirect_index_disp
;
1033 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1038 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1041 case 0 : /* fall through */
1042 case 1 : /* fall through */
1043 case 2 : /* fall through */
1044 case 3 : itype
= I960BASE_INSN_STOB_OFFSET
; goto extract_sfmt_st_offset
;
1045 case 4 : itype
= I960BASE_INSN_STOB_INDIRECT
; goto extract_sfmt_st_indirect
;
1046 case 7 : itype
= I960BASE_INSN_STOB_INDIRECT_INDEX
; goto extract_sfmt_st_indirect_index
;
1047 case 8 : /* fall through */
1048 case 9 : /* fall through */
1049 case 10 : /* fall through */
1050 case 11 : itype
= I960BASE_INSN_STOB_INDIRECT_OFFSET
; goto extract_sfmt_st_indirect_offset
;
1051 case 12 : itype
= I960BASE_INSN_STOB_DISP
; goto extract_sfmt_st_disp
;
1052 case 13 : itype
= I960BASE_INSN_STOB_INDIRECT_DISP
; goto extract_sfmt_st_indirect_disp
;
1053 case 14 : itype
= I960BASE_INSN_STOB_INDEX_DISP
; goto extract_sfmt_st_index_disp
;
1054 case 15 : itype
= I960BASE_INSN_STOB_INDIRECT_INDEX_DISP
; goto extract_sfmt_st_indirect_index_disp
;
1055 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1060 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1063 case 4 : itype
= I960BASE_INSN_BX_INDIRECT
; goto extract_sfmt_bx_indirect
;
1064 case 7 : itype
= I960BASE_INSN_BX_INDIRECT_INDEX
; goto extract_sfmt_bx_indirect_index
;
1065 case 8 : /* fall through */
1066 case 9 : /* fall through */
1067 case 10 : /* fall through */
1068 case 11 : itype
= I960BASE_INSN_BX_INDIRECT_OFFSET
; goto extract_sfmt_bx_indirect_offset
;
1069 case 12 : itype
= I960BASE_INSN_BX_DISP
; goto extract_sfmt_bx_disp
;
1070 case 13 : itype
= I960BASE_INSN_BX_INDIRECT_DISP
; goto extract_sfmt_bx_indirect_disp
;
1071 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1076 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1079 case 4 : itype
= I960BASE_INSN_CALLX_INDIRECT
; goto extract_sfmt_callx_indirect
;
1080 case 8 : /* fall through */
1081 case 9 : /* fall through */
1082 case 10 : /* fall through */
1083 case 11 : itype
= I960BASE_INSN_CALLX_INDIRECT_OFFSET
; goto extract_sfmt_callx_indirect_offset
;
1084 case 12 : itype
= I960BASE_INSN_CALLX_DISP
; goto extract_sfmt_callx_disp
;
1085 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1090 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1093 case 0 : /* fall through */
1094 case 1 : /* fall through */
1095 case 2 : /* fall through */
1096 case 3 : itype
= I960BASE_INSN_LDOS_OFFSET
; goto extract_sfmt_ld_offset
;
1097 case 4 : itype
= I960BASE_INSN_LDOS_INDIRECT
; goto extract_sfmt_ld_indirect
;
1098 case 7 : itype
= I960BASE_INSN_LDOS_INDIRECT_INDEX
; goto extract_sfmt_ld_indirect_index
;
1099 case 8 : /* fall through */
1100 case 9 : /* fall through */
1101 case 10 : /* fall through */
1102 case 11 : itype
= I960BASE_INSN_LDOS_INDIRECT_OFFSET
; goto extract_sfmt_ld_indirect_offset
;
1103 case 12 : itype
= I960BASE_INSN_LDOS_DISP
; goto extract_sfmt_ld_disp
;
1104 case 13 : itype
= I960BASE_INSN_LDOS_INDIRECT_DISP
; goto extract_sfmt_ld_indirect_disp
;
1105 case 14 : itype
= I960BASE_INSN_LDOS_INDEX_DISP
; goto extract_sfmt_ld_index_disp
;
1106 case 15 : itype
= I960BASE_INSN_LDOS_INDIRECT_INDEX_DISP
; goto extract_sfmt_ld_indirect_index_disp
;
1107 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1112 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1115 case 0 : /* fall through */
1116 case 1 : /* fall through */
1117 case 2 : /* fall through */
1118 case 3 : itype
= I960BASE_INSN_STOS_OFFSET
; goto extract_sfmt_st_offset
;
1119 case 4 : itype
= I960BASE_INSN_STOS_INDIRECT
; goto extract_sfmt_st_indirect
;
1120 case 7 : itype
= I960BASE_INSN_STOS_INDIRECT_INDEX
; goto extract_sfmt_st_indirect_index
;
1121 case 8 : /* fall through */
1122 case 9 : /* fall through */
1123 case 10 : /* fall through */
1124 case 11 : itype
= I960BASE_INSN_STOS_INDIRECT_OFFSET
; goto extract_sfmt_st_indirect_offset
;
1125 case 12 : itype
= I960BASE_INSN_STOS_DISP
; goto extract_sfmt_st_disp
;
1126 case 13 : itype
= I960BASE_INSN_STOS_INDIRECT_DISP
; goto extract_sfmt_st_indirect_disp
;
1127 case 14 : itype
= I960BASE_INSN_STOS_INDEX_DISP
; goto extract_sfmt_st_index_disp
;
1128 case 15 : itype
= I960BASE_INSN_STOS_INDIRECT_INDEX_DISP
; goto extract_sfmt_st_indirect_index_disp
;
1129 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1134 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1137 case 0 : /* fall through */
1138 case 1 : /* fall through */
1139 case 2 : /* fall through */
1140 case 3 : itype
= I960BASE_INSN_LDA_OFFSET
; goto extract_sfmt_lda_offset
;
1141 case 4 : itype
= I960BASE_INSN_LDA_INDIRECT
; goto extract_sfmt_lda_indirect
;
1142 case 7 : itype
= I960BASE_INSN_LDA_INDIRECT_INDEX
; goto extract_sfmt_lda_indirect_index
;
1143 case 8 : /* fall through */
1144 case 9 : /* fall through */
1145 case 10 : /* fall through */
1146 case 11 : itype
= I960BASE_INSN_LDA_INDIRECT_OFFSET
; goto extract_sfmt_lda_indirect_offset
;
1147 case 12 : itype
= I960BASE_INSN_LDA_DISP
; goto extract_sfmt_lda_disp
;
1148 case 13 : itype
= I960BASE_INSN_LDA_INDIRECT_DISP
; goto extract_sfmt_lda_indirect_disp
;
1149 case 14 : itype
= I960BASE_INSN_LDA_INDEX_DISP
; goto extract_sfmt_lda_index_disp
;
1150 case 15 : itype
= I960BASE_INSN_LDA_INDIRECT_INDEX_DISP
; goto extract_sfmt_lda_indirect_index_disp
;
1151 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1156 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1159 case 0 : /* fall through */
1160 case 1 : /* fall through */
1161 case 2 : /* fall through */
1162 case 3 : itype
= I960BASE_INSN_LD_OFFSET
; goto extract_sfmt_ld_offset
;
1163 case 4 : itype
= I960BASE_INSN_LD_INDIRECT
; goto extract_sfmt_ld_indirect
;
1164 case 7 : itype
= I960BASE_INSN_LD_INDIRECT_INDEX
; goto extract_sfmt_ld_indirect_index
;
1165 case 8 : /* fall through */
1166 case 9 : /* fall through */
1167 case 10 : /* fall through */
1168 case 11 : itype
= I960BASE_INSN_LD_INDIRECT_OFFSET
; goto extract_sfmt_ld_indirect_offset
;
1169 case 12 : itype
= I960BASE_INSN_LD_DISP
; goto extract_sfmt_ld_disp
;
1170 case 13 : itype
= I960BASE_INSN_LD_INDIRECT_DISP
; goto extract_sfmt_ld_indirect_disp
;
1171 case 14 : itype
= I960BASE_INSN_LD_INDEX_DISP
; goto extract_sfmt_ld_index_disp
;
1172 case 15 : itype
= I960BASE_INSN_LD_INDIRECT_INDEX_DISP
; goto extract_sfmt_ld_indirect_index_disp
;
1173 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1178 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1181 case 0 : /* fall through */
1182 case 1 : /* fall through */
1183 case 2 : /* fall through */
1184 case 3 : itype
= I960BASE_INSN_ST_OFFSET
; goto extract_sfmt_st_offset
;
1185 case 4 : itype
= I960BASE_INSN_ST_INDIRECT
; goto extract_sfmt_st_indirect
;
1186 case 7 : itype
= I960BASE_INSN_ST_INDIRECT_INDEX
; goto extract_sfmt_st_indirect_index
;
1187 case 8 : /* fall through */
1188 case 9 : /* fall through */
1189 case 10 : /* fall through */
1190 case 11 : itype
= I960BASE_INSN_ST_INDIRECT_OFFSET
; goto extract_sfmt_st_indirect_offset
;
1191 case 12 : itype
= I960BASE_INSN_ST_DISP
; goto extract_sfmt_st_disp
;
1192 case 13 : itype
= I960BASE_INSN_ST_INDIRECT_DISP
; goto extract_sfmt_st_indirect_disp
;
1193 case 14 : itype
= I960BASE_INSN_ST_INDEX_DISP
; goto extract_sfmt_st_index_disp
;
1194 case 15 : itype
= I960BASE_INSN_ST_INDIRECT_INDEX_DISP
; goto extract_sfmt_st_indirect_index_disp
;
1195 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1200 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1203 case 0 : /* fall through */
1204 case 1 : /* fall through */
1205 case 2 : /* fall through */
1206 case 3 : itype
= I960BASE_INSN_LDL_OFFSET
; goto extract_sfmt_ldl_offset
;
1207 case 4 : itype
= I960BASE_INSN_LDL_INDIRECT
; goto extract_sfmt_ldl_indirect
;
1208 case 7 : itype
= I960BASE_INSN_LDL_INDIRECT_INDEX
; goto extract_sfmt_ldl_indirect_index
;
1209 case 8 : /* fall through */
1210 case 9 : /* fall through */
1211 case 10 : /* fall through */
1212 case 11 : itype
= I960BASE_INSN_LDL_INDIRECT_OFFSET
; goto extract_sfmt_ldl_indirect_offset
;
1213 case 12 : itype
= I960BASE_INSN_LDL_DISP
; goto extract_sfmt_ldl_disp
;
1214 case 13 : itype
= I960BASE_INSN_LDL_INDIRECT_DISP
; goto extract_sfmt_ldl_indirect_disp
;
1215 case 14 : itype
= I960BASE_INSN_LDL_INDEX_DISP
; goto extract_sfmt_ldl_index_disp
;
1216 case 15 : itype
= I960BASE_INSN_LDL_INDIRECT_INDEX_DISP
; goto extract_sfmt_ldl_indirect_index_disp
;
1217 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1222 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1225 case 0 : /* fall through */
1226 case 1 : /* fall through */
1227 case 2 : /* fall through */
1228 case 3 : itype
= I960BASE_INSN_STL_OFFSET
; goto extract_sfmt_stl_offset
;
1229 case 4 : itype
= I960BASE_INSN_STL_INDIRECT
; goto extract_sfmt_stl_indirect
;
1230 case 7 : itype
= I960BASE_INSN_STL_INDIRECT_INDEX
; goto extract_sfmt_stl_indirect_index
;
1231 case 8 : /* fall through */
1232 case 9 : /* fall through */
1233 case 10 : /* fall through */
1234 case 11 : itype
= I960BASE_INSN_STL_INDIRECT_OFFSET
; goto extract_sfmt_stl_indirect_offset
;
1235 case 12 : itype
= I960BASE_INSN_STL_DISP
; goto extract_sfmt_stl_disp
;
1236 case 13 : itype
= I960BASE_INSN_STL_INDIRECT_DISP
; goto extract_sfmt_stl_indirect_disp
;
1237 case 14 : itype
= I960BASE_INSN_STL_INDEX_DISP
; goto extract_sfmt_stl_index_disp
;
1238 case 15 : itype
= I960BASE_INSN_STL_INDIRECT_INDEX_DISP
; goto extract_sfmt_stl_indirect_index_disp
;
1239 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1244 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1247 case 0 : /* fall through */
1248 case 1 : /* fall through */
1249 case 2 : /* fall through */
1250 case 3 : itype
= I960BASE_INSN_LDT_OFFSET
; goto extract_sfmt_ldt_offset
;
1251 case 4 : itype
= I960BASE_INSN_LDT_INDIRECT
; goto extract_sfmt_ldt_indirect
;
1252 case 7 : itype
= I960BASE_INSN_LDT_INDIRECT_INDEX
; goto extract_sfmt_ldt_indirect_index
;
1253 case 8 : /* fall through */
1254 case 9 : /* fall through */
1255 case 10 : /* fall through */
1256 case 11 : itype
= I960BASE_INSN_LDT_INDIRECT_OFFSET
; goto extract_sfmt_ldt_indirect_offset
;
1257 case 12 : itype
= I960BASE_INSN_LDT_DISP
; goto extract_sfmt_ldt_disp
;
1258 case 13 : itype
= I960BASE_INSN_LDT_INDIRECT_DISP
; goto extract_sfmt_ldt_indirect_disp
;
1259 case 14 : itype
= I960BASE_INSN_LDT_INDEX_DISP
; goto extract_sfmt_ldt_index_disp
;
1260 case 15 : itype
= I960BASE_INSN_LDT_INDIRECT_INDEX_DISP
; goto extract_sfmt_ldt_indirect_index_disp
;
1261 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1266 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1269 case 0 : /* fall through */
1270 case 1 : /* fall through */
1271 case 2 : /* fall through */
1272 case 3 : itype
= I960BASE_INSN_STT_OFFSET
; goto extract_sfmt_stt_offset
;
1273 case 4 : itype
= I960BASE_INSN_STT_INDIRECT
; goto extract_sfmt_stt_indirect
;
1274 case 7 : itype
= I960BASE_INSN_STT_INDIRECT_INDEX
; goto extract_sfmt_stt_indirect_index
;
1275 case 8 : /* fall through */
1276 case 9 : /* fall through */
1277 case 10 : /* fall through */
1278 case 11 : itype
= I960BASE_INSN_STT_INDIRECT_OFFSET
; goto extract_sfmt_stt_indirect_offset
;
1279 case 12 : itype
= I960BASE_INSN_STT_DISP
; goto extract_sfmt_stt_disp
;
1280 case 13 : itype
= I960BASE_INSN_STT_INDIRECT_DISP
; goto extract_sfmt_stt_indirect_disp
;
1281 case 14 : itype
= I960BASE_INSN_STT_INDEX_DISP
; goto extract_sfmt_stt_index_disp
;
1282 case 15 : itype
= I960BASE_INSN_STT_INDIRECT_INDEX_DISP
; goto extract_sfmt_stt_indirect_index_disp
;
1283 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1288 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1291 case 0 : /* fall through */
1292 case 1 : /* fall through */
1293 case 2 : /* fall through */
1294 case 3 : itype
= I960BASE_INSN_LDQ_OFFSET
; goto extract_sfmt_ldq_offset
;
1295 case 4 : itype
= I960BASE_INSN_LDQ_INDIRECT
; goto extract_sfmt_ldq_indirect
;
1296 case 7 : itype
= I960BASE_INSN_LDQ_INDIRECT_INDEX
; goto extract_sfmt_ldq_indirect_index
;
1297 case 8 : /* fall through */
1298 case 9 : /* fall through */
1299 case 10 : /* fall through */
1300 case 11 : itype
= I960BASE_INSN_LDQ_INDIRECT_OFFSET
; goto extract_sfmt_ldq_indirect_offset
;
1301 case 12 : itype
= I960BASE_INSN_LDQ_DISP
; goto extract_sfmt_ldq_disp
;
1302 case 13 : itype
= I960BASE_INSN_LDQ_INDIRECT_DISP
; goto extract_sfmt_ldq_indirect_disp
;
1303 case 14 : itype
= I960BASE_INSN_LDQ_INDEX_DISP
; goto extract_sfmt_ldq_index_disp
;
1304 case 15 : itype
= I960BASE_INSN_LDQ_INDIRECT_INDEX_DISP
; goto extract_sfmt_ldq_indirect_index_disp
;
1305 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1310 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1313 case 0 : /* fall through */
1314 case 1 : /* fall through */
1315 case 2 : /* fall through */
1316 case 3 : itype
= I960BASE_INSN_STQ_OFFSET
; goto extract_sfmt_stq_offset
;
1317 case 4 : itype
= I960BASE_INSN_STQ_INDIRECT
; goto extract_sfmt_stq_indirect
;
1318 case 7 : itype
= I960BASE_INSN_STQ_INDIRECT_INDEX
; goto extract_sfmt_stq_indirect_index
;
1319 case 8 : /* fall through */
1320 case 9 : /* fall through */
1321 case 10 : /* fall through */
1322 case 11 : itype
= I960BASE_INSN_STQ_INDIRECT_OFFSET
; goto extract_sfmt_stq_indirect_offset
;
1323 case 12 : itype
= I960BASE_INSN_STQ_DISP
; goto extract_sfmt_stq_disp
;
1324 case 13 : itype
= I960BASE_INSN_STQ_INDIRECT_DISP
; goto extract_sfmt_stq_indirect_disp
;
1325 case 14 : itype
= I960BASE_INSN_STQ_INDEX_DISP
; goto extract_sfmt_stq_index_disp
;
1326 case 15 : itype
= I960BASE_INSN_STQ_INDIRECT_INDEX_DISP
; goto extract_sfmt_stq_indirect_index_disp
;
1327 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1332 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1335 case 0 : /* fall through */
1336 case 1 : /* fall through */
1337 case 2 : /* fall through */
1338 case 3 : itype
= I960BASE_INSN_LDIB_OFFSET
; goto extract_sfmt_ld_offset
;
1339 case 4 : itype
= I960BASE_INSN_LDIB_INDIRECT
; goto extract_sfmt_ld_indirect
;
1340 case 7 : itype
= I960BASE_INSN_LDIB_INDIRECT_INDEX
; goto extract_sfmt_ld_indirect_index
;
1341 case 8 : /* fall through */
1342 case 9 : /* fall through */
1343 case 10 : /* fall through */
1344 case 11 : itype
= I960BASE_INSN_LDIB_INDIRECT_OFFSET
; goto extract_sfmt_ld_indirect_offset
;
1345 case 12 : itype
= I960BASE_INSN_LDIB_DISP
; goto extract_sfmt_ld_disp
;
1346 case 13 : itype
= I960BASE_INSN_LDIB_INDIRECT_DISP
; goto extract_sfmt_ld_indirect_disp
;
1347 case 14 : itype
= I960BASE_INSN_LDIB_INDEX_DISP
; goto extract_sfmt_ld_index_disp
;
1348 case 15 : itype
= I960BASE_INSN_LDIB_INDIRECT_INDEX_DISP
; goto extract_sfmt_ld_indirect_index_disp
;
1349 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1354 unsigned int val
= (((insn
>> 10) & (15 << 0)));
1357 case 0 : /* fall through */
1358 case 1 : /* fall through */
1359 case 2 : /* fall through */
1360 case 3 : itype
= I960BASE_INSN_LDIS_OFFSET
; goto extract_sfmt_ld_offset
;
1361 case 4 : itype
= I960BASE_INSN_LDIS_INDIRECT
; goto extract_sfmt_ld_indirect
;
1362 case 7 : itype
= I960BASE_INSN_LDIS_INDIRECT_INDEX
; goto extract_sfmt_ld_indirect_index
;
1363 case 8 : /* fall through */
1364 case 9 : /* fall through */
1365 case 10 : /* fall through */
1366 case 11 : itype
= I960BASE_INSN_LDIS_INDIRECT_OFFSET
; goto extract_sfmt_ld_indirect_offset
;
1367 case 12 : itype
= I960BASE_INSN_LDIS_DISP
; goto extract_sfmt_ld_disp
;
1368 case 13 : itype
= I960BASE_INSN_LDIS_INDIRECT_DISP
; goto extract_sfmt_ld_indirect_disp
;
1369 case 14 : itype
= I960BASE_INSN_LDIS_INDEX_DISP
; goto extract_sfmt_ld_index_disp
;
1370 case 15 : itype
= I960BASE_INSN_LDIS_INDIRECT_INDEX_DISP
; goto extract_sfmt_ld_indirect_index_disp
;
1371 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1374 default : itype
= I960BASE_INSN_X_INVALID
; goto extract_sfmt_empty
;
1379 /* The instruction has been decoded, now extract the fields. */
1383 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1384 CGEN_INSN_INT insn
= base_insn
;
1385 #define FLD(f) abuf->fields.fmt_empty.f
1388 /* Record the fields for the semantic handler. */
1389 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_empty", (char *) 0));
1397 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1398 CGEN_INSN_INT insn
= base_insn
;
1399 #define FLD(f) abuf->fields.sfmt_emul.f
1404 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1405 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1406 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1408 /* Record the fields for the semantic handler. */
1409 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1410 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
1411 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1412 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mulo", "src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1414 #if WITH_PROFILE_MODEL_P
1415 /* Record the fields for profiling. */
1416 if (PROFILE_MODEL_P (current_cpu
))
1418 FLD (in_src1
) = f_src1
;
1419 FLD (in_src2
) = f_src2
;
1420 FLD (out_dst
) = f_srcdst
;
1429 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1430 CGEN_INSN_INT insn
= base_insn
;
1431 #define FLD(f) abuf->fields.sfmt_emul1.f
1436 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1437 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1438 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1440 /* Record the fields for the semantic handler. */
1441 FLD (f_src1
) = f_src1
;
1442 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
1443 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1444 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mulo1", "f_src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1446 #if WITH_PROFILE_MODEL_P
1447 /* Record the fields for profiling. */
1448 if (PROFILE_MODEL_P (current_cpu
))
1450 FLD (in_src2
) = f_src2
;
1451 FLD (out_dst
) = f_srcdst
;
1460 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1461 CGEN_INSN_INT insn
= base_insn
;
1462 #define FLD(f) abuf->fields.sfmt_emul2.f
1467 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1468 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1469 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1471 /* Record the fields for the semantic handler. */
1472 FLD (f_src2
) = f_src2
;
1473 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1474 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1475 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mulo2", "f_src2 0x%x", 'x', f_src2
, "src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1477 #if WITH_PROFILE_MODEL_P
1478 /* Record the fields for profiling. */
1479 if (PROFILE_MODEL_P (current_cpu
))
1481 FLD (in_src1
) = f_src1
;
1482 FLD (out_dst
) = f_srcdst
;
1491 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1492 CGEN_INSN_INT insn
= base_insn
;
1493 #define FLD(f) abuf->fields.sfmt_emul3.f
1498 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1499 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1500 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1502 /* Record the fields for the semantic handler. */
1503 FLD (f_src1
) = f_src1
;
1504 FLD (f_src2
) = f_src2
;
1505 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1506 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mulo3", "f_src1 0x%x", 'x', f_src1
, "f_src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1508 #if WITH_PROFILE_MODEL_P
1509 /* Record the fields for profiling. */
1510 if (PROFILE_MODEL_P (current_cpu
))
1512 FLD (out_dst
) = f_srcdst
;
1519 extract_sfmt_notbit
:
1521 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1522 CGEN_INSN_INT insn
= base_insn
;
1523 #define FLD(f) abuf->fields.sfmt_emul.f
1528 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1529 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1530 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1532 /* Record the fields for the semantic handler. */
1533 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1534 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
1535 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1536 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_notbit", "src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1538 #if WITH_PROFILE_MODEL_P
1539 /* Record the fields for profiling. */
1540 if (PROFILE_MODEL_P (current_cpu
))
1542 FLD (in_src1
) = f_src1
;
1543 FLD (in_src2
) = f_src2
;
1544 FLD (out_dst
) = f_srcdst
;
1551 extract_sfmt_notbit1
:
1553 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1554 CGEN_INSN_INT insn
= base_insn
;
1555 #define FLD(f) abuf->fields.sfmt_emul1.f
1560 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1561 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1562 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1564 /* Record the fields for the semantic handler. */
1565 FLD (f_src1
) = f_src1
;
1566 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
1567 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1568 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_notbit1", "f_src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1570 #if WITH_PROFILE_MODEL_P
1571 /* Record the fields for profiling. */
1572 if (PROFILE_MODEL_P (current_cpu
))
1574 FLD (in_src2
) = f_src2
;
1575 FLD (out_dst
) = f_srcdst
;
1582 extract_sfmt_notbit2
:
1584 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1585 CGEN_INSN_INT insn
= base_insn
;
1586 #define FLD(f) abuf->fields.sfmt_emul2.f
1591 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1592 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1593 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1595 /* Record the fields for the semantic handler. */
1596 FLD (f_src2
) = f_src2
;
1597 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1598 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1599 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_notbit2", "f_src2 0x%x", 'x', f_src2
, "src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1601 #if WITH_PROFILE_MODEL_P
1602 /* Record the fields for profiling. */
1603 if (PROFILE_MODEL_P (current_cpu
))
1605 FLD (in_src1
) = f_src1
;
1606 FLD (out_dst
) = f_srcdst
;
1613 extract_sfmt_notbit3
:
1615 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1616 CGEN_INSN_INT insn
= base_insn
;
1617 #define FLD(f) abuf->fields.sfmt_emul3.f
1622 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1623 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1624 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1626 /* Record the fields for the semantic handler. */
1627 FLD (f_src1
) = f_src1
;
1628 FLD (f_src2
) = f_src2
;
1629 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1630 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_notbit3", "f_src1 0x%x", 'x', f_src1
, "f_src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1632 #if WITH_PROFILE_MODEL_P
1633 /* Record the fields for profiling. */
1634 if (PROFILE_MODEL_P (current_cpu
))
1636 FLD (out_dst
) = f_srcdst
;
1645 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1646 CGEN_INSN_INT insn
= base_insn
;
1647 #define FLD(f) abuf->fields.sfmt_emul2.f
1651 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1652 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1654 /* Record the fields for the semantic handler. */
1655 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1656 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1657 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_not", "src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1659 #if WITH_PROFILE_MODEL_P
1660 /* Record the fields for profiling. */
1661 if (PROFILE_MODEL_P (current_cpu
))
1663 FLD (in_src1
) = f_src1
;
1664 FLD (out_dst
) = f_srcdst
;
1673 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1674 CGEN_INSN_INT insn
= base_insn
;
1675 #define FLD(f) abuf->fields.sfmt_emul3.f
1679 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1680 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1682 /* Record the fields for the semantic handler. */
1683 FLD (f_src1
) = f_src1
;
1684 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1685 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_not1", "f_src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1687 #if WITH_PROFILE_MODEL_P
1688 /* Record the fields for profiling. */
1689 if (PROFILE_MODEL_P (current_cpu
))
1691 FLD (out_dst
) = f_srcdst
;
1700 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1701 CGEN_INSN_INT insn
= base_insn
;
1702 #define FLD(f) abuf->fields.sfmt_emul.f
1707 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1708 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1709 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1711 /* Record the fields for the semantic handler. */
1712 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1713 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
1714 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1715 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_shlo", "src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1717 #if WITH_PROFILE_MODEL_P
1718 /* Record the fields for profiling. */
1719 if (PROFILE_MODEL_P (current_cpu
))
1721 FLD (in_src1
) = f_src1
;
1722 FLD (in_src2
) = f_src2
;
1723 FLD (out_dst
) = f_srcdst
;
1732 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1733 CGEN_INSN_INT insn
= base_insn
;
1734 #define FLD(f) abuf->fields.sfmt_emul1.f
1739 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1740 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1741 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1743 /* Record the fields for the semantic handler. */
1744 FLD (f_src1
) = f_src1
;
1745 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
1746 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1747 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_shlo1", "f_src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1749 #if WITH_PROFILE_MODEL_P
1750 /* Record the fields for profiling. */
1751 if (PROFILE_MODEL_P (current_cpu
))
1753 FLD (in_src2
) = f_src2
;
1754 FLD (out_dst
) = f_srcdst
;
1763 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1764 CGEN_INSN_INT insn
= base_insn
;
1765 #define FLD(f) abuf->fields.sfmt_emul2.f
1770 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1771 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1772 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1774 /* Record the fields for the semantic handler. */
1775 FLD (f_src2
) = f_src2
;
1776 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1777 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1778 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_shlo2", "f_src2 0x%x", 'x', f_src2
, "src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1780 #if WITH_PROFILE_MODEL_P
1781 /* Record the fields for profiling. */
1782 if (PROFILE_MODEL_P (current_cpu
))
1784 FLD (in_src1
) = f_src1
;
1785 FLD (out_dst
) = f_srcdst
;
1794 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1795 CGEN_INSN_INT insn
= base_insn
;
1796 #define FLD(f) abuf->fields.sfmt_emul3.f
1801 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1802 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1803 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1805 /* Record the fields for the semantic handler. */
1806 FLD (f_src1
) = f_src1
;
1807 FLD (f_src2
) = f_src2
;
1808 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1809 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_shlo3", "f_src1 0x%x", 'x', f_src1
, "f_src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1811 #if WITH_PROFILE_MODEL_P
1812 /* Record the fields for profiling. */
1813 if (PROFILE_MODEL_P (current_cpu
))
1815 FLD (out_dst
) = f_srcdst
;
1824 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1825 CGEN_INSN_INT insn
= base_insn
;
1826 #define FLD(f) abuf->fields.sfmt_emul.f
1831 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1832 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1833 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1835 /* Record the fields for the semantic handler. */
1836 FLD (f_srcdst
) = f_srcdst
;
1837 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1838 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
1839 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1840 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_emul", "f_srcdst 0x%x", 'x', f_srcdst
, "src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1842 #if WITH_PROFILE_MODEL_P
1843 /* Record the fields for profiling. */
1844 if (PROFILE_MODEL_P (current_cpu
))
1846 FLD (in_src1
) = f_src1
;
1847 FLD (in_src2
) = f_src2
;
1848 FLD (out_dst
) = f_srcdst
;
1849 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
1858 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1859 CGEN_INSN_INT insn
= base_insn
;
1860 #define FLD(f) abuf->fields.sfmt_emul1.f
1865 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1866 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1867 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1869 /* Record the fields for the semantic handler. */
1870 FLD (f_srcdst
) = f_srcdst
;
1871 FLD (f_src1
) = f_src1
;
1872 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
1873 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1874 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_emul1", "f_srcdst 0x%x", 'x', f_srcdst
, "f_src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1876 #if WITH_PROFILE_MODEL_P
1877 /* Record the fields for profiling. */
1878 if (PROFILE_MODEL_P (current_cpu
))
1880 FLD (in_src2
) = f_src2
;
1881 FLD (out_dst
) = f_srcdst
;
1882 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
1891 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1892 CGEN_INSN_INT insn
= base_insn
;
1893 #define FLD(f) abuf->fields.sfmt_emul2.f
1898 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1899 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1900 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1902 /* Record the fields for the semantic handler. */
1903 FLD (f_srcdst
) = f_srcdst
;
1904 FLD (f_src2
) = f_src2
;
1905 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1906 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1907 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_emul2", "f_srcdst 0x%x", 'x', f_srcdst
, "f_src2 0x%x", 'x', f_src2
, "src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1909 #if WITH_PROFILE_MODEL_P
1910 /* Record the fields for profiling. */
1911 if (PROFILE_MODEL_P (current_cpu
))
1913 FLD (in_src1
) = f_src1
;
1914 FLD (out_dst
) = f_srcdst
;
1915 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
1924 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1925 CGEN_INSN_INT insn
= base_insn
;
1926 #define FLD(f) abuf->fields.sfmt_emul3.f
1931 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1932 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
1933 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1935 /* Record the fields for the semantic handler. */
1936 FLD (f_srcdst
) = f_srcdst
;
1937 FLD (f_src1
) = f_src1
;
1938 FLD (f_src2
) = f_src2
;
1939 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1940 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_emul3", "f_srcdst 0x%x", 'x', f_srcdst
, "f_src1 0x%x", 'x', f_src1
, "f_src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1942 #if WITH_PROFILE_MODEL_P
1943 /* Record the fields for profiling. */
1944 if (PROFILE_MODEL_P (current_cpu
))
1946 FLD (out_dst
) = f_srcdst
;
1947 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
1956 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1957 CGEN_INSN_INT insn
= base_insn
;
1958 #define FLD(f) abuf->fields.sfmt_movq.f
1962 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1963 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1965 /* Record the fields for the semantic handler. */
1966 FLD (f_src1
) = f_src1
;
1967 FLD (f_srcdst
) = f_srcdst
;
1968 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
1969 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
1970 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl", "f_src1 0x%x", 'x', f_src1
, "f_srcdst 0x%x", 'x', f_srcdst
, "src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
1972 #if WITH_PROFILE_MODEL_P
1973 /* Record the fields for profiling. */
1974 if (PROFILE_MODEL_P (current_cpu
))
1976 FLD (in_h_gr_add__DFLT_index_of__DFLT_src1_1
) = ((FLD (f_src1
)) + (1));
1977 FLD (in_src1
) = f_src1
;
1978 FLD (out_dst
) = f_srcdst
;
1979 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
1988 const IDESC
*idesc
= &i960base_insn_data
[itype
];
1989 CGEN_INSN_INT insn
= base_insn
;
1990 #define FLD(f) abuf->fields.sfmt_emul3.f
1994 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
1995 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
1997 /* Record the fields for the semantic handler. */
1998 FLD (f_srcdst
) = f_srcdst
;
1999 FLD (f_src1
) = f_src1
;
2000 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2001 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movl1", "f_srcdst 0x%x", 'x', f_srcdst
, "f_src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2003 #if WITH_PROFILE_MODEL_P
2004 /* Record the fields for profiling. */
2005 if (PROFILE_MODEL_P (current_cpu
))
2007 FLD (out_dst
) = f_srcdst
;
2008 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2017 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2018 CGEN_INSN_INT insn
= base_insn
;
2019 #define FLD(f) abuf->fields.sfmt_movq.f
2023 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2024 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2026 /* Record the fields for the semantic handler. */
2027 FLD (f_src1
) = f_src1
;
2028 FLD (f_srcdst
) = f_srcdst
;
2029 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
2030 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2031 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movt", "f_src1 0x%x", 'x', f_src1
, "f_srcdst 0x%x", 'x', f_srcdst
, "src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2033 #if WITH_PROFILE_MODEL_P
2034 /* Record the fields for profiling. */
2035 if (PROFILE_MODEL_P (current_cpu
))
2037 FLD (in_h_gr_add__DFLT_index_of__DFLT_src1_1
) = ((FLD (f_src1
)) + (1));
2038 FLD (in_h_gr_add__DFLT_index_of__DFLT_src1_2
) = ((FLD (f_src1
)) + (2));
2039 FLD (in_src1
) = f_src1
;
2040 FLD (out_dst
) = f_srcdst
;
2041 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2042 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
2051 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2052 CGEN_INSN_INT insn
= base_insn
;
2053 #define FLD(f) abuf->fields.sfmt_movq.f
2057 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2058 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2060 /* Record the fields for the semantic handler. */
2061 FLD (f_srcdst
) = f_srcdst
;
2062 FLD (f_src1
) = f_src1
;
2063 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2064 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movt1", "f_srcdst 0x%x", 'x', f_srcdst
, "f_src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2066 #if WITH_PROFILE_MODEL_P
2067 /* Record the fields for profiling. */
2068 if (PROFILE_MODEL_P (current_cpu
))
2070 FLD (out_dst
) = f_srcdst
;
2071 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2072 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
2081 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2082 CGEN_INSN_INT insn
= base_insn
;
2083 #define FLD(f) abuf->fields.sfmt_movq.f
2087 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2088 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2090 /* Record the fields for the semantic handler. */
2091 FLD (f_src1
) = f_src1
;
2092 FLD (f_srcdst
) = f_srcdst
;
2093 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
2094 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2095 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movq", "f_src1 0x%x", 'x', f_src1
, "f_srcdst 0x%x", 'x', f_srcdst
, "src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2097 #if WITH_PROFILE_MODEL_P
2098 /* Record the fields for profiling. */
2099 if (PROFILE_MODEL_P (current_cpu
))
2101 FLD (in_h_gr_add__DFLT_index_of__DFLT_src1_1
) = ((FLD (f_src1
)) + (1));
2102 FLD (in_h_gr_add__DFLT_index_of__DFLT_src1_2
) = ((FLD (f_src1
)) + (2));
2103 FLD (in_h_gr_add__DFLT_index_of__DFLT_src1_3
) = ((FLD (f_src1
)) + (3));
2104 FLD (in_src1
) = f_src1
;
2105 FLD (out_dst
) = f_srcdst
;
2106 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2107 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
2108 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
2117 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2118 CGEN_INSN_INT insn
= base_insn
;
2119 #define FLD(f) abuf->fields.sfmt_movq.f
2123 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2124 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2126 /* Record the fields for the semantic handler. */
2127 FLD (f_srcdst
) = f_srcdst
;
2128 FLD (f_src1
) = f_src1
;
2129 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2130 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movq1", "f_srcdst 0x%x", 'x', f_srcdst
, "f_src1 0x%x", 'x', f_src1
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2132 #if WITH_PROFILE_MODEL_P
2133 /* Record the fields for profiling. */
2134 if (PROFILE_MODEL_P (current_cpu
))
2136 FLD (out_dst
) = f_srcdst
;
2137 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2138 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
2139 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
2148 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2149 CGEN_INSN_INT insn
= base_insn
;
2150 #define FLD(f) abuf->fields.sfmt_emul1.f
2154 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2155 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2157 /* Record the fields for the semantic handler. */
2158 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
2159 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2160 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_modpc", "src2 0x%x", 'x', f_src2
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2162 #if WITH_PROFILE_MODEL_P
2163 /* Record the fields for profiling. */
2164 if (PROFILE_MODEL_P (current_cpu
))
2166 FLD (in_src2
) = f_src2
;
2167 FLD (out_dst
) = f_srcdst
;
2174 extract_sfmt_lda_offset
:
2176 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2177 CGEN_INSN_INT insn
= base_insn
;
2178 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2182 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2183 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
2185 /* Record the fields for the semantic handler. */
2186 FLD (f_offset
) = f_offset
;
2187 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2188 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lda_offset", "f_offset 0x%x", 'x', f_offset
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2190 #if WITH_PROFILE_MODEL_P
2191 /* Record the fields for profiling. */
2192 if (PROFILE_MODEL_P (current_cpu
))
2194 FLD (out_dst
) = f_srcdst
;
2201 extract_sfmt_lda_indirect_offset
:
2203 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2204 CGEN_INSN_INT insn
= base_insn
;
2205 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2210 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2211 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2212 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
2214 /* Record the fields for the semantic handler. */
2215 FLD (f_offset
) = f_offset
;
2216 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2217 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2218 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lda_indirect_offset", "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2220 #if WITH_PROFILE_MODEL_P
2221 /* Record the fields for profiling. */
2222 if (PROFILE_MODEL_P (current_cpu
))
2224 FLD (in_abase
) = f_abase
;
2225 FLD (out_dst
) = f_srcdst
;
2232 extract_sfmt_lda_indirect
:
2234 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2235 CGEN_INSN_INT insn
= base_insn
;
2236 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2240 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2241 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2243 /* Record the fields for the semantic handler. */
2244 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2245 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2246 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lda_indirect", "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2248 #if WITH_PROFILE_MODEL_P
2249 /* Record the fields for profiling. */
2250 if (PROFILE_MODEL_P (current_cpu
))
2252 FLD (in_abase
) = f_abase
;
2253 FLD (out_dst
) = f_srcdst
;
2260 extract_sfmt_lda_indirect_index
:
2262 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2263 CGEN_INSN_INT insn
= base_insn
;
2264 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2270 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2271 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2272 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2273 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2275 /* Record the fields for the semantic handler. */
2276 FLD (f_scale
) = f_scale
;
2277 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2278 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2279 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2280 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lda_indirect_index", "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2282 #if WITH_PROFILE_MODEL_P
2283 /* Record the fields for profiling. */
2284 if (PROFILE_MODEL_P (current_cpu
))
2286 FLD (in_abase
) = f_abase
;
2287 FLD (in_index
) = f_index
;
2288 FLD (out_dst
) = f_srcdst
;
2295 extract_sfmt_lda_disp
:
2297 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2298 CGEN_INSN_INT insn
= base_insn
;
2299 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2302 /* Contents of trailing part of insn. */
2305 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2306 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2307 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2309 /* Record the fields for the semantic handler. */
2310 FLD (f_optdisp
) = f_optdisp
;
2311 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2312 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lda_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2314 #if WITH_PROFILE_MODEL_P
2315 /* Record the fields for profiling. */
2316 if (PROFILE_MODEL_P (current_cpu
))
2318 FLD (out_dst
) = f_srcdst
;
2325 extract_sfmt_lda_indirect_disp
:
2327 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2328 CGEN_INSN_INT insn
= base_insn
;
2329 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2333 /* Contents of trailing part of insn. */
2336 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2337 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2338 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2339 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2341 /* Record the fields for the semantic handler. */
2342 FLD (f_optdisp
) = f_optdisp
;
2343 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2344 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2345 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lda_indirect_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2347 #if WITH_PROFILE_MODEL_P
2348 /* Record the fields for profiling. */
2349 if (PROFILE_MODEL_P (current_cpu
))
2351 FLD (in_abase
) = f_abase
;
2352 FLD (out_dst
) = f_srcdst
;
2359 extract_sfmt_lda_index_disp
:
2361 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2362 CGEN_INSN_INT insn
= base_insn
;
2363 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2368 /* Contents of trailing part of insn. */
2371 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2372 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2373 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2374 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2375 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2377 /* Record the fields for the semantic handler. */
2378 FLD (f_optdisp
) = f_optdisp
;
2379 FLD (f_scale
) = f_scale
;
2380 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2381 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2382 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lda_index_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2384 #if WITH_PROFILE_MODEL_P
2385 /* Record the fields for profiling. */
2386 if (PROFILE_MODEL_P (current_cpu
))
2388 FLD (in_index
) = f_index
;
2389 FLD (out_dst
) = f_srcdst
;
2396 extract_sfmt_lda_indirect_index_disp
:
2398 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2399 CGEN_INSN_INT insn
= base_insn
;
2400 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2406 /* Contents of trailing part of insn. */
2409 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2410 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2411 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2412 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2413 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2414 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2416 /* Record the fields for the semantic handler. */
2417 FLD (f_optdisp
) = f_optdisp
;
2418 FLD (f_scale
) = f_scale
;
2419 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2420 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2421 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2422 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lda_indirect_index_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2424 #if WITH_PROFILE_MODEL_P
2425 /* Record the fields for profiling. */
2426 if (PROFILE_MODEL_P (current_cpu
))
2428 FLD (in_abase
) = f_abase
;
2429 FLD (in_index
) = f_index
;
2430 FLD (out_dst
) = f_srcdst
;
2437 extract_sfmt_ld_offset
:
2439 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2440 CGEN_INSN_INT insn
= base_insn
;
2441 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2445 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2446 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
2448 /* Record the fields for the semantic handler. */
2449 FLD (f_offset
) = f_offset
;
2450 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2451 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld_offset", "f_offset 0x%x", 'x', f_offset
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2453 #if WITH_PROFILE_MODEL_P
2454 /* Record the fields for profiling. */
2455 if (PROFILE_MODEL_P (current_cpu
))
2457 FLD (out_dst
) = f_srcdst
;
2464 extract_sfmt_ld_indirect_offset
:
2466 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2467 CGEN_INSN_INT insn
= base_insn
;
2468 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2473 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2474 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2475 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
2477 /* Record the fields for the semantic handler. */
2478 FLD (f_offset
) = f_offset
;
2479 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2480 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2481 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld_indirect_offset", "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2483 #if WITH_PROFILE_MODEL_P
2484 /* Record the fields for profiling. */
2485 if (PROFILE_MODEL_P (current_cpu
))
2487 FLD (in_abase
) = f_abase
;
2488 FLD (out_dst
) = f_srcdst
;
2495 extract_sfmt_ld_indirect
:
2497 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2498 CGEN_INSN_INT insn
= base_insn
;
2499 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2503 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2504 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2506 /* Record the fields for the semantic handler. */
2507 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2508 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2509 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld_indirect", "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2511 #if WITH_PROFILE_MODEL_P
2512 /* Record the fields for profiling. */
2513 if (PROFILE_MODEL_P (current_cpu
))
2515 FLD (in_abase
) = f_abase
;
2516 FLD (out_dst
) = f_srcdst
;
2523 extract_sfmt_ld_indirect_index
:
2525 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2526 CGEN_INSN_INT insn
= base_insn
;
2527 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2533 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2534 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2535 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2536 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2538 /* Record the fields for the semantic handler. */
2539 FLD (f_scale
) = f_scale
;
2540 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2541 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2542 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2543 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld_indirect_index", "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2545 #if WITH_PROFILE_MODEL_P
2546 /* Record the fields for profiling. */
2547 if (PROFILE_MODEL_P (current_cpu
))
2549 FLD (in_abase
) = f_abase
;
2550 FLD (in_index
) = f_index
;
2551 FLD (out_dst
) = f_srcdst
;
2558 extract_sfmt_ld_disp
:
2560 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2561 CGEN_INSN_INT insn
= base_insn
;
2562 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2565 /* Contents of trailing part of insn. */
2568 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2569 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2570 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2572 /* Record the fields for the semantic handler. */
2573 FLD (f_optdisp
) = f_optdisp
;
2574 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2575 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2577 #if WITH_PROFILE_MODEL_P
2578 /* Record the fields for profiling. */
2579 if (PROFILE_MODEL_P (current_cpu
))
2581 FLD (out_dst
) = f_srcdst
;
2588 extract_sfmt_ld_indirect_disp
:
2590 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2591 CGEN_INSN_INT insn
= base_insn
;
2592 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2596 /* Contents of trailing part of insn. */
2599 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2600 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2601 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2602 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2604 /* Record the fields for the semantic handler. */
2605 FLD (f_optdisp
) = f_optdisp
;
2606 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2607 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2608 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld_indirect_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2610 #if WITH_PROFILE_MODEL_P
2611 /* Record the fields for profiling. */
2612 if (PROFILE_MODEL_P (current_cpu
))
2614 FLD (in_abase
) = f_abase
;
2615 FLD (out_dst
) = f_srcdst
;
2622 extract_sfmt_ld_index_disp
:
2624 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2625 CGEN_INSN_INT insn
= base_insn
;
2626 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2631 /* Contents of trailing part of insn. */
2634 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2635 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2636 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2637 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2638 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2640 /* Record the fields for the semantic handler. */
2641 FLD (f_optdisp
) = f_optdisp
;
2642 FLD (f_scale
) = f_scale
;
2643 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2644 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2645 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld_index_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2647 #if WITH_PROFILE_MODEL_P
2648 /* Record the fields for profiling. */
2649 if (PROFILE_MODEL_P (current_cpu
))
2651 FLD (in_index
) = f_index
;
2652 FLD (out_dst
) = f_srcdst
;
2659 extract_sfmt_ld_indirect_index_disp
:
2661 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2662 CGEN_INSN_INT insn
= base_insn
;
2663 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2669 /* Contents of trailing part of insn. */
2672 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2673 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2674 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2675 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2676 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2677 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2679 /* Record the fields for the semantic handler. */
2680 FLD (f_optdisp
) = f_optdisp
;
2681 FLD (f_scale
) = f_scale
;
2682 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2683 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2684 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2685 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld_indirect_index_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2687 #if WITH_PROFILE_MODEL_P
2688 /* Record the fields for profiling. */
2689 if (PROFILE_MODEL_P (current_cpu
))
2691 FLD (in_abase
) = f_abase
;
2692 FLD (in_index
) = f_index
;
2693 FLD (out_dst
) = f_srcdst
;
2700 extract_sfmt_ldl_offset
:
2702 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2703 CGEN_INSN_INT insn
= base_insn
;
2704 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2708 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2709 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
2711 /* Record the fields for the semantic handler. */
2712 FLD (f_srcdst
) = f_srcdst
;
2713 FLD (f_offset
) = f_offset
;
2714 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2715 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldl_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2717 #if WITH_PROFILE_MODEL_P
2718 /* Record the fields for profiling. */
2719 if (PROFILE_MODEL_P (current_cpu
))
2721 FLD (out_dst
) = f_srcdst
;
2722 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2729 extract_sfmt_ldl_indirect_offset
:
2731 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2732 CGEN_INSN_INT insn
= base_insn
;
2733 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2738 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2739 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2740 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
2742 /* Record the fields for the semantic handler. */
2743 FLD (f_srcdst
) = f_srcdst
;
2744 FLD (f_offset
) = f_offset
;
2745 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2746 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2747 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldl_indirect_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2749 #if WITH_PROFILE_MODEL_P
2750 /* Record the fields for profiling. */
2751 if (PROFILE_MODEL_P (current_cpu
))
2753 FLD (in_abase
) = f_abase
;
2754 FLD (out_dst
) = f_srcdst
;
2755 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2762 extract_sfmt_ldl_indirect
:
2764 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2765 CGEN_INSN_INT insn
= base_insn
;
2766 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2770 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2771 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2773 /* Record the fields for the semantic handler. */
2774 FLD (f_srcdst
) = f_srcdst
;
2775 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2776 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2777 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldl_indirect", "f_srcdst 0x%x", 'x', f_srcdst
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2779 #if WITH_PROFILE_MODEL_P
2780 /* Record the fields for profiling. */
2781 if (PROFILE_MODEL_P (current_cpu
))
2783 FLD (in_abase
) = f_abase
;
2784 FLD (out_dst
) = f_srcdst
;
2785 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2792 extract_sfmt_ldl_indirect_index
:
2794 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2795 CGEN_INSN_INT insn
= base_insn
;
2796 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2802 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2803 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2804 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2805 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2807 /* Record the fields for the semantic handler. */
2808 FLD (f_srcdst
) = f_srcdst
;
2809 FLD (f_scale
) = f_scale
;
2810 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2811 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2812 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2813 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldl_indirect_index", "f_srcdst 0x%x", 'x', f_srcdst
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2815 #if WITH_PROFILE_MODEL_P
2816 /* Record the fields for profiling. */
2817 if (PROFILE_MODEL_P (current_cpu
))
2819 FLD (in_abase
) = f_abase
;
2820 FLD (in_index
) = f_index
;
2821 FLD (out_dst
) = f_srcdst
;
2822 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2829 extract_sfmt_ldl_disp
:
2831 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2832 CGEN_INSN_INT insn
= base_insn
;
2833 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2836 /* Contents of trailing part of insn. */
2839 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2840 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2841 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2843 /* Record the fields for the semantic handler. */
2844 FLD (f_srcdst
) = f_srcdst
;
2845 FLD (f_optdisp
) = f_optdisp
;
2846 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2847 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldl_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2849 #if WITH_PROFILE_MODEL_P
2850 /* Record the fields for profiling. */
2851 if (PROFILE_MODEL_P (current_cpu
))
2853 FLD (out_dst
) = f_srcdst
;
2854 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2861 extract_sfmt_ldl_indirect_disp
:
2863 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2864 CGEN_INSN_INT insn
= base_insn
;
2865 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2869 /* Contents of trailing part of insn. */
2872 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2873 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2874 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2875 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2877 /* Record the fields for the semantic handler. */
2878 FLD (f_srcdst
) = f_srcdst
;
2879 FLD (f_optdisp
) = f_optdisp
;
2880 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2881 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2882 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldl_indirect_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2884 #if WITH_PROFILE_MODEL_P
2885 /* Record the fields for profiling. */
2886 if (PROFILE_MODEL_P (current_cpu
))
2888 FLD (in_abase
) = f_abase
;
2889 FLD (out_dst
) = f_srcdst
;
2890 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2897 extract_sfmt_ldl_index_disp
:
2899 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2900 CGEN_INSN_INT insn
= base_insn
;
2901 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2906 /* Contents of trailing part of insn. */
2909 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2910 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2911 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2912 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2913 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2915 /* Record the fields for the semantic handler. */
2916 FLD (f_srcdst
) = f_srcdst
;
2917 FLD (f_optdisp
) = f_optdisp
;
2918 FLD (f_scale
) = f_scale
;
2919 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2920 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2921 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldl_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2923 #if WITH_PROFILE_MODEL_P
2924 /* Record the fields for profiling. */
2925 if (PROFILE_MODEL_P (current_cpu
))
2927 FLD (in_index
) = f_index
;
2928 FLD (out_dst
) = f_srcdst
;
2929 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2936 extract_sfmt_ldl_indirect_index_disp
:
2938 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2939 CGEN_INSN_INT insn
= base_insn
;
2940 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
2946 /* Contents of trailing part of insn. */
2949 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
2950 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
2951 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2952 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
2953 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
2954 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
2956 /* Record the fields for the semantic handler. */
2957 FLD (f_srcdst
) = f_srcdst
;
2958 FLD (f_optdisp
) = f_optdisp
;
2959 FLD (f_scale
) = f_scale
;
2960 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
2961 FLD (i_index
) = & CPU (h_gr
)[f_index
];
2962 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2963 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldl_indirect_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2965 #if WITH_PROFILE_MODEL_P
2966 /* Record the fields for profiling. */
2967 if (PROFILE_MODEL_P (current_cpu
))
2969 FLD (in_abase
) = f_abase
;
2970 FLD (in_index
) = f_index
;
2971 FLD (out_dst
) = f_srcdst
;
2972 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
2979 extract_sfmt_ldt_offset
:
2981 const IDESC
*idesc
= &i960base_insn_data
[itype
];
2982 CGEN_INSN_INT insn
= base_insn
;
2983 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
2987 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
2988 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
2990 /* Record the fields for the semantic handler. */
2991 FLD (f_srcdst
) = f_srcdst
;
2992 FLD (f_offset
) = f_offset
;
2993 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
2994 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldt_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
2996 #if WITH_PROFILE_MODEL_P
2997 /* Record the fields for profiling. */
2998 if (PROFILE_MODEL_P (current_cpu
))
3000 FLD (out_dst
) = f_srcdst
;
3001 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3002 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3009 extract_sfmt_ldt_indirect_offset
:
3011 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3012 CGEN_INSN_INT insn
= base_insn
;
3013 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
3018 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3019 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3020 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
3022 /* Record the fields for the semantic handler. */
3023 FLD (f_srcdst
) = f_srcdst
;
3024 FLD (f_offset
) = f_offset
;
3025 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3026 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3027 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldt_indirect_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3029 #if WITH_PROFILE_MODEL_P
3030 /* Record the fields for profiling. */
3031 if (PROFILE_MODEL_P (current_cpu
))
3033 FLD (in_abase
) = f_abase
;
3034 FLD (out_dst
) = f_srcdst
;
3035 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3036 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3043 extract_sfmt_ldt_indirect
:
3045 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3046 CGEN_INSN_INT insn
= base_insn
;
3047 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
3051 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3052 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3054 /* Record the fields for the semantic handler. */
3055 FLD (f_srcdst
) = f_srcdst
;
3056 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3057 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3058 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldt_indirect", "f_srcdst 0x%x", 'x', f_srcdst
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3060 #if WITH_PROFILE_MODEL_P
3061 /* Record the fields for profiling. */
3062 if (PROFILE_MODEL_P (current_cpu
))
3064 FLD (in_abase
) = f_abase
;
3065 FLD (out_dst
) = f_srcdst
;
3066 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3067 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3074 extract_sfmt_ldt_indirect_index
:
3076 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3077 CGEN_INSN_INT insn
= base_insn
;
3078 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3084 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3085 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3086 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3087 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3089 /* Record the fields for the semantic handler. */
3090 FLD (f_srcdst
) = f_srcdst
;
3091 FLD (f_scale
) = f_scale
;
3092 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3093 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3094 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3095 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldt_indirect_index", "f_srcdst 0x%x", 'x', f_srcdst
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3097 #if WITH_PROFILE_MODEL_P
3098 /* Record the fields for profiling. */
3099 if (PROFILE_MODEL_P (current_cpu
))
3101 FLD (in_abase
) = f_abase
;
3102 FLD (in_index
) = f_index
;
3103 FLD (out_dst
) = f_srcdst
;
3104 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3105 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3112 extract_sfmt_ldt_disp
:
3114 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3115 CGEN_INSN_INT insn
= base_insn
;
3116 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3119 /* Contents of trailing part of insn. */
3122 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3123 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3124 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3126 /* Record the fields for the semantic handler. */
3127 FLD (f_srcdst
) = f_srcdst
;
3128 FLD (f_optdisp
) = f_optdisp
;
3129 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3130 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldt_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3132 #if WITH_PROFILE_MODEL_P
3133 /* Record the fields for profiling. */
3134 if (PROFILE_MODEL_P (current_cpu
))
3136 FLD (out_dst
) = f_srcdst
;
3137 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3138 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3145 extract_sfmt_ldt_indirect_disp
:
3147 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3148 CGEN_INSN_INT insn
= base_insn
;
3149 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3153 /* Contents of trailing part of insn. */
3156 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3157 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3158 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3159 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3161 /* Record the fields for the semantic handler. */
3162 FLD (f_srcdst
) = f_srcdst
;
3163 FLD (f_optdisp
) = f_optdisp
;
3164 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3165 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3166 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldt_indirect_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3168 #if WITH_PROFILE_MODEL_P
3169 /* Record the fields for profiling. */
3170 if (PROFILE_MODEL_P (current_cpu
))
3172 FLD (in_abase
) = f_abase
;
3173 FLD (out_dst
) = f_srcdst
;
3174 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3175 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3182 extract_sfmt_ldt_index_disp
:
3184 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3185 CGEN_INSN_INT insn
= base_insn
;
3186 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3191 /* Contents of trailing part of insn. */
3194 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3195 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3196 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3197 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3198 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3200 /* Record the fields for the semantic handler. */
3201 FLD (f_srcdst
) = f_srcdst
;
3202 FLD (f_optdisp
) = f_optdisp
;
3203 FLD (f_scale
) = f_scale
;
3204 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3205 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3206 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldt_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3208 #if WITH_PROFILE_MODEL_P
3209 /* Record the fields for profiling. */
3210 if (PROFILE_MODEL_P (current_cpu
))
3212 FLD (in_index
) = f_index
;
3213 FLD (out_dst
) = f_srcdst
;
3214 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3215 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3222 extract_sfmt_ldt_indirect_index_disp
:
3224 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3225 CGEN_INSN_INT insn
= base_insn
;
3226 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3232 /* Contents of trailing part of insn. */
3235 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3236 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3237 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3238 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3239 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3240 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3242 /* Record the fields for the semantic handler. */
3243 FLD (f_srcdst
) = f_srcdst
;
3244 FLD (f_optdisp
) = f_optdisp
;
3245 FLD (f_scale
) = f_scale
;
3246 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3247 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3248 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3249 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldt_indirect_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3251 #if WITH_PROFILE_MODEL_P
3252 /* Record the fields for profiling. */
3253 if (PROFILE_MODEL_P (current_cpu
))
3255 FLD (in_abase
) = f_abase
;
3256 FLD (in_index
) = f_index
;
3257 FLD (out_dst
) = f_srcdst
;
3258 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3259 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3266 extract_sfmt_ldq_offset
:
3268 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3269 CGEN_INSN_INT insn
= base_insn
;
3270 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
3274 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3275 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
3277 /* Record the fields for the semantic handler. */
3278 FLD (f_srcdst
) = f_srcdst
;
3279 FLD (f_offset
) = f_offset
;
3280 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3281 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldq_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3283 #if WITH_PROFILE_MODEL_P
3284 /* Record the fields for profiling. */
3285 if (PROFILE_MODEL_P (current_cpu
))
3287 FLD (out_dst
) = f_srcdst
;
3288 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3289 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3290 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
3297 extract_sfmt_ldq_indirect_offset
:
3299 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3300 CGEN_INSN_INT insn
= base_insn
;
3301 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
3306 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3307 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3308 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
3310 /* Record the fields for the semantic handler. */
3311 FLD (f_srcdst
) = f_srcdst
;
3312 FLD (f_offset
) = f_offset
;
3313 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3314 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3315 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldq_indirect_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3317 #if WITH_PROFILE_MODEL_P
3318 /* Record the fields for profiling. */
3319 if (PROFILE_MODEL_P (current_cpu
))
3321 FLD (in_abase
) = f_abase
;
3322 FLD (out_dst
) = f_srcdst
;
3323 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3324 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3325 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
3332 extract_sfmt_ldq_indirect
:
3334 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3335 CGEN_INSN_INT insn
= base_insn
;
3336 #define FLD(f) abuf->fields.sfmt_ldq_indirect_offset.f
3340 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3341 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3343 /* Record the fields for the semantic handler. */
3344 FLD (f_srcdst
) = f_srcdst
;
3345 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3346 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3347 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldq_indirect", "f_srcdst 0x%x", 'x', f_srcdst
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3349 #if WITH_PROFILE_MODEL_P
3350 /* Record the fields for profiling. */
3351 if (PROFILE_MODEL_P (current_cpu
))
3353 FLD (in_abase
) = f_abase
;
3354 FLD (out_dst
) = f_srcdst
;
3355 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3356 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3357 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
3364 extract_sfmt_ldq_indirect_index
:
3366 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3367 CGEN_INSN_INT insn
= base_insn
;
3368 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3374 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3375 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3376 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3377 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3379 /* Record the fields for the semantic handler. */
3380 FLD (f_srcdst
) = f_srcdst
;
3381 FLD (f_scale
) = f_scale
;
3382 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3383 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3384 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3385 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldq_indirect_index", "f_srcdst 0x%x", 'x', f_srcdst
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3387 #if WITH_PROFILE_MODEL_P
3388 /* Record the fields for profiling. */
3389 if (PROFILE_MODEL_P (current_cpu
))
3391 FLD (in_abase
) = f_abase
;
3392 FLD (in_index
) = f_index
;
3393 FLD (out_dst
) = f_srcdst
;
3394 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3395 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3396 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
3403 extract_sfmt_ldq_disp
:
3405 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3406 CGEN_INSN_INT insn
= base_insn
;
3407 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3410 /* Contents of trailing part of insn. */
3413 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3414 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3415 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3417 /* Record the fields for the semantic handler. */
3418 FLD (f_srcdst
) = f_srcdst
;
3419 FLD (f_optdisp
) = f_optdisp
;
3420 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3421 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldq_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3423 #if WITH_PROFILE_MODEL_P
3424 /* Record the fields for profiling. */
3425 if (PROFILE_MODEL_P (current_cpu
))
3427 FLD (out_dst
) = f_srcdst
;
3428 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3429 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3430 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
3437 extract_sfmt_ldq_indirect_disp
:
3439 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3440 CGEN_INSN_INT insn
= base_insn
;
3441 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3445 /* Contents of trailing part of insn. */
3448 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3449 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3450 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3451 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3453 /* Record the fields for the semantic handler. */
3454 FLD (f_srcdst
) = f_srcdst
;
3455 FLD (f_optdisp
) = f_optdisp
;
3456 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3457 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3458 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldq_indirect_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3460 #if WITH_PROFILE_MODEL_P
3461 /* Record the fields for profiling. */
3462 if (PROFILE_MODEL_P (current_cpu
))
3464 FLD (in_abase
) = f_abase
;
3465 FLD (out_dst
) = f_srcdst
;
3466 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3467 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3468 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
3475 extract_sfmt_ldq_index_disp
:
3477 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3478 CGEN_INSN_INT insn
= base_insn
;
3479 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3484 /* Contents of trailing part of insn. */
3487 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3488 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3489 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3490 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3491 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3493 /* Record the fields for the semantic handler. */
3494 FLD (f_srcdst
) = f_srcdst
;
3495 FLD (f_optdisp
) = f_optdisp
;
3496 FLD (f_scale
) = f_scale
;
3497 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3498 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3499 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldq_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3501 #if WITH_PROFILE_MODEL_P
3502 /* Record the fields for profiling. */
3503 if (PROFILE_MODEL_P (current_cpu
))
3505 FLD (in_index
) = f_index
;
3506 FLD (out_dst
) = f_srcdst
;
3507 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3508 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3509 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
3516 extract_sfmt_ldq_indirect_index_disp
:
3518 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3519 CGEN_INSN_INT insn
= base_insn
;
3520 #define FLD(f) abuf->fields.sfmt_ldq_indirect_index_disp.f
3526 /* Contents of trailing part of insn. */
3529 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3530 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3531 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3532 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3533 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3534 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3536 /* Record the fields for the semantic handler. */
3537 FLD (f_srcdst
) = f_srcdst
;
3538 FLD (f_optdisp
) = f_optdisp
;
3539 FLD (f_scale
) = f_scale
;
3540 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3541 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3542 FLD (i_dst
) = & CPU (h_gr
)[f_srcdst
];
3543 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldq_indirect_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "dst 0x%x", 'x', f_srcdst
, (char *) 0));
3545 #if WITH_PROFILE_MODEL_P
3546 /* Record the fields for profiling. */
3547 if (PROFILE_MODEL_P (current_cpu
))
3549 FLD (in_abase
) = f_abase
;
3550 FLD (in_index
) = f_index
;
3551 FLD (out_dst
) = f_srcdst
;
3552 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_1
) = ((FLD (f_srcdst
)) + (1));
3553 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_2
) = ((FLD (f_srcdst
)) + (2));
3554 FLD (out_h_gr_add__DFLT_index_of__DFLT_dst_3
) = ((FLD (f_srcdst
)) + (3));
3561 extract_sfmt_st_offset
:
3563 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3564 CGEN_INSN_INT insn
= base_insn
;
3565 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
3569 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3570 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
3572 /* Record the fields for the semantic handler. */
3573 FLD (f_offset
) = f_offset
;
3574 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3575 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st_offset", "f_offset 0x%x", 'x', f_offset
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3577 #if WITH_PROFILE_MODEL_P
3578 /* Record the fields for profiling. */
3579 if (PROFILE_MODEL_P (current_cpu
))
3581 FLD (in_st_src
) = f_srcdst
;
3588 extract_sfmt_st_indirect_offset
:
3590 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3591 CGEN_INSN_INT insn
= base_insn
;
3592 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
3597 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3598 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3599 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
3601 /* Record the fields for the semantic handler. */
3602 FLD (f_offset
) = f_offset
;
3603 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3604 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3605 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st_indirect_offset", "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3607 #if WITH_PROFILE_MODEL_P
3608 /* Record the fields for profiling. */
3609 if (PROFILE_MODEL_P (current_cpu
))
3611 FLD (in_abase
) = f_abase
;
3612 FLD (in_st_src
) = f_srcdst
;
3619 extract_sfmt_st_indirect
:
3621 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3622 CGEN_INSN_INT insn
= base_insn
;
3623 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
3627 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3628 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3630 /* Record the fields for the semantic handler. */
3631 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3632 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3633 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st_indirect", "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3635 #if WITH_PROFILE_MODEL_P
3636 /* Record the fields for profiling. */
3637 if (PROFILE_MODEL_P (current_cpu
))
3639 FLD (in_abase
) = f_abase
;
3640 FLD (in_st_src
) = f_srcdst
;
3647 extract_sfmt_st_indirect_index
:
3649 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3650 CGEN_INSN_INT insn
= base_insn
;
3651 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
3657 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3658 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3659 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3660 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3662 /* Record the fields for the semantic handler. */
3663 FLD (f_scale
) = f_scale
;
3664 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3665 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3666 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3667 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st_indirect_index", "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3669 #if WITH_PROFILE_MODEL_P
3670 /* Record the fields for profiling. */
3671 if (PROFILE_MODEL_P (current_cpu
))
3673 FLD (in_abase
) = f_abase
;
3674 FLD (in_index
) = f_index
;
3675 FLD (in_st_src
) = f_srcdst
;
3682 extract_sfmt_st_disp
:
3684 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3685 CGEN_INSN_INT insn
= base_insn
;
3686 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
3689 /* Contents of trailing part of insn. */
3692 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3693 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3694 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3696 /* Record the fields for the semantic handler. */
3697 FLD (f_optdisp
) = f_optdisp
;
3698 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3699 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3701 #if WITH_PROFILE_MODEL_P
3702 /* Record the fields for profiling. */
3703 if (PROFILE_MODEL_P (current_cpu
))
3705 FLD (in_st_src
) = f_srcdst
;
3712 extract_sfmt_st_indirect_disp
:
3714 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3715 CGEN_INSN_INT insn
= base_insn
;
3716 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
3720 /* Contents of trailing part of insn. */
3723 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3724 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3725 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3726 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3728 /* Record the fields for the semantic handler. */
3729 FLD (f_optdisp
) = f_optdisp
;
3730 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3731 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3732 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st_indirect_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3734 #if WITH_PROFILE_MODEL_P
3735 /* Record the fields for profiling. */
3736 if (PROFILE_MODEL_P (current_cpu
))
3738 FLD (in_abase
) = f_abase
;
3739 FLD (in_st_src
) = f_srcdst
;
3746 extract_sfmt_st_index_disp
:
3748 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3749 CGEN_INSN_INT insn
= base_insn
;
3750 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
3755 /* Contents of trailing part of insn. */
3758 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3759 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3760 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3761 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3762 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3764 /* Record the fields for the semantic handler. */
3765 FLD (f_optdisp
) = f_optdisp
;
3766 FLD (f_scale
) = f_scale
;
3767 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3768 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3769 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st_index_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3771 #if WITH_PROFILE_MODEL_P
3772 /* Record the fields for profiling. */
3773 if (PROFILE_MODEL_P (current_cpu
))
3775 FLD (in_index
) = f_index
;
3776 FLD (in_st_src
) = f_srcdst
;
3783 extract_sfmt_st_indirect_index_disp
:
3785 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3786 CGEN_INSN_INT insn
= base_insn
;
3787 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
3793 /* Contents of trailing part of insn. */
3796 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3797 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3798 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3799 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3800 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3801 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3803 /* Record the fields for the semantic handler. */
3804 FLD (f_optdisp
) = f_optdisp
;
3805 FLD (f_scale
) = f_scale
;
3806 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3807 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3808 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3809 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st_indirect_index_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3811 #if WITH_PROFILE_MODEL_P
3812 /* Record the fields for profiling. */
3813 if (PROFILE_MODEL_P (current_cpu
))
3815 FLD (in_abase
) = f_abase
;
3816 FLD (in_index
) = f_index
;
3817 FLD (in_st_src
) = f_srcdst
;
3824 extract_sfmt_stl_offset
:
3826 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3827 CGEN_INSN_INT insn
= base_insn
;
3828 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
3832 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3833 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
3835 /* Record the fields for the semantic handler. */
3836 FLD (f_srcdst
) = f_srcdst
;
3837 FLD (f_offset
) = f_offset
;
3838 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3839 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stl_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3841 #if WITH_PROFILE_MODEL_P
3842 /* Record the fields for profiling. */
3843 if (PROFILE_MODEL_P (current_cpu
))
3845 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
3846 FLD (in_st_src
) = f_srcdst
;
3853 extract_sfmt_stl_indirect_offset
:
3855 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3856 CGEN_INSN_INT insn
= base_insn
;
3857 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
3862 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3863 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3864 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
3866 /* Record the fields for the semantic handler. */
3867 FLD (f_srcdst
) = f_srcdst
;
3868 FLD (f_offset
) = f_offset
;
3869 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3870 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3871 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stl_indirect_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3873 #if WITH_PROFILE_MODEL_P
3874 /* Record the fields for profiling. */
3875 if (PROFILE_MODEL_P (current_cpu
))
3877 FLD (in_abase
) = f_abase
;
3878 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
3879 FLD (in_st_src
) = f_srcdst
;
3886 extract_sfmt_stl_indirect
:
3888 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3889 CGEN_INSN_INT insn
= base_insn
;
3890 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
3894 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3895 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3897 /* Record the fields for the semantic handler. */
3898 FLD (f_srcdst
) = f_srcdst
;
3899 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3900 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3901 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stl_indirect", "f_srcdst 0x%x", 'x', f_srcdst
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3903 #if WITH_PROFILE_MODEL_P
3904 /* Record the fields for profiling. */
3905 if (PROFILE_MODEL_P (current_cpu
))
3907 FLD (in_abase
) = f_abase
;
3908 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
3909 FLD (in_st_src
) = f_srcdst
;
3916 extract_sfmt_stl_indirect_index
:
3918 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3919 CGEN_INSN_INT insn
= base_insn
;
3920 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
3926 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3927 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
3928 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
3929 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
3931 /* Record the fields for the semantic handler. */
3932 FLD (f_srcdst
) = f_srcdst
;
3933 FLD (f_scale
) = f_scale
;
3934 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
3935 FLD (i_index
) = & CPU (h_gr
)[f_index
];
3936 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3937 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stl_indirect_index", "f_srcdst 0x%x", 'x', f_srcdst
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3939 #if WITH_PROFILE_MODEL_P
3940 /* Record the fields for profiling. */
3941 if (PROFILE_MODEL_P (current_cpu
))
3943 FLD (in_abase
) = f_abase
;
3944 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
3945 FLD (in_index
) = f_index
;
3946 FLD (in_st_src
) = f_srcdst
;
3953 extract_sfmt_stl_disp
:
3955 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3956 CGEN_INSN_INT insn
= base_insn
;
3957 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
3960 /* Contents of trailing part of insn. */
3963 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3964 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3965 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3967 /* Record the fields for the semantic handler. */
3968 FLD (f_srcdst
) = f_srcdst
;
3969 FLD (f_optdisp
) = f_optdisp
;
3970 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
3971 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stl_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
3973 #if WITH_PROFILE_MODEL_P
3974 /* Record the fields for profiling. */
3975 if (PROFILE_MODEL_P (current_cpu
))
3977 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
3978 FLD (in_st_src
) = f_srcdst
;
3985 extract_sfmt_stl_indirect_disp
:
3987 const IDESC
*idesc
= &i960base_insn_data
[itype
];
3988 CGEN_INSN_INT insn
= base_insn
;
3989 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
3993 /* Contents of trailing part of insn. */
3996 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
3997 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
3998 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
3999 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4001 /* Record the fields for the semantic handler. */
4002 FLD (f_srcdst
) = f_srcdst
;
4003 FLD (f_optdisp
) = f_optdisp
;
4004 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4005 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4006 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stl_indirect_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4008 #if WITH_PROFILE_MODEL_P
4009 /* Record the fields for profiling. */
4010 if (PROFILE_MODEL_P (current_cpu
))
4012 FLD (in_abase
) = f_abase
;
4013 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4014 FLD (in_st_src
) = f_srcdst
;
4021 extract_sfmt_stl_index_disp
:
4023 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4024 CGEN_INSN_INT insn
= base_insn
;
4025 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4030 /* Contents of trailing part of insn. */
4033 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4034 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4035 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4036 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
4037 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4039 /* Record the fields for the semantic handler. */
4040 FLD (f_srcdst
) = f_srcdst
;
4041 FLD (f_optdisp
) = f_optdisp
;
4042 FLD (f_scale
) = f_scale
;
4043 FLD (i_index
) = & CPU (h_gr
)[f_index
];
4044 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4045 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stl_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4047 #if WITH_PROFILE_MODEL_P
4048 /* Record the fields for profiling. */
4049 if (PROFILE_MODEL_P (current_cpu
))
4051 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4052 FLD (in_index
) = f_index
;
4053 FLD (in_st_src
) = f_srcdst
;
4060 extract_sfmt_stl_indirect_index_disp
:
4062 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4063 CGEN_INSN_INT insn
= base_insn
;
4064 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4070 /* Contents of trailing part of insn. */
4073 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4074 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4075 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4076 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4077 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
4078 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4080 /* Record the fields for the semantic handler. */
4081 FLD (f_srcdst
) = f_srcdst
;
4082 FLD (f_optdisp
) = f_optdisp
;
4083 FLD (f_scale
) = f_scale
;
4084 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4085 FLD (i_index
) = & CPU (h_gr
)[f_index
];
4086 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4087 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stl_indirect_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4089 #if WITH_PROFILE_MODEL_P
4090 /* Record the fields for profiling. */
4091 if (PROFILE_MODEL_P (current_cpu
))
4093 FLD (in_abase
) = f_abase
;
4094 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4095 FLD (in_index
) = f_index
;
4096 FLD (in_st_src
) = f_srcdst
;
4103 extract_sfmt_stt_offset
:
4105 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4106 CGEN_INSN_INT insn
= base_insn
;
4107 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
4111 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4112 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
4114 /* Record the fields for the semantic handler. */
4115 FLD (f_srcdst
) = f_srcdst
;
4116 FLD (f_offset
) = f_offset
;
4117 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4118 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stt_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4120 #if WITH_PROFILE_MODEL_P
4121 /* Record the fields for profiling. */
4122 if (PROFILE_MODEL_P (current_cpu
))
4124 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4125 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4126 FLD (in_st_src
) = f_srcdst
;
4133 extract_sfmt_stt_indirect_offset
:
4135 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4136 CGEN_INSN_INT insn
= base_insn
;
4137 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
4142 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4143 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4144 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
4146 /* Record the fields for the semantic handler. */
4147 FLD (f_srcdst
) = f_srcdst
;
4148 FLD (f_offset
) = f_offset
;
4149 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4150 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4151 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stt_indirect_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4153 #if WITH_PROFILE_MODEL_P
4154 /* Record the fields for profiling. */
4155 if (PROFILE_MODEL_P (current_cpu
))
4157 FLD (in_abase
) = f_abase
;
4158 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4159 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4160 FLD (in_st_src
) = f_srcdst
;
4167 extract_sfmt_stt_indirect
:
4169 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4170 CGEN_INSN_INT insn
= base_insn
;
4171 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
4175 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4176 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4178 /* Record the fields for the semantic handler. */
4179 FLD (f_srcdst
) = f_srcdst
;
4180 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4181 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4182 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stt_indirect", "f_srcdst 0x%x", 'x', f_srcdst
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4184 #if WITH_PROFILE_MODEL_P
4185 /* Record the fields for profiling. */
4186 if (PROFILE_MODEL_P (current_cpu
))
4188 FLD (in_abase
) = f_abase
;
4189 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4190 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4191 FLD (in_st_src
) = f_srcdst
;
4198 extract_sfmt_stt_indirect_index
:
4200 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4201 CGEN_INSN_INT insn
= base_insn
;
4202 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4208 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4209 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4210 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
4211 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4213 /* Record the fields for the semantic handler. */
4214 FLD (f_srcdst
) = f_srcdst
;
4215 FLD (f_scale
) = f_scale
;
4216 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4217 FLD (i_index
) = & CPU (h_gr
)[f_index
];
4218 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4219 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stt_indirect_index", "f_srcdst 0x%x", 'x', f_srcdst
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4221 #if WITH_PROFILE_MODEL_P
4222 /* Record the fields for profiling. */
4223 if (PROFILE_MODEL_P (current_cpu
))
4225 FLD (in_abase
) = f_abase
;
4226 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4227 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4228 FLD (in_index
) = f_index
;
4229 FLD (in_st_src
) = f_srcdst
;
4236 extract_sfmt_stt_disp
:
4238 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4239 CGEN_INSN_INT insn
= base_insn
;
4240 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4243 /* Contents of trailing part of insn. */
4246 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4247 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4248 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4250 /* Record the fields for the semantic handler. */
4251 FLD (f_srcdst
) = f_srcdst
;
4252 FLD (f_optdisp
) = f_optdisp
;
4253 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4254 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stt_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4256 #if WITH_PROFILE_MODEL_P
4257 /* Record the fields for profiling. */
4258 if (PROFILE_MODEL_P (current_cpu
))
4260 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4261 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4262 FLD (in_st_src
) = f_srcdst
;
4269 extract_sfmt_stt_indirect_disp
:
4271 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4272 CGEN_INSN_INT insn
= base_insn
;
4273 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4277 /* Contents of trailing part of insn. */
4280 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4281 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4282 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4283 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4285 /* Record the fields for the semantic handler. */
4286 FLD (f_srcdst
) = f_srcdst
;
4287 FLD (f_optdisp
) = f_optdisp
;
4288 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4289 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4290 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stt_indirect_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4292 #if WITH_PROFILE_MODEL_P
4293 /* Record the fields for profiling. */
4294 if (PROFILE_MODEL_P (current_cpu
))
4296 FLD (in_abase
) = f_abase
;
4297 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4298 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4299 FLD (in_st_src
) = f_srcdst
;
4306 extract_sfmt_stt_index_disp
:
4308 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4309 CGEN_INSN_INT insn
= base_insn
;
4310 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4315 /* Contents of trailing part of insn. */
4318 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4319 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4320 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4321 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
4322 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4324 /* Record the fields for the semantic handler. */
4325 FLD (f_srcdst
) = f_srcdst
;
4326 FLD (f_optdisp
) = f_optdisp
;
4327 FLD (f_scale
) = f_scale
;
4328 FLD (i_index
) = & CPU (h_gr
)[f_index
];
4329 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4330 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stt_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4332 #if WITH_PROFILE_MODEL_P
4333 /* Record the fields for profiling. */
4334 if (PROFILE_MODEL_P (current_cpu
))
4336 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4337 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4338 FLD (in_index
) = f_index
;
4339 FLD (in_st_src
) = f_srcdst
;
4346 extract_sfmt_stt_indirect_index_disp
:
4348 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4349 CGEN_INSN_INT insn
= base_insn
;
4350 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4356 /* Contents of trailing part of insn. */
4359 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4360 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4361 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4362 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4363 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
4364 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4366 /* Record the fields for the semantic handler. */
4367 FLD (f_srcdst
) = f_srcdst
;
4368 FLD (f_optdisp
) = f_optdisp
;
4369 FLD (f_scale
) = f_scale
;
4370 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4371 FLD (i_index
) = & CPU (h_gr
)[f_index
];
4372 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4373 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stt_indirect_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4375 #if WITH_PROFILE_MODEL_P
4376 /* Record the fields for profiling. */
4377 if (PROFILE_MODEL_P (current_cpu
))
4379 FLD (in_abase
) = f_abase
;
4380 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4381 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4382 FLD (in_index
) = f_index
;
4383 FLD (in_st_src
) = f_srcdst
;
4390 extract_sfmt_stq_offset
:
4392 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4393 CGEN_INSN_INT insn
= base_insn
;
4394 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
4398 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4399 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
4401 /* Record the fields for the semantic handler. */
4402 FLD (f_srcdst
) = f_srcdst
;
4403 FLD (f_offset
) = f_offset
;
4404 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4405 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stq_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4407 #if WITH_PROFILE_MODEL_P
4408 /* Record the fields for profiling. */
4409 if (PROFILE_MODEL_P (current_cpu
))
4411 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4412 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4413 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_3
) = ((FLD (f_srcdst
)) + (3));
4414 FLD (in_st_src
) = f_srcdst
;
4421 extract_sfmt_stq_indirect_offset
:
4423 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4424 CGEN_INSN_INT insn
= base_insn
;
4425 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
4430 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4431 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4432 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
4434 /* Record the fields for the semantic handler. */
4435 FLD (f_srcdst
) = f_srcdst
;
4436 FLD (f_offset
) = f_offset
;
4437 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4438 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4439 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stq_indirect_offset", "f_srcdst 0x%x", 'x', f_srcdst
, "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4441 #if WITH_PROFILE_MODEL_P
4442 /* Record the fields for profiling. */
4443 if (PROFILE_MODEL_P (current_cpu
))
4445 FLD (in_abase
) = f_abase
;
4446 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4447 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4448 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_3
) = ((FLD (f_srcdst
)) + (3));
4449 FLD (in_st_src
) = f_srcdst
;
4456 extract_sfmt_stq_indirect
:
4458 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4459 CGEN_INSN_INT insn
= base_insn
;
4460 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
4464 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4465 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4467 /* Record the fields for the semantic handler. */
4468 FLD (f_srcdst
) = f_srcdst
;
4469 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4470 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4471 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stq_indirect", "f_srcdst 0x%x", 'x', f_srcdst
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4473 #if WITH_PROFILE_MODEL_P
4474 /* Record the fields for profiling. */
4475 if (PROFILE_MODEL_P (current_cpu
))
4477 FLD (in_abase
) = f_abase
;
4478 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4479 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4480 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_3
) = ((FLD (f_srcdst
)) + (3));
4481 FLD (in_st_src
) = f_srcdst
;
4488 extract_sfmt_stq_indirect_index
:
4490 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4491 CGEN_INSN_INT insn
= base_insn
;
4492 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4498 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4499 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4500 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
4501 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4503 /* Record the fields for the semantic handler. */
4504 FLD (f_srcdst
) = f_srcdst
;
4505 FLD (f_scale
) = f_scale
;
4506 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4507 FLD (i_index
) = & CPU (h_gr
)[f_index
];
4508 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4509 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stq_indirect_index", "f_srcdst 0x%x", 'x', f_srcdst
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4511 #if WITH_PROFILE_MODEL_P
4512 /* Record the fields for profiling. */
4513 if (PROFILE_MODEL_P (current_cpu
))
4515 FLD (in_abase
) = f_abase
;
4516 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4517 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4518 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_3
) = ((FLD (f_srcdst
)) + (3));
4519 FLD (in_index
) = f_index
;
4520 FLD (in_st_src
) = f_srcdst
;
4527 extract_sfmt_stq_disp
:
4529 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4530 CGEN_INSN_INT insn
= base_insn
;
4531 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4534 /* Contents of trailing part of insn. */
4537 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4538 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4539 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4541 /* Record the fields for the semantic handler. */
4542 FLD (f_srcdst
) = f_srcdst
;
4543 FLD (f_optdisp
) = f_optdisp
;
4544 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4545 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stq_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4547 #if WITH_PROFILE_MODEL_P
4548 /* Record the fields for profiling. */
4549 if (PROFILE_MODEL_P (current_cpu
))
4551 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4552 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4553 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_3
) = ((FLD (f_srcdst
)) + (3));
4554 FLD (in_st_src
) = f_srcdst
;
4561 extract_sfmt_stq_indirect_disp
:
4563 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4564 CGEN_INSN_INT insn
= base_insn
;
4565 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4569 /* Contents of trailing part of insn. */
4572 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4573 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4574 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4575 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4577 /* Record the fields for the semantic handler. */
4578 FLD (f_srcdst
) = f_srcdst
;
4579 FLD (f_optdisp
) = f_optdisp
;
4580 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4581 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4582 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stq_indirect_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4584 #if WITH_PROFILE_MODEL_P
4585 /* Record the fields for profiling. */
4586 if (PROFILE_MODEL_P (current_cpu
))
4588 FLD (in_abase
) = f_abase
;
4589 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4590 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4591 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_3
) = ((FLD (f_srcdst
)) + (3));
4592 FLD (in_st_src
) = f_srcdst
;
4599 extract_sfmt_stq_index_disp
:
4601 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4602 CGEN_INSN_INT insn
= base_insn
;
4603 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4608 /* Contents of trailing part of insn. */
4611 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4612 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4613 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4614 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
4615 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4617 /* Record the fields for the semantic handler. */
4618 FLD (f_srcdst
) = f_srcdst
;
4619 FLD (f_optdisp
) = f_optdisp
;
4620 FLD (f_scale
) = f_scale
;
4621 FLD (i_index
) = & CPU (h_gr
)[f_index
];
4622 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4623 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stq_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4625 #if WITH_PROFILE_MODEL_P
4626 /* Record the fields for profiling. */
4627 if (PROFILE_MODEL_P (current_cpu
))
4629 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4630 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4631 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_3
) = ((FLD (f_srcdst
)) + (3));
4632 FLD (in_index
) = f_index
;
4633 FLD (in_st_src
) = f_srcdst
;
4640 extract_sfmt_stq_indirect_index_disp
:
4642 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4643 CGEN_INSN_INT insn
= base_insn
;
4644 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
4650 /* Contents of trailing part of insn. */
4653 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
4654 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
4655 f_srcdst
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4656 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4657 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
4658 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4660 /* Record the fields for the semantic handler. */
4661 FLD (f_srcdst
) = f_srcdst
;
4662 FLD (f_optdisp
) = f_optdisp
;
4663 FLD (f_scale
) = f_scale
;
4664 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
4665 FLD (i_index
) = & CPU (h_gr
)[f_index
];
4666 FLD (i_st_src
) = & CPU (h_gr
)[f_srcdst
];
4667 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stq_indirect_index_disp", "f_srcdst 0x%x", 'x', f_srcdst
, "f_optdisp 0x%x", 'x', f_optdisp
, "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, "st_src 0x%x", 'x', f_srcdst
, (char *) 0));
4669 #if WITH_PROFILE_MODEL_P
4670 /* Record the fields for profiling. */
4671 if (PROFILE_MODEL_P (current_cpu
))
4673 FLD (in_abase
) = f_abase
;
4674 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_1
) = ((FLD (f_srcdst
)) + (1));
4675 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_2
) = ((FLD (f_srcdst
)) + (2));
4676 FLD (in_h_gr_add__DFLT_index_of__DFLT_st_src_3
) = ((FLD (f_srcdst
)) + (3));
4677 FLD (in_index
) = f_index
;
4678 FLD (in_st_src
) = f_srcdst
;
4685 extract_sfmt_cmpobe_reg
:
4687 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4688 CGEN_INSN_INT insn
= base_insn
;
4689 #define FLD(f) abuf->fields.sfmt_cmpobe_reg.f
4694 f_br_src1
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4695 f_br_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4696 f_br_disp
= ((((EXTRACT_MSB0_INT (insn
, 32, 19, 11)) << (2))) + (pc
));
4698 /* Record the fields for the semantic handler. */
4699 FLD (i_br_disp
) = f_br_disp
;
4700 FLD (i_br_src1
) = & CPU (h_gr
)[f_br_src1
];
4701 FLD (i_br_src2
) = & CPU (h_gr
)[f_br_src2
];
4702 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpobe_reg", "br_disp 0x%x", 'x', f_br_disp
, "br_src1 0x%x", 'x', f_br_src1
, "br_src2 0x%x", 'x', f_br_src2
, (char *) 0));
4704 #if WITH_PROFILE_MODEL_P
4705 /* Record the fields for profiling. */
4706 if (PROFILE_MODEL_P (current_cpu
))
4708 FLD (in_br_src1
) = f_br_src1
;
4709 FLD (in_br_src2
) = f_br_src2
;
4716 extract_sfmt_cmpobe_lit
:
4718 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4719 CGEN_INSN_INT insn
= base_insn
;
4720 #define FLD(f) abuf->fields.sfmt_cmpobe_lit.f
4725 f_br_src1
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4726 f_br_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4727 f_br_disp
= ((((EXTRACT_MSB0_INT (insn
, 32, 19, 11)) << (2))) + (pc
));
4729 /* Record the fields for the semantic handler. */
4730 FLD (f_br_src1
) = f_br_src1
;
4731 FLD (i_br_disp
) = f_br_disp
;
4732 FLD (i_br_src2
) = & CPU (h_gr
)[f_br_src2
];
4733 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpobe_lit", "f_br_src1 0x%x", 'x', f_br_src1
, "br_disp 0x%x", 'x', f_br_disp
, "br_src2 0x%x", 'x', f_br_src2
, (char *) 0));
4735 #if WITH_PROFILE_MODEL_P
4736 /* Record the fields for profiling. */
4737 if (PROFILE_MODEL_P (current_cpu
))
4739 FLD (in_br_src2
) = f_br_src2
;
4746 extract_sfmt_cmpobl_reg
:
4748 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4749 CGEN_INSN_INT insn
= base_insn
;
4750 #define FLD(f) abuf->fields.sfmt_cmpobe_reg.f
4755 f_br_src1
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4756 f_br_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4757 f_br_disp
= ((((EXTRACT_MSB0_INT (insn
, 32, 19, 11)) << (2))) + (pc
));
4759 /* Record the fields for the semantic handler. */
4760 FLD (i_br_disp
) = f_br_disp
;
4761 FLD (i_br_src1
) = & CPU (h_gr
)[f_br_src1
];
4762 FLD (i_br_src2
) = & CPU (h_gr
)[f_br_src2
];
4763 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpobl_reg", "br_disp 0x%x", 'x', f_br_disp
, "br_src1 0x%x", 'x', f_br_src1
, "br_src2 0x%x", 'x', f_br_src2
, (char *) 0));
4765 #if WITH_PROFILE_MODEL_P
4766 /* Record the fields for profiling. */
4767 if (PROFILE_MODEL_P (current_cpu
))
4769 FLD (in_br_src1
) = f_br_src1
;
4770 FLD (in_br_src2
) = f_br_src2
;
4777 extract_sfmt_cmpobl_lit
:
4779 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4780 CGEN_INSN_INT insn
= base_insn
;
4781 #define FLD(f) abuf->fields.sfmt_cmpobe_lit.f
4786 f_br_src1
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4787 f_br_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4788 f_br_disp
= ((((EXTRACT_MSB0_INT (insn
, 32, 19, 11)) << (2))) + (pc
));
4790 /* Record the fields for the semantic handler. */
4791 FLD (f_br_src1
) = f_br_src1
;
4792 FLD (i_br_disp
) = f_br_disp
;
4793 FLD (i_br_src2
) = & CPU (h_gr
)[f_br_src2
];
4794 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpobl_lit", "f_br_src1 0x%x", 'x', f_br_src1
, "br_disp 0x%x", 'x', f_br_disp
, "br_src2 0x%x", 'x', f_br_src2
, (char *) 0));
4796 #if WITH_PROFILE_MODEL_P
4797 /* Record the fields for profiling. */
4798 if (PROFILE_MODEL_P (current_cpu
))
4800 FLD (in_br_src2
) = f_br_src2
;
4807 extract_sfmt_bbc_reg
:
4809 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4810 CGEN_INSN_INT insn
= base_insn
;
4811 #define FLD(f) abuf->fields.sfmt_cmpobe_reg.f
4816 f_br_src1
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4817 f_br_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4818 f_br_disp
= ((((EXTRACT_MSB0_INT (insn
, 32, 19, 11)) << (2))) + (pc
));
4820 /* Record the fields for the semantic handler. */
4821 FLD (i_br_disp
) = f_br_disp
;
4822 FLD (i_br_src1
) = & CPU (h_gr
)[f_br_src1
];
4823 FLD (i_br_src2
) = & CPU (h_gr
)[f_br_src2
];
4824 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bbc_reg", "br_disp 0x%x", 'x', f_br_disp
, "br_src1 0x%x", 'x', f_br_src1
, "br_src2 0x%x", 'x', f_br_src2
, (char *) 0));
4826 #if WITH_PROFILE_MODEL_P
4827 /* Record the fields for profiling. */
4828 if (PROFILE_MODEL_P (current_cpu
))
4830 FLD (in_br_src1
) = f_br_src1
;
4831 FLD (in_br_src2
) = f_br_src2
;
4838 extract_sfmt_bbc_lit
:
4840 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4841 CGEN_INSN_INT insn
= base_insn
;
4842 #define FLD(f) abuf->fields.sfmt_cmpobe_lit.f
4847 f_br_src1
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
4848 f_br_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4849 f_br_disp
= ((((EXTRACT_MSB0_INT (insn
, 32, 19, 11)) << (2))) + (pc
));
4851 /* Record the fields for the semantic handler. */
4852 FLD (f_br_src1
) = f_br_src1
;
4853 FLD (i_br_disp
) = f_br_disp
;
4854 FLD (i_br_src2
) = & CPU (h_gr
)[f_br_src2
];
4855 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bbc_lit", "f_br_src1 0x%x", 'x', f_br_src1
, "br_disp 0x%x", 'x', f_br_disp
, "br_src2 0x%x", 'x', f_br_src2
, (char *) 0));
4857 #if WITH_PROFILE_MODEL_P
4858 /* Record the fields for profiling. */
4859 if (PROFILE_MODEL_P (current_cpu
))
4861 FLD (in_br_src2
) = f_br_src2
;
4870 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4871 CGEN_INSN_INT insn
= base_insn
;
4872 #define FLD(f) abuf->fields.sfmt_emul.f
4876 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4877 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4879 /* Record the fields for the semantic handler. */
4880 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
4881 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
4882 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpi", "src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, (char *) 0));
4884 #if WITH_PROFILE_MODEL_P
4885 /* Record the fields for profiling. */
4886 if (PROFILE_MODEL_P (current_cpu
))
4888 FLD (in_src1
) = f_src1
;
4889 FLD (in_src2
) = f_src2
;
4898 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4899 CGEN_INSN_INT insn
= base_insn
;
4900 #define FLD(f) abuf->fields.sfmt_emul1.f
4904 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4905 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4907 /* Record the fields for the semantic handler. */
4908 FLD (f_src1
) = f_src1
;
4909 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
4910 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpi1", "f_src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, (char *) 0));
4912 #if WITH_PROFILE_MODEL_P
4913 /* Record the fields for profiling. */
4914 if (PROFILE_MODEL_P (current_cpu
))
4916 FLD (in_src2
) = f_src2
;
4925 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4926 CGEN_INSN_INT insn
= base_insn
;
4927 #define FLD(f) abuf->fields.sfmt_emul2.f
4931 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4932 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4934 /* Record the fields for the semantic handler. */
4935 FLD (f_src2
) = f_src2
;
4936 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
4937 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpi2", "f_src2 0x%x", 'x', f_src2
, "src1 0x%x", 'x', f_src1
, (char *) 0));
4939 #if WITH_PROFILE_MODEL_P
4940 /* Record the fields for profiling. */
4941 if (PROFILE_MODEL_P (current_cpu
))
4943 FLD (in_src1
) = f_src1
;
4952 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4953 CGEN_INSN_INT insn
= base_insn
;
4954 #define FLD(f) abuf->fields.sfmt_emul3.f
4958 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4959 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4961 /* Record the fields for the semantic handler. */
4962 FLD (f_src1
) = f_src1
;
4963 FLD (f_src2
) = f_src2
;
4964 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpi3", "f_src1 0x%x", 'x', f_src1
, "f_src2 0x%x", 'x', f_src2
, (char *) 0));
4966 #if WITH_PROFILE_MODEL_P
4967 /* Record the fields for profiling. */
4968 if (PROFILE_MODEL_P (current_cpu
))
4978 const IDESC
*idesc
= &i960base_insn_data
[itype
];
4979 CGEN_INSN_INT insn
= base_insn
;
4980 #define FLD(f) abuf->fields.sfmt_emul.f
4984 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
4985 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
4987 /* Record the fields for the semantic handler. */
4988 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
4989 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
4990 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpo", "src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, (char *) 0));
4992 #if WITH_PROFILE_MODEL_P
4993 /* Record the fields for profiling. */
4994 if (PROFILE_MODEL_P (current_cpu
))
4996 FLD (in_src1
) = f_src1
;
4997 FLD (in_src2
) = f_src2
;
5006 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5007 CGEN_INSN_INT insn
= base_insn
;
5008 #define FLD(f) abuf->fields.sfmt_emul1.f
5012 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5013 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
5015 /* Record the fields for the semantic handler. */
5016 FLD (f_src1
) = f_src1
;
5017 FLD (i_src2
) = & CPU (h_gr
)[f_src2
];
5018 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpo1", "f_src1 0x%x", 'x', f_src1
, "src2 0x%x", 'x', f_src2
, (char *) 0));
5020 #if WITH_PROFILE_MODEL_P
5021 /* Record the fields for profiling. */
5022 if (PROFILE_MODEL_P (current_cpu
))
5024 FLD (in_src2
) = f_src2
;
5033 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5034 CGEN_INSN_INT insn
= base_insn
;
5035 #define FLD(f) abuf->fields.sfmt_emul2.f
5039 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5040 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
5042 /* Record the fields for the semantic handler. */
5043 FLD (f_src2
) = f_src2
;
5044 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
5045 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpo2", "f_src2 0x%x", 'x', f_src2
, "src1 0x%x", 'x', f_src1
, (char *) 0));
5047 #if WITH_PROFILE_MODEL_P
5048 /* Record the fields for profiling. */
5049 if (PROFILE_MODEL_P (current_cpu
))
5051 FLD (in_src1
) = f_src1
;
5060 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5061 CGEN_INSN_INT insn
= base_insn
;
5062 #define FLD(f) abuf->fields.sfmt_emul3.f
5066 f_src2
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5067 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
5069 /* Record the fields for the semantic handler. */
5070 FLD (f_src1
) = f_src1
;
5071 FLD (f_src2
) = f_src2
;
5072 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpo3", "f_src1 0x%x", 'x', f_src1
, "f_src2 0x%x", 'x', f_src2
, (char *) 0));
5074 #if WITH_PROFILE_MODEL_P
5075 /* Record the fields for profiling. */
5076 if (PROFILE_MODEL_P (current_cpu
))
5084 extract_sfmt_testno_reg
:
5086 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5087 CGEN_INSN_INT insn
= base_insn
;
5088 #define FLD(f) abuf->fields.sfmt_testno_reg.f
5091 f_br_src1
= EXTRACT_MSB0_UINT (insn
, 32, 8, 5);
5093 /* Record the fields for the semantic handler. */
5094 FLD (i_br_src1
) = & CPU (h_gr
)[f_br_src1
];
5095 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_testno_reg", "br_src1 0x%x", 'x', f_br_src1
, (char *) 0));
5097 #if WITH_PROFILE_MODEL_P
5098 /* Record the fields for profiling. */
5099 if (PROFILE_MODEL_P (current_cpu
))
5101 FLD (out_br_src1
) = f_br_src1
;
5110 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5111 CGEN_INSN_INT insn
= base_insn
;
5112 #define FLD(f) abuf->fields.sfmt_bno.f
5115 f_ctrl_disp
= ((((EXTRACT_MSB0_INT (insn
, 32, 8, 22)) << (2))) + (pc
));
5117 /* Record the fields for the semantic handler. */
5118 FLD (i_ctrl_disp
) = f_ctrl_disp
;
5119 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bno", "ctrl_disp 0x%x", 'x', f_ctrl_disp
, (char *) 0));
5121 #if WITH_PROFILE_MODEL_P
5122 /* Record the fields for profiling. */
5123 if (PROFILE_MODEL_P (current_cpu
))
5133 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5134 CGEN_INSN_INT insn
= base_insn
;
5135 #define FLD(f) abuf->fields.sfmt_bno.f
5138 f_ctrl_disp
= ((((EXTRACT_MSB0_INT (insn
, 32, 8, 22)) << (2))) + (pc
));
5140 /* Record the fields for the semantic handler. */
5141 FLD (i_ctrl_disp
) = f_ctrl_disp
;
5142 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_b", "ctrl_disp 0x%x", 'x', f_ctrl_disp
, (char *) 0));
5144 #if WITH_PROFILE_MODEL_P
5145 /* Record the fields for profiling. */
5146 if (PROFILE_MODEL_P (current_cpu
))
5154 extract_sfmt_bx_indirect_offset
:
5156 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5157 CGEN_INSN_INT insn
= base_insn
;
5158 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
5162 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5163 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
5165 /* Record the fields for the semantic handler. */
5166 FLD (f_offset
) = f_offset
;
5167 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
5168 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bx_indirect_offset", "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, (char *) 0));
5170 #if WITH_PROFILE_MODEL_P
5171 /* Record the fields for profiling. */
5172 if (PROFILE_MODEL_P (current_cpu
))
5174 FLD (in_abase
) = f_abase
;
5181 extract_sfmt_bx_indirect
:
5183 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5184 CGEN_INSN_INT insn
= base_insn
;
5185 #define FLD(f) abuf->fields.sfmt_stq_indirect_offset.f
5188 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5190 /* Record the fields for the semantic handler. */
5191 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
5192 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bx_indirect", "abase 0x%x", 'x', f_abase
, (char *) 0));
5194 #if WITH_PROFILE_MODEL_P
5195 /* Record the fields for profiling. */
5196 if (PROFILE_MODEL_P (current_cpu
))
5198 FLD (in_abase
) = f_abase
;
5205 extract_sfmt_bx_indirect_index
:
5207 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5208 CGEN_INSN_INT insn
= base_insn
;
5209 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
5214 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5215 f_scale
= EXTRACT_MSB0_UINT (insn
, 32, 22, 3);
5216 f_index
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
5218 /* Record the fields for the semantic handler. */
5219 FLD (f_scale
) = f_scale
;
5220 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
5221 FLD (i_index
) = & CPU (h_gr
)[f_index
];
5222 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bx_indirect_index", "f_scale 0x%x", 'x', f_scale
, "abase 0x%x", 'x', f_abase
, "index 0x%x", 'x', f_index
, (char *) 0));
5224 #if WITH_PROFILE_MODEL_P
5225 /* Record the fields for profiling. */
5226 if (PROFILE_MODEL_P (current_cpu
))
5228 FLD (in_abase
) = f_abase
;
5229 FLD (in_index
) = f_index
;
5236 extract_sfmt_bx_disp
:
5238 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5239 CGEN_INSN_INT insn
= base_insn
;
5240 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
5242 /* Contents of trailing part of insn. */
5245 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
5246 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
5248 /* Record the fields for the semantic handler. */
5249 FLD (f_optdisp
) = f_optdisp
;
5250 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bx_disp", "f_optdisp 0x%x", 'x', f_optdisp
, (char *) 0));
5252 #if WITH_PROFILE_MODEL_P
5253 /* Record the fields for profiling. */
5254 if (PROFILE_MODEL_P (current_cpu
))
5262 extract_sfmt_bx_indirect_disp
:
5264 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5265 CGEN_INSN_INT insn
= base_insn
;
5266 #define FLD(f) abuf->fields.sfmt_stq_indirect_index_disp.f
5269 /* Contents of trailing part of insn. */
5272 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
5273 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
5274 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5276 /* Record the fields for the semantic handler. */
5277 FLD (f_optdisp
) = f_optdisp
;
5278 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
5279 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bx_indirect_disp", "f_optdisp 0x%x", 'x', f_optdisp
, "abase 0x%x", 'x', f_abase
, (char *) 0));
5281 #if WITH_PROFILE_MODEL_P
5282 /* Record the fields for profiling. */
5283 if (PROFILE_MODEL_P (current_cpu
))
5285 FLD (in_abase
) = f_abase
;
5292 extract_sfmt_callx_disp
:
5294 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5295 CGEN_INSN_INT insn
= base_insn
;
5296 #define FLD(f) abuf->fields.sfmt_callx_disp.f
5298 /* Contents of trailing part of insn. */
5301 word_1
= GETIMEMUSI (current_cpu
, pc
+ 4);
5302 f_optdisp
= (0|(EXTRACT_MSB0_UINT (word_1
, 32, 0, 32) << 0));
5304 /* Record the fields for the semantic handler. */
5305 FLD (f_optdisp
) = f_optdisp
;
5306 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_callx_disp", "f_optdisp 0x%x", 'x', f_optdisp
, (char *) 0));
5308 #if WITH_PROFILE_MODEL_P
5309 /* Record the fields for profiling. */
5310 if (PROFILE_MODEL_P (current_cpu
))
5312 FLD (in_h_gr_0
) = 0;
5313 FLD (in_h_gr_1
) = 1;
5314 FLD (in_h_gr_10
) = 10;
5315 FLD (in_h_gr_11
) = 11;
5316 FLD (in_h_gr_12
) = 12;
5317 FLD (in_h_gr_13
) = 13;
5318 FLD (in_h_gr_14
) = 14;
5319 FLD (in_h_gr_15
) = 15;
5320 FLD (in_h_gr_2
) = 2;
5321 FLD (in_h_gr_3
) = 3;
5322 FLD (in_h_gr_31
) = 31;
5323 FLD (in_h_gr_4
) = 4;
5324 FLD (in_h_gr_5
) = 5;
5325 FLD (in_h_gr_6
) = 6;
5326 FLD (in_h_gr_7
) = 7;
5327 FLD (in_h_gr_8
) = 8;
5328 FLD (in_h_gr_9
) = 9;
5329 FLD (out_h_gr_0
) = 0;
5330 FLD (out_h_gr_1
) = 1;
5331 FLD (out_h_gr_10
) = 10;
5332 FLD (out_h_gr_11
) = 11;
5333 FLD (out_h_gr_12
) = 12;
5334 FLD (out_h_gr_13
) = 13;
5335 FLD (out_h_gr_14
) = 14;
5336 FLD (out_h_gr_15
) = 15;
5337 FLD (out_h_gr_2
) = 2;
5338 FLD (out_h_gr_3
) = 3;
5339 FLD (out_h_gr_31
) = 31;
5340 FLD (out_h_gr_4
) = 4;
5341 FLD (out_h_gr_5
) = 5;
5342 FLD (out_h_gr_6
) = 6;
5343 FLD (out_h_gr_7
) = 7;
5344 FLD (out_h_gr_8
) = 8;
5345 FLD (out_h_gr_9
) = 9;
5352 extract_sfmt_callx_indirect
:
5354 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5355 CGEN_INSN_INT insn
= base_insn
;
5356 #define FLD(f) abuf->fields.sfmt_callx_indirect_offset.f
5359 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5361 /* Record the fields for the semantic handler. */
5362 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
5363 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_callx_indirect", "abase 0x%x", 'x', f_abase
, (char *) 0));
5365 #if WITH_PROFILE_MODEL_P
5366 /* Record the fields for profiling. */
5367 if (PROFILE_MODEL_P (current_cpu
))
5369 FLD (in_abase
) = f_abase
;
5370 FLD (in_h_gr_0
) = 0;
5371 FLD (in_h_gr_1
) = 1;
5372 FLD (in_h_gr_10
) = 10;
5373 FLD (in_h_gr_11
) = 11;
5374 FLD (in_h_gr_12
) = 12;
5375 FLD (in_h_gr_13
) = 13;
5376 FLD (in_h_gr_14
) = 14;
5377 FLD (in_h_gr_15
) = 15;
5378 FLD (in_h_gr_2
) = 2;
5379 FLD (in_h_gr_3
) = 3;
5380 FLD (in_h_gr_31
) = 31;
5381 FLD (in_h_gr_4
) = 4;
5382 FLD (in_h_gr_5
) = 5;
5383 FLD (in_h_gr_6
) = 6;
5384 FLD (in_h_gr_7
) = 7;
5385 FLD (in_h_gr_8
) = 8;
5386 FLD (in_h_gr_9
) = 9;
5387 FLD (out_h_gr_0
) = 0;
5388 FLD (out_h_gr_1
) = 1;
5389 FLD (out_h_gr_10
) = 10;
5390 FLD (out_h_gr_11
) = 11;
5391 FLD (out_h_gr_12
) = 12;
5392 FLD (out_h_gr_13
) = 13;
5393 FLD (out_h_gr_14
) = 14;
5394 FLD (out_h_gr_15
) = 15;
5395 FLD (out_h_gr_2
) = 2;
5396 FLD (out_h_gr_3
) = 3;
5397 FLD (out_h_gr_31
) = 31;
5398 FLD (out_h_gr_4
) = 4;
5399 FLD (out_h_gr_5
) = 5;
5400 FLD (out_h_gr_6
) = 6;
5401 FLD (out_h_gr_7
) = 7;
5402 FLD (out_h_gr_8
) = 8;
5403 FLD (out_h_gr_9
) = 9;
5410 extract_sfmt_callx_indirect_offset
:
5412 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5413 CGEN_INSN_INT insn
= base_insn
;
5414 #define FLD(f) abuf->fields.sfmt_callx_indirect_offset.f
5418 f_abase
= EXTRACT_MSB0_UINT (insn
, 32, 13, 5);
5419 f_offset
= EXTRACT_MSB0_UINT (insn
, 32, 20, 12);
5421 /* Record the fields for the semantic handler. */
5422 FLD (f_offset
) = f_offset
;
5423 FLD (i_abase
) = & CPU (h_gr
)[f_abase
];
5424 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_callx_indirect_offset", "f_offset 0x%x", 'x', f_offset
, "abase 0x%x", 'x', f_abase
, (char *) 0));
5426 #if WITH_PROFILE_MODEL_P
5427 /* Record the fields for profiling. */
5428 if (PROFILE_MODEL_P (current_cpu
))
5430 FLD (in_abase
) = f_abase
;
5431 FLD (in_h_gr_0
) = 0;
5432 FLD (in_h_gr_1
) = 1;
5433 FLD (in_h_gr_10
) = 10;
5434 FLD (in_h_gr_11
) = 11;
5435 FLD (in_h_gr_12
) = 12;
5436 FLD (in_h_gr_13
) = 13;
5437 FLD (in_h_gr_14
) = 14;
5438 FLD (in_h_gr_15
) = 15;
5439 FLD (in_h_gr_2
) = 2;
5440 FLD (in_h_gr_3
) = 3;
5441 FLD (in_h_gr_31
) = 31;
5442 FLD (in_h_gr_4
) = 4;
5443 FLD (in_h_gr_5
) = 5;
5444 FLD (in_h_gr_6
) = 6;
5445 FLD (in_h_gr_7
) = 7;
5446 FLD (in_h_gr_8
) = 8;
5447 FLD (in_h_gr_9
) = 9;
5448 FLD (out_h_gr_0
) = 0;
5449 FLD (out_h_gr_1
) = 1;
5450 FLD (out_h_gr_10
) = 10;
5451 FLD (out_h_gr_11
) = 11;
5452 FLD (out_h_gr_12
) = 12;
5453 FLD (out_h_gr_13
) = 13;
5454 FLD (out_h_gr_14
) = 14;
5455 FLD (out_h_gr_15
) = 15;
5456 FLD (out_h_gr_2
) = 2;
5457 FLD (out_h_gr_3
) = 3;
5458 FLD (out_h_gr_31
) = 31;
5459 FLD (out_h_gr_4
) = 4;
5460 FLD (out_h_gr_5
) = 5;
5461 FLD (out_h_gr_6
) = 6;
5462 FLD (out_h_gr_7
) = 7;
5463 FLD (out_h_gr_8
) = 8;
5464 FLD (out_h_gr_9
) = 9;
5473 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5474 CGEN_INSN_INT insn
= base_insn
;
5475 #define FLD(f) abuf->fields.sfmt_callx_disp.f
5478 /* Record the fields for the semantic handler. */
5479 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ret", (char *) 0));
5481 #if WITH_PROFILE_MODEL_P
5482 /* Record the fields for profiling. */
5483 if (PROFILE_MODEL_P (current_cpu
))
5485 FLD (in_h_gr_0
) = 0;
5486 FLD (in_h_gr_2
) = 2;
5487 FLD (in_h_gr_31
) = 31;
5488 FLD (out_h_gr_0
) = 0;
5489 FLD (out_h_gr_1
) = 1;
5490 FLD (out_h_gr_10
) = 10;
5491 FLD (out_h_gr_11
) = 11;
5492 FLD (out_h_gr_12
) = 12;
5493 FLD (out_h_gr_13
) = 13;
5494 FLD (out_h_gr_14
) = 14;
5495 FLD (out_h_gr_15
) = 15;
5496 FLD (out_h_gr_2
) = 2;
5497 FLD (out_h_gr_3
) = 3;
5498 FLD (out_h_gr_31
) = 31;
5499 FLD (out_h_gr_4
) = 4;
5500 FLD (out_h_gr_5
) = 5;
5501 FLD (out_h_gr_6
) = 6;
5502 FLD (out_h_gr_7
) = 7;
5503 FLD (out_h_gr_8
) = 8;
5504 FLD (out_h_gr_9
) = 9;
5513 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5514 CGEN_INSN_INT insn
= base_insn
;
5515 #define FLD(f) abuf->fields.sfmt_emul2.f
5518 f_src1
= EXTRACT_MSB0_UINT (insn
, 32, 27, 5);
5520 /* Record the fields for the semantic handler. */
5521 FLD (i_src1
) = & CPU (h_gr
)[f_src1
];
5522 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_calls", "src1 0x%x", 'x', f_src1
, (char *) 0));
5524 #if WITH_PROFILE_MODEL_P
5525 /* Record the fields for profiling. */
5526 if (PROFILE_MODEL_P (current_cpu
))
5528 FLD (in_src1
) = f_src1
;
5537 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5538 CGEN_INSN_INT insn
= base_insn
;
5539 #define FLD(f) abuf->fields.fmt_empty.f
5542 /* Record the fields for the semantic handler. */
5543 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_fmark", (char *) 0));
5545 #if WITH_PROFILE_MODEL_P
5546 /* Record the fields for profiling. */
5547 if (PROFILE_MODEL_P (current_cpu
))
5555 extract_sfmt_flushreg
:
5557 const IDESC
*idesc
= &i960base_insn_data
[itype
];
5558 CGEN_INSN_INT insn
= base_insn
;
5559 #define FLD(f) abuf->fields.fmt_empty.f
5562 /* Record the fields for the semantic handler. */
5563 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_flushreg", (char *) 0));