1 /* Simulator instruction decoder for fr30bf.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright 1996, 1997, 1998, 1999, 2000, 2001 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 fr30bf
26 #define WANT_CPU_FR30BF
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 fr30bf_insn_data
[FR30BF_INSN_XCHB
+ 1];
38 /* Commas between elements are contained in the macros.
39 Some of these are conditionally compiled out. */
41 static const struct insn_sem fr30bf_insn_sem
[] =
43 { VIRTUAL_INSN_X_INVALID
, FR30BF_INSN_X_INVALID
, FR30BF_SFMT_EMPTY
},
44 { VIRTUAL_INSN_X_AFTER
, FR30BF_INSN_X_AFTER
, FR30BF_SFMT_EMPTY
},
45 { VIRTUAL_INSN_X_BEFORE
, FR30BF_INSN_X_BEFORE
, FR30BF_SFMT_EMPTY
},
46 { VIRTUAL_INSN_X_CTI_CHAIN
, FR30BF_INSN_X_CTI_CHAIN
, FR30BF_SFMT_EMPTY
},
47 { VIRTUAL_INSN_X_CHAIN
, FR30BF_INSN_X_CHAIN
, FR30BF_SFMT_EMPTY
},
48 { VIRTUAL_INSN_X_BEGIN
, FR30BF_INSN_X_BEGIN
, FR30BF_SFMT_EMPTY
},
49 { FR30_INSN_ADD
, FR30BF_INSN_ADD
, FR30BF_SFMT_ADD
},
50 { FR30_INSN_ADDI
, FR30BF_INSN_ADDI
, FR30BF_SFMT_ADDI
},
51 { FR30_INSN_ADD2
, FR30BF_INSN_ADD2
, FR30BF_SFMT_ADD2
},
52 { FR30_INSN_ADDC
, FR30BF_INSN_ADDC
, FR30BF_SFMT_ADDC
},
53 { FR30_INSN_ADDN
, FR30BF_INSN_ADDN
, FR30BF_SFMT_ADDN
},
54 { FR30_INSN_ADDNI
, FR30BF_INSN_ADDNI
, FR30BF_SFMT_ADDNI
},
55 { FR30_INSN_ADDN2
, FR30BF_INSN_ADDN2
, FR30BF_SFMT_ADDN2
},
56 { FR30_INSN_SUB
, FR30BF_INSN_SUB
, FR30BF_SFMT_ADD
},
57 { FR30_INSN_SUBC
, FR30BF_INSN_SUBC
, FR30BF_SFMT_ADDC
},
58 { FR30_INSN_SUBN
, FR30BF_INSN_SUBN
, FR30BF_SFMT_ADDN
},
59 { FR30_INSN_CMP
, FR30BF_INSN_CMP
, FR30BF_SFMT_CMP
},
60 { FR30_INSN_CMPI
, FR30BF_INSN_CMPI
, FR30BF_SFMT_CMPI
},
61 { FR30_INSN_CMP2
, FR30BF_INSN_CMP2
, FR30BF_SFMT_CMP2
},
62 { FR30_INSN_AND
, FR30BF_INSN_AND
, FR30BF_SFMT_AND
},
63 { FR30_INSN_OR
, FR30BF_INSN_OR
, FR30BF_SFMT_AND
},
64 { FR30_INSN_EOR
, FR30BF_INSN_EOR
, FR30BF_SFMT_AND
},
65 { FR30_INSN_ANDM
, FR30BF_INSN_ANDM
, FR30BF_SFMT_ANDM
},
66 { FR30_INSN_ANDH
, FR30BF_INSN_ANDH
, FR30BF_SFMT_ANDH
},
67 { FR30_INSN_ANDB
, FR30BF_INSN_ANDB
, FR30BF_SFMT_ANDB
},
68 { FR30_INSN_ORM
, FR30BF_INSN_ORM
, FR30BF_SFMT_ANDM
},
69 { FR30_INSN_ORH
, FR30BF_INSN_ORH
, FR30BF_SFMT_ANDH
},
70 { FR30_INSN_ORB
, FR30BF_INSN_ORB
, FR30BF_SFMT_ANDB
},
71 { FR30_INSN_EORM
, FR30BF_INSN_EORM
, FR30BF_SFMT_ANDM
},
72 { FR30_INSN_EORH
, FR30BF_INSN_EORH
, FR30BF_SFMT_ANDH
},
73 { FR30_INSN_EORB
, FR30BF_INSN_EORB
, FR30BF_SFMT_ANDB
},
74 { FR30_INSN_BANDL
, FR30BF_INSN_BANDL
, FR30BF_SFMT_BANDL
},
75 { FR30_INSN_BORL
, FR30BF_INSN_BORL
, FR30BF_SFMT_BANDL
},
76 { FR30_INSN_BEORL
, FR30BF_INSN_BEORL
, FR30BF_SFMT_BANDL
},
77 { FR30_INSN_BANDH
, FR30BF_INSN_BANDH
, FR30BF_SFMT_BANDL
},
78 { FR30_INSN_BORH
, FR30BF_INSN_BORH
, FR30BF_SFMT_BANDL
},
79 { FR30_INSN_BEORH
, FR30BF_INSN_BEORH
, FR30BF_SFMT_BANDL
},
80 { FR30_INSN_BTSTL
, FR30BF_INSN_BTSTL
, FR30BF_SFMT_BTSTL
},
81 { FR30_INSN_BTSTH
, FR30BF_INSN_BTSTH
, FR30BF_SFMT_BTSTL
},
82 { FR30_INSN_MUL
, FR30BF_INSN_MUL
, FR30BF_SFMT_MUL
},
83 { FR30_INSN_MULU
, FR30BF_INSN_MULU
, FR30BF_SFMT_MULU
},
84 { FR30_INSN_MULH
, FR30BF_INSN_MULH
, FR30BF_SFMT_MULH
},
85 { FR30_INSN_MULUH
, FR30BF_INSN_MULUH
, FR30BF_SFMT_MULH
},
86 { FR30_INSN_DIV0S
, FR30BF_INSN_DIV0S
, FR30BF_SFMT_DIV0S
},
87 { FR30_INSN_DIV0U
, FR30BF_INSN_DIV0U
, FR30BF_SFMT_DIV0U
},
88 { FR30_INSN_DIV1
, FR30BF_INSN_DIV1
, FR30BF_SFMT_DIV1
},
89 { FR30_INSN_DIV2
, FR30BF_INSN_DIV2
, FR30BF_SFMT_DIV2
},
90 { FR30_INSN_DIV3
, FR30BF_INSN_DIV3
, FR30BF_SFMT_DIV3
},
91 { FR30_INSN_DIV4S
, FR30BF_INSN_DIV4S
, FR30BF_SFMT_DIV4S
},
92 { FR30_INSN_LSL
, FR30BF_INSN_LSL
, FR30BF_SFMT_LSL
},
93 { FR30_INSN_LSLI
, FR30BF_INSN_LSLI
, FR30BF_SFMT_LSLI
},
94 { FR30_INSN_LSL2
, FR30BF_INSN_LSL2
, FR30BF_SFMT_LSLI
},
95 { FR30_INSN_LSR
, FR30BF_INSN_LSR
, FR30BF_SFMT_LSL
},
96 { FR30_INSN_LSRI
, FR30BF_INSN_LSRI
, FR30BF_SFMT_LSLI
},
97 { FR30_INSN_LSR2
, FR30BF_INSN_LSR2
, FR30BF_SFMT_LSLI
},
98 { FR30_INSN_ASR
, FR30BF_INSN_ASR
, FR30BF_SFMT_LSL
},
99 { FR30_INSN_ASRI
, FR30BF_INSN_ASRI
, FR30BF_SFMT_LSLI
},
100 { FR30_INSN_ASR2
, FR30BF_INSN_ASR2
, FR30BF_SFMT_LSLI
},
101 { FR30_INSN_LDI8
, FR30BF_INSN_LDI8
, FR30BF_SFMT_LDI8
},
102 { FR30_INSN_LDI20
, FR30BF_INSN_LDI20
, FR30BF_SFMT_LDI20
},
103 { FR30_INSN_LDI32
, FR30BF_INSN_LDI32
, FR30BF_SFMT_LDI32
},
104 { FR30_INSN_LD
, FR30BF_INSN_LD
, FR30BF_SFMT_LD
},
105 { FR30_INSN_LDUH
, FR30BF_INSN_LDUH
, FR30BF_SFMT_LDUH
},
106 { FR30_INSN_LDUB
, FR30BF_INSN_LDUB
, FR30BF_SFMT_LDUB
},
107 { FR30_INSN_LDR13
, FR30BF_INSN_LDR13
, FR30BF_SFMT_LDR13
},
108 { FR30_INSN_LDR13UH
, FR30BF_INSN_LDR13UH
, FR30BF_SFMT_LDR13UH
},
109 { FR30_INSN_LDR13UB
, FR30BF_INSN_LDR13UB
, FR30BF_SFMT_LDR13UB
},
110 { FR30_INSN_LDR14
, FR30BF_INSN_LDR14
, FR30BF_SFMT_LDR14
},
111 { FR30_INSN_LDR14UH
, FR30BF_INSN_LDR14UH
, FR30BF_SFMT_LDR14UH
},
112 { FR30_INSN_LDR14UB
, FR30BF_INSN_LDR14UB
, FR30BF_SFMT_LDR14UB
},
113 { FR30_INSN_LDR15
, FR30BF_INSN_LDR15
, FR30BF_SFMT_LDR15
},
114 { FR30_INSN_LDR15GR
, FR30BF_INSN_LDR15GR
, FR30BF_SFMT_LDR15GR
},
115 { FR30_INSN_LDR15DR
, FR30BF_INSN_LDR15DR
, FR30BF_SFMT_LDR15DR
},
116 { FR30_INSN_LDR15PS
, FR30BF_INSN_LDR15PS
, FR30BF_SFMT_LDR15PS
},
117 { FR30_INSN_ST
, FR30BF_INSN_ST
, FR30BF_SFMT_ST
},
118 { FR30_INSN_STH
, FR30BF_INSN_STH
, FR30BF_SFMT_STH
},
119 { FR30_INSN_STB
, FR30BF_INSN_STB
, FR30BF_SFMT_STB
},
120 { FR30_INSN_STR13
, FR30BF_INSN_STR13
, FR30BF_SFMT_STR13
},
121 { FR30_INSN_STR13H
, FR30BF_INSN_STR13H
, FR30BF_SFMT_STR13H
},
122 { FR30_INSN_STR13B
, FR30BF_INSN_STR13B
, FR30BF_SFMT_STR13B
},
123 { FR30_INSN_STR14
, FR30BF_INSN_STR14
, FR30BF_SFMT_STR14
},
124 { FR30_INSN_STR14H
, FR30BF_INSN_STR14H
, FR30BF_SFMT_STR14H
},
125 { FR30_INSN_STR14B
, FR30BF_INSN_STR14B
, FR30BF_SFMT_STR14B
},
126 { FR30_INSN_STR15
, FR30BF_INSN_STR15
, FR30BF_SFMT_STR15
},
127 { FR30_INSN_STR15GR
, FR30BF_INSN_STR15GR
, FR30BF_SFMT_STR15GR
},
128 { FR30_INSN_STR15DR
, FR30BF_INSN_STR15DR
, FR30BF_SFMT_STR15DR
},
129 { FR30_INSN_STR15PS
, FR30BF_INSN_STR15PS
, FR30BF_SFMT_STR15PS
},
130 { FR30_INSN_MOV
, FR30BF_INSN_MOV
, FR30BF_SFMT_MOV
},
131 { FR30_INSN_MOVDR
, FR30BF_INSN_MOVDR
, FR30BF_SFMT_MOVDR
},
132 { FR30_INSN_MOVPS
, FR30BF_INSN_MOVPS
, FR30BF_SFMT_MOVPS
},
133 { FR30_INSN_MOV2DR
, FR30BF_INSN_MOV2DR
, FR30BF_SFMT_MOV2DR
},
134 { FR30_INSN_MOV2PS
, FR30BF_INSN_MOV2PS
, FR30BF_SFMT_MOV2PS
},
135 { FR30_INSN_JMP
, FR30BF_INSN_JMP
, FR30BF_SFMT_JMP
},
136 { FR30_INSN_JMPD
, FR30BF_INSN_JMPD
, FR30BF_SFMT_JMP
},
137 { FR30_INSN_CALLR
, FR30BF_INSN_CALLR
, FR30BF_SFMT_CALLR
},
138 { FR30_INSN_CALLRD
, FR30BF_INSN_CALLRD
, FR30BF_SFMT_CALLR
},
139 { FR30_INSN_CALL
, FR30BF_INSN_CALL
, FR30BF_SFMT_CALL
},
140 { FR30_INSN_CALLD
, FR30BF_INSN_CALLD
, FR30BF_SFMT_CALL
},
141 { FR30_INSN_RET
, FR30BF_INSN_RET
, FR30BF_SFMT_RET
},
142 { FR30_INSN_RET_D
, FR30BF_INSN_RET_D
, FR30BF_SFMT_RET
},
143 { FR30_INSN_INT
, FR30BF_INSN_INT
, FR30BF_SFMT_INT
},
144 { FR30_INSN_INTE
, FR30BF_INSN_INTE
, FR30BF_SFMT_INTE
},
145 { FR30_INSN_RETI
, FR30BF_INSN_RETI
, FR30BF_SFMT_RETI
},
146 { FR30_INSN_BRAD
, FR30BF_INSN_BRAD
, FR30BF_SFMT_BRAD
},
147 { FR30_INSN_BRA
, FR30BF_INSN_BRA
, FR30BF_SFMT_BRAD
},
148 { FR30_INSN_BNOD
, FR30BF_INSN_BNOD
, FR30BF_SFMT_BNOD
},
149 { FR30_INSN_BNO
, FR30BF_INSN_BNO
, FR30BF_SFMT_BNOD
},
150 { FR30_INSN_BEQD
, FR30BF_INSN_BEQD
, FR30BF_SFMT_BEQD
},
151 { FR30_INSN_BEQ
, FR30BF_INSN_BEQ
, FR30BF_SFMT_BEQD
},
152 { FR30_INSN_BNED
, FR30BF_INSN_BNED
, FR30BF_SFMT_BEQD
},
153 { FR30_INSN_BNE
, FR30BF_INSN_BNE
, FR30BF_SFMT_BEQD
},
154 { FR30_INSN_BCD
, FR30BF_INSN_BCD
, FR30BF_SFMT_BCD
},
155 { FR30_INSN_BC
, FR30BF_INSN_BC
, FR30BF_SFMT_BCD
},
156 { FR30_INSN_BNCD
, FR30BF_INSN_BNCD
, FR30BF_SFMT_BCD
},
157 { FR30_INSN_BNC
, FR30BF_INSN_BNC
, FR30BF_SFMT_BCD
},
158 { FR30_INSN_BND
, FR30BF_INSN_BND
, FR30BF_SFMT_BND
},
159 { FR30_INSN_BN
, FR30BF_INSN_BN
, FR30BF_SFMT_BND
},
160 { FR30_INSN_BPD
, FR30BF_INSN_BPD
, FR30BF_SFMT_BND
},
161 { FR30_INSN_BP
, FR30BF_INSN_BP
, FR30BF_SFMT_BND
},
162 { FR30_INSN_BVD
, FR30BF_INSN_BVD
, FR30BF_SFMT_BVD
},
163 { FR30_INSN_BV
, FR30BF_INSN_BV
, FR30BF_SFMT_BVD
},
164 { FR30_INSN_BNVD
, FR30BF_INSN_BNVD
, FR30BF_SFMT_BVD
},
165 { FR30_INSN_BNV
, FR30BF_INSN_BNV
, FR30BF_SFMT_BVD
},
166 { FR30_INSN_BLTD
, FR30BF_INSN_BLTD
, FR30BF_SFMT_BLTD
},
167 { FR30_INSN_BLT
, FR30BF_INSN_BLT
, FR30BF_SFMT_BLTD
},
168 { FR30_INSN_BGED
, FR30BF_INSN_BGED
, FR30BF_SFMT_BLTD
},
169 { FR30_INSN_BGE
, FR30BF_INSN_BGE
, FR30BF_SFMT_BLTD
},
170 { FR30_INSN_BLED
, FR30BF_INSN_BLED
, FR30BF_SFMT_BLED
},
171 { FR30_INSN_BLE
, FR30BF_INSN_BLE
, FR30BF_SFMT_BLED
},
172 { FR30_INSN_BGTD
, FR30BF_INSN_BGTD
, FR30BF_SFMT_BLED
},
173 { FR30_INSN_BGT
, FR30BF_INSN_BGT
, FR30BF_SFMT_BLED
},
174 { FR30_INSN_BLSD
, FR30BF_INSN_BLSD
, FR30BF_SFMT_BLSD
},
175 { FR30_INSN_BLS
, FR30BF_INSN_BLS
, FR30BF_SFMT_BLSD
},
176 { FR30_INSN_BHID
, FR30BF_INSN_BHID
, FR30BF_SFMT_BLSD
},
177 { FR30_INSN_BHI
, FR30BF_INSN_BHI
, FR30BF_SFMT_BLSD
},
178 { FR30_INSN_DMOVR13
, FR30BF_INSN_DMOVR13
, FR30BF_SFMT_DMOVR13
},
179 { FR30_INSN_DMOVR13H
, FR30BF_INSN_DMOVR13H
, FR30BF_SFMT_DMOVR13H
},
180 { FR30_INSN_DMOVR13B
, FR30BF_INSN_DMOVR13B
, FR30BF_SFMT_DMOVR13B
},
181 { FR30_INSN_DMOVR13PI
, FR30BF_INSN_DMOVR13PI
, FR30BF_SFMT_DMOVR13PI
},
182 { FR30_INSN_DMOVR13PIH
, FR30BF_INSN_DMOVR13PIH
, FR30BF_SFMT_DMOVR13PIH
},
183 { FR30_INSN_DMOVR13PIB
, FR30BF_INSN_DMOVR13PIB
, FR30BF_SFMT_DMOVR13PIB
},
184 { FR30_INSN_DMOVR15PI
, FR30BF_INSN_DMOVR15PI
, FR30BF_SFMT_DMOVR15PI
},
185 { FR30_INSN_DMOV2R13
, FR30BF_INSN_DMOV2R13
, FR30BF_SFMT_DMOV2R13
},
186 { FR30_INSN_DMOV2R13H
, FR30BF_INSN_DMOV2R13H
, FR30BF_SFMT_DMOV2R13H
},
187 { FR30_INSN_DMOV2R13B
, FR30BF_INSN_DMOV2R13B
, FR30BF_SFMT_DMOV2R13B
},
188 { FR30_INSN_DMOV2R13PI
, FR30BF_INSN_DMOV2R13PI
, FR30BF_SFMT_DMOV2R13PI
},
189 { FR30_INSN_DMOV2R13PIH
, FR30BF_INSN_DMOV2R13PIH
, FR30BF_SFMT_DMOV2R13PIH
},
190 { FR30_INSN_DMOV2R13PIB
, FR30BF_INSN_DMOV2R13PIB
, FR30BF_SFMT_DMOV2R13PIB
},
191 { FR30_INSN_DMOV2R15PD
, FR30BF_INSN_DMOV2R15PD
, FR30BF_SFMT_DMOV2R15PD
},
192 { FR30_INSN_LDRES
, FR30BF_INSN_LDRES
, FR30BF_SFMT_LDRES
},
193 { FR30_INSN_STRES
, FR30BF_INSN_STRES
, FR30BF_SFMT_LDRES
},
194 { FR30_INSN_COPOP
, FR30BF_INSN_COPOP
, FR30BF_SFMT_COPOP
},
195 { FR30_INSN_COPLD
, FR30BF_INSN_COPLD
, FR30BF_SFMT_COPOP
},
196 { FR30_INSN_COPST
, FR30BF_INSN_COPST
, FR30BF_SFMT_COPOP
},
197 { FR30_INSN_COPSV
, FR30BF_INSN_COPSV
, FR30BF_SFMT_COPOP
},
198 { FR30_INSN_NOP
, FR30BF_INSN_NOP
, FR30BF_SFMT_BNOD
},
199 { FR30_INSN_ANDCCR
, FR30BF_INSN_ANDCCR
, FR30BF_SFMT_ANDCCR
},
200 { FR30_INSN_ORCCR
, FR30BF_INSN_ORCCR
, FR30BF_SFMT_ANDCCR
},
201 { FR30_INSN_STILM
, FR30BF_INSN_STILM
, FR30BF_SFMT_STILM
},
202 { FR30_INSN_ADDSP
, FR30BF_INSN_ADDSP
, FR30BF_SFMT_ADDSP
},
203 { FR30_INSN_EXTSB
, FR30BF_INSN_EXTSB
, FR30BF_SFMT_EXTSB
},
204 { FR30_INSN_EXTUB
, FR30BF_INSN_EXTUB
, FR30BF_SFMT_EXTUB
},
205 { FR30_INSN_EXTSH
, FR30BF_INSN_EXTSH
, FR30BF_SFMT_EXTSH
},
206 { FR30_INSN_EXTUH
, FR30BF_INSN_EXTUH
, FR30BF_SFMT_EXTUH
},
207 { FR30_INSN_LDM0
, FR30BF_INSN_LDM0
, FR30BF_SFMT_LDM0
},
208 { FR30_INSN_LDM1
, FR30BF_INSN_LDM1
, FR30BF_SFMT_LDM1
},
209 { FR30_INSN_STM0
, FR30BF_INSN_STM0
, FR30BF_SFMT_STM0
},
210 { FR30_INSN_STM1
, FR30BF_INSN_STM1
, FR30BF_SFMT_STM1
},
211 { FR30_INSN_ENTER
, FR30BF_INSN_ENTER
, FR30BF_SFMT_ENTER
},
212 { FR30_INSN_LEAVE
, FR30BF_INSN_LEAVE
, FR30BF_SFMT_LEAVE
},
213 { FR30_INSN_XCHB
, FR30BF_INSN_XCHB
, FR30BF_SFMT_XCHB
},
216 static const struct insn_sem fr30bf_insn_sem_invalid
= {
217 VIRTUAL_INSN_X_INVALID
, FR30BF_INSN_X_INVALID
, FR30BF_SFMT_EMPTY
220 /* Initialize an IDESC from the compile-time computable parts. */
223 init_idesc (SIM_CPU
*cpu
, IDESC
*id
, const struct insn_sem
*t
)
225 const CGEN_INSN
*insn_table
= CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu
))->init_entries
;
229 if ((int) t
->type
<= 0)
230 id
->idata
= & cgen_virtual_insn_table
[- (int) t
->type
];
232 id
->idata
= & insn_table
[t
->type
];
233 id
->attrs
= CGEN_INSN_ATTRS (id
->idata
);
234 /* Oh my god, a magic number. */
235 id
->length
= CGEN_INSN_BITSIZE (id
->idata
) / 8;
237 #if WITH_PROFILE_MODEL_P
238 id
->timing
= & MODEL_TIMING (CPU_MODEL (cpu
)) [t
->index
];
240 SIM_DESC sd
= CPU_STATE (cpu
);
241 SIM_ASSERT (t
->index
== id
->timing
->num
);
245 /* Semantic pointers are initialized elsewhere. */
248 /* Initialize the instruction descriptor table. */
251 fr30bf_init_idesc_table (SIM_CPU
*cpu
)
254 const struct insn_sem
*t
,*tend
;
255 int tabsize
= sizeof (fr30bf_insn_data
) / sizeof (IDESC
);
256 IDESC
*table
= fr30bf_insn_data
;
258 memset (table
, 0, tabsize
* sizeof (IDESC
));
260 /* First set all entries to the `invalid insn'. */
261 t
= & fr30bf_insn_sem_invalid
;
262 for (id
= table
, tabend
= table
+ tabsize
; id
< tabend
; ++id
)
263 init_idesc (cpu
, id
, t
);
265 /* Now fill in the values for the chosen cpu. */
266 for (t
= fr30bf_insn_sem
, tend
= t
+ sizeof (fr30bf_insn_sem
) / sizeof (*t
);
269 init_idesc (cpu
, & table
[t
->index
], t
);
272 /* Link the IDESC table into the cpu. */
273 CPU_IDESC (cpu
) = table
;
276 /* Given an instruction, return a pointer to its IDESC entry. */
279 fr30bf_decode (SIM_CPU
*current_cpu
, IADDR pc
,
280 CGEN_INSN_INT base_insn
,
283 /* Result of decoder. */
284 FR30BF_INSN_TYPE itype
;
287 CGEN_INSN_INT insn
= base_insn
;
290 unsigned int val
= (((insn
>> 8) & (255 << 0)));
293 case 0 : itype
= FR30BF_INSN_LDR13
;goto extract_sfmt_ldr13
;
294 case 1 : itype
= FR30BF_INSN_LDR13UH
;goto extract_sfmt_ldr13uh
;
295 case 2 : itype
= FR30BF_INSN_LDR13UB
;goto extract_sfmt_ldr13ub
;
296 case 3 : itype
= FR30BF_INSN_LDR15
;goto extract_sfmt_ldr15
;
297 case 4 : itype
= FR30BF_INSN_LD
;goto extract_sfmt_ld
;
298 case 5 : itype
= FR30BF_INSN_LDUH
;goto extract_sfmt_lduh
;
299 case 6 : itype
= FR30BF_INSN_LDUB
;goto extract_sfmt_ldub
;
302 unsigned int val
= (((insn
>> 6) & (1 << 1)) | ((insn
>> 4) & (1 << 0)));
305 case 0 : itype
= FR30BF_INSN_LDR15GR
;goto extract_sfmt_ldr15gr
;
306 case 1 : itype
= FR30BF_INSN_MOV2PS
;goto extract_sfmt_mov2ps
;
307 case 2 : itype
= FR30BF_INSN_LDR15DR
;goto extract_sfmt_ldr15dr
;
308 case 3 : itype
= FR30BF_INSN_LDR15PS
;goto extract_sfmt_ldr15ps
;
309 default : itype
= FR30BF_INSN_X_INVALID
; goto extract_sfmt_empty
;
312 case 8 : itype
= FR30BF_INSN_DMOV2R13
;goto extract_sfmt_dmov2r13
;
313 case 9 : itype
= FR30BF_INSN_DMOV2R13H
;goto extract_sfmt_dmov2r13h
;
314 case 10 : itype
= FR30BF_INSN_DMOV2R13B
;goto extract_sfmt_dmov2r13b
;
315 case 11 : itype
= FR30BF_INSN_DMOV2R15PD
;goto extract_sfmt_dmov2r15pd
;
316 case 12 : itype
= FR30BF_INSN_DMOV2R13PI
;goto extract_sfmt_dmov2r13pi
;
317 case 13 : itype
= FR30BF_INSN_DMOV2R13PIH
;goto extract_sfmt_dmov2r13pih
;
318 case 14 : itype
= FR30BF_INSN_DMOV2R13PIB
;goto extract_sfmt_dmov2r13pib
;
319 case 15 : itype
= FR30BF_INSN_ENTER
;goto extract_sfmt_enter
;
320 case 16 : itype
= FR30BF_INSN_STR13
;goto extract_sfmt_str13
;
321 case 17 : itype
= FR30BF_INSN_STR13H
;goto extract_sfmt_str13h
;
322 case 18 : itype
= FR30BF_INSN_STR13B
;goto extract_sfmt_str13b
;
323 case 19 : itype
= FR30BF_INSN_STR15
;goto extract_sfmt_str15
;
324 case 20 : itype
= FR30BF_INSN_ST
;goto extract_sfmt_st
;
325 case 21 : itype
= FR30BF_INSN_STH
;goto extract_sfmt_sth
;
326 case 22 : itype
= FR30BF_INSN_STB
;goto extract_sfmt_stb
;
329 unsigned int val
= (((insn
>> 6) & (1 << 1)) | ((insn
>> 4) & (1 << 0)));
332 case 0 : itype
= FR30BF_INSN_STR15GR
;goto extract_sfmt_str15gr
;
333 case 1 : itype
= FR30BF_INSN_MOVPS
;goto extract_sfmt_movps
;
334 case 2 : itype
= FR30BF_INSN_STR15DR
;goto extract_sfmt_str15dr
;
335 case 3 : itype
= FR30BF_INSN_STR15PS
;goto extract_sfmt_str15ps
;
336 default : itype
= FR30BF_INSN_X_INVALID
; goto extract_sfmt_empty
;
339 case 24 : itype
= FR30BF_INSN_DMOVR13
;goto extract_sfmt_dmovr13
;
340 case 25 : itype
= FR30BF_INSN_DMOVR13H
;goto extract_sfmt_dmovr13h
;
341 case 26 : itype
= FR30BF_INSN_DMOVR13B
;goto extract_sfmt_dmovr13b
;
342 case 27 : itype
= FR30BF_INSN_DMOVR15PI
;goto extract_sfmt_dmovr15pi
;
343 case 28 : itype
= FR30BF_INSN_DMOVR13PI
;goto extract_sfmt_dmovr13pi
;
344 case 29 : itype
= FR30BF_INSN_DMOVR13PIH
;goto extract_sfmt_dmovr13pih
;
345 case 30 : itype
= FR30BF_INSN_DMOVR13PIB
;goto extract_sfmt_dmovr13pib
;
346 case 31 : itype
= FR30BF_INSN_INT
;goto extract_sfmt_int
;
347 case 32 : /* fall through */
348 case 33 : /* fall through */
349 case 34 : /* fall through */
350 case 35 : /* fall through */
351 case 36 : /* fall through */
352 case 37 : /* fall through */
353 case 38 : /* fall through */
354 case 39 : /* fall through */
355 case 40 : /* fall through */
356 case 41 : /* fall through */
357 case 42 : /* fall through */
358 case 43 : /* fall through */
359 case 44 : /* fall through */
360 case 45 : /* fall through */
361 case 46 : /* fall through */
362 case 47 : itype
= FR30BF_INSN_LDR14
;goto extract_sfmt_ldr14
;
363 case 48 : /* fall through */
364 case 49 : /* fall through */
365 case 50 : /* fall through */
366 case 51 : /* fall through */
367 case 52 : /* fall through */
368 case 53 : /* fall through */
369 case 54 : /* fall through */
370 case 55 : /* fall through */
371 case 56 : /* fall through */
372 case 57 : /* fall through */
373 case 58 : /* fall through */
374 case 59 : /* fall through */
375 case 60 : /* fall through */
376 case 61 : /* fall through */
377 case 62 : /* fall through */
378 case 63 : itype
= FR30BF_INSN_STR14
;goto extract_sfmt_str14
;
379 case 64 : /* fall through */
380 case 65 : /* fall through */
381 case 66 : /* fall through */
382 case 67 : /* fall through */
383 case 68 : /* fall through */
384 case 69 : /* fall through */
385 case 70 : /* fall through */
386 case 71 : /* fall through */
387 case 72 : /* fall through */
388 case 73 : /* fall through */
389 case 74 : /* fall through */
390 case 75 : /* fall through */
391 case 76 : /* fall through */
392 case 77 : /* fall through */
393 case 78 : /* fall through */
394 case 79 : itype
= FR30BF_INSN_LDR14UH
;goto extract_sfmt_ldr14uh
;
395 case 80 : /* fall through */
396 case 81 : /* fall through */
397 case 82 : /* fall through */
398 case 83 : /* fall through */
399 case 84 : /* fall through */
400 case 85 : /* fall through */
401 case 86 : /* fall through */
402 case 87 : /* fall through */
403 case 88 : /* fall through */
404 case 89 : /* fall through */
405 case 90 : /* fall through */
406 case 91 : /* fall through */
407 case 92 : /* fall through */
408 case 93 : /* fall through */
409 case 94 : /* fall through */
410 case 95 : itype
= FR30BF_INSN_STR14H
;goto extract_sfmt_str14h
;
411 case 96 : /* fall through */
412 case 97 : /* fall through */
413 case 98 : /* fall through */
414 case 99 : /* fall through */
415 case 100 : /* fall through */
416 case 101 : /* fall through */
417 case 102 : /* fall through */
418 case 103 : /* fall through */
419 case 104 : /* fall through */
420 case 105 : /* fall through */
421 case 106 : /* fall through */
422 case 107 : /* fall through */
423 case 108 : /* fall through */
424 case 109 : /* fall through */
425 case 110 : /* fall through */
426 case 111 : itype
= FR30BF_INSN_LDR14UB
;goto extract_sfmt_ldr14ub
;
427 case 112 : /* fall through */
428 case 113 : /* fall through */
429 case 114 : /* fall through */
430 case 115 : /* fall through */
431 case 116 : /* fall through */
432 case 117 : /* fall through */
433 case 118 : /* fall through */
434 case 119 : /* fall through */
435 case 120 : /* fall through */
436 case 121 : /* fall through */
437 case 122 : /* fall through */
438 case 123 : /* fall through */
439 case 124 : /* fall through */
440 case 125 : /* fall through */
441 case 126 : /* fall through */
442 case 127 : itype
= FR30BF_INSN_STR14B
;goto extract_sfmt_str14b
;
443 case 128 : itype
= FR30BF_INSN_BANDL
;goto extract_sfmt_bandl
;
444 case 129 : itype
= FR30BF_INSN_BANDH
;goto extract_sfmt_bandl
;
445 case 130 : itype
= FR30BF_INSN_AND
;goto extract_sfmt_and
;
446 case 131 : itype
= FR30BF_INSN_ANDCCR
;goto extract_sfmt_andccr
;
447 case 132 : itype
= FR30BF_INSN_ANDM
;goto extract_sfmt_andm
;
448 case 133 : itype
= FR30BF_INSN_ANDH
;goto extract_sfmt_andh
;
449 case 134 : itype
= FR30BF_INSN_ANDB
;goto extract_sfmt_andb
;
450 case 135 : itype
= FR30BF_INSN_STILM
;goto extract_sfmt_stilm
;
451 case 136 : itype
= FR30BF_INSN_BTSTL
;goto extract_sfmt_btstl
;
452 case 137 : itype
= FR30BF_INSN_BTSTH
;goto extract_sfmt_btstl
;
453 case 138 : itype
= FR30BF_INSN_XCHB
;goto extract_sfmt_xchb
;
454 case 139 : itype
= FR30BF_INSN_MOV
;goto extract_sfmt_mov
;
455 case 140 : itype
= FR30BF_INSN_LDM0
;goto extract_sfmt_ldm0
;
456 case 141 : itype
= FR30BF_INSN_LDM1
;goto extract_sfmt_ldm1
;
457 case 142 : itype
= FR30BF_INSN_STM0
;goto extract_sfmt_stm0
;
458 case 143 : itype
= FR30BF_INSN_STM1
;goto extract_sfmt_stm1
;
459 case 144 : itype
= FR30BF_INSN_BORL
;goto extract_sfmt_bandl
;
460 case 145 : itype
= FR30BF_INSN_BORH
;goto extract_sfmt_bandl
;
461 case 146 : itype
= FR30BF_INSN_OR
;goto extract_sfmt_and
;
462 case 147 : itype
= FR30BF_INSN_ORCCR
;goto extract_sfmt_andccr
;
463 case 148 : itype
= FR30BF_INSN_ORM
;goto extract_sfmt_andm
;
464 case 149 : itype
= FR30BF_INSN_ORH
;goto extract_sfmt_andh
;
465 case 150 : itype
= FR30BF_INSN_ORB
;goto extract_sfmt_andb
;
468 unsigned int val
= (((insn
>> 4) & (15 << 0)));
471 case 0 : itype
= FR30BF_INSN_JMP
;goto extract_sfmt_jmp
;
472 case 1 : itype
= FR30BF_INSN_CALLR
;goto extract_sfmt_callr
;
473 case 2 : itype
= FR30BF_INSN_RET
;goto extract_sfmt_ret
;
474 case 3 : itype
= FR30BF_INSN_RETI
;goto extract_sfmt_reti
;
475 case 4 : itype
= FR30BF_INSN_DIV0S
;goto extract_sfmt_div0s
;
476 case 5 : itype
= FR30BF_INSN_DIV0U
;goto extract_sfmt_div0u
;
477 case 6 : itype
= FR30BF_INSN_DIV1
;goto extract_sfmt_div1
;
478 case 7 : itype
= FR30BF_INSN_DIV2
;goto extract_sfmt_div2
;
479 case 8 : itype
= FR30BF_INSN_EXTSB
;goto extract_sfmt_extsb
;
480 case 9 : itype
= FR30BF_INSN_EXTUB
;goto extract_sfmt_extub
;
481 case 10 : itype
= FR30BF_INSN_EXTSH
;goto extract_sfmt_extsh
;
482 case 11 : itype
= FR30BF_INSN_EXTUH
;goto extract_sfmt_extuh
;
483 default : itype
= FR30BF_INSN_X_INVALID
; goto extract_sfmt_empty
;
486 case 152 : itype
= FR30BF_INSN_BEORL
;goto extract_sfmt_bandl
;
487 case 153 : itype
= FR30BF_INSN_BEORH
;goto extract_sfmt_bandl
;
488 case 154 : itype
= FR30BF_INSN_EOR
;goto extract_sfmt_and
;
489 case 155 : itype
= FR30BF_INSN_LDI20
;goto extract_sfmt_ldi20
;
490 case 156 : itype
= FR30BF_INSN_EORM
;goto extract_sfmt_andm
;
491 case 157 : itype
= FR30BF_INSN_EORH
;goto extract_sfmt_andh
;
492 case 158 : itype
= FR30BF_INSN_EORB
;goto extract_sfmt_andb
;
495 unsigned int val
= (((insn
>> 4) & (15 << 0)));
498 case 0 : itype
= FR30BF_INSN_JMPD
;goto extract_sfmt_jmp
;
499 case 1 : itype
= FR30BF_INSN_CALLRD
;goto extract_sfmt_callr
;
500 case 2 : itype
= FR30BF_INSN_RET_D
;goto extract_sfmt_ret
;
501 case 3 : itype
= FR30BF_INSN_INTE
;goto extract_sfmt_inte
;
502 case 6 : itype
= FR30BF_INSN_DIV3
;goto extract_sfmt_div3
;
503 case 7 : itype
= FR30BF_INSN_DIV4S
;goto extract_sfmt_div4s
;
504 case 8 : itype
= FR30BF_INSN_LDI32
;goto extract_sfmt_ldi32
;
505 case 9 : itype
= FR30BF_INSN_LEAVE
;goto extract_sfmt_leave
;
506 case 10 : itype
= FR30BF_INSN_NOP
;goto extract_sfmt_bnod
;
507 case 12 : itype
= FR30BF_INSN_COPOP
;goto extract_sfmt_copop
;
508 case 13 : itype
= FR30BF_INSN_COPLD
;goto extract_sfmt_copop
;
509 case 14 : itype
= FR30BF_INSN_COPST
;goto extract_sfmt_copop
;
510 case 15 : itype
= FR30BF_INSN_COPSV
;goto extract_sfmt_copop
;
511 default : itype
= FR30BF_INSN_X_INVALID
; goto extract_sfmt_empty
;
514 case 160 : itype
= FR30BF_INSN_ADDNI
;goto extract_sfmt_addni
;
515 case 161 : itype
= FR30BF_INSN_ADDN2
;goto extract_sfmt_addn2
;
516 case 162 : itype
= FR30BF_INSN_ADDN
;goto extract_sfmt_addn
;
517 case 163 : itype
= FR30BF_INSN_ADDSP
;goto extract_sfmt_addsp
;
518 case 164 : itype
= FR30BF_INSN_ADDI
;goto extract_sfmt_addi
;
519 case 165 : itype
= FR30BF_INSN_ADD2
;goto extract_sfmt_add2
;
520 case 166 : itype
= FR30BF_INSN_ADD
;goto extract_sfmt_add
;
521 case 167 : itype
= FR30BF_INSN_ADDC
;goto extract_sfmt_addc
;
522 case 168 : itype
= FR30BF_INSN_CMPI
;goto extract_sfmt_cmpi
;
523 case 169 : itype
= FR30BF_INSN_CMP2
;goto extract_sfmt_cmp2
;
524 case 170 : itype
= FR30BF_INSN_CMP
;goto extract_sfmt_cmp
;
525 case 171 : itype
= FR30BF_INSN_MULU
;goto extract_sfmt_mulu
;
526 case 172 : itype
= FR30BF_INSN_SUB
;goto extract_sfmt_add
;
527 case 173 : itype
= FR30BF_INSN_SUBC
;goto extract_sfmt_addc
;
528 case 174 : itype
= FR30BF_INSN_SUBN
;goto extract_sfmt_addn
;
529 case 175 : itype
= FR30BF_INSN_MUL
;goto extract_sfmt_mul
;
530 case 176 : itype
= FR30BF_INSN_LSRI
;goto extract_sfmt_lsli
;
531 case 177 : itype
= FR30BF_INSN_LSR2
;goto extract_sfmt_lsli
;
532 case 178 : itype
= FR30BF_INSN_LSR
;goto extract_sfmt_lsl
;
533 case 179 : itype
= FR30BF_INSN_MOV2DR
;goto extract_sfmt_mov2dr
;
534 case 180 : itype
= FR30BF_INSN_LSLI
;goto extract_sfmt_lsli
;
535 case 181 : itype
= FR30BF_INSN_LSL2
;goto extract_sfmt_lsli
;
536 case 182 : itype
= FR30BF_INSN_LSL
;goto extract_sfmt_lsl
;
537 case 183 : itype
= FR30BF_INSN_MOVDR
;goto extract_sfmt_movdr
;
538 case 184 : itype
= FR30BF_INSN_ASRI
;goto extract_sfmt_lsli
;
539 case 185 : itype
= FR30BF_INSN_ASR2
;goto extract_sfmt_lsli
;
540 case 186 : itype
= FR30BF_INSN_ASR
;goto extract_sfmt_lsl
;
541 case 187 : itype
= FR30BF_INSN_MULUH
;goto extract_sfmt_mulh
;
542 case 188 : itype
= FR30BF_INSN_LDRES
;goto extract_sfmt_ldres
;
543 case 189 : itype
= FR30BF_INSN_STRES
;goto extract_sfmt_ldres
;
544 case 191 : itype
= FR30BF_INSN_MULH
;goto extract_sfmt_mulh
;
545 case 192 : /* fall through */
546 case 193 : /* fall through */
547 case 194 : /* fall through */
548 case 195 : /* fall through */
549 case 196 : /* fall through */
550 case 197 : /* fall through */
551 case 198 : /* fall through */
552 case 199 : /* fall through */
553 case 200 : /* fall through */
554 case 201 : /* fall through */
555 case 202 : /* fall through */
556 case 203 : /* fall through */
557 case 204 : /* fall through */
558 case 205 : /* fall through */
559 case 206 : /* fall through */
560 case 207 : itype
= FR30BF_INSN_LDI8
;goto extract_sfmt_ldi8
;
561 case 208 : /* fall through */
562 case 209 : /* fall through */
563 case 210 : /* fall through */
564 case 211 : /* fall through */
565 case 212 : /* fall through */
566 case 213 : /* fall through */
567 case 214 : /* fall through */
568 case 215 : itype
= FR30BF_INSN_CALL
;goto extract_sfmt_call
;
569 case 216 : /* fall through */
570 case 217 : /* fall through */
571 case 218 : /* fall through */
572 case 219 : /* fall through */
573 case 220 : /* fall through */
574 case 221 : /* fall through */
575 case 222 : /* fall through */
576 case 223 : itype
= FR30BF_INSN_CALLD
;goto extract_sfmt_call
;
577 case 224 : itype
= FR30BF_INSN_BRA
;goto extract_sfmt_brad
;
578 case 225 : itype
= FR30BF_INSN_BNO
;goto extract_sfmt_bnod
;
579 case 226 : itype
= FR30BF_INSN_BEQ
;goto extract_sfmt_beqd
;
580 case 227 : itype
= FR30BF_INSN_BNE
;goto extract_sfmt_beqd
;
581 case 228 : itype
= FR30BF_INSN_BC
;goto extract_sfmt_bcd
;
582 case 229 : itype
= FR30BF_INSN_BNC
;goto extract_sfmt_bcd
;
583 case 230 : itype
= FR30BF_INSN_BN
;goto extract_sfmt_bnd
;
584 case 231 : itype
= FR30BF_INSN_BP
;goto extract_sfmt_bnd
;
585 case 232 : itype
= FR30BF_INSN_BV
;goto extract_sfmt_bvd
;
586 case 233 : itype
= FR30BF_INSN_BNV
;goto extract_sfmt_bvd
;
587 case 234 : itype
= FR30BF_INSN_BLT
;goto extract_sfmt_bltd
;
588 case 235 : itype
= FR30BF_INSN_BGE
;goto extract_sfmt_bltd
;
589 case 236 : itype
= FR30BF_INSN_BLE
;goto extract_sfmt_bled
;
590 case 237 : itype
= FR30BF_INSN_BGT
;goto extract_sfmt_bled
;
591 case 238 : itype
= FR30BF_INSN_BLS
;goto extract_sfmt_blsd
;
592 case 239 : itype
= FR30BF_INSN_BHI
;goto extract_sfmt_blsd
;
593 case 240 : itype
= FR30BF_INSN_BRAD
;goto extract_sfmt_brad
;
594 case 241 : itype
= FR30BF_INSN_BNOD
;goto extract_sfmt_bnod
;
595 case 242 : itype
= FR30BF_INSN_BEQD
;goto extract_sfmt_beqd
;
596 case 243 : itype
= FR30BF_INSN_BNED
;goto extract_sfmt_beqd
;
597 case 244 : itype
= FR30BF_INSN_BCD
;goto extract_sfmt_bcd
;
598 case 245 : itype
= FR30BF_INSN_BNCD
;goto extract_sfmt_bcd
;
599 case 246 : itype
= FR30BF_INSN_BND
;goto extract_sfmt_bnd
;
600 case 247 : itype
= FR30BF_INSN_BPD
;goto extract_sfmt_bnd
;
601 case 248 : itype
= FR30BF_INSN_BVD
;goto extract_sfmt_bvd
;
602 case 249 : itype
= FR30BF_INSN_BNVD
;goto extract_sfmt_bvd
;
603 case 250 : itype
= FR30BF_INSN_BLTD
;goto extract_sfmt_bltd
;
604 case 251 : itype
= FR30BF_INSN_BGED
;goto extract_sfmt_bltd
;
605 case 252 : itype
= FR30BF_INSN_BLED
;goto extract_sfmt_bled
;
606 case 253 : itype
= FR30BF_INSN_BGTD
;goto extract_sfmt_bled
;
607 case 254 : itype
= FR30BF_INSN_BLSD
;goto extract_sfmt_blsd
;
608 case 255 : itype
= FR30BF_INSN_BHID
;goto extract_sfmt_blsd
;
609 default : itype
= FR30BF_INSN_X_INVALID
; goto extract_sfmt_empty
;
614 /* The instruction has been decoded, now extract the fields. */
618 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
619 #define FLD(f) abuf->fields.fmt_empty.f
622 /* Record the fields for the semantic handler. */
623 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_empty", (char *) 0));
631 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
632 CGEN_INSN_INT insn
= base_insn
;
633 #define FLD(f) abuf->fields.sfmt_add.f
637 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
638 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
640 /* Record the fields for the semantic handler. */
643 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
644 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
645 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_add", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
647 #if WITH_PROFILE_MODEL_P
648 /* Record the fields for profiling. */
649 if (PROFILE_MODEL_P (current_cpu
))
662 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
663 CGEN_INSN_INT insn
= base_insn
;
664 #define FLD(f) abuf->fields.sfmt_addi.f
668 f_u4
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
669 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
671 /* Record the fields for the semantic handler. */
674 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
675 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addi", "f_Ri 0x%x", 'x', f_Ri
, "f_u4 0x%x", 'x', f_u4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
677 #if WITH_PROFILE_MODEL_P
678 /* Record the fields for profiling. */
679 if (PROFILE_MODEL_P (current_cpu
))
691 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
692 CGEN_INSN_INT insn
= base_insn
;
693 #define FLD(f) abuf->fields.sfmt_add2.f
697 f_m4
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 4)) | (((-1) << (4))));
698 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
700 /* Record the fields for the semantic handler. */
703 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
704 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_add2", "f_Ri 0x%x", 'x', f_Ri
, "f_m4 0x%x", 'x', f_m4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
706 #if WITH_PROFILE_MODEL_P
707 /* Record the fields for profiling. */
708 if (PROFILE_MODEL_P (current_cpu
))
720 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
721 CGEN_INSN_INT insn
= base_insn
;
722 #define FLD(f) abuf->fields.sfmt_add.f
726 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
727 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
729 /* Record the fields for the semantic handler. */
732 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
733 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
734 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addc", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
736 #if WITH_PROFILE_MODEL_P
737 /* Record the fields for profiling. */
738 if (PROFILE_MODEL_P (current_cpu
))
751 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
752 CGEN_INSN_INT insn
= base_insn
;
753 #define FLD(f) abuf->fields.sfmt_add.f
757 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
758 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
760 /* Record the fields for the semantic handler. */
763 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
764 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
765 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addn", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
767 #if WITH_PROFILE_MODEL_P
768 /* Record the fields for profiling. */
769 if (PROFILE_MODEL_P (current_cpu
))
782 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
783 CGEN_INSN_INT insn
= base_insn
;
784 #define FLD(f) abuf->fields.sfmt_addi.f
788 f_u4
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
789 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
791 /* Record the fields for the semantic handler. */
794 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
795 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addni", "f_Ri 0x%x", 'x', f_Ri
, "f_u4 0x%x", 'x', f_u4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
797 #if WITH_PROFILE_MODEL_P
798 /* Record the fields for profiling. */
799 if (PROFILE_MODEL_P (current_cpu
))
811 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
812 CGEN_INSN_INT insn
= base_insn
;
813 #define FLD(f) abuf->fields.sfmt_add2.f
817 f_m4
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 4)) | (((-1) << (4))));
818 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
820 /* Record the fields for the semantic handler. */
823 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
824 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addn2", "f_Ri 0x%x", 'x', f_Ri
, "f_m4 0x%x", 'x', f_m4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
826 #if WITH_PROFILE_MODEL_P
827 /* Record the fields for profiling. */
828 if (PROFILE_MODEL_P (current_cpu
))
840 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
841 CGEN_INSN_INT insn
= base_insn
;
842 #define FLD(f) abuf->fields.sfmt_str13.f
846 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
847 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
849 /* Record the fields for the semantic handler. */
852 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
853 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
854 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmp", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
856 #if WITH_PROFILE_MODEL_P
857 /* Record the fields for profiling. */
858 if (PROFILE_MODEL_P (current_cpu
))
870 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
871 CGEN_INSN_INT insn
= base_insn
;
872 #define FLD(f) abuf->fields.sfmt_addi.f
876 f_u4
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
877 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
879 /* Record the fields for the semantic handler. */
882 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
883 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmpi", "f_Ri 0x%x", 'x', f_Ri
, "f_u4 0x%x", 'x', f_u4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
885 #if WITH_PROFILE_MODEL_P
886 /* Record the fields for profiling. */
887 if (PROFILE_MODEL_P (current_cpu
))
898 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
899 CGEN_INSN_INT insn
= base_insn
;
900 #define FLD(f) abuf->fields.sfmt_add2.f
904 f_m4
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 4)) | (((-1) << (4))));
905 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
907 /* Record the fields for the semantic handler. */
910 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
911 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_cmp2", "f_Ri 0x%x", 'x', f_Ri
, "f_m4 0x%x", 'x', f_m4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
913 #if WITH_PROFILE_MODEL_P
914 /* Record the fields for profiling. */
915 if (PROFILE_MODEL_P (current_cpu
))
926 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
927 CGEN_INSN_INT insn
= base_insn
;
928 #define FLD(f) abuf->fields.sfmt_add.f
932 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
933 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
935 /* Record the fields for the semantic handler. */
938 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
939 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
940 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_and", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
942 #if WITH_PROFILE_MODEL_P
943 /* Record the fields for profiling. */
944 if (PROFILE_MODEL_P (current_cpu
))
957 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
958 CGEN_INSN_INT insn
= base_insn
;
959 #define FLD(f) abuf->fields.sfmt_str13.f
963 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
964 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
966 /* Record the fields for the semantic handler. */
969 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
970 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
971 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_andm", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
973 #if WITH_PROFILE_MODEL_P
974 /* Record the fields for profiling. */
975 if (PROFILE_MODEL_P (current_cpu
))
987 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
988 CGEN_INSN_INT insn
= base_insn
;
989 #define FLD(f) abuf->fields.sfmt_str13.f
993 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
994 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
996 /* Record the fields for the semantic handler. */
999 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1000 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1001 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_andh", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1003 #if WITH_PROFILE_MODEL_P
1004 /* Record the fields for profiling. */
1005 if (PROFILE_MODEL_P (current_cpu
))
1017 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1018 CGEN_INSN_INT insn
= base_insn
;
1019 #define FLD(f) abuf->fields.sfmt_str13.f
1023 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1024 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1026 /* Record the fields for the semantic handler. */
1029 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1030 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1031 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_andb", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1033 #if WITH_PROFILE_MODEL_P
1034 /* Record the fields for profiling. */
1035 if (PROFILE_MODEL_P (current_cpu
))
1047 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1048 CGEN_INSN_INT insn
= base_insn
;
1049 #define FLD(f) abuf->fields.sfmt_addi.f
1053 f_u4
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1054 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1056 /* Record the fields for the semantic handler. */
1059 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1060 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bandl", "f_Ri 0x%x", 'x', f_Ri
, "f_u4 0x%x", 'x', f_u4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1062 #if WITH_PROFILE_MODEL_P
1063 /* Record the fields for profiling. */
1064 if (PROFILE_MODEL_P (current_cpu
))
1075 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1076 CGEN_INSN_INT insn
= base_insn
;
1077 #define FLD(f) abuf->fields.sfmt_addi.f
1081 f_u4
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1082 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1084 /* Record the fields for the semantic handler. */
1087 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1088 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_btstl", "f_Ri 0x%x", 'x', f_Ri
, "f_u4 0x%x", 'x', f_u4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1090 #if WITH_PROFILE_MODEL_P
1091 /* Record the fields for profiling. */
1092 if (PROFILE_MODEL_P (current_cpu
))
1103 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1104 CGEN_INSN_INT insn
= base_insn
;
1105 #define FLD(f) abuf->fields.sfmt_str13.f
1109 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1110 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1112 /* Record the fields for the semantic handler. */
1115 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1116 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1117 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mul", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1119 #if WITH_PROFILE_MODEL_P
1120 /* Record the fields for profiling. */
1121 if (PROFILE_MODEL_P (current_cpu
))
1133 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1134 CGEN_INSN_INT insn
= base_insn
;
1135 #define FLD(f) abuf->fields.sfmt_str13.f
1139 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1140 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1142 /* Record the fields for the semantic handler. */
1145 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1146 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1147 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mulu", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1149 #if WITH_PROFILE_MODEL_P
1150 /* Record the fields for profiling. */
1151 if (PROFILE_MODEL_P (current_cpu
))
1163 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1164 CGEN_INSN_INT insn
= base_insn
;
1165 #define FLD(f) abuf->fields.sfmt_str13.f
1169 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1170 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1172 /* Record the fields for the semantic handler. */
1175 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1176 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1177 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mulh", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1179 #if WITH_PROFILE_MODEL_P
1180 /* Record the fields for profiling. */
1181 if (PROFILE_MODEL_P (current_cpu
))
1193 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1194 CGEN_INSN_INT insn
= base_insn
;
1195 #define FLD(f) abuf->fields.sfmt_mov2dr.f
1198 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1200 /* Record the fields for the semantic handler. */
1202 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1203 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div0s", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1205 #if WITH_PROFILE_MODEL_P
1206 /* Record the fields for profiling. */
1207 if (PROFILE_MODEL_P (current_cpu
))
1218 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1219 #define FLD(f) abuf->fields.fmt_empty.f
1222 /* Record the fields for the semantic handler. */
1223 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div0u", (char *) 0));
1231 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1232 CGEN_INSN_INT insn
= base_insn
;
1233 #define FLD(f) abuf->fields.sfmt_mov2dr.f
1236 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1238 /* Record the fields for the semantic handler. */
1240 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1241 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div1", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1243 #if WITH_PROFILE_MODEL_P
1244 /* Record the fields for profiling. */
1245 if (PROFILE_MODEL_P (current_cpu
))
1256 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1257 CGEN_INSN_INT insn
= base_insn
;
1258 #define FLD(f) abuf->fields.sfmt_mov2dr.f
1261 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1263 /* Record the fields for the semantic handler. */
1265 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1266 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div2", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1268 #if WITH_PROFILE_MODEL_P
1269 /* Record the fields for profiling. */
1270 if (PROFILE_MODEL_P (current_cpu
))
1281 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1282 #define FLD(f) abuf->fields.fmt_empty.f
1285 /* Record the fields for the semantic handler. */
1286 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div3", (char *) 0));
1294 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1295 #define FLD(f) abuf->fields.fmt_empty.f
1298 /* Record the fields for the semantic handler. */
1299 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_div4s", (char *) 0));
1307 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1308 CGEN_INSN_INT insn
= base_insn
;
1309 #define FLD(f) abuf->fields.sfmt_add.f
1313 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1314 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1316 /* Record the fields for the semantic handler. */
1319 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1320 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1321 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lsl", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1323 #if WITH_PROFILE_MODEL_P
1324 /* Record the fields for profiling. */
1325 if (PROFILE_MODEL_P (current_cpu
))
1329 FLD (out_Ri
) = f_Ri
;
1338 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1339 CGEN_INSN_INT insn
= base_insn
;
1340 #define FLD(f) abuf->fields.sfmt_addi.f
1344 f_u4
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1345 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1347 /* Record the fields for the semantic handler. */
1350 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1351 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lsli", "f_Ri 0x%x", 'x', f_Ri
, "f_u4 0x%x", 'x', f_u4
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1353 #if WITH_PROFILE_MODEL_P
1354 /* Record the fields for profiling. */
1355 if (PROFILE_MODEL_P (current_cpu
))
1358 FLD (out_Ri
) = f_Ri
;
1367 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1368 CGEN_INSN_INT insn
= base_insn
;
1369 #define FLD(f) abuf->fields.sfmt_ldi8.f
1373 f_i8
= EXTRACT_MSB0_UINT (insn
, 16, 4, 8);
1374 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1376 /* Record the fields for the semantic handler. */
1379 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1380 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldi8", "f_i8 0x%x", 'x', f_i8
, "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1382 #if WITH_PROFILE_MODEL_P
1383 /* Record the fields for profiling. */
1384 if (PROFILE_MODEL_P (current_cpu
))
1386 FLD (out_Ri
) = f_Ri
;
1395 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1396 CGEN_INSN_INT insn
= base_insn
;
1397 #define FLD(f) abuf->fields.sfmt_ldi20.f
1402 /* Contents of trailing part of insn. */
1405 word_1
= GETIMEMUHI (current_cpu
, pc
+ 2);
1406 f_i20_16
= (0|(EXTRACT_MSB0_UINT (word_1
, 16, 0, 16) << 0));
1407 f_i20_4
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1408 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1410 f_i20
= ((((f_i20_4
) << (16))) | (f_i20_16
));
1413 /* Record the fields for the semantic handler. */
1414 FLD (f_i20
) = f_i20
;
1416 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1417 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldi20", "f_i20 0x%x", 'x', f_i20
, "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1419 #if WITH_PROFILE_MODEL_P
1420 /* Record the fields for profiling. */
1421 if (PROFILE_MODEL_P (current_cpu
))
1423 FLD (out_Ri
) = f_Ri
;
1432 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1433 CGEN_INSN_INT insn
= base_insn
;
1434 #define FLD(f) abuf->fields.sfmt_ldi32.f
1437 /* Contents of trailing part of insn. */
1441 word_1
= GETIMEMUHI (current_cpu
, pc
+ 2);
1442 word_2
= GETIMEMUHI (current_cpu
, pc
+ 4);
1443 f_i32
= (0|(EXTRACT_MSB0_UINT (word_2
, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1
, 16, 0, 16) << 16));
1444 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1446 /* Record the fields for the semantic handler. */
1447 FLD (f_i32
) = f_i32
;
1449 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1450 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldi32", "f_i32 0x%x", 'x', f_i32
, "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1452 #if WITH_PROFILE_MODEL_P
1453 /* Record the fields for profiling. */
1454 if (PROFILE_MODEL_P (current_cpu
))
1456 FLD (out_Ri
) = f_Ri
;
1465 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1466 CGEN_INSN_INT insn
= base_insn
;
1467 #define FLD(f) abuf->fields.sfmt_ldr13.f
1471 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1472 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1474 /* Record the fields for the semantic handler. */
1477 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1478 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1479 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ld", "f_Rj 0x%x", 'x', f_Rj
, "f_Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1481 #if WITH_PROFILE_MODEL_P
1482 /* Record the fields for profiling. */
1483 if (PROFILE_MODEL_P (current_cpu
))
1486 FLD (out_Ri
) = f_Ri
;
1495 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1496 CGEN_INSN_INT insn
= base_insn
;
1497 #define FLD(f) abuf->fields.sfmt_ldr13.f
1501 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1502 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1504 /* Record the fields for the semantic handler. */
1507 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1508 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1509 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_lduh", "f_Rj 0x%x", 'x', f_Rj
, "f_Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1511 #if WITH_PROFILE_MODEL_P
1512 /* Record the fields for profiling. */
1513 if (PROFILE_MODEL_P (current_cpu
))
1516 FLD (out_Ri
) = f_Ri
;
1525 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1526 CGEN_INSN_INT insn
= base_insn
;
1527 #define FLD(f) abuf->fields.sfmt_ldr13.f
1531 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1532 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1534 /* Record the fields for the semantic handler. */
1537 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1538 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1539 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldub", "f_Rj 0x%x", 'x', f_Rj
, "f_Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1541 #if WITH_PROFILE_MODEL_P
1542 /* Record the fields for profiling. */
1543 if (PROFILE_MODEL_P (current_cpu
))
1546 FLD (out_Ri
) = f_Ri
;
1555 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1556 CGEN_INSN_INT insn
= base_insn
;
1557 #define FLD(f) abuf->fields.sfmt_ldr13.f
1561 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1562 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1564 /* Record the fields for the semantic handler. */
1567 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1568 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1569 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr13", "f_Rj 0x%x", 'x', f_Rj
, "f_Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1571 #if WITH_PROFILE_MODEL_P
1572 /* Record the fields for profiling. */
1573 if (PROFILE_MODEL_P (current_cpu
))
1576 FLD (in_h_gr_SI_13
) = 13;
1577 FLD (out_Ri
) = f_Ri
;
1584 extract_sfmt_ldr13uh
:
1586 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1587 CGEN_INSN_INT insn
= base_insn
;
1588 #define FLD(f) abuf->fields.sfmt_ldr13.f
1592 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1593 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1595 /* Record the fields for the semantic handler. */
1598 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1599 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1600 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr13uh", "f_Rj 0x%x", 'x', f_Rj
, "f_Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1602 #if WITH_PROFILE_MODEL_P
1603 /* Record the fields for profiling. */
1604 if (PROFILE_MODEL_P (current_cpu
))
1607 FLD (in_h_gr_SI_13
) = 13;
1608 FLD (out_Ri
) = f_Ri
;
1615 extract_sfmt_ldr13ub
:
1617 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1618 CGEN_INSN_INT insn
= base_insn
;
1619 #define FLD(f) abuf->fields.sfmt_ldr13.f
1623 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1624 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1626 /* Record the fields for the semantic handler. */
1629 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1630 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1631 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr13ub", "f_Rj 0x%x", 'x', f_Rj
, "f_Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1633 #if WITH_PROFILE_MODEL_P
1634 /* Record the fields for profiling. */
1635 if (PROFILE_MODEL_P (current_cpu
))
1638 FLD (in_h_gr_SI_13
) = 13;
1639 FLD (out_Ri
) = f_Ri
;
1648 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1649 CGEN_INSN_INT insn
= base_insn
;
1650 #define FLD(f) abuf->fields.sfmt_ldr14.f
1654 f_disp10
= ((EXTRACT_MSB0_INT (insn
, 16, 4, 8)) << (2));
1655 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1657 /* Record the fields for the semantic handler. */
1658 FLD (f_disp10
) = f_disp10
;
1660 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1661 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr14", "f_disp10 0x%x", 'x', f_disp10
, "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1663 #if WITH_PROFILE_MODEL_P
1664 /* Record the fields for profiling. */
1665 if (PROFILE_MODEL_P (current_cpu
))
1667 FLD (in_h_gr_SI_14
) = 14;
1668 FLD (out_Ri
) = f_Ri
;
1675 extract_sfmt_ldr14uh
:
1677 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1678 CGEN_INSN_INT insn
= base_insn
;
1679 #define FLD(f) abuf->fields.sfmt_ldr14uh.f
1683 f_disp9
= ((EXTRACT_MSB0_INT (insn
, 16, 4, 8)) << (1));
1684 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1686 /* Record the fields for the semantic handler. */
1687 FLD (f_disp9
) = f_disp9
;
1689 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1690 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr14uh", "f_disp9 0x%x", 'x', f_disp9
, "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1692 #if WITH_PROFILE_MODEL_P
1693 /* Record the fields for profiling. */
1694 if (PROFILE_MODEL_P (current_cpu
))
1696 FLD (in_h_gr_SI_14
) = 14;
1697 FLD (out_Ri
) = f_Ri
;
1704 extract_sfmt_ldr14ub
:
1706 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1707 CGEN_INSN_INT insn
= base_insn
;
1708 #define FLD(f) abuf->fields.sfmt_ldr14ub.f
1712 f_disp8
= EXTRACT_MSB0_INT (insn
, 16, 4, 8);
1713 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1715 /* Record the fields for the semantic handler. */
1716 FLD (f_disp8
) = f_disp8
;
1718 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1719 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr14ub", "f_disp8 0x%x", 'x', f_disp8
, "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1721 #if WITH_PROFILE_MODEL_P
1722 /* Record the fields for profiling. */
1723 if (PROFILE_MODEL_P (current_cpu
))
1725 FLD (in_h_gr_SI_14
) = 14;
1726 FLD (out_Ri
) = f_Ri
;
1735 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1736 CGEN_INSN_INT insn
= base_insn
;
1737 #define FLD(f) abuf->fields.sfmt_ldr15.f
1741 f_udisp6
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 4)) << (2));
1742 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1744 /* Record the fields for the semantic handler. */
1745 FLD (f_udisp6
) = f_udisp6
;
1747 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1748 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr15", "f_udisp6 0x%x", 'x', f_udisp6
, "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1750 #if WITH_PROFILE_MODEL_P
1751 /* Record the fields for profiling. */
1752 if (PROFILE_MODEL_P (current_cpu
))
1754 FLD (in_h_gr_SI_15
) = 15;
1755 FLD (out_Ri
) = f_Ri
;
1762 extract_sfmt_ldr15gr
:
1764 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1765 CGEN_INSN_INT insn
= base_insn
;
1766 #define FLD(f) abuf->fields.sfmt_ldr15gr.f
1769 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1771 /* Record the fields for the semantic handler. */
1773 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1774 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr15gr", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
1776 #if WITH_PROFILE_MODEL_P
1777 /* Record the fields for profiling. */
1778 if (PROFILE_MODEL_P (current_cpu
))
1780 FLD (in_h_gr_SI_15
) = 15;
1781 FLD (out_Ri
) = f_Ri
;
1782 FLD (out_h_gr_SI_15
) = 15;
1789 extract_sfmt_ldr15dr
:
1791 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1792 CGEN_INSN_INT insn
= base_insn
;
1793 #define FLD(f) abuf->fields.sfmt_ldr15dr.f
1796 f_Rs2
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1798 /* Record the fields for the semantic handler. */
1799 FLD (f_Rs2
) = f_Rs2
;
1800 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr15dr", "f_Rs2 0x%x", 'x', f_Rs2
, (char *) 0));
1802 #if WITH_PROFILE_MODEL_P
1803 /* Record the fields for profiling. */
1804 if (PROFILE_MODEL_P (current_cpu
))
1806 FLD (in_h_gr_SI_15
) = 15;
1807 FLD (out_h_gr_SI_15
) = 15;
1814 extract_sfmt_ldr15ps
:
1816 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1817 #define FLD(f) abuf->fields.sfmt_addsp.f
1820 /* Record the fields for the semantic handler. */
1821 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldr15ps", (char *) 0));
1823 #if WITH_PROFILE_MODEL_P
1824 /* Record the fields for profiling. */
1825 if (PROFILE_MODEL_P (current_cpu
))
1827 FLD (in_h_gr_SI_15
) = 15;
1828 FLD (out_h_gr_SI_15
) = 15;
1837 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1838 CGEN_INSN_INT insn
= base_insn
;
1839 #define FLD(f) abuf->fields.sfmt_str13.f
1843 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1844 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1846 /* Record the fields for the semantic handler. */
1849 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1850 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1851 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_st", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1853 #if WITH_PROFILE_MODEL_P
1854 /* Record the fields for profiling. */
1855 if (PROFILE_MODEL_P (current_cpu
))
1867 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1868 CGEN_INSN_INT insn
= base_insn
;
1869 #define FLD(f) abuf->fields.sfmt_str13.f
1873 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1874 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1876 /* Record the fields for the semantic handler. */
1879 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1880 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1881 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_sth", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1883 #if WITH_PROFILE_MODEL_P
1884 /* Record the fields for profiling. */
1885 if (PROFILE_MODEL_P (current_cpu
))
1897 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1898 CGEN_INSN_INT insn
= base_insn
;
1899 #define FLD(f) abuf->fields.sfmt_str13.f
1903 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1904 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1906 /* Record the fields for the semantic handler. */
1909 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1910 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1911 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stb", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1913 #if WITH_PROFILE_MODEL_P
1914 /* Record the fields for profiling. */
1915 if (PROFILE_MODEL_P (current_cpu
))
1927 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1928 CGEN_INSN_INT insn
= base_insn
;
1929 #define FLD(f) abuf->fields.sfmt_str13.f
1933 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1934 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1936 /* Record the fields for the semantic handler. */
1939 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1940 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1941 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str13", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1943 #if WITH_PROFILE_MODEL_P
1944 /* Record the fields for profiling. */
1945 if (PROFILE_MODEL_P (current_cpu
))
1949 FLD (in_h_gr_SI_13
) = 13;
1956 extract_sfmt_str13h
:
1958 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1959 CGEN_INSN_INT insn
= base_insn
;
1960 #define FLD(f) abuf->fields.sfmt_str13.f
1964 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1965 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1967 /* Record the fields for the semantic handler. */
1970 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
1971 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
1972 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str13h", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
1974 #if WITH_PROFILE_MODEL_P
1975 /* Record the fields for profiling. */
1976 if (PROFILE_MODEL_P (current_cpu
))
1980 FLD (in_h_gr_SI_13
) = 13;
1987 extract_sfmt_str13b
:
1989 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
1990 CGEN_INSN_INT insn
= base_insn
;
1991 #define FLD(f) abuf->fields.sfmt_str13.f
1995 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
1996 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
1998 /* Record the fields for the semantic handler. */
2001 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2002 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
2003 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str13b", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
2005 #if WITH_PROFILE_MODEL_P
2006 /* Record the fields for profiling. */
2007 if (PROFILE_MODEL_P (current_cpu
))
2011 FLD (in_h_gr_SI_13
) = 13;
2020 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2021 CGEN_INSN_INT insn
= base_insn
;
2022 #define FLD(f) abuf->fields.sfmt_str14.f
2026 f_disp10
= ((EXTRACT_MSB0_INT (insn
, 16, 4, 8)) << (2));
2027 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2029 /* Record the fields for the semantic handler. */
2031 FLD (f_disp10
) = f_disp10
;
2032 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2033 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str14", "f_Ri 0x%x", 'x', f_Ri
, "f_disp10 0x%x", 'x', f_disp10
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2035 #if WITH_PROFILE_MODEL_P
2036 /* Record the fields for profiling. */
2037 if (PROFILE_MODEL_P (current_cpu
))
2040 FLD (in_h_gr_SI_14
) = 14;
2047 extract_sfmt_str14h
:
2049 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2050 CGEN_INSN_INT insn
= base_insn
;
2051 #define FLD(f) abuf->fields.sfmt_str14h.f
2055 f_disp9
= ((EXTRACT_MSB0_INT (insn
, 16, 4, 8)) << (1));
2056 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2058 /* Record the fields for the semantic handler. */
2060 FLD (f_disp9
) = f_disp9
;
2061 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2062 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str14h", "f_Ri 0x%x", 'x', f_Ri
, "f_disp9 0x%x", 'x', f_disp9
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2064 #if WITH_PROFILE_MODEL_P
2065 /* Record the fields for profiling. */
2066 if (PROFILE_MODEL_P (current_cpu
))
2069 FLD (in_h_gr_SI_14
) = 14;
2076 extract_sfmt_str14b
:
2078 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2079 CGEN_INSN_INT insn
= base_insn
;
2080 #define FLD(f) abuf->fields.sfmt_str14b.f
2084 f_disp8
= EXTRACT_MSB0_INT (insn
, 16, 4, 8);
2085 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2087 /* Record the fields for the semantic handler. */
2089 FLD (f_disp8
) = f_disp8
;
2090 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2091 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str14b", "f_Ri 0x%x", 'x', f_Ri
, "f_disp8 0x%x", 'x', f_disp8
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2093 #if WITH_PROFILE_MODEL_P
2094 /* Record the fields for profiling. */
2095 if (PROFILE_MODEL_P (current_cpu
))
2098 FLD (in_h_gr_SI_14
) = 14;
2107 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2108 CGEN_INSN_INT insn
= base_insn
;
2109 #define FLD(f) abuf->fields.sfmt_str15.f
2113 f_udisp6
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 4)) << (2));
2114 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2116 /* Record the fields for the semantic handler. */
2118 FLD (f_udisp6
) = f_udisp6
;
2119 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2120 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str15", "f_Ri 0x%x", 'x', f_Ri
, "f_udisp6 0x%x", 'x', f_udisp6
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2122 #if WITH_PROFILE_MODEL_P
2123 /* Record the fields for profiling. */
2124 if (PROFILE_MODEL_P (current_cpu
))
2127 FLD (in_h_gr_SI_15
) = 15;
2134 extract_sfmt_str15gr
:
2136 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2137 CGEN_INSN_INT insn
= base_insn
;
2138 #define FLD(f) abuf->fields.sfmt_str15gr.f
2141 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2143 /* Record the fields for the semantic handler. */
2145 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2146 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str15gr", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2148 #if WITH_PROFILE_MODEL_P
2149 /* Record the fields for profiling. */
2150 if (PROFILE_MODEL_P (current_cpu
))
2153 FLD (in_h_gr_SI_15
) = 15;
2154 FLD (out_h_gr_SI_15
) = 15;
2161 extract_sfmt_str15dr
:
2163 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2164 CGEN_INSN_INT insn
= base_insn
;
2165 #define FLD(f) abuf->fields.sfmt_ldr15dr.f
2168 f_Rs2
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2170 /* Record the fields for the semantic handler. */
2171 FLD (f_Rs2
) = f_Rs2
;
2172 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str15dr", "f_Rs2 0x%x", 'x', f_Rs2
, (char *) 0));
2174 #if WITH_PROFILE_MODEL_P
2175 /* Record the fields for profiling. */
2176 if (PROFILE_MODEL_P (current_cpu
))
2178 FLD (in_h_gr_SI_15
) = 15;
2179 FLD (out_h_gr_SI_15
) = 15;
2186 extract_sfmt_str15ps
:
2188 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2189 #define FLD(f) abuf->fields.sfmt_addsp.f
2192 /* Record the fields for the semantic handler. */
2193 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_str15ps", (char *) 0));
2195 #if WITH_PROFILE_MODEL_P
2196 /* Record the fields for profiling. */
2197 if (PROFILE_MODEL_P (current_cpu
))
2199 FLD (in_h_gr_SI_15
) = 15;
2200 FLD (out_h_gr_SI_15
) = 15;
2209 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2210 CGEN_INSN_INT insn
= base_insn
;
2211 #define FLD(f) abuf->fields.sfmt_ldr13.f
2215 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
2216 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2218 /* Record the fields for the semantic handler. */
2221 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
2222 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2223 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mov", "f_Rj 0x%x", 'x', f_Rj
, "f_Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2225 #if WITH_PROFILE_MODEL_P
2226 /* Record the fields for profiling. */
2227 if (PROFILE_MODEL_P (current_cpu
))
2230 FLD (out_Ri
) = f_Ri
;
2239 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2240 CGEN_INSN_INT insn
= base_insn
;
2241 #define FLD(f) abuf->fields.sfmt_movdr.f
2245 f_Rs1
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
2246 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2248 /* Record the fields for the semantic handler. */
2249 FLD (f_Rs1
) = f_Rs1
;
2251 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2252 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movdr", "f_Rs1 0x%x", 'x', f_Rs1
, "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2254 #if WITH_PROFILE_MODEL_P
2255 /* Record the fields for profiling. */
2256 if (PROFILE_MODEL_P (current_cpu
))
2258 FLD (out_Ri
) = f_Ri
;
2267 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2268 CGEN_INSN_INT insn
= base_insn
;
2269 #define FLD(f) abuf->fields.sfmt_movdr.f
2272 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2274 /* Record the fields for the semantic handler. */
2276 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2277 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_movps", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2279 #if WITH_PROFILE_MODEL_P
2280 /* Record the fields for profiling. */
2281 if (PROFILE_MODEL_P (current_cpu
))
2283 FLD (out_Ri
) = f_Ri
;
2290 extract_sfmt_mov2dr
:
2292 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2293 CGEN_INSN_INT insn
= base_insn
;
2294 #define FLD(f) abuf->fields.sfmt_mov2dr.f
2298 f_Rs1
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
2299 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2301 /* Record the fields for the semantic handler. */
2303 FLD (f_Rs1
) = f_Rs1
;
2304 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2305 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mov2dr", "f_Ri 0x%x", 'x', f_Ri
, "f_Rs1 0x%x", 'x', f_Rs1
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2307 #if WITH_PROFILE_MODEL_P
2308 /* Record the fields for profiling. */
2309 if (PROFILE_MODEL_P (current_cpu
))
2318 extract_sfmt_mov2ps
:
2320 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2321 CGEN_INSN_INT insn
= base_insn
;
2322 #define FLD(f) abuf->fields.sfmt_mov2dr.f
2325 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2327 /* Record the fields for the semantic handler. */
2329 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2330 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_mov2ps", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2332 #if WITH_PROFILE_MODEL_P
2333 /* Record the fields for profiling. */
2334 if (PROFILE_MODEL_P (current_cpu
))
2345 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2346 CGEN_INSN_INT insn
= base_insn
;
2347 #define FLD(f) abuf->fields.sfmt_mov2dr.f
2350 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2352 /* Record the fields for the semantic handler. */
2354 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2355 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_jmp", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2357 #if WITH_PROFILE_MODEL_P
2358 /* Record the fields for profiling. */
2359 if (PROFILE_MODEL_P (current_cpu
))
2370 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2371 CGEN_INSN_INT insn
= base_insn
;
2372 #define FLD(f) abuf->fields.sfmt_mov2dr.f
2375 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
2377 /* Record the fields for the semantic handler. */
2379 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
2380 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_callr", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
2382 #if WITH_PROFILE_MODEL_P
2383 /* Record the fields for profiling. */
2384 if (PROFILE_MODEL_P (current_cpu
))
2395 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2396 CGEN_INSN_INT insn
= base_insn
;
2397 #define FLD(f) abuf->fields.sfmt_call.f
2400 f_rel12
= ((((EXTRACT_MSB0_INT (insn
, 16, 5, 11)) << (1))) + (((pc
) + (2))));
2402 /* Record the fields for the semantic handler. */
2403 FLD (i_label12
) = f_rel12
;
2404 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_call", "label12 0x%x", 'x', f_rel12
, (char *) 0));
2406 #if WITH_PROFILE_MODEL_P
2407 /* Record the fields for profiling. */
2408 if (PROFILE_MODEL_P (current_cpu
))
2418 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2419 #define FLD(f) abuf->fields.fmt_empty.f
2422 /* Record the fields for the semantic handler. */
2423 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ret", (char *) 0));
2425 #if WITH_PROFILE_MODEL_P
2426 /* Record the fields for profiling. */
2427 if (PROFILE_MODEL_P (current_cpu
))
2437 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2438 CGEN_INSN_INT insn
= base_insn
;
2439 #define FLD(f) abuf->fields.sfmt_int.f
2442 f_u8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
2444 /* Record the fields for the semantic handler. */
2446 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_int", "f_u8 0x%x", 'x', f_u8
, (char *) 0));
2448 #if WITH_PROFILE_MODEL_P
2449 /* Record the fields for profiling. */
2450 if (PROFILE_MODEL_P (current_cpu
))
2460 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2461 #define FLD(f) abuf->fields.fmt_empty.f
2464 /* Record the fields for the semantic handler. */
2465 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_inte", (char *) 0));
2467 #if WITH_PROFILE_MODEL_P
2468 /* Record the fields for profiling. */
2469 if (PROFILE_MODEL_P (current_cpu
))
2479 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2480 #define FLD(f) abuf->fields.fmt_empty.f
2483 /* Record the fields for the semantic handler. */
2484 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_reti", (char *) 0));
2486 #if WITH_PROFILE_MODEL_P
2487 /* Record the fields for profiling. */
2488 if (PROFILE_MODEL_P (current_cpu
))
2498 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2499 CGEN_INSN_INT insn
= base_insn
;
2500 #define FLD(f) abuf->fields.sfmt_brad.f
2503 f_rel9
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (2))));
2505 /* Record the fields for the semantic handler. */
2506 FLD (i_label9
) = f_rel9
;
2507 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_brad", "label9 0x%x", 'x', f_rel9
, (char *) 0));
2509 #if WITH_PROFILE_MODEL_P
2510 /* Record the fields for profiling. */
2511 if (PROFILE_MODEL_P (current_cpu
))
2521 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2522 #define FLD(f) abuf->fields.fmt_empty.f
2525 /* Record the fields for the semantic handler. */
2526 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bnod", (char *) 0));
2534 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2535 CGEN_INSN_INT insn
= base_insn
;
2536 #define FLD(f) abuf->fields.sfmt_brad.f
2539 f_rel9
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (2))));
2541 /* Record the fields for the semantic handler. */
2542 FLD (i_label9
) = f_rel9
;
2543 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_beqd", "label9 0x%x", 'x', f_rel9
, (char *) 0));
2545 #if WITH_PROFILE_MODEL_P
2546 /* Record the fields for profiling. */
2547 if (PROFILE_MODEL_P (current_cpu
))
2557 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2558 CGEN_INSN_INT insn
= base_insn
;
2559 #define FLD(f) abuf->fields.sfmt_brad.f
2562 f_rel9
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (2))));
2564 /* Record the fields for the semantic handler. */
2565 FLD (i_label9
) = f_rel9
;
2566 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bcd", "label9 0x%x", 'x', f_rel9
, (char *) 0));
2568 #if WITH_PROFILE_MODEL_P
2569 /* Record the fields for profiling. */
2570 if (PROFILE_MODEL_P (current_cpu
))
2580 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2581 CGEN_INSN_INT insn
= base_insn
;
2582 #define FLD(f) abuf->fields.sfmt_brad.f
2585 f_rel9
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (2))));
2587 /* Record the fields for the semantic handler. */
2588 FLD (i_label9
) = f_rel9
;
2589 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bnd", "label9 0x%x", 'x', f_rel9
, (char *) 0));
2591 #if WITH_PROFILE_MODEL_P
2592 /* Record the fields for profiling. */
2593 if (PROFILE_MODEL_P (current_cpu
))
2603 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2604 CGEN_INSN_INT insn
= base_insn
;
2605 #define FLD(f) abuf->fields.sfmt_brad.f
2608 f_rel9
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (2))));
2610 /* Record the fields for the semantic handler. */
2611 FLD (i_label9
) = f_rel9
;
2612 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bvd", "label9 0x%x", 'x', f_rel9
, (char *) 0));
2614 #if WITH_PROFILE_MODEL_P
2615 /* Record the fields for profiling. */
2616 if (PROFILE_MODEL_P (current_cpu
))
2626 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2627 CGEN_INSN_INT insn
= base_insn
;
2628 #define FLD(f) abuf->fields.sfmt_brad.f
2631 f_rel9
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (2))));
2633 /* Record the fields for the semantic handler. */
2634 FLD (i_label9
) = f_rel9
;
2635 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bltd", "label9 0x%x", 'x', f_rel9
, (char *) 0));
2637 #if WITH_PROFILE_MODEL_P
2638 /* Record the fields for profiling. */
2639 if (PROFILE_MODEL_P (current_cpu
))
2649 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2650 CGEN_INSN_INT insn
= base_insn
;
2651 #define FLD(f) abuf->fields.sfmt_brad.f
2654 f_rel9
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (2))));
2656 /* Record the fields for the semantic handler. */
2657 FLD (i_label9
) = f_rel9
;
2658 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_bled", "label9 0x%x", 'x', f_rel9
, (char *) 0));
2660 #if WITH_PROFILE_MODEL_P
2661 /* Record the fields for profiling. */
2662 if (PROFILE_MODEL_P (current_cpu
))
2672 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2673 CGEN_INSN_INT insn
= base_insn
;
2674 #define FLD(f) abuf->fields.sfmt_brad.f
2677 f_rel9
= ((((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (1))) + (((pc
) + (2))));
2679 /* Record the fields for the semantic handler. */
2680 FLD (i_label9
) = f_rel9
;
2681 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_blsd", "label9 0x%x", 'x', f_rel9
, (char *) 0));
2683 #if WITH_PROFILE_MODEL_P
2684 /* Record the fields for profiling. */
2685 if (PROFILE_MODEL_P (current_cpu
))
2693 extract_sfmt_dmovr13
:
2695 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2696 CGEN_INSN_INT insn
= base_insn
;
2697 #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
2700 f_dir10
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
2702 /* Record the fields for the semantic handler. */
2703 FLD (f_dir10
) = f_dir10
;
2704 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmovr13", "f_dir10 0x%x", 'x', f_dir10
, (char *) 0));
2706 #if WITH_PROFILE_MODEL_P
2707 /* Record the fields for profiling. */
2708 if (PROFILE_MODEL_P (current_cpu
))
2710 FLD (in_h_gr_SI_13
) = 13;
2717 extract_sfmt_dmovr13h
:
2719 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2720 CGEN_INSN_INT insn
= base_insn
;
2721 #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
2724 f_dir9
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (1));
2726 /* Record the fields for the semantic handler. */
2727 FLD (f_dir9
) = f_dir9
;
2728 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmovr13h", "f_dir9 0x%x", 'x', f_dir9
, (char *) 0));
2730 #if WITH_PROFILE_MODEL_P
2731 /* Record the fields for profiling. */
2732 if (PROFILE_MODEL_P (current_cpu
))
2734 FLD (in_h_gr_SI_13
) = 13;
2741 extract_sfmt_dmovr13b
:
2743 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2744 CGEN_INSN_INT insn
= base_insn
;
2745 #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
2748 f_dir8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
2750 /* Record the fields for the semantic handler. */
2751 FLD (f_dir8
) = f_dir8
;
2752 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmovr13b", "f_dir8 0x%x", 'x', f_dir8
, (char *) 0));
2754 #if WITH_PROFILE_MODEL_P
2755 /* Record the fields for profiling. */
2756 if (PROFILE_MODEL_P (current_cpu
))
2758 FLD (in_h_gr_SI_13
) = 13;
2765 extract_sfmt_dmovr13pi
:
2767 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2768 CGEN_INSN_INT insn
= base_insn
;
2769 #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
2772 f_dir10
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
2774 /* Record the fields for the semantic handler. */
2775 FLD (f_dir10
) = f_dir10
;
2776 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmovr13pi", "f_dir10 0x%x", 'x', f_dir10
, (char *) 0));
2778 #if WITH_PROFILE_MODEL_P
2779 /* Record the fields for profiling. */
2780 if (PROFILE_MODEL_P (current_cpu
))
2782 FLD (in_h_gr_SI_13
) = 13;
2783 FLD (out_h_gr_SI_13
) = 13;
2790 extract_sfmt_dmovr13pih
:
2792 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2793 CGEN_INSN_INT insn
= base_insn
;
2794 #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
2797 f_dir9
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (1));
2799 /* Record the fields for the semantic handler. */
2800 FLD (f_dir9
) = f_dir9
;
2801 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmovr13pih", "f_dir9 0x%x", 'x', f_dir9
, (char *) 0));
2803 #if WITH_PROFILE_MODEL_P
2804 /* Record the fields for profiling. */
2805 if (PROFILE_MODEL_P (current_cpu
))
2807 FLD (in_h_gr_SI_13
) = 13;
2808 FLD (out_h_gr_SI_13
) = 13;
2815 extract_sfmt_dmovr13pib
:
2817 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2818 CGEN_INSN_INT insn
= base_insn
;
2819 #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
2822 f_dir8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
2824 /* Record the fields for the semantic handler. */
2825 FLD (f_dir8
) = f_dir8
;
2826 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmovr13pib", "f_dir8 0x%x", 'x', f_dir8
, (char *) 0));
2828 #if WITH_PROFILE_MODEL_P
2829 /* Record the fields for profiling. */
2830 if (PROFILE_MODEL_P (current_cpu
))
2832 FLD (in_h_gr_SI_13
) = 13;
2833 FLD (out_h_gr_SI_13
) = 13;
2840 extract_sfmt_dmovr15pi
:
2842 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2843 CGEN_INSN_INT insn
= base_insn
;
2844 #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
2847 f_dir10
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
2849 /* Record the fields for the semantic handler. */
2850 FLD (f_dir10
) = f_dir10
;
2851 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmovr15pi", "f_dir10 0x%x", 'x', f_dir10
, (char *) 0));
2853 #if WITH_PROFILE_MODEL_P
2854 /* Record the fields for profiling. */
2855 if (PROFILE_MODEL_P (current_cpu
))
2857 FLD (in_h_gr_SI_15
) = 15;
2858 FLD (out_h_gr_SI_15
) = 15;
2865 extract_sfmt_dmov2r13
:
2867 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2868 CGEN_INSN_INT insn
= base_insn
;
2869 #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
2872 f_dir10
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
2874 /* Record the fields for the semantic handler. */
2875 FLD (f_dir10
) = f_dir10
;
2876 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmov2r13", "f_dir10 0x%x", 'x', f_dir10
, (char *) 0));
2878 #if WITH_PROFILE_MODEL_P
2879 /* Record the fields for profiling. */
2880 if (PROFILE_MODEL_P (current_cpu
))
2882 FLD (out_h_gr_SI_13
) = 13;
2889 extract_sfmt_dmov2r13h
:
2891 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2892 CGEN_INSN_INT insn
= base_insn
;
2893 #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
2896 f_dir9
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (1));
2898 /* Record the fields for the semantic handler. */
2899 FLD (f_dir9
) = f_dir9
;
2900 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmov2r13h", "f_dir9 0x%x", 'x', f_dir9
, (char *) 0));
2902 #if WITH_PROFILE_MODEL_P
2903 /* Record the fields for profiling. */
2904 if (PROFILE_MODEL_P (current_cpu
))
2906 FLD (out_h_gr_SI_13
) = 13;
2913 extract_sfmt_dmov2r13b
:
2915 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2916 CGEN_INSN_INT insn
= base_insn
;
2917 #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
2920 f_dir8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
2922 /* Record the fields for the semantic handler. */
2923 FLD (f_dir8
) = f_dir8
;
2924 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmov2r13b", "f_dir8 0x%x", 'x', f_dir8
, (char *) 0));
2926 #if WITH_PROFILE_MODEL_P
2927 /* Record the fields for profiling. */
2928 if (PROFILE_MODEL_P (current_cpu
))
2930 FLD (out_h_gr_SI_13
) = 13;
2937 extract_sfmt_dmov2r13pi
:
2939 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2940 CGEN_INSN_INT insn
= base_insn
;
2941 #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
2944 f_dir10
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
2946 /* Record the fields for the semantic handler. */
2947 FLD (f_dir10
) = f_dir10
;
2948 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmov2r13pi", "f_dir10 0x%x", 'x', f_dir10
, (char *) 0));
2950 #if WITH_PROFILE_MODEL_P
2951 /* Record the fields for profiling. */
2952 if (PROFILE_MODEL_P (current_cpu
))
2954 FLD (in_h_gr_SI_13
) = 13;
2955 FLD (out_h_gr_SI_13
) = 13;
2962 extract_sfmt_dmov2r13pih
:
2964 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2965 CGEN_INSN_INT insn
= base_insn
;
2966 #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
2969 f_dir9
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (1));
2971 /* Record the fields for the semantic handler. */
2972 FLD (f_dir9
) = f_dir9
;
2973 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmov2r13pih", "f_dir9 0x%x", 'x', f_dir9
, (char *) 0));
2975 #if WITH_PROFILE_MODEL_P
2976 /* Record the fields for profiling. */
2977 if (PROFILE_MODEL_P (current_cpu
))
2979 FLD (in_h_gr_SI_13
) = 13;
2980 FLD (out_h_gr_SI_13
) = 13;
2987 extract_sfmt_dmov2r13pib
:
2989 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
2990 CGEN_INSN_INT insn
= base_insn
;
2991 #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
2994 f_dir8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
2996 /* Record the fields for the semantic handler. */
2997 FLD (f_dir8
) = f_dir8
;
2998 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmov2r13pib", "f_dir8 0x%x", 'x', f_dir8
, (char *) 0));
3000 #if WITH_PROFILE_MODEL_P
3001 /* Record the fields for profiling. */
3002 if (PROFILE_MODEL_P (current_cpu
))
3004 FLD (in_h_gr_SI_13
) = 13;
3005 FLD (out_h_gr_SI_13
) = 13;
3012 extract_sfmt_dmov2r15pd
:
3014 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3015 CGEN_INSN_INT insn
= base_insn
;
3016 #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
3019 f_dir10
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
3021 /* Record the fields for the semantic handler. */
3022 FLD (f_dir10
) = f_dir10
;
3023 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_dmov2r15pd", "f_dir10 0x%x", 'x', f_dir10
, (char *) 0));
3025 #if WITH_PROFILE_MODEL_P
3026 /* Record the fields for profiling. */
3027 if (PROFILE_MODEL_P (current_cpu
))
3029 FLD (in_h_gr_SI_15
) = 15;
3030 FLD (out_h_gr_SI_15
) = 15;
3039 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3040 CGEN_INSN_INT insn
= base_insn
;
3041 #define FLD(f) abuf->fields.sfmt_add2.f
3044 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
3046 /* Record the fields for the semantic handler. */
3048 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
3049 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldres", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
3051 #if WITH_PROFILE_MODEL_P
3052 /* Record the fields for profiling. */
3053 if (PROFILE_MODEL_P (current_cpu
))
3056 FLD (out_Ri
) = f_Ri
;
3065 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3066 #define FLD(f) abuf->fields.fmt_empty.f
3067 /* Contents of trailing part of insn. */
3070 word_1
= GETIMEMUHI (current_cpu
, pc
+ 2);
3072 /* Record the fields for the semantic handler. */
3073 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_copop", (char *) 0));
3079 extract_sfmt_andccr
:
3081 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3082 CGEN_INSN_INT insn
= base_insn
;
3083 #define FLD(f) abuf->fields.sfmt_int.f
3086 f_u8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3088 /* Record the fields for the semantic handler. */
3090 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_andccr", "f_u8 0x%x", 'x', f_u8
, (char *) 0));
3098 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3099 CGEN_INSN_INT insn
= base_insn
;
3100 #define FLD(f) abuf->fields.sfmt_int.f
3103 f_u8
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3105 /* Record the fields for the semantic handler. */
3107 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stilm", "f_u8 0x%x", 'x', f_u8
, (char *) 0));
3115 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3116 CGEN_INSN_INT insn
= base_insn
;
3117 #define FLD(f) abuf->fields.sfmt_addsp.f
3120 f_s10
= ((EXTRACT_MSB0_INT (insn
, 16, 8, 8)) << (2));
3122 /* Record the fields for the semantic handler. */
3123 FLD (f_s10
) = f_s10
;
3124 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_addsp", "f_s10 0x%x", 'x', f_s10
, (char *) 0));
3126 #if WITH_PROFILE_MODEL_P
3127 /* Record the fields for profiling. */
3128 if (PROFILE_MODEL_P (current_cpu
))
3130 FLD (in_h_gr_SI_15
) = 15;
3131 FLD (out_h_gr_SI_15
) = 15;
3140 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3141 CGEN_INSN_INT insn
= base_insn
;
3142 #define FLD(f) abuf->fields.sfmt_add2.f
3145 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
3147 /* Record the fields for the semantic handler. */
3149 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
3150 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_extsb", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
3152 #if WITH_PROFILE_MODEL_P
3153 /* Record the fields for profiling. */
3154 if (PROFILE_MODEL_P (current_cpu
))
3157 FLD (out_Ri
) = f_Ri
;
3166 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3167 CGEN_INSN_INT insn
= base_insn
;
3168 #define FLD(f) abuf->fields.sfmt_add2.f
3171 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
3173 /* Record the fields for the semantic handler. */
3175 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
3176 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_extub", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
3178 #if WITH_PROFILE_MODEL_P
3179 /* Record the fields for profiling. */
3180 if (PROFILE_MODEL_P (current_cpu
))
3183 FLD (out_Ri
) = f_Ri
;
3192 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3193 CGEN_INSN_INT insn
= base_insn
;
3194 #define FLD(f) abuf->fields.sfmt_add2.f
3197 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
3199 /* Record the fields for the semantic handler. */
3201 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
3202 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_extsh", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
3204 #if WITH_PROFILE_MODEL_P
3205 /* Record the fields for profiling. */
3206 if (PROFILE_MODEL_P (current_cpu
))
3209 FLD (out_Ri
) = f_Ri
;
3218 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3219 CGEN_INSN_INT insn
= base_insn
;
3220 #define FLD(f) abuf->fields.sfmt_add2.f
3223 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
3225 /* Record the fields for the semantic handler. */
3227 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
3228 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_extuh", "f_Ri 0x%x", 'x', f_Ri
, "Ri 0x%x", 'x', f_Ri
, (char *) 0));
3230 #if WITH_PROFILE_MODEL_P
3231 /* Record the fields for profiling. */
3232 if (PROFILE_MODEL_P (current_cpu
))
3235 FLD (out_Ri
) = f_Ri
;
3244 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3245 CGEN_INSN_INT insn
= base_insn
;
3246 #define FLD(f) abuf->fields.sfmt_ldm0.f
3247 UINT f_reglist_low_ld
;
3249 f_reglist_low_ld
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3251 /* Record the fields for the semantic handler. */
3252 FLD (f_reglist_low_ld
) = f_reglist_low_ld
;
3253 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldm0", "f_reglist_low_ld 0x%x", 'x', f_reglist_low_ld
, (char *) 0));
3255 #if WITH_PROFILE_MODEL_P
3256 /* Record the fields for profiling. */
3257 if (PROFILE_MODEL_P (current_cpu
))
3259 FLD (in_h_gr_SI_15
) = 15;
3260 FLD (out_h_gr_SI_0
) = 0;
3261 FLD (out_h_gr_SI_1
) = 1;
3262 FLD (out_h_gr_SI_15
) = 15;
3263 FLD (out_h_gr_SI_2
) = 2;
3264 FLD (out_h_gr_SI_3
) = 3;
3265 FLD (out_h_gr_SI_4
) = 4;
3266 FLD (out_h_gr_SI_5
) = 5;
3267 FLD (out_h_gr_SI_6
) = 6;
3268 FLD (out_h_gr_SI_7
) = 7;
3277 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3278 CGEN_INSN_INT insn
= base_insn
;
3279 #define FLD(f) abuf->fields.sfmt_ldm1.f
3280 UINT f_reglist_hi_ld
;
3282 f_reglist_hi_ld
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3284 /* Record the fields for the semantic handler. */
3285 FLD (f_reglist_hi_ld
) = f_reglist_hi_ld
;
3286 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_ldm1", "f_reglist_hi_ld 0x%x", 'x', f_reglist_hi_ld
, (char *) 0));
3288 #if WITH_PROFILE_MODEL_P
3289 /* Record the fields for profiling. */
3290 if (PROFILE_MODEL_P (current_cpu
))
3292 FLD (in_h_gr_SI_15
) = 15;
3293 FLD (out_h_gr_SI_10
) = 10;
3294 FLD (out_h_gr_SI_11
) = 11;
3295 FLD (out_h_gr_SI_12
) = 12;
3296 FLD (out_h_gr_SI_13
) = 13;
3297 FLD (out_h_gr_SI_14
) = 14;
3298 FLD (out_h_gr_SI_15
) = 15;
3299 FLD (out_h_gr_SI_8
) = 8;
3300 FLD (out_h_gr_SI_9
) = 9;
3309 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3310 CGEN_INSN_INT insn
= base_insn
;
3311 #define FLD(f) abuf->fields.sfmt_stm0.f
3312 UINT f_reglist_low_st
;
3314 f_reglist_low_st
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3316 /* Record the fields for the semantic handler. */
3317 FLD (f_reglist_low_st
) = f_reglist_low_st
;
3318 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stm0", "f_reglist_low_st 0x%x", 'x', f_reglist_low_st
, (char *) 0));
3320 #if WITH_PROFILE_MODEL_P
3321 /* Record the fields for profiling. */
3322 if (PROFILE_MODEL_P (current_cpu
))
3324 FLD (in_h_gr_SI_0
) = 0;
3325 FLD (in_h_gr_SI_1
) = 1;
3326 FLD (in_h_gr_SI_15
) = 15;
3327 FLD (in_h_gr_SI_2
) = 2;
3328 FLD (in_h_gr_SI_3
) = 3;
3329 FLD (in_h_gr_SI_4
) = 4;
3330 FLD (in_h_gr_SI_5
) = 5;
3331 FLD (in_h_gr_SI_6
) = 6;
3332 FLD (in_h_gr_SI_7
) = 7;
3333 FLD (out_h_gr_SI_15
) = 15;
3342 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3343 CGEN_INSN_INT insn
= base_insn
;
3344 #define FLD(f) abuf->fields.sfmt_stm1.f
3345 UINT f_reglist_hi_st
;
3347 f_reglist_hi_st
= EXTRACT_MSB0_UINT (insn
, 16, 8, 8);
3349 /* Record the fields for the semantic handler. */
3350 FLD (f_reglist_hi_st
) = f_reglist_hi_st
;
3351 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_stm1", "f_reglist_hi_st 0x%x", 'x', f_reglist_hi_st
, (char *) 0));
3353 #if WITH_PROFILE_MODEL_P
3354 /* Record the fields for profiling. */
3355 if (PROFILE_MODEL_P (current_cpu
))
3357 FLD (in_h_gr_SI_10
) = 10;
3358 FLD (in_h_gr_SI_11
) = 11;
3359 FLD (in_h_gr_SI_12
) = 12;
3360 FLD (in_h_gr_SI_13
) = 13;
3361 FLD (in_h_gr_SI_14
) = 14;
3362 FLD (in_h_gr_SI_15
) = 15;
3363 FLD (in_h_gr_SI_8
) = 8;
3364 FLD (in_h_gr_SI_9
) = 9;
3365 FLD (out_h_gr_SI_15
) = 15;
3374 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3375 CGEN_INSN_INT insn
= base_insn
;
3376 #define FLD(f) abuf->fields.sfmt_enter.f
3379 f_u10
= ((EXTRACT_MSB0_UINT (insn
, 16, 8, 8)) << (2));
3381 /* Record the fields for the semantic handler. */
3382 FLD (f_u10
) = f_u10
;
3383 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_enter", "f_u10 0x%x", 'x', f_u10
, (char *) 0));
3385 #if WITH_PROFILE_MODEL_P
3386 /* Record the fields for profiling. */
3387 if (PROFILE_MODEL_P (current_cpu
))
3389 FLD (in_h_gr_SI_14
) = 14;
3390 FLD (in_h_gr_SI_15
) = 15;
3391 FLD (out_h_gr_SI_14
) = 14;
3392 FLD (out_h_gr_SI_15
) = 15;
3401 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3402 #define FLD(f) abuf->fields.sfmt_enter.f
3405 /* Record the fields for the semantic handler. */
3406 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_leave", (char *) 0));
3408 #if WITH_PROFILE_MODEL_P
3409 /* Record the fields for profiling. */
3410 if (PROFILE_MODEL_P (current_cpu
))
3412 FLD (in_h_gr_SI_14
) = 14;
3413 FLD (in_h_gr_SI_15
) = 15;
3414 FLD (out_h_gr_SI_14
) = 14;
3415 FLD (out_h_gr_SI_15
) = 15;
3424 const IDESC
*idesc
= &fr30bf_insn_data
[itype
];
3425 CGEN_INSN_INT insn
= base_insn
;
3426 #define FLD(f) abuf->fields.sfmt_add.f
3430 f_Rj
= EXTRACT_MSB0_UINT (insn
, 16, 8, 4);
3431 f_Ri
= EXTRACT_MSB0_UINT (insn
, 16, 12, 4);
3433 /* Record the fields for the semantic handler. */
3436 FLD (i_Ri
) = & CPU (h_gr
)[f_Ri
];
3437 FLD (i_Rj
) = & CPU (h_gr
)[f_Rj
];
3438 TRACE_EXTRACT (current_cpu
, abuf
, (current_cpu
, pc
, "sfmt_xchb", "f_Ri 0x%x", 'x', f_Ri
, "f_Rj 0x%x", 'x', f_Rj
, "Ri 0x%x", 'x', f_Ri
, "Rj 0x%x", 'x', f_Rj
, (char *) 0));
3440 #if WITH_PROFILE_MODEL_P
3441 /* Record the fields for profiling. */
3442 if (PROFILE_MODEL_P (current_cpu
))
3446 FLD (out_Ri
) = f_Ri
;