34 #define MASK_V6 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V6)
35 #define MASK_V7 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V7)
36 #define MASK_V8 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V8)
37 #define MASK_SPARCLET SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_SPARCLET)
38 #define MASK_SPARCLITE SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_SPARCLITE)
39 #define MASK_V9 SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9)
40 #define MASK_V9A SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9A)
41 #define MASK_V9B SPARC_OPCODE_ARCH_MASK (SPARC_OPCODE_ARCH_V9B)
45 #define v6 (MASK_V6 | MASK_V7 | MASK_V8 | MASK_SPARCLET \
46 | MASK_SPARCLITE | MASK_V9 | MASK_V9A | MASK_V9B)
48 #define v6notlet (MASK_V6 | MASK_V7 | MASK_V8 \
49 | MASK_SPARCLITE | MASK_V9 | MASK_V9A | MASK_V9B)
50 #define v7 (MASK_V7 | MASK_V8 | MASK_SPARCLET \
51 | MASK_SPARCLITE | MASK_V9 | MASK_V9A | MASK_V9B)
58 #define v8 (MASK_V8 | MASK_SPARCLET | MASK_SPARCLITE \
59 | MASK_V9 | MASK_V9A | MASK_V9B)
60 #define sparclet (MASK_SPARCLET)
61 #define sparclite (MASK_SPARCLITE)
62 #define v9 (MASK_V9 | MASK_V9A | MASK_V9B)
63 #define v9a (MASK_V9A | MASK_V9B)
64 #define v9b (MASK_V9B)
66 #define v6notv9 (MASK_V6 | MASK_V7 | MASK_V8 \
67 | MASK_SPARCLET | MASK_SPARCLITE)
70 #define v9notv9a (MASK_V9)
99 if (strcmp (
name,
p->name) == 0) {
108 #define COND(x) (((x) & 0xf) << 25)
111 #define MCOND(x,i_or_f) ((((i_or_f) & 1) << 18) | (((x) >> 11) & (0xf << 14)))
114 #define RCOND(x) (((x) & 0x7) << 10)
116 #define CONDA (COND (0x8))
117 #define CONDCC (COND (0xd))
118 #define CONDCS (COND (0x5))
119 #define CONDE (COND (0x1))
120 #define CONDG (COND (0xa))
121 #define CONDGE (COND (0xb))
122 #define CONDGU (COND (0xc))
123 #define CONDL (COND (0x3))
124 #define CONDLE (COND (0x2))
125 #define CONDLEU (COND (0x4))
126 #define CONDN (COND (0x0))
127 #define CONDNE (COND (0x9))
128 #define CONDNEG (COND (0x6))
129 #define CONDPOS (COND (0xe))
130 #define CONDVC (COND (0xf))
131 #define CONDVS (COND (0x7))
133 #define CONDNZ CONDNE
135 #define CONDGEU CONDCC
136 #define CONDLU CONDCS
138 #define FCONDA (COND (0x8))
139 #define FCONDE (COND (0x9))
140 #define FCONDG (COND (0x6))
141 #define FCONDGE (COND (0xb))
142 #define FCONDL (COND (0x4))
143 #define FCONDLE (COND (0xd))
144 #define FCONDLG (COND (0x2))
145 #define FCONDN (COND (0x0))
146 #define FCONDNE (COND (0x1))
147 #define FCONDO (COND (0xf))
148 #define FCONDU (COND (0x7))
149 #define FCONDUE (COND (0xa))
150 #define FCONDUG (COND (0x5))
151 #define FCONDUGE (COND (0xc))
152 #define FCONDUL (COND (0x3))
153 #define FCONDULE (COND (0xe))
155 #define FCONDNZ FCONDNE
156 #define FCONDZ FCONDE
159 #define XCC (1 << 12)
160 #define FCC(x) (((x) & 0x3) << 11)
161 #define FBFCC(x) (((x) & 0x3) << 20)
172 #define COMMUTEOP(opcode, op3, arch_mask) \
173 { opcode, F3(2, op3, 0), F3(~2, ~(op3), ~0)|ASI(~0), "1,2,d", 0, arch_mask }, \
174 { opcode, F3(2, op3, 1), F3(~2, ~(op3), ~1), "1,i,d", 0, arch_mask }, \
175 { opcode, F3(2, op3, 1), F3(~2, ~(op3), ~1), "i,1,d", 0, arch_mask }
179 {
"ld",
F3(3, 0x00, 0),
F3(~3, ~0x00, ~0),
"[1+2],d", 0,
v6 },
180 {
"ld",
F3(3, 0x00, 0),
F3(~3, ~0x00, ~0)|
RS2_G0,
"[1],d", 0,
v6 },
181 {
"ld",
F3(3, 0x00, 1),
F3(~3, ~0x00, ~1),
"[1+i],d", 0,
v6 },
182 {
"ld",
F3(3, 0x00, 1),
F3(~3, ~0x00, ~1),
"[i+1],d", 0,
v6 },
183 {
"ld",
F3(3, 0x00, 1),
F3(~3, ~0x00, ~1)|
RS1_G0,
"[i],d", 0,
v6 },
184 {
"ld",
F3(3, 0x00, 1),
F3(~3, ~0x00, ~1)|
SIMM13(~0),
"[1],d", 0,
v6 },
185 {
"ld",
F3(3, 0x20, 0),
F3(~3, ~0x20, ~0),
"[1+2],g", 0,
v6 },
186 {
"ld",
F3(3, 0x20, 0),
F3(~3, ~0x20, ~0)|
RS2_G0,
"[1],g", 0,
v6 },
187 {
"ld",
F3(3, 0x20, 1),
F3(~3, ~0x20, ~1),
"[1+i],g", 0,
v6 },
188 {
"ld",
F3(3, 0x20, 1),
F3(~3, ~0x20, ~1),
"[i+1],g", 0,
v6 },
189 {
"ld",
F3(3, 0x20, 1),
F3(~3, ~0x20, ~1)|
RS1_G0,
"[i],g", 0,
v6 },
190 {
"ld",
F3(3, 0x20, 1),
F3(~3, ~0x20, ~1)|
SIMM13(~0),
"[1],g", 0,
v6 },
192 {
"ld",
F3(3, 0x21, 0),
F3(~3, ~0x21, ~0)|
RD(~0),
"[1+2],F", 0,
v6 },
193 {
"ld",
F3(3, 0x21, 0),
F3(~3, ~0x21, ~0)|
RS2_G0|
RD(~0),
"[1],F", 0,
v6 },
194 {
"ld",
F3(3, 0x21, 1),
F3(~3, ~0x21, ~1)|
RD(~0),
"[1+i],F", 0,
v6 },
195 {
"ld",
F3(3, 0x21, 1),
F3(~3, ~0x21, ~1)|
RD(~0),
"[i+1],F", 0,
v6 },
196 {
"ld",
F3(3, 0x21, 1),
F3(~3, ~0x21, ~1)|
RS1_G0|
RD(~0),
"[i],F", 0,
v6 },
197 {
"ld",
F3(3, 0x21, 1),
F3(~3, ~0x21, ~1)|
SIMM13(~0)|
RD(~0),
"[1],F", 0,
v6 },
199 {
"ld",
F3(3, 0x30, 0),
F3(~3, ~0x30, ~0),
"[1+2],D", 0,
v6notv9 },
200 {
"ld",
F3(3, 0x30, 0),
F3(~3, ~0x30, ~0)|
RS2_G0,
"[1],D", 0,
v6notv9 },
201 {
"ld",
F3(3, 0x30, 1),
F3(~3, ~0x30, ~1),
"[1+i],D", 0,
v6notv9 },
202 {
"ld",
F3(3, 0x30, 1),
F3(~3, ~0x30, ~1),
"[i+1],D", 0,
v6notv9 },
203 {
"ld",
F3(3, 0x30, 1),
F3(~3, ~0x30, ~1)|
RS1_G0,
"[i],D", 0,
v6notv9 },
204 {
"ld",
F3(3, 0x30, 1),
F3(~3, ~0x30, ~1)|
SIMM13(~0),
"[1],D", 0,
v6notv9 },
205 {
"ld",
F3(3, 0x31, 0),
F3(~3, ~0x31, ~0),
"[1+2],C", 0,
v6notv9 },
206 {
"ld",
F3(3, 0x31, 0),
F3(~3, ~0x31, ~0)|
RS2_G0,
"[1],C", 0,
v6notv9 },
207 {
"ld",
F3(3, 0x31, 1),
F3(~3, ~0x31, ~1),
"[1+i],C", 0,
v6notv9 },
208 {
"ld",
F3(3, 0x31, 1),
F3(~3, ~0x31, ~1),
"[i+1],C", 0,
v6notv9 },
209 {
"ld",
F3(3, 0x31, 1),
F3(~3, ~0x31, ~1)|
RS1_G0,
"[i],C", 0,
v6notv9 },
210 {
"ld",
F3(3, 0x31, 1),
F3(~3, ~0x31, ~1)|
SIMM13(~0),
"[1],C", 0,
v6notv9 },
214 {
"lduw",
F3(3, 0x00, 0),
F3(~3, ~0x00, ~0),
"[1+2],d",
F_ALIAS,
v9 },
215 {
"lduw",
F3(3, 0x00, 0),
F3(~3, ~0x00, ~0)|
RS2_G0,
"[1],d",
F_ALIAS,
v9 },
216 {
"lduw",
F3(3, 0x00, 1),
F3(~3, ~0x00, ~1),
"[1+i],d",
F_ALIAS,
v9 },
217 {
"lduw",
F3(3, 0x00, 1),
F3(~3, ~0x00, ~1),
"[i+1],d",
F_ALIAS,
v9 },
218 {
"lduw",
F3(3, 0x00, 1),
F3(~3, ~0x00, ~1)|
RS1_G0,
"[i],d",
F_ALIAS,
v9 },
219 {
"lduw",
F3(3, 0x00, 1),
F3(~3, ~0x00, ~1)|
SIMM13(~0),
"[1],d",
F_ALIAS,
v9 },
221 {
"ldd",
F3(3, 0x03, 0),
F3(~3, ~0x03, ~0)|
ASI(~0),
"[1+2],d", 0,
v6 },
222 {
"ldd",
F3(3, 0x03, 0),
F3(~3, ~0x03, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v6 },
223 {
"ldd",
F3(3, 0x03, 1),
F3(~3, ~0x03, ~1),
"[1+i],d", 0,
v6 },
224 {
"ldd",
F3(3, 0x03, 1),
F3(~3, ~0x03, ~1),
"[i+1],d", 0,
v6 },
225 {
"ldd",
F3(3, 0x03, 1),
F3(~3, ~0x03, ~1)|
RS1_G0,
"[i],d", 0,
v6 },
226 {
"ldd",
F3(3, 0x03, 1),
F3(~3, ~0x03, ~1)|
SIMM13(~0),
"[1],d", 0,
v6 },
227 {
"ldd",
F3(3, 0x23, 0),
F3(~3, ~0x23, ~0)|
ASI(~0),
"[1+2],H", 0,
v6 },
228 {
"ldd",
F3(3, 0x23, 0),
F3(~3, ~0x23, ~0)|
ASI_RS2(~0),
"[1],H", 0,
v6 },
229 {
"ldd",
F3(3, 0x23, 1),
F3(~3, ~0x23, ~1),
"[1+i],H", 0,
v6 },
230 {
"ldd",
F3(3, 0x23, 1),
F3(~3, ~0x23, ~1),
"[i+1],H", 0,
v6 },
231 {
"ldd",
F3(3, 0x23, 1),
F3(~3, ~0x23, ~1)|
RS1_G0,
"[i],H", 0,
v6 },
232 {
"ldd",
F3(3, 0x23, 1),
F3(~3, ~0x23, ~1)|
SIMM13(~0),
"[1],H", 0,
v6 },
234 {
"ldd",
F3(3, 0x33, 0),
F3(~3, ~0x33, ~0)|
ASI(~0),
"[1+2],D", 0,
v6notv9 },
235 {
"ldd",
F3(3, 0x33, 0),
F3(~3, ~0x33, ~0)|
ASI_RS2(~0),
"[1],D", 0,
v6notv9 },
236 {
"ldd",
F3(3, 0x33, 1),
F3(~3, ~0x33, ~1),
"[1+i],D", 0,
v6notv9 },
237 {
"ldd",
F3(3, 0x33, 1),
F3(~3, ~0x33, ~1),
"[i+1],D", 0,
v6notv9 },
238 {
"ldd",
F3(3, 0x33, 1),
F3(~3, ~0x33, ~1)|
RS1_G0,
"[i],D", 0,
v6notv9 },
239 {
"ldd",
F3(3, 0x33, 1),
F3(~3, ~0x33, ~1)|
SIMM13(~0),
"[1],D", 0,
v6notv9 },
241 {
"ldq",
F3(3, 0x22, 0),
F3(~3, ~0x22, ~0)|
ASI(~0),
"[1+2],J", 0,
v9 },
242 {
"ldq",
F3(3, 0x22, 0),
F3(~3, ~0x22, ~0)|
ASI_RS2(~0),
"[1],J", 0,
v9 },
243 {
"ldq",
F3(3, 0x22, 1),
F3(~3, ~0x22, ~1),
"[1+i],J", 0,
v9 },
244 {
"ldq",
F3(3, 0x22, 1),
F3(~3, ~0x22, ~1),
"[i+1],J", 0,
v9 },
245 {
"ldq",
F3(3, 0x22, 1),
F3(~3, ~0x22, ~1)|
RS1_G0,
"[i],J", 0,
v9 },
246 {
"ldq",
F3(3, 0x22, 1),
F3(~3, ~0x22, ~1)|
SIMM13(~0),
"[1],J", 0,
v9 },
248 {
"ldsb",
F3(3, 0x09, 0),
F3(~3, ~0x09, ~0)|
ASI(~0),
"[1+2],d", 0,
v6 },
249 {
"ldsb",
F3(3, 0x09, 0),
F3(~3, ~0x09, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v6 },
250 {
"ldsb",
F3(3, 0x09, 1),
F3(~3, ~0x09, ~1),
"[1+i],d", 0,
v6 },
251 {
"ldsb",
F3(3, 0x09, 1),
F3(~3, ~0x09, ~1),
"[i+1],d", 0,
v6 },
252 {
"ldsb",
F3(3, 0x09, 1),
F3(~3, ~0x09, ~1)|
RS1_G0,
"[i],d", 0,
v6 },
253 {
"ldsb",
F3(3, 0x09, 1),
F3(~3, ~0x09, ~1)|
SIMM13(~0),
"[1],d", 0,
v6 },
255 {
"ldsh",
F3(3, 0x0a, 0),
F3(~3, ~0x0a, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v6 },
256 {
"ldsh",
F3(3, 0x0a, 0),
F3(~3, ~0x0a, ~0)|
ASI(~0),
"[1+2],d", 0,
v6 },
257 {
"ldsh",
F3(3, 0x0a, 1),
F3(~3, ~0x0a, ~1),
"[1+i],d", 0,
v6 },
258 {
"ldsh",
F3(3, 0x0a, 1),
F3(~3, ~0x0a, ~1),
"[i+1],d", 0,
v6 },
259 {
"ldsh",
F3(3, 0x0a, 1),
F3(~3, ~0x0a, ~1)|
RS1_G0,
"[i],d", 0,
v6 },
260 {
"ldsh",
F3(3, 0x0a, 1),
F3(~3, ~0x0a, ~1)|
SIMM13(~0),
"[1],d", 0,
v6 },
262 {
"ldstub",
F3(3, 0x0d, 0),
F3(~3, ~0x0d, ~0)|
ASI(~0),
"[1+2],d", 0,
v6 },
263 {
"ldstub",
F3(3, 0x0d, 0),
F3(~3, ~0x0d, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v6 },
264 {
"ldstub",
F3(3, 0x0d, 1),
F3(~3, ~0x0d, ~1),
"[1+i],d", 0,
v6 },
265 {
"ldstub",
F3(3, 0x0d, 1),
F3(~3, ~0x0d, ~1),
"[i+1],d", 0,
v6 },
266 {
"ldstub",
F3(3, 0x0d, 1),
F3(~3, ~0x0d, ~1)|
RS1_G0,
"[i],d", 0,
v6 },
267 {
"ldstub",
F3(3, 0x0d, 1),
F3(~3, ~0x0d, ~1)|
SIMM13(~0),
"[1],d", 0,
v6 },
269 {
"ldsw",
F3(3, 0x08, 0),
F3(~3, ~0x08, ~0)|
ASI(~0),
"[1+2],d", 0,
v9 },
270 {
"ldsw",
F3(3, 0x08, 0),
F3(~3, ~0x08, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v9 },
271 {
"ldsw",
F3(3, 0x08, 1),
F3(~3, ~0x08, ~1),
"[1+i],d", 0,
v9 },
272 {
"ldsw",
F3(3, 0x08, 1),
F3(~3, ~0x08, ~1),
"[i+1],d", 0,
v9 },
273 {
"ldsw",
F3(3, 0x08, 1),
F3(~3, ~0x08, ~1)|
RS1_G0,
"[i],d", 0,
v9 },
274 {
"ldsw",
F3(3, 0x08, 1),
F3(~3, ~0x08, ~1)|
SIMM13(~0),
"[1],d", 0,
v9 },
276 {
"ldub",
F3(3, 0x01, 0),
F3(~3, ~0x01, ~0)|
ASI(~0),
"[1+2],d", 0,
v6 },
277 {
"ldub",
F3(3, 0x01, 0),
F3(~3, ~0x01, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v6 },
278 {
"ldub",
F3(3, 0x01, 1),
F3(~3, ~0x01, ~1),
"[1+i],d", 0,
v6 },
279 {
"ldub",
F3(3, 0x01, 1),
F3(~3, ~0x01, ~1),
"[i+1],d", 0,
v6 },
280 {
"ldub",
F3(3, 0x01, 1),
F3(~3, ~0x01, ~1)|
RS1_G0,
"[i],d", 0,
v6 },
281 {
"ldub",
F3(3, 0x01, 1),
F3(~3, ~0x01, ~1)|
SIMM13(~0),
"[1],d", 0,
v6 },
283 {
"lduh",
F3(3, 0x02, 0),
F3(~3, ~0x02, ~0)|
ASI(~0),
"[1+2],d", 0,
v6 },
284 {
"lduh",
F3(3, 0x02, 0),
F3(~3, ~0x02, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v6 },
285 {
"lduh",
F3(3, 0x02, 1),
F3(~3, ~0x02, ~1),
"[1+i],d", 0,
v6 },
286 {
"lduh",
F3(3, 0x02, 1),
F3(~3, ~0x02, ~1),
"[i+1],d", 0,
v6 },
287 {
"lduh",
F3(3, 0x02, 1),
F3(~3, ~0x02, ~1)|
RS1_G0,
"[i],d", 0,
v6 },
288 {
"lduh",
F3(3, 0x02, 1),
F3(~3, ~0x02, ~1)|
SIMM13(~0),
"[1],d", 0,
v6 },
290 {
"ldx",
F3(3, 0x0b, 0),
F3(~3, ~0x0b, ~0)|
ASI(~0),
"[1+2],d", 0,
v9 },
291 {
"ldx",
F3(3, 0x0b, 0),
F3(~3, ~0x0b, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v9 },
292 {
"ldx",
F3(3, 0x0b, 1),
F3(~3, ~0x0b, ~1),
"[1+i],d", 0,
v9 },
293 {
"ldx",
F3(3, 0x0b, 1),
F3(~3, ~0x0b, ~1),
"[i+1],d", 0,
v9 },
294 {
"ldx",
F3(3, 0x0b, 1),
F3(~3, ~0x0b, ~1)|
RS1_G0,
"[i],d", 0,
v9 },
295 {
"ldx",
F3(3, 0x0b, 1),
F3(~3, ~0x0b, ~1)|
SIMM13(~0),
"[1],d", 0,
v9 },
297 {
"ldx",
F3(3, 0x21, 0)|
RD(1),
F3(~3, ~0x21, ~0)|
RD(~1),
"[1+2],F", 0,
v9 },
298 {
"ldx",
F3(3, 0x21, 0)|
RD(1),
F3(~3, ~0x21, ~0)|
RS2_G0|
RD(~1),
"[1],F", 0,
v9 },
299 {
"ldx",
F3(3, 0x21, 1)|
RD(1),
F3(~3, ~0x21, ~1)|
RD(~1),
"[1+i],F", 0,
v9 },
300 {
"ldx",
F3(3, 0x21, 1)|
RD(1),
F3(~3, ~0x21, ~1)|
RD(~1),
"[i+1],F", 0,
v9 },
301 {
"ldx",
F3(3, 0x21, 1)|
RD(1),
F3(~3, ~0x21, ~1)|
RS1_G0|
RD(~1),
"[i],F", 0,
v9 },
302 {
"ldx",
F3(3, 0x21, 1)|
RD(1),
F3(~3, ~0x21, ~1)|
SIMM13(~0)|
RD(~1),
"[1],F", 0,
v9 },
304 {
"lda",
F3(3, 0x10, 0),
F3(~3, ~0x10, ~0),
"[1+2]A,d", 0,
v6 },
305 {
"lda",
F3(3, 0x10, 0),
F3(~3, ~0x10, ~0)|
RS2_G0,
"[1]A,d", 0,
v6 },
306 {
"lda",
F3(3, 0x10, 1),
F3(~3, ~0x10, ~1),
"[1+i]o,d", 0,
v9 },
307 {
"lda",
F3(3, 0x10, 1),
F3(~3, ~0x10, ~1),
"[i+1]o,d", 0,
v9 },
308 {
"lda",
F3(3, 0x10, 1),
F3(~3, ~0x10, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
309 {
"lda",
F3(3, 0x10, 1),
F3(~3, ~0x10, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
310 {
"lda",
F3(3, 0x30, 0),
F3(~3, ~0x30, ~0),
"[1+2]A,g", 0,
v9 },
311 {
"lda",
F3(3, 0x30, 0),
F3(~3, ~0x30, ~0)|
RS2_G0,
"[1]A,g", 0,
v9 },
312 {
"lda",
F3(3, 0x30, 1),
F3(~3, ~0x30, ~1),
"[1+i]o,g", 0,
v9 },
313 {
"lda",
F3(3, 0x30, 1),
F3(~3, ~0x30, ~1),
"[i+1]o,g", 0,
v9 },
314 {
"lda",
F3(3, 0x30, 1),
F3(~3, ~0x30, ~1)|
RS1_G0,
"[i]o,g", 0,
v9 },
315 {
"lda",
F3(3, 0x30, 1),
F3(~3, ~0x30, ~1)|
SIMM13(~0),
"[1]o,g", 0,
v9 },
317 {
"ldda",
F3(3, 0x13, 0),
F3(~3, ~0x13, ~0),
"[1+2]A,d", 0,
v6 },
318 {
"ldda",
F3(3, 0x13, 0),
F3(~3, ~0x13, ~0)|
RS2_G0,
"[1]A,d", 0,
v6 },
319 {
"ldda",
F3(3, 0x13, 1),
F3(~3, ~0x13, ~1),
"[1+i]o,d", 0,
v9 },
320 {
"ldda",
F3(3, 0x13, 1),
F3(~3, ~0x13, ~1),
"[i+1]o,d", 0,
v9 },
321 {
"ldda",
F3(3, 0x13, 1),
F3(~3, ~0x13, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
322 {
"ldda",
F3(3, 0x13, 1),
F3(~3, ~0x13, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
324 {
"ldda",
F3(3, 0x33, 0),
F3(~3, ~0x33, ~0),
"[1+2]A,H", 0,
v9 },
325 {
"ldda",
F3(3, 0x33, 0),
F3(~3, ~0x33, ~0)|
RS2_G0,
"[1]A,H", 0,
v9 },
326 {
"ldda",
F3(3, 0x33, 1),
F3(~3, ~0x33, ~1),
"[1+i]o,H", 0,
v9 },
327 {
"ldda",
F3(3, 0x33, 1),
F3(~3, ~0x33, ~1),
"[i+1]o,H", 0,
v9 },
328 {
"ldda",
F3(3, 0x33, 1),
F3(~3, ~0x33, ~1)|
RS1_G0,
"[i]o,H", 0,
v9 },
329 {
"ldda",
F3(3, 0x33, 1),
F3(~3, ~0x33, ~1)|
SIMM13(~0),
"[1]o,H", 0,
v9 },
331 {
"ldqa",
F3(3, 0x32, 0),
F3(~3, ~0x32, ~0),
"[1+2]A,J", 0,
v9 },
332 {
"ldqa",
F3(3, 0x32, 0),
F3(~3, ~0x32, ~0)|
RS2_G0,
"[1]A,J", 0,
v9 },
333 {
"ldqa",
F3(3, 0x32, 1),
F3(~3, ~0x32, ~1),
"[1+i]o,J", 0,
v9 },
334 {
"ldqa",
F3(3, 0x32, 1),
F3(~3, ~0x32, ~1),
"[i+1]o,J", 0,
v9 },
335 {
"ldqa",
F3(3, 0x32, 1),
F3(~3, ~0x32, ~1)|
RS1_G0,
"[i]o,J", 0,
v9 },
336 {
"ldqa",
F3(3, 0x32, 1),
F3(~3, ~0x32, ~1)|
SIMM13(~0),
"[1]o,J", 0,
v9 },
338 {
"ldsba",
F3(3, 0x19, 0),
F3(~3, ~0x19, ~0),
"[1+2]A,d", 0,
v6 },
339 {
"ldsba",
F3(3, 0x19, 0),
F3(~3, ~0x19, ~0)|
RS2_G0,
"[1]A,d", 0,
v6 },
340 {
"ldsba",
F3(3, 0x19, 1),
F3(~3, ~0x19, ~1),
"[1+i]o,d", 0,
v9 },
341 {
"ldsba",
F3(3, 0x19, 1),
F3(~3, ~0x19, ~1),
"[i+1]o,d", 0,
v9 },
342 {
"ldsba",
F3(3, 0x19, 1),
F3(~3, ~0x19, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
343 {
"ldsba",
F3(3, 0x19, 1),
F3(~3, ~0x19, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
345 {
"ldsha",
F3(3, 0x1a, 0),
F3(~3, ~0x1a, ~0),
"[1+2]A,d", 0,
v6 },
346 {
"ldsha",
F3(3, 0x1a, 0),
F3(~3, ~0x1a, ~0)|
RS2_G0,
"[1]A,d", 0,
v6 },
347 {
"ldsha",
F3(3, 0x1a, 1),
F3(~3, ~0x1a, ~1),
"[1+i]o,d", 0,
v9 },
348 {
"ldsha",
F3(3, 0x1a, 1),
F3(~3, ~0x1a, ~1),
"[i+1]o,d", 0,
v9 },
349 {
"ldsha",
F3(3, 0x1a, 1),
F3(~3, ~0x1a, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
350 {
"ldsha",
F3(3, 0x1a, 1),
F3(~3, ~0x1a, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
352 {
"ldstuba",
F3(3, 0x1d, 0),
F3(~3, ~0x1d, ~0),
"[1+2]A,d", 0,
v6 },
353 {
"ldstuba",
F3(3, 0x1d, 0),
F3(~3, ~0x1d, ~0)|
RS2_G0,
"[1]A,d", 0,
v6 },
354 {
"ldstuba",
F3(3, 0x1d, 1),
F3(~3, ~0x1d, ~1),
"[1+i]o,d", 0,
v9 },
355 {
"ldstuba",
F3(3, 0x1d, 1),
F3(~3, ~0x1d, ~1),
"[i+1]o,d", 0,
v9 },
356 {
"ldstuba",
F3(3, 0x1d, 1),
F3(~3, ~0x1d, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
357 {
"ldstuba",
F3(3, 0x1d, 1),
F3(~3, ~0x1d, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
359 {
"ldswa",
F3(3, 0x18, 0),
F3(~3, ~0x18, ~0),
"[1+2]A,d", 0,
v9 },
360 {
"ldswa",
F3(3, 0x18, 0),
F3(~3, ~0x18, ~0)|
RS2_G0,
"[1]A,d", 0,
v9 },
361 {
"ldswa",
F3(3, 0x18, 1),
F3(~3, ~0x18, ~1),
"[1+i]o,d", 0,
v9 },
362 {
"ldswa",
F3(3, 0x18, 1),
F3(~3, ~0x18, ~1),
"[i+1]o,d", 0,
v9 },
363 {
"ldswa",
F3(3, 0x18, 1),
F3(~3, ~0x18, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
364 {
"ldswa",
F3(3, 0x18, 1),
F3(~3, ~0x18, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
366 {
"lduba",
F3(3, 0x11, 0),
F3(~3, ~0x11, ~0),
"[1+2]A,d", 0,
v6 },
367 {
"lduba",
F3(3, 0x11, 0),
F3(~3, ~0x11, ~0)|
RS2_G0,
"[1]A,d", 0,
v6 },
368 {
"lduba",
F3(3, 0x11, 1),
F3(~3, ~0x11, ~1),
"[1+i]o,d", 0,
v9 },
369 {
"lduba",
F3(3, 0x11, 1),
F3(~3, ~0x11, ~1),
"[i+1]o,d", 0,
v9 },
370 {
"lduba",
F3(3, 0x11, 1),
F3(~3, ~0x11, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
371 {
"lduba",
F3(3, 0x11, 1),
F3(~3, ~0x11, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
373 {
"lduha",
F3(3, 0x12, 0),
F3(~3, ~0x12, ~0),
"[1+2]A,d", 0,
v6 },
374 {
"lduha",
F3(3, 0x12, 0),
F3(~3, ~0x12, ~0)|
RS2_G0,
"[1]A,d", 0,
v6 },
375 {
"lduha",
F3(3, 0x12, 1),
F3(~3, ~0x12, ~1),
"[1+i]o,d", 0,
v9 },
376 {
"lduha",
F3(3, 0x12, 1),
F3(~3, ~0x12, ~1),
"[i+1]o,d", 0,
v9 },
377 {
"lduha",
F3(3, 0x12, 1),
F3(~3, ~0x12, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
378 {
"lduha",
F3(3, 0x12, 1),
F3(~3, ~0x12, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
380 {
"lduwa",
F3(3, 0x10, 0),
F3(~3, ~0x10, ~0),
"[1+2]A,d",
F_ALIAS,
v9 },
381 {
"lduwa",
F3(3, 0x10, 0),
F3(~3, ~0x10, ~0)|
RS2_G0,
"[1]A,d",
F_ALIAS,
v9 },
382 {
"lduwa",
F3(3, 0x10, 1),
F3(~3, ~0x10, ~1),
"[1+i]o,d",
F_ALIAS,
v9 },
383 {
"lduwa",
F3(3, 0x10, 1),
F3(~3, ~0x10, ~1),
"[i+1]o,d",
F_ALIAS,
v9 },
384 {
"lduwa",
F3(3, 0x10, 1),
F3(~3, ~0x10, ~1)|
RS1_G0,
"[i]o,d",
F_ALIAS,
v9 },
385 {
"lduwa",
F3(3, 0x10, 1),
F3(~3, ~0x10, ~1)|
SIMM13(~0),
"[1]o,d",
F_ALIAS,
v9 },
387 {
"ldxa",
F3(3, 0x1b, 0),
F3(~3, ~0x1b, ~0),
"[1+2]A,d", 0,
v9 },
388 {
"ldxa",
F3(3, 0x1b, 0),
F3(~3, ~0x1b, ~0)|
RS2_G0,
"[1]A,d", 0,
v9 },
389 {
"ldxa",
F3(3, 0x1b, 1),
F3(~3, ~0x1b, ~1),
"[1+i]o,d", 0,
v9 },
390 {
"ldxa",
F3(3, 0x1b, 1),
F3(~3, ~0x1b, ~1),
"[i+1]o,d", 0,
v9 },
391 {
"ldxa",
F3(3, 0x1b, 1),
F3(~3, ~0x1b, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
392 {
"ldxa",
F3(3, 0x1b, 1),
F3(~3, ~0x1b, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
394 {
"st",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI(~0),
"d,[1+2]", 0,
v6 },
395 {
"st",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI_RS2(~0),
"d,[1]", 0,
v6 },
396 {
"st",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[1+i]", 0,
v6 },
397 {
"st",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[i+1]", 0,
v6 },
398 {
"st",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RS1_G0,
"d,[i]", 0,
v6 },
399 {
"st",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
SIMM13(~0),
"d,[1]", 0,
v6 },
400 {
"st",
F3(3, 0x24, 0),
F3(~3, ~0x24, ~0)|
ASI(~0),
"g,[1+2]", 0,
v6 },
401 {
"st",
F3(3, 0x24, 0),
F3(~3, ~0x24, ~0)|
ASI_RS2(~0),
"g,[1]", 0,
v6 },
402 {
"st",
F3(3, 0x24, 1),
F3(~3, ~0x24, ~1),
"g,[1+i]", 0,
v6 },
403 {
"st",
F3(3, 0x24, 1),
F3(~3, ~0x24, ~1),
"g,[i+1]", 0,
v6 },
404 {
"st",
F3(3, 0x24, 1),
F3(~3, ~0x24, ~1)|
RS1_G0,
"g,[i]", 0,
v6 },
405 {
"st",
F3(3, 0x24, 1),
F3(~3, ~0x24, ~1)|
SIMM13(~0),
"g,[1]", 0,
v6 },
407 {
"st",
F3(3, 0x34, 0),
F3(~3, ~0x34, ~0)|
ASI(~0),
"D,[1+2]", 0,
v6notv9 },
408 {
"st",
F3(3, 0x34, 0),
F3(~3, ~0x34, ~0)|
ASI_RS2(~0),
"D,[1]", 0,
v6notv9 },
409 {
"st",
F3(3, 0x34, 1),
F3(~3, ~0x34, ~1),
"D,[1+i]", 0,
v6notv9 },
410 {
"st",
F3(3, 0x34, 1),
F3(~3, ~0x34, ~1),
"D,[i+1]", 0,
v6notv9 },
411 {
"st",
F3(3, 0x34, 1),
F3(~3, ~0x34, ~1)|
RS1_G0,
"D,[i]", 0,
v6notv9 },
412 {
"st",
F3(3, 0x34, 1),
F3(~3, ~0x34, ~1)|
SIMM13(~0),
"D,[1]", 0,
v6notv9 },
413 {
"st",
F3(3, 0x35, 0),
F3(~3, ~0x35, ~0)|
ASI(~0),
"C,[1+2]", 0,
v6notv9 },
414 {
"st",
F3(3, 0x35, 0),
F3(~3, ~0x35, ~0)|
ASI_RS2(~0),
"C,[1]", 0,
v6notv9 },
415 {
"st",
F3(3, 0x35, 1),
F3(~3, ~0x35, ~1),
"C,[1+i]", 0,
v6notv9 },
416 {
"st",
F3(3, 0x35, 1),
F3(~3, ~0x35, ~1),
"C,[i+1]", 0,
v6notv9 },
417 {
"st",
F3(3, 0x35, 1),
F3(~3, ~0x35, ~1)|
RS1_G0,
"C,[i]", 0,
v6notv9 },
418 {
"st",
F3(3, 0x35, 1),
F3(~3, ~0x35, ~1)|
SIMM13(~0),
"C,[1]", 0,
v6notv9 },
420 {
"st",
F3(3, 0x25, 0),
F3(~3, ~0x25, ~0)|
RD_G0|
ASI(~0),
"F,[1+2]", 0,
v6 },
421 {
"st",
F3(3, 0x25, 0),
F3(~3, ~0x25, ~0)|
RD_G0|
ASI_RS2(~0),
"F,[1]", 0,
v6 },
422 {
"st",
F3(3, 0x25, 1),
F3(~3, ~0x25, ~1)|
RD_G0,
"F,[1+i]", 0,
v6 },
423 {
"st",
F3(3, 0x25, 1),
F3(~3, ~0x25, ~1)|
RD_G0,
"F,[i+1]", 0,
v6 },
424 {
"st",
F3(3, 0x25, 1),
F3(~3, ~0x25, ~1)|
RD_G0|
RS1_G0,
"F,[i]", 0,
v6 },
425 {
"st",
F3(3, 0x25, 1),
F3(~3, ~0x25, ~1)|
RD_G0|
SIMM13(~0),
"F,[1]", 0,
v6 },
427 {
"stw",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v9 },
428 {
"stw",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v9 },
429 {
"stw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[1+i]",
F_ALIAS,
v9 },
430 {
"stw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[i+1]",
F_ALIAS,
v9 },
431 {
"stw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v9 },
432 {
"stw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v9 },
433 {
"stsw",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v9 },
434 {
"stsw",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v9 },
435 {
"stsw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[1+i]",
F_ALIAS,
v9 },
436 {
"stsw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[i+1]",
F_ALIAS,
v9 },
437 {
"stsw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v9 },
438 {
"stsw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v9 },
439 {
"stuw",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v9 },
440 {
"stuw",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v9 },
441 {
"stuw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[1+i]",
F_ALIAS,
v9 },
442 {
"stuw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[i+1]",
F_ALIAS,
v9 },
443 {
"stuw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v9 },
444 {
"stuw",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v9 },
446 {
"spill",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v6 },
447 {
"spill",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v6 },
448 {
"spill",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[1+i]",
F_ALIAS,
v6 },
449 {
"spill",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1),
"d,[i+1]",
F_ALIAS,
v6 },
450 {
"spill",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v6 },
451 {
"spill",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v6 },
453 {
"sta",
F3(3, 0x14, 0),
F3(~3, ~0x14, ~0),
"d,[1+2]A", 0,
v6 },
454 {
"sta",
F3(3, 0x14, 0),
F3(~3, ~0x14, ~0)|
RS2(~0),
"d,[1]A", 0,
v6 },
455 {
"sta",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1),
"d,[1+i]o", 0,
v9 },
456 {
"sta",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1),
"d,[i+1]o", 0,
v9 },
457 {
"sta",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1)|
RS1_G0,
"d,[i]o", 0,
v9 },
458 {
"sta",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1)|
SIMM13(~0),
"d,[1]o", 0,
v9 },
460 {
"sta",
F3(3, 0x34, 0),
F3(~3, ~0x34, ~0),
"g,[1+2]A", 0,
v9 },
461 {
"sta",
F3(3, 0x34, 0),
F3(~3, ~0x34, ~0)|
RS2(~0),
"g,[1]A", 0,
v9 },
462 {
"sta",
F3(3, 0x34, 1),
F3(~3, ~0x34, ~1),
"g,[1+i]o", 0,
v9 },
463 {
"sta",
F3(3, 0x34, 1),
F3(~3, ~0x34, ~1),
"g,[i+1]o", 0,
v9 },
464 {
"sta",
F3(3, 0x34, 1),
F3(~3, ~0x34, ~1)|
RS1_G0,
"g,[i]o", 0,
v9 },
465 {
"sta",
F3(3, 0x34, 1),
F3(~3, ~0x34, ~1)|
SIMM13(~0),
"g,[1]o", 0,
v9 },
467 {
"stwa",
F3(3, 0x14, 0),
F3(~3, ~0x14, ~0),
"d,[1+2]A",
F_ALIAS,
v9 },
468 {
"stwa",
F3(3, 0x14, 0),
F3(~3, ~0x14, ~0)|
RS2(~0),
"d,[1]A",
F_ALIAS,
v9 },
469 {
"stwa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1),
"d,[1+i]o",
F_ALIAS,
v9 },
470 {
"stwa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1),
"d,[i+1]o",
F_ALIAS,
v9 },
471 {
"stwa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1)|
RS1_G0,
"d,[i]o",
F_ALIAS,
v9 },
472 {
"stwa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1)|
SIMM13(~0),
"d,[1]o",
F_ALIAS,
v9 },
473 {
"stswa",
F3(3, 0x14, 0),
F3(~3, ~0x14, ~0),
"d,[1+2]A",
F_ALIAS,
v9 },
474 {
"stswa",
F3(3, 0x14, 0),
F3(~3, ~0x14, ~0)|
RS2(~0),
"d,[1]A",
F_ALIAS,
v9 },
475 {
"stswa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1),
"d,[1+i]o",
F_ALIAS,
v9 },
476 {
"stswa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1),
"d,[i+1]o",
F_ALIAS,
v9 },
477 {
"stswa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1)|
RS1_G0,
"d,[i]o",
F_ALIAS,
v9 },
478 {
"stswa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1)|
SIMM13(~0),
"d,[1]o",
F_ALIAS,
v9 },
479 {
"stuwa",
F3(3, 0x14, 0),
F3(~3, ~0x14, ~0),
"d,[1+2]A",
F_ALIAS,
v9 },
480 {
"stuwa",
F3(3, 0x14, 0),
F3(~3, ~0x14, ~0)|
RS2(~0),
"d,[1]A",
F_ALIAS,
v9 },
481 {
"stuwa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1),
"d,[1+i]o",
F_ALIAS,
v9 },
482 {
"stuwa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1),
"d,[i+1]o",
F_ALIAS,
v9 },
483 {
"stuwa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1)|
RS1_G0,
"d,[i]o",
F_ALIAS,
v9 },
484 {
"stuwa",
F3(3, 0x14, 1),
F3(~3, ~0x14, ~1)|
SIMM13(~0),
"d,[1]o",
F_ALIAS,
v9 },
486 {
"stb",
F3(3, 0x05, 0),
F3(~3, ~0x05, ~0)|
ASI(~0),
"d,[1+2]", 0,
v6 },
487 {
"stb",
F3(3, 0x05, 0),
F3(~3, ~0x05, ~0)|
ASI_RS2(~0),
"d,[1]", 0,
v6 },
488 {
"stb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1),
"d,[1+i]", 0,
v6 },
489 {
"stb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1),
"d,[i+1]", 0,
v6 },
490 {
"stb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
RS1_G0,
"d,[i]", 0,
v6 },
491 {
"stb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
SIMM13(~0),
"d,[1]", 0,
v6 },
493 {
"stsb",
F3(3, 0x05, 0),
F3(~3, ~0x05, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v6 },
494 {
"stsb",
F3(3, 0x05, 0),
F3(~3, ~0x05, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v6 },
495 {
"stsb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1),
"d,[1+i]",
F_ALIAS,
v6 },
496 {
"stsb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1),
"d,[i+1]",
F_ALIAS,
v6 },
497 {
"stsb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v6 },
498 {
"stsb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v6 },
499 {
"stub",
F3(3, 0x05, 0),
F3(~3, ~0x05, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v6 },
500 {
"stub",
F3(3, 0x05, 0),
F3(~3, ~0x05, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v6 },
501 {
"stub",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1),
"d,[1+i]",
F_ALIAS,
v6 },
502 {
"stub",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1),
"d,[i+1]",
F_ALIAS,
v6 },
503 {
"stub",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v6 },
504 {
"stub",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v6 },
506 {
"stba",
F3(3, 0x15, 0),
F3(~3, ~0x15, ~0),
"d,[1+2]A", 0,
v6 },
507 {
"stba",
F3(3, 0x15, 0),
F3(~3, ~0x15, ~0)|
RS2(~0),
"d,[1]A", 0,
v6 },
508 {
"stba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1),
"d,[1+i]o", 0,
v9 },
509 {
"stba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1),
"d,[i+1]o", 0,
v9 },
510 {
"stba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1)|
RS1_G0,
"d,[i]o", 0,
v9 },
511 {
"stba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1)|
SIMM13(~0),
"d,[1]o", 0,
v9 },
513 {
"stsba",
F3(3, 0x15, 0),
F3(~3, ~0x15, ~0),
"d,[1+2]A",
F_ALIAS,
v6 },
514 {
"stsba",
F3(3, 0x15, 0),
F3(~3, ~0x15, ~0)|
RS2(~0),
"d,[1]A",
F_ALIAS,
v6 },
515 {
"stsba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1),
"d,[1+i]o",
F_ALIAS,
v9 },
516 {
"stsba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1),
"d,[i+1]o",
F_ALIAS,
v9 },
517 {
"stsba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1)|
RS1_G0,
"d,[i]o",
F_ALIAS,
v9 },
518 {
"stsba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1)|
SIMM13(~0),
"d,[1]o",
F_ALIAS,
v9 },
519 {
"stuba",
F3(3, 0x15, 0),
F3(~3, ~0x15, ~0),
"d,[1+2]A",
F_ALIAS,
v6 },
520 {
"stuba",
F3(3, 0x15, 0),
F3(~3, ~0x15, ~0)|
RS2(~0),
"d,[1]A",
F_ALIAS,
v6 },
521 {
"stuba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1),
"d,[1+i]o",
F_ALIAS,
v9 },
522 {
"stuba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1),
"d,[i+1]o",
F_ALIAS,
v9 },
523 {
"stuba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1)|
RS1_G0,
"d,[i]o",
F_ALIAS,
v9 },
524 {
"stuba",
F3(3, 0x15, 1),
F3(~3, ~0x15, ~1)|
SIMM13(~0),
"d,[1]o",
F_ALIAS,
v9 },
526 {
"std",
F3(3, 0x07, 0),
F3(~3, ~0x07, ~0)|
ASI(~0),
"d,[1+2]", 0,
v6 },
527 {
"std",
F3(3, 0x07, 0),
F3(~3, ~0x07, ~0)|
ASI_RS2(~0),
"d,[1]", 0,
v6 },
528 {
"std",
F3(3, 0x07, 1),
F3(~3, ~0x07, ~1),
"d,[1+i]", 0,
v6 },
529 {
"std",
F3(3, 0x07, 1),
F3(~3, ~0x07, ~1),
"d,[i+1]", 0,
v6 },
530 {
"std",
F3(3, 0x07, 1),
F3(~3, ~0x07, ~1)|
RS1_G0,
"d,[i]", 0,
v6 },
531 {
"std",
F3(3, 0x07, 1),
F3(~3, ~0x07, ~1)|
SIMM13(~0),
"d,[1]", 0,
v6 },
533 {
"std",
F3(3, 0x26, 0),
F3(~3, ~0x26, ~0)|
ASI(~0),
"q,[1+2]", 0,
v6notv9 },
534 {
"std",
F3(3, 0x26, 0),
F3(~3, ~0x26, ~0)|
ASI_RS2(~0),
"q,[1]", 0,
v6notv9 },
535 {
"std",
F3(3, 0x26, 1),
F3(~3, ~0x26, ~1),
"q,[1+i]", 0,
v6notv9 },
536 {
"std",
F3(3, 0x26, 1),
F3(~3, ~0x26, ~1),
"q,[i+1]", 0,
v6notv9 },
537 {
"std",
F3(3, 0x26, 1),
F3(~3, ~0x26, ~1)|
RS1_G0,
"q,[i]", 0,
v6notv9 },
538 {
"std",
F3(3, 0x26, 1),
F3(~3, ~0x26, ~1)|
SIMM13(~0),
"q,[1]", 0,
v6notv9 },
539 {
"std",
F3(3, 0x27, 0),
F3(~3, ~0x27, ~0)|
ASI(~0),
"H,[1+2]", 0,
v6 },
540 {
"std",
F3(3, 0x27, 0),
F3(~3, ~0x27, ~0)|
ASI_RS2(~0),
"H,[1]", 0,
v6 },
541 {
"std",
F3(3, 0x27, 1),
F3(~3, ~0x27, ~1),
"H,[1+i]", 0,
v6 },
542 {
"std",
F3(3, 0x27, 1),
F3(~3, ~0x27, ~1),
"H,[i+1]", 0,
v6 },
543 {
"std",
F3(3, 0x27, 1),
F3(~3, ~0x27, ~1)|
RS1_G0,
"H,[i]", 0,
v6 },
544 {
"std",
F3(3, 0x27, 1),
F3(~3, ~0x27, ~1)|
SIMM13(~0),
"H,[1]", 0,
v6 },
546 {
"std",
F3(3, 0x36, 0),
F3(~3, ~0x36, ~0)|
ASI(~0),
"Q,[1+2]", 0,
v6notv9 },
547 {
"std",
F3(3, 0x36, 0),
F3(~3, ~0x36, ~0)|
ASI_RS2(~0),
"Q,[1]", 0,
v6notv9 },
548 {
"std",
F3(3, 0x36, 1),
F3(~3, ~0x36, ~1),
"Q,[1+i]", 0,
v6notv9 },
549 {
"std",
F3(3, 0x36, 1),
F3(~3, ~0x36, ~1),
"Q,[i+1]", 0,
v6notv9 },
550 {
"std",
F3(3, 0x36, 1),
F3(~3, ~0x36, ~1)|
RS1_G0,
"Q,[i]", 0,
v6notv9 },
551 {
"std",
F3(3, 0x36, 1),
F3(~3, ~0x36, ~1)|
SIMM13(~0),
"Q,[1]", 0,
v6notv9 },
552 {
"std",
F3(3, 0x37, 0),
F3(~3, ~0x37, ~0)|
ASI(~0),
"D,[1+2]", 0,
v6notv9 },
553 {
"std",
F3(3, 0x37, 0),
F3(~3, ~0x37, ~0)|
ASI_RS2(~0),
"D,[1]", 0,
v6notv9 },
554 {
"std",
F3(3, 0x37, 1),
F3(~3, ~0x37, ~1),
"D,[1+i]", 0,
v6notv9 },
555 {
"std",
F3(3, 0x37, 1),
F3(~3, ~0x37, ~1),
"D,[i+1]", 0,
v6notv9 },
556 {
"std",
F3(3, 0x37, 1),
F3(~3, ~0x37, ~1)|
RS1_G0,
"D,[i]", 0,
v6notv9 },
557 {
"std",
F3(3, 0x37, 1),
F3(~3, ~0x37, ~1)|
SIMM13(~0),
"D,[1]", 0,
v6notv9 },
559 {
"spilld",
F3(3, 0x07, 0),
F3(~3, ~0x07, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v6 },
560 {
"spilld",
F3(3, 0x07, 0),
F3(~3, ~0x07, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v6 },
561 {
"spilld",
F3(3, 0x07, 1),
F3(~3, ~0x07, ~1),
"d,[1+i]",
F_ALIAS,
v6 },
562 {
"spilld",
F3(3, 0x07, 1),
F3(~3, ~0x07, ~1),
"d,[i+1]",
F_ALIAS,
v6 },
563 {
"spilld",
F3(3, 0x07, 1),
F3(~3, ~0x07, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v6 },
564 {
"spilld",
F3(3, 0x07, 1),
F3(~3, ~0x07, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v6 },
566 {
"stda",
F3(3, 0x17, 0),
F3(~3, ~0x17, ~0),
"d,[1+2]A", 0,
v6 },
567 {
"stda",
F3(3, 0x17, 0),
F3(~3, ~0x17, ~0)|
RS2(~0),
"d,[1]A", 0,
v6 },
568 {
"stda",
F3(3, 0x17, 1),
F3(~3, ~0x17, ~1),
"d,[1+i]o", 0,
v9 },
569 {
"stda",
F3(3, 0x17, 1),
F3(~3, ~0x17, ~1),
"d,[i+1]o", 0,
v9 },
570 {
"stda",
F3(3, 0x17, 1),
F3(~3, ~0x17, ~1)|
RS1_G0,
"d,[i]o", 0,
v9 },
571 {
"stda",
F3(3, 0x17, 1),
F3(~3, ~0x17, ~1)|
SIMM13(~0),
"d,[1]o", 0,
v9 },
572 {
"stda",
F3(3, 0x37, 0),
F3(~3, ~0x37, ~0),
"H,[1+2]A", 0,
v9 },
573 {
"stda",
F3(3, 0x37, 0),
F3(~3, ~0x37, ~0)|
RS2(~0),
"H,[1]A", 0,
v9 },
574 {
"stda",
F3(3, 0x37, 1),
F3(~3, ~0x37, ~1),
"H,[1+i]o", 0,
v9 },
575 {
"stda",
F3(3, 0x37, 1),
F3(~3, ~0x37, ~1),
"H,[i+1]o", 0,
v9 },
576 {
"stda",
F3(3, 0x37, 1),
F3(~3, ~0x37, ~1)|
RS1_G0,
"H,[i]o", 0,
v9 },
577 {
"stda",
F3(3, 0x37, 1),
F3(~3, ~0x37, ~1)|
SIMM13(~0),
"H,[1]o", 0,
v9 },
579 {
"sth",
F3(3, 0x06, 0),
F3(~3, ~0x06, ~0)|
ASI(~0),
"d,[1+2]", 0,
v6 },
580 {
"sth",
F3(3, 0x06, 0),
F3(~3, ~0x06, ~0)|
ASI_RS2(~0),
"d,[1]", 0,
v6 },
581 {
"sth",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1),
"d,[1+i]", 0,
v6 },
582 {
"sth",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1),
"d,[i+1]", 0,
v6 },
583 {
"sth",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
RS1_G0,
"d,[i]", 0,
v6 },
584 {
"sth",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
SIMM13(~0),
"d,[1]", 0,
v6 },
586 {
"stsh",
F3(3, 0x06, 0),
F3(~3, ~0x06, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v6 },
587 {
"stsh",
F3(3, 0x06, 0),
F3(~3, ~0x06, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v6 },
588 {
"stsh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1),
"d,[1+i]",
F_ALIAS,
v6 },
589 {
"stsh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1),
"d,[i+1]",
F_ALIAS,
v6 },
590 {
"stsh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v6 },
591 {
"stsh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v6 },
592 {
"stuh",
F3(3, 0x06, 0),
F3(~3, ~0x06, ~0)|
ASI(~0),
"d,[1+2]",
F_ALIAS,
v6 },
593 {
"stuh",
F3(3, 0x06, 0),
F3(~3, ~0x06, ~0)|
ASI_RS2(~0),
"d,[1]",
F_ALIAS,
v6 },
594 {
"stuh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1),
"d,[1+i]",
F_ALIAS,
v6 },
595 {
"stuh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1),
"d,[i+1]",
F_ALIAS,
v6 },
596 {
"stuh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
RS1_G0,
"d,[i]",
F_ALIAS,
v6 },
597 {
"stuh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
SIMM13(~0),
"d,[1]",
F_ALIAS,
v6 },
599 {
"stha",
F3(3, 0x16, 0),
F3(~3, ~0x16, ~0),
"d,[1+2]A", 0,
v6 },
600 {
"stha",
F3(3, 0x16, 0),
F3(~3, ~0x16, ~0)|
RS2(~0),
"d,[1]A", 0,
v6 },
601 {
"stha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1),
"d,[1+i]o", 0,
v9 },
602 {
"stha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1),
"d,[i+1]o", 0,
v9 },
603 {
"stha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1)|
RS1_G0,
"d,[i]o", 0,
v9 },
604 {
"stha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1)|
SIMM13(~0),
"d,[1]o", 0,
v9 },
606 {
"stsha",
F3(3, 0x16, 0),
F3(~3, ~0x16, ~0),
"d,[1+2]A",
F_ALIAS,
v6 },
607 {
"stsha",
F3(3, 0x16, 0),
F3(~3, ~0x16, ~0)|
RS2(~0),
"d,[1]A",
F_ALIAS,
v6 },
608 {
"stsha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1),
"d,[1+i]o",
F_ALIAS,
v9 },
609 {
"stsha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1),
"d,[i+1]o",
F_ALIAS,
v9 },
610 {
"stsha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1)|
RS1_G0,
"d,[i]o",
F_ALIAS,
v9 },
611 {
"stsha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1)|
SIMM13(~0),
"d,[1]o",
F_ALIAS,
v9 },
612 {
"stuha",
F3(3, 0x16, 0),
F3(~3, ~0x16, ~0),
"d,[1+2]A",
F_ALIAS,
v6 },
613 {
"stuha",
F3(3, 0x16, 0),
F3(~3, ~0x16, ~0)|
RS2(~0),
"d,[1]A",
F_ALIAS,
v6 },
614 {
"stuha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1),
"d,[1+i]o",
F_ALIAS,
v9 },
615 {
"stuha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1),
"d,[i+1]o",
F_ALIAS,
v9 },
616 {
"stuha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1)|
RS1_G0,
"d,[i]o",
F_ALIAS,
v9 },
617 {
"stuha",
F3(3, 0x16, 1),
F3(~3, ~0x16, ~1)|
SIMM13(~0),
"d,[1]o",
F_ALIAS,
v9 },
619 {
"stx",
F3(3, 0x0e, 0),
F3(~3, ~0x0e, ~0)|
ASI(~0),
"d,[1+2]", 0,
v9 },
620 {
"stx",
F3(3, 0x0e, 0),
F3(~3, ~0x0e, ~0)|
ASI_RS2(~0),
"d,[1]", 0,
v9 },
621 {
"stx",
F3(3, 0x0e, 1),
F3(~3, ~0x0e, ~1),
"d,[1+i]", 0,
v9 },
622 {
"stx",
F3(3, 0x0e, 1),
F3(~3, ~0x0e, ~1),
"d,[i+1]", 0,
v9 },
623 {
"stx",
F3(3, 0x0e, 1),
F3(~3, ~0x0e, ~1)|
RS1_G0,
"d,[i]", 0,
v9 },
624 {
"stx",
F3(3, 0x0e, 1),
F3(~3, ~0x0e, ~1)|
SIMM13(~0),
"d,[1]", 0,
v9 },
626 {
"stx",
F3(3, 0x25, 0)|
RD(1),
F3(~3, ~0x25, ~0)|
ASI(~0)|
RD(~1),
"F,[1+2]", 0,
v9 },
627 {
"stx",
F3(3, 0x25, 0)|
RD(1),
F3(~3, ~0x25, ~0)|
ASI_RS2(~0)|
RD(~1),
"F,[1]", 0,
v9 },
628 {
"stx",
F3(3, 0x25, 1)|
RD(1),
F3(~3, ~0x25, ~1)|
RD(~1),
"F,[1+i]", 0,
v9 },
629 {
"stx",
F3(3, 0x25, 1)|
RD(1),
F3(~3, ~0x25, ~1)|
RD(~1),
"F,[i+1]", 0,
v9 },
630 {
"stx",
F3(3, 0x25, 1)|
RD(1),
F3(~3, ~0x25, ~1)|
RS1_G0|
RD(~1),
"F,[i]", 0,
v9 },
631 {
"stx",
F3(3, 0x25, 1)|
RD(1),
F3(~3, ~0x25, ~1)|
SIMM13(~0)|
RD(~1),
"F,[1]", 0,
v9 },
633 {
"stxa",
F3(3, 0x1e, 0),
F3(~3, ~0x1e, ~0),
"d,[1+2]A", 0,
v9 },
634 {
"stxa",
F3(3, 0x1e, 0),
F3(~3, ~0x1e, ~0)|
RS2(~0),
"d,[1]A", 0,
v9 },
635 {
"stxa",
F3(3, 0x1e, 1),
F3(~3, ~0x1e, ~1),
"d,[1+i]o", 0,
v9 },
636 {
"stxa",
F3(3, 0x1e, 1),
F3(~3, ~0x1e, ~1),
"d,[i+1]o", 0,
v9 },
637 {
"stxa",
F3(3, 0x1e, 1),
F3(~3, ~0x1e, ~1)|
RS1_G0,
"d,[i]o", 0,
v9 },
638 {
"stxa",
F3(3, 0x1e, 1),
F3(~3, ~0x1e, ~1)|
SIMM13(~0),
"d,[1]o", 0,
v9 },
640 {
"stq",
F3(3, 0x26, 0),
F3(~3, ~0x26, ~0)|
ASI(~0),
"J,[1+2]", 0,
v9 },
641 {
"stq",
F3(3, 0x26, 0),
F3(~3, ~0x26, ~0)|
ASI_RS2(~0),
"J,[1]", 0,
v9 },
642 {
"stq",
F3(3, 0x26, 1),
F3(~3, ~0x26, ~1),
"J,[1+i]", 0,
v9 },
643 {
"stq",
F3(3, 0x26, 1),
F3(~3, ~0x26, ~1),
"J,[i+1]", 0,
v9 },
644 {
"stq",
F3(3, 0x26, 1),
F3(~3, ~0x26, ~1)|
RS1_G0,
"J,[i]", 0,
v9 },
645 {
"stq",
F3(3, 0x26, 1),
F3(~3, ~0x26, ~1)|
SIMM13(~0),
"J,[1]", 0,
v9 },
647 {
"stqa",
F3(3, 0x36, 0),
F3(~3, ~0x36, ~0)|
ASI(~0),
"J,[1+2]A", 0,
v9 },
648 {
"stqa",
F3(3, 0x36, 0),
F3(~3, ~0x36, ~0)|
ASI_RS2(~0),
"J,[1]A", 0,
v9 },
649 {
"stqa",
F3(3, 0x36, 1),
F3(~3, ~0x36, ~1),
"J,[1+i]o", 0,
v9 },
650 {
"stqa",
F3(3, 0x36, 1),
F3(~3, ~0x36, ~1),
"J,[i+1]o", 0,
v9 },
651 {
"stqa",
F3(3, 0x36, 1),
F3(~3, ~0x36, ~1)|
RS1_G0,
"J,[i]o", 0,
v9 },
652 {
"stqa",
F3(3, 0x36, 1),
F3(~3, ~0x36, ~1)|
SIMM13(~0),
"J,[1]o", 0,
v9 },
654 {
"swap",
F3(3, 0x0f, 0),
F3(~3, ~0x0f, ~0)|
ASI(~0),
"[1+2],d", 0,
v7 },
655 {
"swap",
F3(3, 0x0f, 0),
F3(~3, ~0x0f, ~0)|
ASI_RS2(~0),
"[1],d", 0,
v7 },
656 {
"swap",
F3(3, 0x0f, 1),
F3(~3, ~0x0f, ~1),
"[1+i],d", 0,
v7 },
657 {
"swap",
F3(3, 0x0f, 1),
F3(~3, ~0x0f, ~1),
"[i+1],d", 0,
v7 },
658 {
"swap",
F3(3, 0x0f, 1),
F3(~3, ~0x0f, ~1)|
RS1_G0,
"[i],d", 0,
v7 },
659 {
"swap",
F3(3, 0x0f, 1),
F3(~3, ~0x0f, ~1)|
SIMM13(~0),
"[1],d", 0,
v7 },
661 {
"swapa",
F3(3, 0x1f, 0),
F3(~3, ~0x1f, ~0),
"[1+2]A,d", 0,
v7 },
662 {
"swapa",
F3(3, 0x1f, 0),
F3(~3, ~0x1f, ~0)|
RS2(~0),
"[1]A,d", 0,
v7 },
663 {
"swapa",
F3(3, 0x1f, 1),
F3(~3, ~0x1f, ~1),
"[1+i]o,d", 0,
v9 },
664 {
"swapa",
F3(3, 0x1f, 1),
F3(~3, ~0x1f, ~1),
"[i+1]o,d", 0,
v9 },
665 {
"swapa",
F3(3, 0x1f, 1),
F3(~3, ~0x1f, ~1)|
RS1_G0,
"[i]o,d", 0,
v9 },
666 {
"swapa",
F3(3, 0x1f, 1),
F3(~3, ~0x1f, ~1)|
SIMM13(~0),
"[1]o,d", 0,
v9 },
668 {
"restore",
F3(2, 0x3d, 0),
F3(~2, ~0x3d, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
669 {
"restore",
F3(2, 0x3d, 0),
F3(~2, ~0x3d, ~0)|
RD_G0|
RS1_G0|
ASI_RS2(~0),
"", 0,
v6 },
670 {
"restore",
F3(2, 0x3d, 1),
F3(~2, ~0x3d, ~1),
"1,i,d", 0,
v6 },
671 {
"restore",
F3(2, 0x3d, 1),
F3(~2, ~0x3d, ~1)|
RD_G0|
RS1_G0|
SIMM13(~0),
"", 0,
v6 },
673 {
"rett",
F3(2, 0x39, 0),
F3(~2, ~0x39, ~0)|
RD_G0|
ASI(~0),
"1+2",
F_UNBR|
F_DELAYED,
v6 },
674 {
"rett",
F3(2, 0x39, 0),
F3(~2, ~0x39, ~0)|
RD_G0|
ASI_RS2(~0),
"1",
F_UNBR|
F_DELAYED,
v6 },
675 {
"rett",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1)|
RD_G0,
"1+i",
F_UNBR|
F_DELAYED,
v6 },
676 {
"rett",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1)|
RD_G0,
"i+1",
F_UNBR|
F_DELAYED,
v6 },
677 {
"rett",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1)|
RD_G0|
RS1_G0,
"i",
F_UNBR|
F_DELAYED,
v6 },
678 {
"rett",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1)|
RD_G0|
RS1_G0,
"i",
F_UNBR|
F_DELAYED,
v6 },
679 {
"rett",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1)|
RD_G0|
SIMM13(~0),
"1",
F_UNBR|
F_DELAYED,
v6 },
681 {
"save",
F3(2, 0x3c, 0),
F3(~2, ~0x3c, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
682 {
"save",
F3(2, 0x3c, 1),
F3(~2, ~0x3c, ~1),
"1,i,d", 0,
v6 },
683 {
"save", 0x81e00000, ~0x81e00000,
"",
F_ALIAS,
v6 },
685 {
"ret",
F3(2, 0x38, 1)|
RS1(0x1f)|
SIMM13(8),
F3(~2, ~0x38, ~1)|
SIMM13(~8),
"",
F_UNBR|
F_DELAYED,
v6 },
686 {
"retl",
F3(2, 0x38, 1)|
RS1(0x0f)|
SIMM13(8),
F3(~2, ~0x38, ~1)|
RS1(~0x0f)|
SIMM13(~8),
"",
F_UNBR|
F_DELAYED,
v6 },
688 {
"jmpl",
F3(2, 0x38, 0),
F3(~2, ~0x38, ~0)|
ASI(~0),
"1+2,d",
F_JSR|
F_DELAYED,
v6 },
689 {
"jmpl",
F3(2, 0x38, 0),
F3(~2, ~0x38, ~0)|
ASI_RS2(~0),
"1,d",
F_JSR|
F_DELAYED,
v6 },
690 {
"jmpl",
F3(2, 0x38, 1),
F3(~2, ~0x38, ~1)|
SIMM13(~0),
"1,d",
F_JSR|
F_DELAYED,
v6 },
691 {
"jmpl",
F3(2, 0x38, 1),
F3(~2, ~0x38, ~1)|
RS1_G0,
"i,d",
F_JSR|
F_DELAYED,
v6 },
692 {
"jmpl",
F3(2, 0x38, 1),
F3(~2, ~0x38, ~1),
"1+i,d",
F_JSR|
F_DELAYED,
v6 },
693 {
"jmpl",
F3(2, 0x38, 1),
F3(~2, ~0x38, ~1),
"i+1,d",
F_JSR|
F_DELAYED,
v6 },
695 {
"done",
F3(2, 0x3e, 0)|
RD(0),
F3(~2, ~0x3e, ~0)|
RD(~0)|
RS1_G0|
SIMM13(~0),
"", 0,
v9 },
696 {
"retry",
F3(2, 0x3e, 0)|
RD(1),
F3(~2, ~0x3e, ~0)|
RD(~1)|
RS1_G0|
SIMM13(~0),
"", 0,
v9 },
697 {
"saved",
F3(2, 0x31, 0)|
RD(0),
F3(~2, ~0x31, ~0)|
RD(~0)|
RS1_G0|
SIMM13(~0),
"", 0,
v9 },
698 {
"restored",
F3(2, 0x31, 0)|
RD(1),
F3(~2, ~0x31, ~0)|
RD(~1)|
RS1_G0|
SIMM13(~0),
"", 0,
v9 },
699 {
"allclean",
F3(2, 0x31, 0)|
RD(2),
F3(~2, ~0x31, ~0)|
RD(~2)|
RS1_G0|
SIMM13(~0),
"", 0,
v9 },
700 {
"otherw",
F3(2, 0x31, 0)|
RD(3),
F3(~2, ~0x31, ~0)|
RD(~3)|
RS1_G0|
SIMM13(~0),
"", 0,
v9 },
701 {
"normalw",
F3(2, 0x31, 0)|
RD(4),
F3(~2, ~0x31, ~0)|
RD(~4)|
RS1_G0|
SIMM13(~0),
"", 0,
v9 },
702 {
"invalw",
F3(2, 0x31, 0)|
RD(5),
F3(~2, ~0x31, ~0)|
RD(~5)|
RS1_G0|
SIMM13(~0),
"", 0,
v9 },
703 {
"sir",
F3(2, 0x30, 1)|
RD(0xf),
F3(~2, ~0x30, ~1)|
RD(~0xf)|
RS1_G0,
"i", 0,
v9 },
705 {
"flush",
F3(2, 0x3b, 0),
F3(~2, ~0x3b, ~0)|
ASI(~0),
"1+2", 0,
v8 },
706 {
"flush",
F3(2, 0x3b, 0),
F3(~2, ~0x3b, ~0)|
ASI_RS2(~0),
"1", 0,
v8 },
707 {
"flush",
F3(2, 0x3b, 1),
F3(~2, ~0x3b, ~1)|
SIMM13(~0),
"1", 0,
v8 },
708 {
"flush",
F3(2, 0x3b, 1),
F3(~2, ~0x3b, ~1)|
RS1_G0,
"i", 0,
v8 },
709 {
"flush",
F3(2, 0x3b, 1),
F3(~2, ~0x3b, ~1),
"1+i", 0,
v8 },
710 {
"flush",
F3(2, 0x3b, 1),
F3(~2, ~0x3b, ~1),
"i+1", 0,
v8 },
713 {
"iflush",
F3(2, 0x3b, 0),
F3(~2, ~0x3b, ~0)|
ASI(~0),
"1+2",
F_ALIAS,
v6 },
714 {
"iflush",
F3(2, 0x3b, 0),
F3(~2, ~0x3b, ~0)|
ASI_RS2(~0),
"1",
F_ALIAS,
v6 },
715 {
"iflush",
F3(2, 0x3b, 1),
F3(~2, ~0x3b, ~1)|
SIMM13(~0),
"1",
F_ALIAS,
v6 },
716 {
"iflush",
F3(2, 0x3b, 1),
F3(~2, ~0x3b, ~1)|
RS1_G0,
"i",
F_ALIAS,
v6 },
717 {
"iflush",
F3(2, 0x3b, 1),
F3(~2, ~0x3b, ~1),
"1+i",
F_ALIAS,
v6 },
718 {
"iflush",
F3(2, 0x3b, 1),
F3(~2, ~0x3b, ~1),
"i+1",
F_ALIAS,
v6 },
720 {
"return",
F3(2, 0x39, 0),
F3(~2, ~0x39, ~0)|
ASI(~0),
"1+2", 0,
v9 },
721 {
"return",
F3(2, 0x39, 0),
F3(~2, ~0x39, ~0)|
ASI_RS2(~0),
"1", 0,
v9 },
722 {
"return",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1)|
SIMM13(~0),
"1", 0,
v9 },
723 {
"return",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1)|
RS1_G0,
"i", 0,
v9 },
724 {
"return",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1),
"1+i", 0,
v9 },
725 {
"return",
F3(2, 0x39, 1),
F3(~2, ~0x39, ~1),
"i+1", 0,
v9 },
727 {
"flushw",
F3(2, 0x2b, 0),
F3(~2, ~0x2b, ~0)|
RD_G0|
RS1_G0|
ASI_RS2(~0),
"", 0,
v9 },
729 {
"membar",
F3(2, 0x28, 1)|
RS1(0xf),
F3(~2, ~0x28, ~1)|
RD_G0|
RS1(~0xf)|
SIMM13(~127),
"K", 0,
v9 },
730 {
"stbar",
F3(2, 0x28, 0)|
RS1(0xf),
F3(~2, ~0x28, ~0)|
RD_G0|
RS1(~0xf)|
SIMM13(~0),
"", 0,
v8 },
732 {
"prefetch",
F3(3, 0x2d, 0),
F3(~3, ~0x2d, ~0),
"[1+2],*", 0,
v9 },
733 {
"prefetch",
F3(3, 0x2d, 0),
F3(~3, ~0x2d, ~0)|
RS2_G0,
"[1],*", 0,
v9 },
734 {
"prefetch",
F3(3, 0x2d, 1),
F3(~3, ~0x2d, ~1),
"[1+i],*", 0,
v9 },
735 {
"prefetch",
F3(3, 0x2d, 1),
F3(~3, ~0x2d, ~1),
"[i+1],*", 0,
v9 },
736 {
"prefetch",
F3(3, 0x2d, 1),
F3(~3, ~0x2d, ~1)|
RS1_G0,
"[i],*", 0,
v9 },
737 {
"prefetch",
F3(3, 0x2d, 1),
F3(~3, ~0x2d, ~1)|
SIMM13(~0),
"[1],*", 0,
v9 },
738 {
"prefetcha",
F3(3, 0x3d, 0),
F3(~3, ~0x3d, ~0),
"[1+2]A,*", 0,
v9 },
739 {
"prefetcha",
F3(3, 0x3d, 0),
F3(~3, ~0x3d, ~0)|
RS2_G0,
"[1]A,*", 0,
v9 },
740 {
"prefetcha",
F3(3, 0x3d, 1),
F3(~3, ~0x3d, ~1),
"[1+i]o,*", 0,
v9 },
741 {
"prefetcha",
F3(3, 0x3d, 1),
F3(~3, ~0x3d, ~1),
"[i+1]o,*", 0,
v9 },
742 {
"prefetcha",
F3(3, 0x3d, 1),
F3(~3, ~0x3d, ~1)|
RS1_G0,
"[i]o,*", 0,
v9 },
743 {
"prefetcha",
F3(3, 0x3d, 1),
F3(~3, ~0x3d, ~1)|
SIMM13(~0),
"[1]o,*", 0,
v9 },
745 {
"sll",
F3(2, 0x25, 0),
F3(~2, ~0x25, ~0)|(1<<12)|(0x7f<<5),
"1,2,d", 0,
v6 },
746 {
"sll",
F3(2, 0x25, 1),
F3(~2, ~0x25, ~1)|(1<<12)|(0x7f<<5),
"1,X,d", 0,
v6 },
747 {
"sra",
F3(2, 0x27, 0),
F3(~2, ~0x27, ~0)|(1<<12)|(0x7f<<5),
"1,2,d", 0,
v6 },
748 {
"sra",
F3(2, 0x27, 1),
F3(~2, ~0x27, ~1)|(1<<12)|(0x7f<<5),
"1,X,d", 0,
v6 },
749 {
"srl",
F3(2, 0x26, 0),
F3(~2, ~0x26, ~0)|(1<<12)|(0x7f<<5),
"1,2,d", 0,
v6 },
750 {
"srl",
F3(2, 0x26, 1),
F3(~2, ~0x26, ~1)|(1<<12)|(0x7f<<5),
"1,X,d", 0,
v6 },
752 {
"sllx",
F3(2, 0x25, 0)|(1<<12),
F3(~2, ~0x25, ~0)|(0x7f<<5),
"1,2,d", 0,
v9 },
753 {
"sllx",
F3(2, 0x25, 1)|(1<<12),
F3(~2, ~0x25, ~1)|(0x3f<<6),
"1,Y,d", 0,
v9 },
754 {
"srax",
F3(2, 0x27, 0)|(1<<12),
F3(~2, ~0x27, ~0)|(0x7f<<5),
"1,2,d", 0,
v9 },
755 {
"srax",
F3(2, 0x27, 1)|(1<<12),
F3(~2, ~0x27, ~1)|(0x3f<<6),
"1,Y,d", 0,
v9 },
756 {
"srlx",
F3(2, 0x26, 0)|(1<<12),
F3(~2, ~0x26, ~0)|(0x7f<<5),
"1,2,d", 0,
v9 },
757 {
"srlx",
F3(2, 0x26, 1)|(1<<12),
F3(~2, ~0x26, ~1)|(0x3f<<6),
"1,Y,d", 0,
v9 },
759 {
"mulscc",
F3(2, 0x24, 0),
F3(~2, ~0x24, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
760 {
"mulscc",
F3(2, 0x24, 1),
F3(~2, ~0x24, ~1),
"1,i,d", 0,
v6 },
762 {
"divscc",
F3(2, 0x1d, 0),
F3(~2, ~0x1d, ~0)|
ASI(~0),
"1,2,d", 0,
sparclite },
763 {
"divscc",
F3(2, 0x1d, 1),
F3(~2, ~0x1d, ~1),
"1,i,d", 0,
sparclite },
765 {
"scan",
F3(2, 0x2c, 0),
F3(~2, ~0x2c, ~0)|
ASI(~0),
"1,2,d", 0,
sparclet|
sparclite },
766 {
"scan",
F3(2, 0x2c, 1),
F3(~2, ~0x2c, ~1),
"1,i,d", 0,
sparclet|
sparclite },
768 {
"popc",
F3(2, 0x2e, 0),
F3(~2, ~0x2e, ~0)|
RS1_G0|
ASI(~0),
"2,d", 0,
v9 },
769 {
"popc",
F3(2, 0x2e, 1),
F3(~2, ~0x2e, ~1)|
RS1_G0,
"i,d", 0,
v9 },
771 {
"clr",
F3(2, 0x02, 0),
F3(~2, ~0x02, ~0)|
RD_G0|
RS1_G0|
ASI_RS2(~0),
"d",
F_ALIAS,
v6 },
772 {
"clr",
F3(2, 0x02, 1),
F3(~2, ~0x02, ~1)|
RS1_G0|
SIMM13(~0),
"d",
F_ALIAS,
v6 },
773 {
"clr",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
RD_G0|
ASI(~0),
"[1+2]",
F_ALIAS,
v6 },
774 {
"clr",
F3(3, 0x04, 0),
F3(~3, ~0x04, ~0)|
RD_G0|
ASI_RS2(~0),
"[1]",
F_ALIAS,
v6 },
775 {
"clr",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RD_G0,
"[1+i]",
F_ALIAS,
v6 },
776 {
"clr",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RD_G0,
"[i+1]",
F_ALIAS,
v6 },
777 {
"clr",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RD_G0|
RS1_G0,
"[i]",
F_ALIAS,
v6 },
778 {
"clr",
F3(3, 0x04, 1),
F3(~3, ~0x04, ~1)|
RD_G0|
SIMM13(~0),
"[1]",
F_ALIAS,
v6 },
780 {
"clrb",
F3(3, 0x05, 0),
F3(~3, ~0x05, ~0)|
RD_G0|
ASI(~0),
"[1+2]",
F_ALIAS,
v6 },
781 {
"clrb",
F3(3, 0x05, 0),
F3(~3, ~0x05, ~0)|
RD_G0|
ASI_RS2(~0),
"[1]",
F_ALIAS,
v6 },
782 {
"clrb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
RD_G0,
"[1+i]",
F_ALIAS,
v6 },
783 {
"clrb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
RD_G0,
"[i+1]",
F_ALIAS,
v6 },
784 {
"clrb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
RD_G0|
RS1_G0,
"[i]",
F_ALIAS,
v6 },
785 {
"clrb",
F3(3, 0x05, 1),
F3(~3, ~0x05, ~1)|
RD_G0|
SIMM13(~0),
"[1]",
F_ALIAS,
v6 },
787 {
"clrh",
F3(3, 0x06, 0),
F3(~3, ~0x06, ~0)|
RD_G0|
ASI(~0),
"[1+2]",
F_ALIAS,
v6 },
788 {
"clrh",
F3(3, 0x06, 0),
F3(~3, ~0x06, ~0)|
RD_G0|
ASI_RS2(~0),
"[1]",
F_ALIAS,
v6 },
789 {
"clrh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
RD_G0,
"[1+i]",
F_ALIAS,
v6 },
790 {
"clrh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
RD_G0,
"[i+1]",
F_ALIAS,
v6 },
791 {
"clrh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
RD_G0|
RS1_G0,
"[i]",
F_ALIAS,
v6 },
792 {
"clrh",
F3(3, 0x06, 1),
F3(~3, ~0x06, ~1)|
RD_G0|
SIMM13(~0),
"[1]",
F_ALIAS,
v6 },
794 {
"clrx",
F3(3, 0x0e, 0),
F3(~3, ~0x0e, ~0)|
RD_G0|
ASI(~0),
"[1+2]",
F_ALIAS,
v9 },
795 {
"clrx",
F3(3, 0x0e, 0),
F3(~3, ~0x0e, ~0)|
RD_G0|
ASI_RS2(~0),
"[1]",
F_ALIAS,
v9 },
796 {
"clrx",
F3(3, 0x0e, 1),
F3(~3, ~0x0e, ~1)|
RD_G0,
"[1+i]",
F_ALIAS,
v9 },
797 {
"clrx",
F3(3, 0x0e, 1),
F3(~3, ~0x0e, ~1)|
RD_G0,
"[i+1]",
F_ALIAS,
v9 },
798 {
"clrx",
F3(3, 0x0e, 1),
F3(~3, ~0x0e, ~1)|
RD_G0|
RS1_G0,
"[i]",
F_ALIAS,
v9 },
799 {
"clrx",
F3(3, 0x0e, 1),
F3(~3, ~0x0e, ~1)|
RD_G0|
SIMM13(~0),
"[1]",
F_ALIAS,
v9 },
801 {
"orcc",
F3(2, 0x12, 0),
F3(~2, ~0x12, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
802 {
"orcc",
F3(2, 0x12, 1),
F3(~2, ~0x12, ~1),
"1,i,d", 0,
v6 },
803 {
"orcc",
F3(2, 0x12, 1),
F3(~2, ~0x12, ~1),
"i,1,d", 0,
v6 },
806 {
"orncc",
F3(2, 0x16, 0),
F3(~2, ~0x16, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
807 {
"orncc",
F3(2, 0x16, 1),
F3(~2, ~0x16, ~1),
"1,i,d", 0,
v6 },
810 {
"orn",
F3(2, 0x06, 0),
F3(~2, ~0x06, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
811 {
"orn",
F3(2, 0x06, 1),
F3(~2, ~0x06, ~1),
"1,i,d", 0,
v6 },
813 {
"tst",
F3(2, 0x12, 0),
F3(~2, ~0x12, ~0)|
RD_G0|
ASI_RS2(~0),
"1", 0,
v6 },
814 {
"tst",
F3(2, 0x12, 0),
F3(~2, ~0x12, ~0)|
RD_G0|
RS1_G0|
ASI(~0),
"2", 0,
v6 },
815 {
"tst",
F3(2, 0x12, 1),
F3(~2, ~0x12, ~1)|
RD_G0|
SIMM13(~0),
"1", 0,
v6 },
817 {
"wr",
F3(2, 0x30, 0),
F3(~2, ~0x30, ~0)|
ASI(~0),
"1,2,m", 0,
v8 },
818 {
"wr",
F3(2, 0x30, 1),
F3(~2, ~0x30, ~1),
"1,i,m", 0,
v8 },
819 {
"wr",
F3(2, 0x30, 0),
F3(~2, ~0x30, ~0)|
ASI_RS2(~0),
"1,m",
F_ALIAS,
v8 },
820 {
"wr",
F3(2, 0x30, 0),
F3(~2, ~0x30, ~0)|
RD_G0|
ASI(~0),
"1,2,y", 0,
v6 },
821 {
"wr",
F3(2, 0x30, 1),
F3(~2, ~0x30, ~1)|
RD_G0,
"1,i,y", 0,
v6 },
822 {
"wr",
F3(2, 0x30, 0),
F3(~2, ~0x30, ~0)|
RD_G0|
ASI_RS2(~0),
"1,y",
F_ALIAS,
v6 },
823 {
"wr",
F3(2, 0x31, 0),
F3(~2, ~0x31, ~0)|
RD_G0|
ASI(~0),
"1,2,p", 0,
v6notv9 },
824 {
"wr",
F3(2, 0x31, 1),
F3(~2, ~0x31, ~1)|
RD_G0,
"1,i,p", 0,
v6notv9 },
825 {
"wr",
F3(2, 0x31, 0),
F3(~2, ~0x31, ~0)|
RD_G0|
ASI_RS2(~0),
"1,p",
F_ALIAS,
v6notv9 },
826 {
"wr",
F3(2, 0x32, 0),
F3(~2, ~0x32, ~0)|
RD_G0|
ASI(~0),
"1,2,w", 0,
v6notv9 },
827 {
"wr",
F3(2, 0x32, 1),
F3(~2, ~0x32, ~1)|
RD_G0,
"1,i,w", 0,
v6notv9 },
828 {
"wr",
F3(2, 0x32, 0),
F3(~2, ~0x32, ~0)|
RD_G0|
ASI_RS2(~0),
"1,w",
F_ALIAS,
v6notv9 },
829 {
"wr",
F3(2, 0x33, 0),
F3(~2, ~0x33, ~0)|
RD_G0|
ASI(~0),
"1,2,t", 0,
v6notv9 },
830 {
"wr",
F3(2, 0x33, 1),
F3(~2, ~0x33, ~1)|
RD_G0,
"1,i,t", 0,
v6notv9 },
831 {
"wr",
F3(2, 0x33, 0),
F3(~2, ~0x33, ~0)|
RD_G0|
ASI_RS2(~0),
"1,t",
F_ALIAS,
v6notv9 },
833 {
"wr",
F3(2, 0x30, 0)|
RD(2),
F3(~2, ~0x30, ~0)|
RD(~2)|
ASI(~0),
"1,2,E", 0,
v9 },
834 {
"wr",
F3(2, 0x30, 1)|
RD(2),
F3(~2, ~0x30, ~1)|
RD(~2),
"1,i,E", 0,
v9 },
835 {
"wr",
F3(2, 0x30, 0)|
RD(3),
F3(~2, ~0x30, ~0)|
RD(~3)|
ASI(~0),
"1,2,o", 0,
v9 },
836 {
"wr",
F3(2, 0x30, 1)|
RD(3),
F3(~2, ~0x30, ~1)|
RD(~3),
"1,i,o", 0,
v9 },
837 {
"wr",
F3(2, 0x30, 0)|
RD(6),
F3(~2, ~0x30, ~0)|
RD(~6)|
ASI(~0),
"1,2,s", 0,
v9 },
838 {
"wr",
F3(2, 0x30, 1)|
RD(6),
F3(~2, ~0x30, ~1)|
RD(~6),
"1,i,s", 0,
v9 },
840 {
"wr",
F3(2, 0x30, 0)|
RD(16),
F3(~2, ~0x30, ~0)|
RD(~16)|
ASI(~0),
"1,2,_", 0,
v9a },
841 {
"wr",
F3(2, 0x30, 1)|
RD(16),
F3(~2, ~0x30, ~1)|
RD(~16),
"1,i,_", 0,
v9a },
842 {
"wr",
F3(2, 0x30, 0)|
RD(17),
F3(~2, ~0x30, ~0)|
RD(~17)|
ASI(~0),
"1,2,_", 0,
v9a },
843 {
"wr",
F3(2, 0x30, 1)|
RD(17),
F3(~2, ~0x30, ~1)|
RD(~17),
"1,i,_", 0,
v9a },
844 {
"wr",
F3(2, 0x30, 0)|
RD(18),
F3(~2, ~0x30, ~0)|
RD(~18)|
ASI(~0),
"1,2,_", 0,
v9a },
845 {
"wr",
F3(2, 0x30, 1)|
RD(18),
F3(~2, ~0x30, ~1)|
RD(~18),
"1,i,_", 0,
v9a },
846 {
"wr",
F3(2, 0x30, 0)|
RD(19),
F3(~2, ~0x30, ~0)|
RD(~19)|
ASI(~0),
"1,2,_", 0,
v9a },
847 {
"wr",
F3(2, 0x30, 1)|
RD(19),
F3(~2, ~0x30, ~1)|
RD(~19),
"1,i,_", 0,
v9a },
848 {
"wr",
F3(2, 0x30, 0)|
RD(20),
F3(~2, ~0x30, ~0)|
RD(~20)|
ASI(~0),
"1,2,_", 0,
v9a },
849 {
"wr",
F3(2, 0x30, 1)|
RD(20),
F3(~2, ~0x30, ~1)|
RD(~20),
"1,i,_", 0,
v9a },
850 {
"wr",
F3(2, 0x30, 0)|
RD(21),
F3(~2, ~0x30, ~0)|
RD(~21)|
ASI(~0),
"1,2,_", 0,
v9a },
851 {
"wr",
F3(2, 0x30, 1)|
RD(21),
F3(~2, ~0x30, ~1)|
RD(~21),
"1,i,_", 0,
v9a },
852 {
"wr",
F3(2, 0x30, 0)|
RD(22),
F3(~2, ~0x30, ~0)|
RD(~22)|
ASI(~0),
"1,2,_", 0,
v9a },
853 {
"wr",
F3(2, 0x30, 1)|
RD(22),
F3(~2, ~0x30, ~1)|
RD(~22),
"1,i,_", 0,
v9a },
854 {
"wr",
F3(2, 0x30, 0)|
RD(23),
F3(~2, ~0x30, ~0)|
RD(~23)|
ASI(~0),
"1,2,_", 0,
v9a },
855 {
"wr",
F3(2, 0x30, 1)|
RD(23),
F3(~2, ~0x30, ~1)|
RD(~23),
"1,i,_", 0,
v9a },
856 {
"wr",
F3(2, 0x30, 0)|
RD(24),
F3(~2, ~0x30, ~0)|
RD(~24)|
ASI(~0),
"1,2,_", 0,
v9b },
857 {
"wr",
F3(2, 0x30, 1)|
RD(24),
F3(~2, ~0x30, ~1)|
RD(~24),
"1,i,_", 0,
v9b },
858 {
"wr",
F3(2, 0x30, 0)|
RD(25),
F3(~2, ~0x30, ~0)|
RD(~25)|
ASI(~0),
"1,2,_", 0,
v9b },
859 {
"wr",
F3(2, 0x30, 1)|
RD(25),
F3(~2, ~0x30, ~1)|
RD(~25),
"1,i,_", 0,
v9b },
861 {
"rd",
F3(2, 0x28, 0),
F3(~2, ~0x28, ~0)|
SIMM13(~0),
"M,d", 0,
v8 },
862 {
"rd",
F3(2, 0x28, 0),
F3(~2, ~0x28, ~0)|
RS1_G0|
SIMM13(~0),
"y,d", 0,
v6 },
863 {
"rd",
F3(2, 0x29, 0),
F3(~2, ~0x29, ~0)|
RS1_G0|
SIMM13(~0),
"p,d", 0,
v6notv9 },
864 {
"rd",
F3(2, 0x2a, 0),
F3(~2, ~0x2a, ~0)|
RS1_G0|
SIMM13(~0),
"w,d", 0,
v6notv9 },
865 {
"rd",
F3(2, 0x2b, 0),
F3(~2, ~0x2b, ~0)|
RS1_G0|
SIMM13(~0),
"t,d", 0,
v6notv9 },
867 {
"rd",
F3(2, 0x28, 0)|
RS1(2),
F3(~2, ~0x28, ~0)|
RS1(~2)|
SIMM13(~0),
"E,d", 0,
v9 },
868 {
"rd",
F3(2, 0x28, 0)|
RS1(3),
F3(~2, ~0x28, ~0)|
RS1(~3)|
SIMM13(~0),
"o,d", 0,
v9 },
869 {
"rd",
F3(2, 0x28, 0)|
RS1(4),
F3(~2, ~0x28, ~0)|
RS1(~4)|
SIMM13(~0),
"W,d", 0,
v9 },
870 {
"rd",
F3(2, 0x28, 0)|
RS1(5),
F3(~2, ~0x28, ~0)|
RS1(~5)|
SIMM13(~0),
"P,d", 0,
v9 },
871 {
"rd",
F3(2, 0x28, 0)|
RS1(6),
F3(~2, ~0x28, ~0)|
RS1(~6)|
SIMM13(~0),
"s,d", 0,
v9 },
873 {
"rd",
F3(2, 0x28, 0)|
RS1(16),
F3(~2, ~0x28, ~0)|
RS1(~16)|
SIMM13(~0),
"/,d", 0,
v9a },
874 {
"rd",
F3(2, 0x28, 0)|
RS1(17),
F3(~2, ~0x28, ~0)|
RS1(~17)|
SIMM13(~0),
"/,d", 0,
v9a },
875 {
"rd",
F3(2, 0x28, 0)|
RS1(18),
F3(~2, ~0x28, ~0)|
RS1(~18)|
SIMM13(~0),
"/,d", 0,
v9a },
876 {
"rd",
F3(2, 0x28, 0)|
RS1(19),
F3(~2, ~0x28, ~0)|
RS1(~19)|
SIMM13(~0),
"/,d", 0,
v9a },
877 {
"rd",
F3(2, 0x28, 0)|
RS1(22),
F3(~2, ~0x28, ~0)|
RS1(~22)|
SIMM13(~0),
"/,d", 0,
v9a },
878 {
"rd",
F3(2, 0x28, 0)|
RS1(23),
F3(~2, ~0x28, ~0)|
RS1(~23)|
SIMM13(~0),
"/,d", 0,
v9a },
879 {
"rd",
F3(2, 0x28, 0)|
RS1(24),
F3(~2, ~0x28, ~0)|
RS1(~24)|
SIMM13(~0),
"/,d", 0,
v9b },
880 {
"rd",
F3(2, 0x28, 0)|
RS1(25),
F3(~2, ~0x28, ~0)|
RS1(~25)|
SIMM13(~0),
"/,d", 0,
v9b },
882 {
"rdpr",
F3(2, 0x2a, 0),
F3(~2, ~0x2a, ~0)|
SIMM13(~0),
"?,d", 0,
v9 },
883 {
"wrpr",
F3(2, 0x32, 0),
F3(~2, ~0x32, ~0),
"1,2,!", 0,
v9 },
884 {
"wrpr",
F3(2, 0x32, 0),
F3(~2, ~0x32, ~0)|
SIMM13(~0),
"1,!", 0,
v9 },
885 {
"wrpr",
F3(2, 0x32, 1),
F3(~2, ~0x32, ~1),
"1,i,!", 0,
v9 },
886 {
"wrpr",
F3(2, 0x32, 1),
F3(~2, ~0x32, ~1),
"i,1,!",
F_ALIAS,
v9 },
887 {
"wrpr",
F3(2, 0x32, 1),
F3(~2, ~0x32, ~1)|
RS1(~0),
"i,!", 0,
v9 },
889 {
"rdhpr",
F3(2, 0x29, 0),
F3(~2, ~0x29, ~0)|
SIMM13(~0),
"$,d", 0,
v9 },
890 {
"wrhpr",
F3(2, 0x33, 0),
F3(~2, ~0x33, ~0),
"1,2,%", 0,
v9 },
891 {
"wrhpr",
F3(2, 0x33, 0),
F3(~2, ~0x33, ~0)|
SIMM13(~0),
"1,%", 0,
v9 },
892 {
"wrhpr",
F3(2, 0x33, 1),
F3(~2, ~0x33, ~1),
"1,i,%", 0,
v9 },
893 {
"wrhpr",
F3(2, 0x33, 1),
F3(~2, ~0x33, ~1),
"i,1,%",
F_ALIAS,
v9 },
894 {
"wrhpr",
F3(2, 0x33, 1),
F3(~2, ~0x33, ~1)|
RS1(~0),
"i,%", 0,
v9 },
897 {
"mov",
F3(2, 0x30, 0),
F3(~2, ~0x30, ~0)|
ASI(~0),
"1,2,m",
F_ALIAS,
v8 },
898 {
"mov",
F3(2, 0x30, 1),
F3(~2, ~0x30, ~1),
"1,i,m",
F_ALIAS,
v8 },
899 {
"mov",
F3(2, 0x30, 0),
F3(~2, ~0x30, ~0)|
RD_G0|
ASI(~0),
"1,2,y",
F_ALIAS,
v6 },
900 {
"mov",
F3(2, 0x30, 1),
F3(~2, ~0x30, ~1)|
RD_G0,
"1,i,y",
F_ALIAS,
v6 },
901 {
"mov",
F3(2, 0x31, 0),
F3(~2, ~0x31, ~0)|
RD_G0|
ASI(~0),
"1,2,p",
F_ALIAS,
v6notv9 },
902 {
"mov",
F3(2, 0x31, 1),
F3(~2, ~0x31, ~1)|
RD_G0,
"1,i,p",
F_ALIAS,
v6notv9 },
903 {
"mov",
F3(2, 0x32, 0),
F3(~2, ~0x32, ~0)|
RD_G0|
ASI(~0),
"1,2,w",
F_ALIAS,
v6notv9 },
904 {
"mov",
F3(2, 0x32, 1),
F3(~2, ~0x32, ~1)|
RD_G0,
"1,i,w",
F_ALIAS,
v6notv9 },
905 {
"mov",
F3(2, 0x33, 0),
F3(~2, ~0x33, ~0)|
RD_G0|
ASI(~0),
"1,2,t",
F_ALIAS,
v6notv9 },
906 {
"mov",
F3(2, 0x33, 1),
F3(~2, ~0x33, ~1)|
RD_G0,
"1,i,t",
F_ALIAS,
v6notv9 },
908 {
"mov",
F3(2, 0x28, 0),
F3(~2, ~0x28, ~0)|
SIMM13(~0),
"M,d",
F_ALIAS,
v8 },
909 {
"mov",
F3(2, 0x28, 0),
F3(~2, ~0x28, ~0)|
RS1_G0|
SIMM13(~0),
"y,d",
F_ALIAS,
v6 },
910 {
"mov",
F3(2, 0x29, 0),
F3(~2, ~0x29, ~0)|
RS1_G0|
SIMM13(~0),
"p,d",
F_ALIAS,
v6notv9 },
911 {
"mov",
F3(2, 0x2a, 0),
F3(~2, ~0x2a, ~0)|
RS1_G0|
SIMM13(~0),
"w,d",
F_ALIAS,
v6notv9 },
912 {
"mov",
F3(2, 0x2b, 0),
F3(~2, ~0x2b, ~0)|
RS1_G0|
SIMM13(~0),
"t,d",
F_ALIAS,
v6notv9 },
914 {
"mov",
F3(2, 0x30, 0),
F3(~2, ~0x30, ~0)|
ASI_RS2(~0),
"1,m",
F_ALIAS,
v8 },
915 {
"mov",
F3(2, 0x30, 1),
F3(~2, ~0x30, ~1),
"i,m",
F_ALIAS,
v8 },
916 {
"mov",
F3(2, 0x30, 1),
F3(~2, ~0x30, ~1)|
SIMM13(~0),
"1,m",
F_ALIAS,
v8 },
917 {
"mov",
F3(2, 0x30, 0),
F3(~2, ~0x30, ~0)|
RD_G0|
ASI_RS2(~0),
"1,y",
F_ALIAS,
v6 },
918 {
"mov",
F3(2, 0x30, 1),
F3(~2, ~0x30, ~1)|
RD_G0,
"i,y",
F_ALIAS,
v6 },
919 {
"mov",
F3(2, 0x30, 1),
F3(~2, ~0x30, ~1)|
RD_G0|
SIMM13(~0),
"1,y",
F_ALIAS,
v6 },
920 {
"mov",
F3(2, 0x31, 0),
F3(~2, ~0x31, ~0)|
RD_G0|
ASI_RS2(~0),
"1,p",
F_ALIAS,
v6notv9 },
921 {
"mov",
F3(2, 0x31, 1),
F3(~2, ~0x31, ~1)|
RD_G0,
"i,p",
F_ALIAS,
v6notv9 },
922 {
"mov",
F3(2, 0x31, 1),
F3(~2, ~0x31, ~1)|
RD_G0|
SIMM13(~0),
"1,p",
F_ALIAS,
v6notv9 },
923 {
"mov",
F3(2, 0x32, 0),
F3(~2, ~0x32, ~0)|
RD_G0|
ASI_RS2(~0),
"1,w",
F_ALIAS,
v6notv9 },
924 {
"mov",
F3(2, 0x32, 1),
F3(~2, ~0x32, ~1)|
RD_G0,
"i,w",
F_ALIAS,
v6notv9 },
925 {
"mov",
F3(2, 0x32, 1),
F3(~2, ~0x32, ~1)|
RD_G0|
SIMM13(~0),
"1,w",
F_ALIAS,
v6notv9 },
926 {
"mov",
F3(2, 0x33, 0),
F3(~2, ~0x33, ~0)|
RD_G0|
ASI_RS2(~0),
"1,t",
F_ALIAS,
v6notv9 },
927 {
"mov",
F3(2, 0x33, 1),
F3(~2, ~0x33, ~1)|
RD_G0,
"i,t",
F_ALIAS,
v6notv9 },
928 {
"mov",
F3(2, 0x33, 1),
F3(~2, ~0x33, ~1)|
RD_G0|
SIMM13(~0),
"1,t",
F_ALIAS,
v6notv9 },
930 {
"mov",
F3(2, 0x02, 0),
F3(~2, ~0x02, ~0)|
RS1_G0|
ASI(~0),
"2,d", 0,
v6 },
931 {
"mov",
F3(2, 0x02, 1),
F3(~2, ~0x02, ~1)|
RS1_G0,
"i,d", 0,
v6 },
932 {
"mov",
F3(2, 0x02, 0),
F3(~2, ~0x02, ~0)|
ASI_RS2(~0),
"1,d", 0,
v6 },
933 {
"mov",
F3(2, 0x02, 1),
F3(~2, ~0x02, ~1)|
SIMM13(~0),
"1,d", 0,
v6 },
935 {
"or",
F3(2, 0x02, 0),
F3(~2, ~0x02, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
936 {
"or",
F3(2, 0x02, 1),
F3(~2, ~0x02, ~1),
"1,i,d", 0,
v6 },
937 {
"or",
F3(2, 0x02, 1),
F3(~2, ~0x02, ~1),
"i,1,d", 0,
v6 },
939 {
"bset",
F3(2, 0x02, 0),
F3(~2, ~0x02, ~0)|
ASI(~0),
"2,r",
F_ALIAS,
v6 },
940 {
"bset",
F3(2, 0x02, 1),
F3(~2, ~0x02, ~1),
"i,r",
F_ALIAS,
v6 },
943 {
"andn",
F3(2, 0x05, 0),
F3(~2, ~0x05, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
944 {
"andn",
F3(2, 0x05, 1),
F3(~2, ~0x05, ~1),
"1,i,d", 0,
v6 },
947 {
"andncc",
F3(2, 0x15, 0),
F3(~2, ~0x15, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
948 {
"andncc",
F3(2, 0x15, 1),
F3(~2, ~0x15, ~1),
"1,i,d", 0,
v6 },
950 {
"bclr",
F3(2, 0x05, 0),
F3(~2, ~0x05, ~0)|
ASI(~0),
"2,r",
F_ALIAS,
v6 },
951 {
"bclr",
F3(2, 0x05, 1),
F3(~2, ~0x05, ~1),
"i,r",
F_ALIAS,
v6 },
953 {
"cmp",
F3(2, 0x14, 0),
F3(~2, ~0x14, ~0)|
RD_G0|
ASI(~0),
"1,2", 0,
v6 },
954 {
"cmp",
F3(2, 0x14, 1),
F3(~2, ~0x14, ~1)|
RD_G0,
"1,i", 0,
v6 },
956 {
"sub",
F3(2, 0x04, 0),
F3(~2, ~0x04, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
957 {
"sub",
F3(2, 0x04, 1),
F3(~2, ~0x04, ~1),
"1,i,d", 0,
v6 },
959 {
"subcc",
F3(2, 0x14, 0),
F3(~2, ~0x14, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
960 {
"subcc",
F3(2, 0x14, 1),
F3(~2, ~0x14, ~1),
"1,i,d", 0,
v6 },
962 {
"subx",
F3(2, 0x0c, 0),
F3(~2, ~0x0c, ~0)|
ASI(~0),
"1,2,d", 0,
v6notv9 },
963 {
"subx",
F3(2, 0x0c, 1),
F3(~2, ~0x0c, ~1),
"1,i,d", 0,
v6notv9 },
964 {
"subc",
F3(2, 0x0c, 0),
F3(~2, ~0x0c, ~0)|
ASI(~0),
"1,2,d", 0,
v9 },
965 {
"subc",
F3(2, 0x0c, 1),
F3(~2, ~0x0c, ~1),
"1,i,d", 0,
v9 },
967 {
"subxcc",
F3(2, 0x1c, 0),
F3(~2, ~0x1c, ~0)|
ASI(~0),
"1,2,d", 0,
v6notv9 },
968 {
"subxcc",
F3(2, 0x1c, 1),
F3(~2, ~0x1c, ~1),
"1,i,d", 0,
v6notv9 },
969 {
"subccc",
F3(2, 0x1c, 0),
F3(~2, ~0x1c, ~0)|
ASI(~0),
"1,2,d", 0,
v9 },
970 {
"subccc",
F3(2, 0x1c, 1),
F3(~2, ~0x1c, ~1),
"1,i,d", 0,
v9 },
972 {
"and",
F3(2, 0x01, 0),
F3(~2, ~0x01, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
973 {
"and",
F3(2, 0x01, 1),
F3(~2, ~0x01, ~1),
"1,i,d", 0,
v6 },
974 {
"and",
F3(2, 0x01, 1),
F3(~2, ~0x01, ~1),
"i,1,d", 0,
v6 },
976 {
"andcc",
F3(2, 0x11, 0),
F3(~2, ~0x11, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
977 {
"andcc",
F3(2, 0x11, 1),
F3(~2, ~0x11, ~1),
"1,i,d", 0,
v6 },
978 {
"andcc",
F3(2, 0x11, 1),
F3(~2, ~0x11, ~1),
"i,1,d", 0,
v6 },
980 {
"dec",
F3(2, 0x04, 1)|
SIMM13(0x1),
F3(~2, ~0x04, ~1)|
SIMM13(~0x0001),
"r",
F_ALIAS,
v6 },
981 {
"dec",
F3(2, 0x04, 1),
F3(~2, ~0x04, ~1),
"i,r",
F_ALIAS,
v8 },
982 {
"deccc",
F3(2, 0x14, 1)|
SIMM13(0x1),
F3(~2, ~0x14, ~1)|
SIMM13(~0x0001),
"r",
F_ALIAS,
v6 },
983 {
"deccc",
F3(2, 0x14, 1),
F3(~2, ~0x14, ~1),
"i,r",
F_ALIAS,
v8 },
984 {
"inc",
F3(2, 0x00, 1)|
SIMM13(0x1),
F3(~2, ~0x00, ~1)|
SIMM13(~0x0001),
"r",
F_ALIAS,
v6 },
985 {
"inc",
F3(2, 0x00, 1),
F3(~2, ~0x00, ~1),
"i,r",
F_ALIAS,
v8 },
986 {
"inccc",
F3(2, 0x10, 1)|
SIMM13(0x1),
F3(~2, ~0x10, ~1)|
SIMM13(~0x0001),
"r",
F_ALIAS,
v6 },
987 {
"inccc",
F3(2, 0x10, 1),
F3(~2, ~0x10, ~1),
"i,r",
F_ALIAS,
v8 },
989 {
"btst",
F3(2, 0x11, 0),
F3(~2, ~0x11, ~0)|
RD_G0|
ASI(~0),
"1,2",
F_ALIAS,
v6 },
990 {
"btst",
F3(2, 0x11, 1),
F3(~2, ~0x11, ~1)|
RD_G0,
"i,1",
F_ALIAS,
v6 },
992 {
"neg",
F3(2, 0x04, 0),
F3(~2, ~0x04, ~0)|
RS1_G0|
ASI(~0),
"2,d",
F_ALIAS,
v6 },
993 {
"neg",
F3(2, 0x04, 0),
F3(~2, ~0x04, ~0)|
RS1_G0|
ASI(~0),
"O",
F_ALIAS,
v6 },
995 {
"add",
F3(2, 0x00, 0),
F3(~2, ~0x00, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
996 {
"add",
F3(2, 0x00, 1),
F3(~2, ~0x00, ~1),
"1,i,d", 0,
v6 },
997 {
"add",
F3(2, 0x00, 1),
F3(~2, ~0x00, ~1),
"i,1,d", 0,
v6 },
998 {
"addcc",
F3(2, 0x10, 0),
F3(~2, ~0x10, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
999 {
"addcc",
F3(2, 0x10, 1),
F3(~2, ~0x10, ~1),
"1,i,d", 0,
v6 },
1000 {
"addcc",
F3(2, 0x10, 1),
F3(~2, ~0x10, ~1),
"i,1,d", 0,
v6 },
1002 {
"addx",
F3(2, 0x08, 0),
F3(~2, ~0x08, ~0)|
ASI(~0),
"1,2,d", 0,
v6notv9 },
1003 {
"addx",
F3(2, 0x08, 1),
F3(~2, ~0x08, ~1),
"1,i,d", 0,
v6notv9 },
1004 {
"addx",
F3(2, 0x08, 1),
F3(~2, ~0x08, ~1),
"i,1,d", 0,
v6notv9 },
1005 {
"addc",
F3(2, 0x08, 0),
F3(~2, ~0x08, ~0)|
ASI(~0),
"1,2,d", 0,
v9 },
1006 {
"addc",
F3(2, 0x08, 1),
F3(~2, ~0x08, ~1),
"1,i,d", 0,
v9 },
1007 {
"addc",
F3(2, 0x08, 1),
F3(~2, ~0x08, ~1),
"i,1,d", 0,
v9 },
1009 {
"addxcc",
F3(2, 0x18, 0),
F3(~2, ~0x18, ~0)|
ASI(~0),
"1,2,d", 0,
v6notv9 },
1010 {
"addxcc",
F3(2, 0x18, 1),
F3(~2, ~0x18, ~1),
"1,i,d", 0,
v6notv9 },
1011 {
"addxcc",
F3(2, 0x18, 1),
F3(~2, ~0x18, ~1),
"i,1,d", 0,
v6notv9 },
1012 {
"addccc",
F3(2, 0x18, 0),
F3(~2, ~0x18, ~0)|
ASI(~0),
"1,2,d", 0,
v9 },
1013 {
"addccc",
F3(2, 0x18, 1),
F3(~2, ~0x18, ~1),
"1,i,d", 0,
v9 },
1014 {
"addccc",
F3(2, 0x18, 1),
F3(~2, ~0x18, ~1),
"i,1,d", 0,
v9 },
1016 {
"smul",
F3(2, 0x0b, 0),
F3(~2, ~0x0b, ~0)|
ASI(~0),
"1,2,d", 0,
v8 },
1017 {
"smul",
F3(2, 0x0b, 1),
F3(~2, ~0x0b, ~1),
"1,i,d", 0,
v8 },
1018 {
"smul",
F3(2, 0x0b, 1),
F3(~2, ~0x0b, ~1),
"i,1,d", 0,
v8 },
1019 {
"smulcc",
F3(2, 0x1b, 0),
F3(~2, ~0x1b, ~0)|
ASI(~0),
"1,2,d", 0,
v8 },
1020 {
"smulcc",
F3(2, 0x1b, 1),
F3(~2, ~0x1b, ~1),
"1,i,d", 0,
v8 },
1021 {
"smulcc",
F3(2, 0x1b, 1),
F3(~2, ~0x1b, ~1),
"i,1,d", 0,
v8 },
1022 {
"umul",
F3(2, 0x0a, 0),
F3(~2, ~0x0a, ~0)|
ASI(~0),
"1,2,d", 0,
v8 },
1023 {
"umul",
F3(2, 0x0a, 1),
F3(~2, ~0x0a, ~1),
"1,i,d", 0,
v8 },
1024 {
"umul",
F3(2, 0x0a, 1),
F3(~2, ~0x0a, ~1),
"i,1,d", 0,
v8 },
1025 {
"umulcc",
F3(2, 0x1a, 0),
F3(~2, ~0x1a, ~0)|
ASI(~0),
"1,2,d", 0,
v8 },
1026 {
"umulcc",
F3(2, 0x1a, 1),
F3(~2, ~0x1a, ~1),
"1,i,d", 0,
v8 },
1027 {
"umulcc",
F3(2, 0x1a, 1),
F3(~2, ~0x1a, ~1),
"i,1,d", 0,
v8 },
1028 {
"sdiv",
F3(2, 0x0f, 0),
F3(~2, ~0x0f, ~0)|
ASI(~0),
"1,2,d", 0,
v8 },
1029 {
"sdiv",
F3(2, 0x0f, 1),
F3(~2, ~0x0f, ~1),
"1,i,d", 0,
v8 },
1030 {
"sdiv",
F3(2, 0x0f, 1),
F3(~2, ~0x0f, ~1),
"i,1,d", 0,
v8 },
1031 {
"sdivcc",
F3(2, 0x1f, 0),
F3(~2, ~0x1f, ~0)|
ASI(~0),
"1,2,d", 0,
v8 },
1032 {
"sdivcc",
F3(2, 0x1f, 1),
F3(~2, ~0x1f, ~1),
"1,i,d", 0,
v8 },
1033 {
"sdivcc",
F3(2, 0x1f, 1),
F3(~2, ~0x1f, ~1),
"i,1,d", 0,
v8 },
1034 {
"udiv",
F3(2, 0x0e, 0),
F3(~2, ~0x0e, ~0)|
ASI(~0),
"1,2,d", 0,
v8 },
1035 {
"udiv",
F3(2, 0x0e, 1),
F3(~2, ~0x0e, ~1),
"1,i,d", 0,
v8 },
1036 {
"udiv",
F3(2, 0x0e, 1),
F3(~2, ~0x0e, ~1),
"i,1,d", 0,
v8 },
1037 {
"udivcc",
F3(2, 0x1e, 0),
F3(~2, ~0x1e, ~0)|
ASI(~0),
"1,2,d", 0,
v8 },
1038 {
"udivcc",
F3(2, 0x1e, 1),
F3(~2, ~0x1e, ~1),
"1,i,d", 0,
v8 },
1039 {
"udivcc",
F3(2, 0x1e, 1),
F3(~2, ~0x1e, ~1),
"i,1,d", 0,
v8 },
1041 {
"mulx",
F3(2, 0x09, 0),
F3(~2, ~0x09, ~0)|
ASI(~0),
"1,2,d", 0,
v9 },
1042 {
"mulx",
F3(2, 0x09, 1),
F3(~2, ~0x09, ~1),
"1,i,d", 0,
v9 },
1043 {
"sdivx",
F3(2, 0x2d, 0),
F3(~2, ~0x2d, ~0)|
ASI(~0),
"1,2,d", 0,
v9 },
1044 {
"sdivx",
F3(2, 0x2d, 1),
F3(~2, ~0x2d, ~1),
"1,i,d", 0,
v9 },
1045 {
"udivx",
F3(2, 0x0d, 0),
F3(~2, ~0x0d, ~0)|
ASI(~0),
"1,2,d", 0,
v9 },
1046 {
"udivx",
F3(2, 0x0d, 1),
F3(~2, ~0x0d, ~1),
"1,i,d", 0,
v9 },
1051 {
"call",
F3(2, 0x38, 0)|
RD(0xf),
F3(~2, ~0x38, ~0)|
RD(~0xf)|
ASI(~0),
"1+2",
F_JSR|
F_DELAYED,
v6 },
1052 {
"call",
F3(2, 0x38, 0)|
RD(0xf),
F3(~2, ~0x38, ~0)|
RD(~0xf)|
ASI(~0),
"1+2,#",
F_JSR|
F_DELAYED,
v6 },
1053 {
"call",
F3(2, 0x38, 0)|
RD(0xf),
F3(~2, ~0x38, ~0)|
RD(~0xf)|
ASI_RS2(~0),
"1",
F_JSR|
F_DELAYED,
v6 },
1054 {
"call",
F3(2, 0x38, 0)|
RD(0xf),
F3(~2, ~0x38, ~0)|
RD(~0xf)|
ASI_RS2(~0),
"1,#",
F_JSR|
F_DELAYED,
v6 },
1055 {
"call",
F3(2, 0x38, 1)|
RD(0xf),
F3(~2, ~0x38, ~1)|
RD(~0xf),
"1+i",
F_JSR|
F_DELAYED,
v6 },
1056 {
"call",
F3(2, 0x38, 1)|
RD(0xf),
F3(~2, ~0x38, ~1)|
RD(~0xf),
"1+i,#",
F_JSR|
F_DELAYED,
v6 },
1057 {
"call",
F3(2, 0x38, 1)|
RD(0xf),
F3(~2, ~0x38, ~1)|
RD(~0xf),
"i+1",
F_JSR|
F_DELAYED,
v6 },
1058 {
"call",
F3(2, 0x38, 1)|
RD(0xf),
F3(~2, ~0x38, ~1)|
RD(~0xf),
"i+1,#",
F_JSR|
F_DELAYED,
v6 },
1059 {
"call",
F3(2, 0x38, 1)|
RD(0xf),
F3(~2, ~0x38, ~1)|
RD(~0xf)|
RS1_G0,
"i",
F_JSR|
F_DELAYED,
v6 },
1060 {
"call",
F3(2, 0x38, 1)|
RD(0xf),
F3(~2, ~0x38, ~1)|
RD(~0xf)|
RS1_G0,
"i,#",
F_JSR|
F_DELAYED,
v6 },
1061 {
"call",
F3(2, 0x38, 1)|
RD(0xf),
F3(~2, ~0x38, ~1)|
RD(~0xf)|
SIMM13(~0),
"1",
F_JSR|
F_DELAYED,
v6 },
1062 {
"call",
F3(2, 0x38, 1)|
RD(0xf),
F3(~2, ~0x38, ~1)|
RD(~0xf)|
SIMM13(~0),
"1,#",
F_JSR|
F_DELAYED,
v6 },
1072 #define br(opcode, mask, lose, flags) \
1073 { opcode, (mask)|ANNUL, (lose), ",a l", (flags), v6 }, \
1074 { opcode, (mask) , (lose)|ANNUL, "l", (flags), v6 }
1076 #define brx(opcode, mask, lose, flags) \
1077 { opcode, (mask)|(2<<20)|BPRED, ANNUL|(lose), "Z,G", (flags), v9 }, \
1078 { opcode, (mask)|(2<<20)|BPRED, ANNUL|(lose), ",T Z,G", (flags), v9 }, \
1079 { opcode, (mask)|(2<<20)|BPRED|ANNUL, (lose), ",a Z,G", (flags), v9 }, \
1080 { opcode, (mask)|(2<<20)|BPRED|ANNUL, (lose), ",a,T Z,G", (flags), v9 }, \
1081 { opcode, (mask)|(2<<20), ANNUL|BPRED|(lose), ",N Z,G", (flags), v9 }, \
1082 { opcode, (mask)|(2<<20)|ANNUL, BPRED|(lose), ",a,N Z,G", (flags), v9 }, \
1083 { opcode, (mask)|BPRED, ANNUL|(lose)|(2<<20), "z,G", (flags), v9 }, \
1084 { opcode, (mask)|BPRED, ANNUL|(lose)|(2<<20), ",T z,G", (flags), v9 }, \
1085 { opcode, (mask)|BPRED|ANNUL, (lose)|(2<<20), ",a z,G", (flags), v9 }, \
1086 { opcode, (mask)|BPRED|ANNUL, (lose)|(2<<20), ",a,T z,G", (flags), v9 }, \
1087 { opcode, (mask), ANNUL|BPRED|(lose)|(2<<20), ",N z,G", (flags), v9 }, \
1088 { opcode, (mask)|ANNUL, BPRED|(lose)|(2<<20), ",a,N z,G", (flags), v9 }
1091 #define tr(opcode, mask, lose, flags) \
1092 { opcode, (mask)|(2<<11)|IMMED, (lose)|RS1_G0, "Z,i", (flags), v9 },
\
1093 { opcode, (mask)|(2<<11)|IMMED, (lose), "Z,1+i", (flags), v9 },
\
1094 { opcode, (mask)|(2<<11), IMMED|(lose), "Z,1+2", (flags), v9 },
\
1095 { opcode, (mask)|(2<<11), IMMED|(lose)|RS2_G0, "Z,1", (flags), v9 },
\
1096 { opcode, (mask)|IMMED, (lose)|RS1_G0, "z,i", (flags)|F_ALIAS, v9 },
\
1097 { opcode, (mask)|IMMED, (lose), "z,1+i", (flags)|F_ALIAS, v9 },
\
1098 { opcode, (mask), IMMED|(lose), "z,1+2", (flags)|F_ALIAS, v9 },
\
1099 { opcode, (mask), IMMED|(lose)|RS2_G0, "z,1", (flags)|F_ALIAS, v9 },
\
1100 { opcode, (mask)|IMMED, (lose)|RS1_G0, "i", (flags), v6 },
\
1101 { opcode, (mask)|IMMED, (lose), "1+i", (flags), v6 },
\
1102 { opcode, (mask), IMMED|(lose), "1+2", (flags), v6 },
\
1103 { opcode, (mask), IMMED|(lose)|RS2_G0, "1", (flags), v6 }
1111 #define cond(bop, top, mask, flags) \
1112 brx(bop, F2(0, 1)|(mask), F2(~0, ~1)|((~(mask))&COND(~0)), F_DELAYED|(flags)), \
1113 br(bop, F2(0, 2)|(mask), F2(~0, ~2)|((~(mask))&COND(~0)), F_DELAYED|(flags)), \
1114 tr(top, F3(2, 0x3a, 0)|(mask), F3(~2, ~0x3a, 0)|((~(mask))&COND(~0)), ((flags) & ~(F_UNBR|F_CONDBR)))
1151 #define brr(opcode, mask, lose, flags) \
1152 { opcode, (mask)|BPRED, ANNUL|(lose), "1,k", F_DELAYED|(flags), v9 }, \
1153 { opcode, (mask)|BPRED, ANNUL|(lose), ",T 1,k", F_DELAYED|(flags), v9 }, \
1154 { opcode, (mask)|BPRED|ANNUL, (lose), ",a 1,k", F_DELAYED|(flags), v9 }, \
1155 { opcode, (mask)|BPRED|ANNUL, (lose), ",a,T 1,k", F_DELAYED|(flags), v9 }, \
1156 { opcode, (mask), ANNUL|BPRED|(lose), ",N 1,k", F_DELAYED|(flags), v9 }, \
1157 { opcode, (mask)|ANNUL, BPRED|(lose), ",a,N 1,k", F_DELAYED|(flags), v9 }
1159 #define condr(bop, mask, flags) \
1160 brr(bop, F2(0, 3)|COND(mask), F2(~0, ~3)|COND(~(mask)), (flags))
1172 #define movr(opcode, mask, flags) \
1173 { opcode, F3(2, 0x2f, 0)|RCOND(mask), F3(~2, ~0x2f, ~0)|RCOND(~(mask)), "1,2,d", (flags), v9 }, \
1174 { opcode, F3(2, 0x2f, 1)|RCOND(mask), F3(~2, ~0x2f, ~1)|RCOND(~(mask)), "1,j,d", (flags), v9 }
1176 #define fmrrs(opcode, mask, lose, flags) \
1177 { opcode, (mask), (lose), "1,f,g", (flags) | F_FLOAT, v9 }
1178 #define fmrrd(opcode, mask, lose, flags) \
1179 { opcode, (mask), (lose), "1,B,H", (flags) | F_FLOAT, v9 }
1180 #define fmrrq(opcode, mask, lose, flags) \
1181 { opcode, (mask), (lose), "1,R,J", (flags) | F_FLOAT, v9 }
1183 #define fmovrs(mop, mask, flags) \
1184 fmrrs(mop, F3(2, 0x35, 0)|OPF_LOW5(5)|RCOND(mask), F3(~2, ~0x35, 0)|OPF_LOW5(~5)|RCOND(~(mask)), (flags))
1185 #define fmovrd(mop, mask, flags) \
1186 fmrrd(mop, F3(2, 0x35, 0)|OPF_LOW5(6)|RCOND(mask), F3(~2, ~0x35, 0)|OPF_LOW5(~6)|RCOND(~(mask)), (flags))
1187 #define fmovrq(mop, mask, flags) \
1188 fmrrq(mop, F3(2, 0x35, 0)|OPF_LOW5(7)|RCOND(mask), F3(~2, ~0x35, 0)|OPF_LOW5(~7)|RCOND(~(mask)), (flags))
1190 movr(
"movrne", 0x5, 0),
1191 movr(
"movre", 0x1, 0),
1192 movr(
"movrgez", 0x7, 0),
1193 movr(
"movrlz", 0x3, 0),
1194 movr(
"movrlez", 0x2, 0),
1195 movr(
"movrgz", 0x6, 0),
1199 fmovrs(
"fmovrsne", 0x5, 0),
1200 fmovrs(
"fmovrse", 0x1, 0),
1201 fmovrs(
"fmovrsgez", 0x7, 0),
1202 fmovrs(
"fmovrslz", 0x3, 0),
1203 fmovrs(
"fmovrslez", 0x2, 0),
1204 fmovrs(
"fmovrsgz", 0x6, 0),
1208 fmovrd(
"fmovrdne", 0x5, 0),
1209 fmovrd(
"fmovrde", 0x1, 0),
1210 fmovrd(
"fmovrdgez", 0x7, 0),
1211 fmovrd(
"fmovrdlz", 0x3, 0),
1212 fmovrd(
"fmovrdlez", 0x2, 0),
1213 fmovrd(
"fmovrdgz", 0x6, 0),
1217 fmovrq(
"fmovrqne", 0x5, 0),
1218 fmovrq(
"fmovrqe", 0x1, 0),
1219 fmovrq(
"fmovrqgez", 0x7, 0),
1220 fmovrq(
"fmovrqlz", 0x3, 0),
1221 fmovrq(
"fmovrqlez", 0x2, 0),
1222 fmovrq(
"fmovrqgz", 0x6, 0),
1230 #define movicc(opcode, cond, flags) \
1231 { opcode, F3(2, 0x2c, 0)|MCOND(cond,1)|ICC, F3(~2, ~0x2c, ~0)|MCOND(~(cond),~1)|XCC|(1<<11), "z,2,d", flags, v9 }, \
1232 { opcode, F3(2, 0x2c, 1)|MCOND(cond,1)|ICC, F3(~2, ~0x2c, ~1)|MCOND(~(cond),~1)|XCC|(1<<11), "z,I,d", flags, v9 }, \
1233 { opcode, F3(2, 0x2c, 0)|MCOND(cond,1)|XCC, F3(~2, ~0x2c, ~0)|MCOND(~(cond),~1)|(1<<11), "Z,2,d", flags, v9 }, \
1234 { opcode, F3(2, 0x2c, 1)|MCOND(cond,1)|XCC, F3(~2, ~0x2c, ~1)|MCOND(~(cond),~1)|(1<<11), "Z,I,d", flags, v9 }
1236 #define movfcc(opcode, fcond, flags) \
1237 { opcode, F3(2, 0x2c, 0)|FCC(0)|MCOND(fcond,0), MCOND(~(fcond),~0)|FCC(~0)|F3(~2, ~0x2c, ~0), "6,2,d", flags, v9 }, \
1238 { opcode, F3(2, 0x2c, 1)|FCC(0)|MCOND(fcond,0), MCOND(~(fcond),~0)|FCC(~0)|F3(~2, ~0x2c, ~1), "6,I,d", flags, v9 }, \
1239 { opcode, F3(2, 0x2c, 0)|FCC(1)|MCOND(fcond,0), MCOND(~(fcond),~0)|FCC(~1)|F3(~2, ~0x2c, ~0), "7,2,d", flags, v9 }, \
1240 { opcode, F3(2, 0x2c, 1)|FCC(1)|MCOND(fcond,0), MCOND(~(fcond),~0)|FCC(~1)|F3(~2, ~0x2c, ~1), "7,I,d", flags, v9 }, \
1241 { opcode, F3(2, 0x2c, 0)|FCC(2)|MCOND(fcond,0), MCOND(~(fcond),~0)|FCC(~2)|F3(~2, ~0x2c, ~0), "8,2,d", flags, v9 }, \
1242 { opcode, F3(2, 0x2c, 1)|FCC(2)|MCOND(fcond,0), MCOND(~(fcond),~0)|FCC(~2)|F3(~2, ~0x2c, ~1), "8,I,d", flags, v9 }, \
1243 { opcode, F3(2, 0x2c, 0)|FCC(3)|MCOND(fcond,0), MCOND(~(fcond),~0)|FCC(~3)|F3(~2, ~0x2c, ~0), "9,2,d", flags, v9 }, \
1244 { opcode, F3(2, 0x2c, 1)|FCC(3)|MCOND(fcond,0), MCOND(~(fcond),~0)|FCC(~3)|F3(~2, ~0x2c, ~1), "9,I,d", flags, v9 }
1246 #define movcc(opcode, cond, fcond, flags) \
1247 movfcc (opcode, fcond, flags), \
1248 movicc (opcode, cond, flags)
1287 #define fmoviccx(opcode, fpsize, args, cond, flags) \
1288 { opcode, F3F(2, 0x35, 0x100+(fpsize))|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+(fpsize)))|MCOND(~(cond),~0), "z," args, flags, v9 }, \
1289 { opcode, F3F(2, 0x35, 0x180+(fpsize))|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+(fpsize)))|MCOND(~(cond),~0), "Z," args, flags, v9 }
1291 #define fmovfccx(opcode, fpsize, args, fcond, flags) \
1292 { opcode, F3F(2, 0x35, 0x000+(fpsize))|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+(fpsize)))|MCOND(~(fcond),~0), "6," args, flags, v9 }, \
1293 { opcode, F3F(2, 0x35, 0x040+(fpsize))|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+(fpsize)))|MCOND(~(fcond),~0), "7," args, flags, v9 }, \
1294 { opcode, F3F(2, 0x35, 0x080+(fpsize))|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+(fpsize)))|MCOND(~(fcond),~0), "8," args, flags, v9 }, \
1295 { opcode, F3F(2, 0x35, 0x0c0+(fpsize))|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+(fpsize)))|MCOND(~(fcond),~0), "9," args, flags, v9 }
1298 #define fmovccx(opcode, fpsize, args, cond, fcond, flags) \
1299 { opcode, F3F(2, 0x35, 0x100+(fpsize))|MCOND(cond,0), F3F(~2, ~0x35, ~(0x100+(fpsize)))|MCOND(~(cond),~0), "z," args, (flags) | F_FLOAT, v9 }, \
1300 { opcode, F3F(2, 0x35, 0x000+(fpsize))|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x000+(fpsize)))|MCOND(~(fcond),~0), "6," args, (flags) | F_FLOAT, v9 }, \
1301 { opcode, F3F(2, 0x35, 0x180+(fpsize))|MCOND(cond,0), F3F(~2, ~0x35, ~(0x180+(fpsize)))|MCOND(~(cond),~0), "Z," args, (flags) | F_FLOAT, v9 }, \
1302 { opcode, F3F(2, 0x35, 0x040+(fpsize))|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x040+(fpsize)))|MCOND(~(fcond),~0), "7," args, (flags) | F_FLOAT, v9 }, \
1303 { opcode, F3F(2, 0x35, 0x080+(fpsize))|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x080+(fpsize)))|MCOND(~(fcond),~0), "8," args, (flags) | F_FLOAT, v9 }, \
1304 { opcode, F3F(2, 0x35, 0x0c0+(fpsize))|MCOND(fcond,0), F3F(~2, ~0x35, ~(0x0c0+(fpsize)))|MCOND(~(fcond),~0), "9," args, (flags) | F_FLOAT, v9 }
1306 #define fmovicc(suffix, cond, flags) \
1307 fmoviccx("fmovd" suffix, FM_DF, "B,H", cond, flags), \
1308 fmoviccx("fmovq" suffix, FM_QF, "R,J", cond, flags), \
1309 fmoviccx("fmovs" suffix, FM_SF, "f,g", cond, flags)
1311 #define fmovfcc(suffix, fcond, flags) \
1312 fmovfccx("fmovd" suffix, FM_DF, "B,H", fcond, flags), \
1313 fmovfccx("fmovq" suffix, FM_QF, "R,J", fcond, flags), \
1314 fmovfccx("fmovs" suffix, FM_SF, "f,g", fcond, flags)
1316 #define fmovcc(suffix, cond, fcond, flags) \
1317 fmovccx("fmovd" suffix, FM_DF, "B,H", cond, fcond, flags), \
1318 fmovccx("fmovq" suffix, FM_QF, "R,J", cond, fcond, flags), \
1319 fmovccx("fmovs" suffix, FM_SF, "f,g", cond, fcond, flags)
1361 #define CBR(opcode, mask, lose, flags, arch) \
1362 { opcode, (mask), ANNUL | (lose), "l", (flags) | F_DELAYED, arch }, \
1363 { opcode, (mask) | ANNUL, (lose), ",a l", (flags) | F_DELAYED, arch }
1366 #define FBR(opcode, mask, lose, flags) \
1367 { opcode, (mask), ANNUL | (lose), "l", (flags) | F_DELAYED | F_FBR, v6 }, \
1368 { opcode, (mask) | ANNUL, (lose), ",a l", (flags) | F_DELAYED | F_FBR, v6 }
1371 #define FBRX(opcode, mask, lose, flags) \
1372 { opcode, FBFCC(0)|(mask)|BPRED, ANNUL|FBFCC(~0)|(lose), "6,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1373 { opcode, FBFCC(0)|(mask)|BPRED, ANNUL|FBFCC(~0)|(lose), ",T 6,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1374 { opcode, FBFCC(0)|(mask)|BPRED|ANNUL, FBFCC(~0)|(lose), ",a 6,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1375 { opcode, FBFCC(0)|(mask)|BPRED|ANNUL, FBFCC(~0)|(lose), ",a,T 6,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1376 { opcode, FBFCC(0)|(mask), ANNUL|BPRED|FBFCC(~0)|(lose), ",N 6,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1377 { opcode, FBFCC(0)|(mask)|ANNUL, BPRED|FBFCC(~0)|(lose), ",a,N 6,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1378 { opcode, FBFCC(1)|(mask)|BPRED, ANNUL|FBFCC(~1)|(lose), "7,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1379 { opcode, FBFCC(1)|(mask)|BPRED, ANNUL|FBFCC(~1)|(lose), ",T 7,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1380 { opcode, FBFCC(1)|(mask)|BPRED|ANNUL, FBFCC(~1)|(lose), ",a 7,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1381 { opcode, FBFCC(1)|(mask)|BPRED|ANNUL, FBFCC(~1)|(lose), ",a,T 7,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1382 { opcode, FBFCC(1)|(mask), ANNUL|BPRED|FBFCC(~1)|(lose), ",N 7,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1383 { opcode, FBFCC(1)|(mask)|ANNUL, BPRED|FBFCC(~1)|(lose), ",a,N 7,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1384 { opcode, FBFCC(2)|(mask)|BPRED, ANNUL|FBFCC(~2)|(lose), "8,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1385 { opcode, FBFCC(2)|(mask)|BPRED, ANNUL|FBFCC(~2)|(lose), ",T 8,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1386 { opcode, FBFCC(2)|(mask)|BPRED|ANNUL, FBFCC(~2)|(lose), ",a 8,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1387 { opcode, FBFCC(2)|(mask)|BPRED|ANNUL, FBFCC(~2)|(lose), ",a,T 8,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1388 { opcode, FBFCC(2)|(mask), ANNUL|BPRED|FBFCC(~2)|(lose), ",N 8,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1389 { opcode, FBFCC(2)|(mask)|ANNUL, BPRED|FBFCC(~2)|(lose), ",a,N 8,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1390 { opcode, FBFCC(3)|(mask)|BPRED, ANNUL|FBFCC(~3)|(lose), "9,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1391 { opcode, FBFCC(3)|(mask)|BPRED, ANNUL|FBFCC(~3)|(lose), ",T 9,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1392 { opcode, FBFCC(3)|(mask)|BPRED|ANNUL, FBFCC(~3)|(lose), ",a 9,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1393 { opcode, FBFCC(3)|(mask)|BPRED|ANNUL, FBFCC(~3)|(lose), ",a,T 9,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1394 { opcode, FBFCC(3)|(mask), ANNUL|BPRED|FBFCC(~3)|(lose), ",N 9,G", (flags)|F_DELAYED|F_FBR, v9 }, \
1395 { opcode, FBFCC(3)|(mask)|ANNUL, BPRED|FBFCC(~3)|(lose), ",a,N 9,G", (flags)|F_DELAYED|F_FBR, v9 }
1402 #define CONDFC(fop, cop, mask, flags) \
1403 FBRX(fop, F2(0, 5)|COND(mask), F2(~0, ~5)|COND(~(mask)), flags), \
1404 FBR(fop, F2(0, 6)|COND(mask), F2(~0, ~6)|COND(~(mask)), flags), \
1405 CBR(cop, F2(0, 7)|COND(mask), F2(~0, ~7)|COND(~(mask)), flags, v6notlet)
1407 #define CONDFCL(fop, cop, mask, flags) \
1408 FBRX(fop, F2(0, 5)|COND(mask), F2(~0, ~5)|COND(~(mask)), flags), \
1409 FBR(fop, F2(0, 6)|COND(mask), F2(~0, ~6)|COND(~(mask)), flags), \
1410 CBR(cop, F2(0, 7)|COND(mask), F2(~0, ~7)|COND(~(mask)), flags, v6)
1412 #define CONDF(fop, mask, flags) \
1413 FBRX(fop, F2(0, 5)|COND(mask), F2(~0, ~5)|COND(~(mask)), flags), \
1414 FBR(fop, F2(0, 6)|COND(mask), F2(~0, ~6)|COND(~(mask)), flags)
1443 {
"jmp",
F3(2, 0x38, 0),
F3(~2, ~0x38, ~0)|
RD_G0|
ASI(~0),
"1+2",
F_UNBR|
F_DELAYED,
v6 },
1444 {
"jmp",
F3(2, 0x38, 0),
F3(~2, ~0x38, ~0)|
RD_G0|
ASI_RS2(~0),
"1",
F_UNBR|
F_DELAYED,
v6 },
1445 {
"jmp",
F3(2, 0x38, 1),
F3(~2, ~0x38, ~1)|
RD_G0,
"1+i",
F_UNBR|
F_DELAYED,
v6 },
1446 {
"jmp",
F3(2, 0x38, 1),
F3(~2, ~0x38, ~1)|
RD_G0,
"i+1",
F_UNBR|
F_DELAYED,
v6 },
1447 {
"jmp",
F3(2, 0x38, 1),
F3(~2, ~0x38, ~1)|
RD_G0|
RS1_G0,
"i",
F_UNBR|
F_DELAYED,
v6 },
1448 {
"jmp",
F3(2, 0x38, 1),
F3(~2, ~0x38, ~1)|
RD_G0|
SIMM13(~0),
"1",
F_UNBR|
F_DELAYED,
v6 },
1450 {
"nop",
F2(0, 4), 0xfeffffff,
"", 0,
v6 },
1452 {
"set",
F2(0x0, 0x4),
F2(~0x0, ~0x4),
"S0,d",
F_ALIAS,
v6 },
1453 {
"setuw",
F2(0x0, 0x4),
F2(~0x0, ~0x4),
"S0,d",
F_ALIAS,
v9 },
1454 {
"setsw",
F2(0x0, 0x4),
F2(~0x0, ~0x4),
"S0,d",
F_ALIAS,
v9 },
1455 {
"setx",
F2(0x0, 0x4),
F2(~0x0, ~0x4),
"S0,1,d",
F_ALIAS,
v9 },
1457 {
"sethi",
F2(0x0, 0x4),
F2(~0x0, ~0x4),
"h,d", 0,
v6 },
1459 {
"taddcc",
F3(2, 0x20, 0),
F3(~2, ~0x20, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
1460 {
"taddcc",
F3(2, 0x20, 1),
F3(~2, ~0x20, ~1),
"1,i,d", 0,
v6 },
1461 {
"taddcc",
F3(2, 0x20, 1),
F3(~2, ~0x20, ~1),
"i,1,d", 0,
v6 },
1462 {
"taddcctv",
F3(2, 0x22, 0),
F3(~2, ~0x22, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
1463 {
"taddcctv",
F3(2, 0x22, 1),
F3(~2, ~0x22, ~1),
"1,i,d", 0,
v6 },
1464 {
"taddcctv",
F3(2, 0x22, 1),
F3(~2, ~0x22, ~1),
"i,1,d", 0,
v6 },
1466 {
"tsubcc",
F3(2, 0x21, 0),
F3(~2, ~0x21, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
1467 {
"tsubcc",
F3(2, 0x21, 1),
F3(~2, ~0x21, ~1),
"1,i,d", 0,
v6 },
1468 {
"tsubcctv",
F3(2, 0x23, 0),
F3(~2, ~0x23, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
1469 {
"tsubcctv",
F3(2, 0x23, 1),
F3(~2, ~0x23, ~1),
"1,i,d", 0,
v6 },
1471 {
"unimp",
F2(0x0, 0x0), 0xffc00000,
"n", 0,
v6notv9 },
1472 {
"illtrap",
F2(0, 0),
F2(~0, ~0)|
RD_G0,
"n", 0,
v9 },
1475 {
"xnor",
F3(2, 0x07, 0),
F3(~2, ~0x07, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
1476 {
"xnor",
F3(2, 0x07, 1),
F3(~2, ~0x07, ~1),
"1,i,d", 0,
v6 },
1477 {
"xnor",
F3(2, 0x07, 1),
F3(~2, ~0x07, ~1),
"i,1,d", 0,
v6 },
1479 {
"xnorcc",
F3(2, 0x17, 0),
F3(~2, ~0x17, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
1480 {
"xnorcc",
F3(2, 0x17, 1),
F3(~2, ~0x17, ~1),
"1,i,d", 0,
v6 },
1481 {
"xnorcc",
F3(2, 0x17, 1),
F3(~2, ~0x17, ~1),
"i,1,d", 0,
v6 },
1482 {
"xor",
F3(2, 0x03, 0),
F3(~2, ~0x03, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
1483 {
"xor",
F3(2, 0x03, 1),
F3(~2, ~0x03, ~1),
"1,i,d", 0,
v6 },
1484 {
"xor",
F3(2, 0x03, 1),
F3(~2, ~0x03, ~1),
"i,1,d", 0,
v6 },
1485 {
"xorcc",
F3(2, 0x13, 0),
F3(~2, ~0x13, ~0)|
ASI(~0),
"1,2,d", 0,
v6 },
1486 {
"xorcc",
F3(2, 0x13, 1),
F3(~2, ~0x13, ~1),
"1,i,d", 0,
v6 },
1487 {
"xorcc",
F3(2, 0x13, 1),
F3(~2, ~0x13, ~1),
"i,1,d", 0,
v6 },
1489 {
"not",
F3(2, 0x07, 0),
F3(~2, ~0x07, ~0)|
ASI(~0),
"1,d",
F_ALIAS,
v6 },
1490 {
"not",
F3(2, 0x07, 0),
F3(~2, ~0x07, ~0)|
ASI(~0),
"r",
F_ALIAS,
v6 },
1492 {
"btog",
F3(2, 0x03, 0),
F3(~2, ~0x03, ~0)|
ASI(~0),
"2,r",
F_ALIAS,
v6 },
1493 {
"btog",
F3(2, 0x03, 1),
F3(~2, ~0x03, ~1),
"i,r",
F_ALIAS,
v6 },
1497 {
"fdtoi",
F3F(2, 0x34, 0x0d2),
F3F(~2, ~0x34, ~0x0d2)|
RS1_G0,
"B,g",
F_FLOAT,
v6 },
1498 {
"fstoi",
F3F(2, 0x34, 0x0d1),
F3F(~2, ~0x34, ~0x0d1)|
RS1_G0,
"f,g",
F_FLOAT,
v6 },
1499 {
"fqtoi",
F3F(2, 0x34, 0x0d3),
F3F(~2, ~0x34, ~0x0d3)|
RS1_G0,
"R,g",
F_FLOAT,
v8 },
1501 {
"fdtox",
F3F(2, 0x34, 0x082),
F3F(~2, ~0x34, ~0x082)|
RS1_G0,
"B,H",
F_FLOAT,
v9 },
1502 {
"fstox",
F3F(2, 0x34, 0x081),
F3F(~2, ~0x34, ~0x081)|
RS1_G0,
"f,H",
F_FLOAT,
v9 },
1503 {
"fqtox",
F3F(2, 0x34, 0x083),
F3F(~2, ~0x34, ~0x083)|
RS1_G0,
"R,H",
F_FLOAT,
v9 },
1505 {
"fitod",
F3F(2, 0x34, 0x0c8),
F3F(~2, ~0x34, ~0x0c8)|
RS1_G0,
"f,H",
F_FLOAT,
v6 },
1506 {
"fitos",
F3F(2, 0x34, 0x0c4),
F3F(~2, ~0x34, ~0x0c4)|
RS1_G0,
"f,g",
F_FLOAT,
v6 },
1507 {
"fitoq",
F3F(2, 0x34, 0x0cc),
F3F(~2, ~0x34, ~0x0cc)|
RS1_G0,
"f,J",
F_FLOAT,
v8 },
1509 {
"fxtod",
F3F(2, 0x34, 0x088),
F3F(~2, ~0x34, ~0x088)|
RS1_G0,
"B,H",
F_FLOAT,
v9 },
1510 {
"fxtos",
F3F(2, 0x34, 0x084),
F3F(~2, ~0x34, ~0x084)|
RS1_G0,
"B,g",
F_FLOAT,
v9 },
1511 {
"fxtoq",
F3F(2, 0x34, 0x08c),
F3F(~2, ~0x34, ~0x08c)|
RS1_G0,
"B,J",
F_FLOAT,
v9 },
1513 {
"fdtoq",
F3F(2, 0x34, 0x0ce),
F3F(~2, ~0x34, ~0x0ce)|
RS1_G0,
"B,J",
F_FLOAT,
v8 },
1514 {
"fdtos",
F3F(2, 0x34, 0x0c6),
F3F(~2, ~0x34, ~0x0c6)|
RS1_G0,
"B,g",
F_FLOAT,
v6 },
1515 {
"fqtod",
F3F(2, 0x34, 0x0cb),
F3F(~2, ~0x34, ~0x0cb)|
RS1_G0,
"R,H",
F_FLOAT,
v8 },
1516 {
"fqtos",
F3F(2, 0x34, 0x0c7),
F3F(~2, ~0x34, ~0x0c7)|
RS1_G0,
"R,g",
F_FLOAT,
v8 },
1517 {
"fstod",
F3F(2, 0x34, 0x0c9),
F3F(~2, ~0x34, ~0x0c9)|
RS1_G0,
"f,H",
F_FLOAT,
v6 },
1518 {
"fstoq",
F3F(2, 0x34, 0x0cd),
F3F(~2, ~0x34, ~0x0cd)|
RS1_G0,
"f,J",
F_FLOAT,
v8 },
1520 {
"fdivd",
F3F(2, 0x34, 0x04e),
F3F(~2, ~0x34, ~0x04e),
"v,B,H",
F_FLOAT,
v6 },
1521 {
"fdivq",
F3F(2, 0x34, 0x04f),
F3F(~2, ~0x34, ~0x04f),
"V,R,J",
F_FLOAT,
v8 },
1522 {
"fdivx",
F3F(2, 0x34, 0x04f),
F3F(~2, ~0x34, ~0x04f),
"V,R,J",
F_FLOAT|
F_ALIAS,
v8 },
1523 {
"fdivs",
F3F(2, 0x34, 0x04d),
F3F(~2, ~0x34, ~0x04d),
"e,f,g",
F_FLOAT,
v6 },
1524 {
"fmuld",
F3F(2, 0x34, 0x04a),
F3F(~2, ~0x34, ~0x04a),
"v,B,H",
F_FLOAT,
v6 },
1525 {
"fmulq",
F3F(2, 0x34, 0x04b),
F3F(~2, ~0x34, ~0x04b),
"V,R,J",
F_FLOAT,
v8 },
1526 {
"fmulx",
F3F(2, 0x34, 0x04b),
F3F(~2, ~0x34, ~0x04b),
"V,R,J",
F_FLOAT|
F_ALIAS,
v8 },
1527 {
"fmuls",
F3F(2, 0x34, 0x049),
F3F(~2, ~0x34, ~0x049),
"e,f,g",
F_FLOAT,
v6 },
1529 {
"fdmulq",
F3F(2, 0x34, 0x06e),
F3F(~2, ~0x34, ~0x06e),
"v,B,J",
F_FLOAT,
v8 },
1530 {
"fdmulx",
F3F(2, 0x34, 0x06e),
F3F(~2, ~0x34, ~0x06e),
"v,B,J",
F_FLOAT|
F_ALIAS,
v8 },
1531 {
"fsmuld",
F3F(2, 0x34, 0x069),
F3F(~2, ~0x34, ~0x069),
"e,f,H",
F_FLOAT,
v8 },
1533 {
"fsqrtd",
F3F(2, 0x34, 0x02a),
F3F(~2, ~0x34, ~0x02a)|
RS1_G0,
"B,H",
F_FLOAT,
v7 },
1534 {
"fsqrtq",
F3F(2, 0x34, 0x02b),
F3F(~2, ~0x34, ~0x02b)|
RS1_G0,
"R,J",
F_FLOAT,
v8 },
1535 {
"fsqrtx",
F3F(2, 0x34, 0x02b),
F3F(~2, ~0x34, ~0x02b)|
RS1_G0,
"R,J",
F_FLOAT|
F_ALIAS,
v8 },
1536 {
"fsqrts",
F3F(2, 0x34, 0x029),
F3F(~2, ~0x34, ~0x029)|
RS1_G0,
"f,g",
F_FLOAT,
v7 },
1538 {
"fabsd",
F3F(2, 0x34, 0x00a),
F3F(~2, ~0x34, ~0x00a)|
RS1_G0,
"B,H",
F_FLOAT,
v9 },
1539 {
"fabsq",
F3F(2, 0x34, 0x00b),
F3F(~2, ~0x34, ~0x00b)|
RS1_G0,
"R,J",
F_FLOAT,
v9 },
1540 {
"fabsx",
F3F(2, 0x34, 0x00b),
F3F(~2, ~0x34, ~0x00b)|
RS1_G0,
"R,J",
F_FLOAT|
F_ALIAS,
v9 },
1541 {
"fabss",
F3F(2, 0x34, 0x009),
F3F(~2, ~0x34, ~0x009)|
RS1_G0,
"f,g",
F_FLOAT,
v6 },
1542 {
"fmovd",
F3F(2, 0x34, 0x002),
F3F(~2, ~0x34, ~0x002)|
RS1_G0,
"B,H",
F_FLOAT,
v9 },
1543 {
"fmovq",
F3F(2, 0x34, 0x003),
F3F(~2, ~0x34, ~0x003)|
RS1_G0,
"R,J",
F_FLOAT,
v9 },
1544 {
"fmovx",
F3F(2, 0x34, 0x003),
F3F(~2, ~0x34, ~0x003)|
RS1_G0,
"R,J",
F_FLOAT|
F_ALIAS,
v9 },
1545 {
"fmovs",
F3F(2, 0x34, 0x001),
F3F(~2, ~0x34, ~0x001)|
RS1_G0,
"f,g",
F_FLOAT,
v6 },
1546 {
"fnegd",
F3F(2, 0x34, 0x006),
F3F(~2, ~0x34, ~0x006)|
RS1_G0,
"B,H",
F_FLOAT,
v9 },
1547 {
"fnegq",
F3F(2, 0x34, 0x007),
F3F(~2, ~0x34, ~0x007)|
RS1_G0,
"R,J",
F_FLOAT,
v9 },
1548 {
"fnegx",
F3F(2, 0x34, 0x007),
F3F(~2, ~0x34, ~0x007)|
RS1_G0,
"R,J",
F_FLOAT|
F_ALIAS,
v9 },
1549 {
"fnegs",
F3F(2, 0x34, 0x005),
F3F(~2, ~0x34, ~0x005)|
RS1_G0,
"f,g",
F_FLOAT,
v6 },
1551 {
"faddd",
F3F(2, 0x34, 0x042),
F3F(~2, ~0x34, ~0x042),
"v,B,H",
F_FLOAT,
v6 },
1552 {
"faddq",
F3F(2, 0x34, 0x043),
F3F(~2, ~0x34, ~0x043),
"V,R,J",
F_FLOAT,
v8 },
1553 {
"faddx",
F3F(2, 0x34, 0x043),
F3F(~2, ~0x34, ~0x043),
"V,R,J",
F_FLOAT|
F_ALIAS,
v8 },
1554 {
"fadds",
F3F(2, 0x34, 0x041),
F3F(~2, ~0x34, ~0x041),
"e,f,g",
F_FLOAT,
v6 },
1555 {
"fsubd",
F3F(2, 0x34, 0x046),
F3F(~2, ~0x34, ~0x046),
"v,B,H",
F_FLOAT,
v6 },
1556 {
"fsubq",
F3F(2, 0x34, 0x047),
F3F(~2, ~0x34, ~0x047),
"V,R,J",
F_FLOAT,
v8 },
1557 {
"fsubx",
F3F(2, 0x34, 0x047),
F3F(~2, ~0x34, ~0x047),
"V,R,J",
F_FLOAT|
F_ALIAS,
v8 },
1558 {
"fsubs",
F3F(2, 0x34, 0x045),
F3F(~2, ~0x34, ~0x045),
"e,f,g",
F_FLOAT,
v6 },
1560 #define CMPFCC(x) (((x)&0x3)<<25)
1562 {
"fcmpd",
F3F(2, 0x35, 0x052),
F3F(~2, ~0x35, ~0x052)|
RD_G0,
"v,B",
F_FLOAT,
v6 },
1563 {
"fcmpd",
CMPFCC(0)|
F3F(2, 0x35, 0x052),
CMPFCC(~0)|
F3F(~2, ~0x35, ~0x052),
"6,v,B",
F_FLOAT,
v9 },
1564 {
"fcmpd",
CMPFCC(1)|
F3F(2, 0x35, 0x052),
CMPFCC(~1)|
F3F(~2, ~0x35, ~0x052),
"7,v,B",
F_FLOAT,
v9 },
1565 {
"fcmpd",
CMPFCC(2)|
F3F(2, 0x35, 0x052),
CMPFCC(~2)|
F3F(~2, ~0x35, ~0x052),
"8,v,B",
F_FLOAT,
v9 },
1566 {
"fcmpd",
CMPFCC(3)|
F3F(2, 0x35, 0x052),
CMPFCC(~3)|
F3F(~2, ~0x35, ~0x052),
"9,v,B",
F_FLOAT,
v9 },
1567 {
"fcmped",
F3F(2, 0x35, 0x056),
F3F(~2, ~0x35, ~0x056)|
RD_G0,
"v,B",
F_FLOAT,
v6 },
1568 {
"fcmped",
CMPFCC(0)|
F3F(2, 0x35, 0x056),
CMPFCC(~0)|
F3F(~2, ~0x35, ~0x056),
"6,v,B",
F_FLOAT,
v9 },
1569 {
"fcmped",
CMPFCC(1)|
F3F(2, 0x35, 0x056),
CMPFCC(~1)|
F3F(~2, ~0x35, ~0x056),
"7,v,B",
F_FLOAT,
v9 },
1570 {
"fcmped",
CMPFCC(2)|
F3F(2, 0x35, 0x056),
CMPFCC(~2)|
F3F(~2, ~0x35, ~0x056),
"8,v,B",
F_FLOAT,
v9 },
1571 {
"fcmped",
CMPFCC(3)|
F3F(2, 0x35, 0x056),
CMPFCC(~3)|
F3F(~2, ~0x35, ~0x056),
"9,v,B",
F_FLOAT,
v9 },
1572 {
"fcmpq",
F3F(2, 0x35, 0x053),
F3F(~2, ~0x35, ~0x053)|
RD_G0,
"V,R",
F_FLOAT,
v8 },
1573 {
"fcmpq",
CMPFCC(0)|
F3F(2, 0x35, 0x053),
CMPFCC(~0)|
F3F(~2, ~0x35, ~0x053),
"6,V,R",
F_FLOAT,
v9 },
1574 {
"fcmpq",
CMPFCC(1)|
F3F(2, 0x35, 0x053),
CMPFCC(~1)|
F3F(~2, ~0x35, ~0x053),
"7,V,R",
F_FLOAT,
v9 },
1575 {
"fcmpq",
CMPFCC(2)|
F3F(2, 0x35, 0x053),
CMPFCC(~2)|
F3F(~2, ~0x35, ~0x053),
"8,V,R",
F_FLOAT,
v9 },
1576 {
"fcmpq",
CMPFCC(3)|
F3F(2, 0x35, 0x053),
CMPFCC(~3)|
F3F(~2, ~0x35, ~0x053),
"9,V,R",
F_FLOAT,
v9 },
1577 {
"fcmpeq",
F3F(2, 0x35, 0x057),
F3F(~2, ~0x35, ~0x057)|
RD_G0,
"V,R",
F_FLOAT,
v8 },
1578 {
"fcmpeq",
CMPFCC(0)|
F3F(2, 0x35, 0x057),
CMPFCC(~0)|
F3F(~2, ~0x35, ~0x057),
"6,V,R",
F_FLOAT,
v9 },
1579 {
"fcmpeq",
CMPFCC(1)|
F3F(2, 0x35, 0x057),
CMPFCC(~1)|
F3F(~2, ~0x35, ~0x057),
"7,V,R",
F_FLOAT,
v9 },
1580 {
"fcmpeq",
CMPFCC(2)|
F3F(2, 0x35, 0x057),
CMPFCC(~2)|
F3F(~2, ~0x35, ~0x057),
"8,V,R",
F_FLOAT,
v9 },
1581 {
"fcmpeq",
CMPFCC(3)|
F3F(2, 0x35, 0x057),
CMPFCC(~3)|
F3F(~2, ~0x35, ~0x057),
"9,V,R",
F_FLOAT,
v9 },
1582 {
"fcmpx",
F3F(2, 0x35, 0x053),
F3F(~2, ~0x35, ~0x053)|
RD_G0,
"V,R",
F_FLOAT|
F_ALIAS,
v8 },
1583 {
"fcmpx",
CMPFCC(0)|
F3F(2, 0x35, 0x053),
CMPFCC(~0)|
F3F(~2, ~0x35, ~0x053),
"6,V,R",
F_FLOAT|
F_ALIAS,
v9 },
1584 {
"fcmpx",
CMPFCC(1)|
F3F(2, 0x35, 0x053),
CMPFCC(~1)|
F3F(~2, ~0x35, ~0x053),
"7,V,R",
F_FLOAT|
F_ALIAS,
v9 },
1585 {
"fcmpx",
CMPFCC(2)|
F3F(2, 0x35, 0x053),
CMPFCC(~2)|
F3F(~2, ~0x35, ~0x053),
"8,V,R",
F_FLOAT|
F_ALIAS,
v9 },
1586 {
"fcmpx",
CMPFCC(3)|
F3F(2, 0x35, 0x053),
CMPFCC(~3)|
F3F(~2, ~0x35, ~0x053),
"9,V,R",
F_FLOAT|
F_ALIAS,
v9 },
1587 {
"fcmpex",
F3F(2, 0x35, 0x057),
F3F(~2, ~0x35, ~0x057)|
RD_G0,
"V,R",
F_FLOAT|
F_ALIAS,
v8 },
1588 {
"fcmpex",
CMPFCC(0)|
F3F(2, 0x35, 0x057),
CMPFCC(~0)|
F3F(~2, ~0x35, ~0x057),
"6,V,R",
F_FLOAT|
F_ALIAS,
v9 },
1589 {
"fcmpex",
CMPFCC(1)|
F3F(2, 0x35, 0x057),
CMPFCC(~1)|
F3F(~2, ~0x35, ~0x057),
"7,V,R",
F_FLOAT|
F_ALIAS,
v9 },
1590 {
"fcmpex",
CMPFCC(2)|
F3F(2, 0x35, 0x057),
CMPFCC(~2)|
F3F(~2, ~0x35, ~0x057),
"8,V,R",
F_FLOAT|
F_ALIAS,
v9 },
1591 {
"fcmpex",
CMPFCC(3)|
F3F(2, 0x35, 0x057),
CMPFCC(~3)|
F3F(~2, ~0x35, ~0x057),
"9,V,R",
F_FLOAT|
F_ALIAS,
v9 },
1592 {
"fcmps",
F3F(2, 0x35, 0x051),
F3F(~2, ~0x35, ~0x051)|
RD_G0,
"e,f",
F_FLOAT,
v6 },
1593 {
"fcmps",
CMPFCC(0)|
F3F(2, 0x35, 0x051),
CMPFCC(~0)|
F3F(~2, ~0x35, ~0x051),
"6,e,f",
F_FLOAT,
v9 },
1594 {
"fcmps",
CMPFCC(1)|
F3F(2, 0x35, 0x051),
CMPFCC(~1)|
F3F(~2, ~0x35, ~0x051),
"7,e,f",
F_FLOAT,
v9 },
1595 {
"fcmps",
CMPFCC(2)|
F3F(2, 0x35, 0x051),
CMPFCC(~2)|
F3F(~2, ~0x35, ~0x051),
"8,e,f",
F_FLOAT,
v9 },
1596 {
"fcmps",
CMPFCC(3)|
F3F(2, 0x35, 0x051),
CMPFCC(~3)|
F3F(~2, ~0x35, ~0x051),
"9,e,f",
F_FLOAT,
v9 },
1597 {
"fcmpes",
F3F(2, 0x35, 0x055),
F3F(~2, ~0x35, ~0x055)|
RD_G0,
"e,f",
F_FLOAT,
v6 },
1598 {
"fcmpes",
CMPFCC(0)|
F3F(2, 0x35, 0x055),
CMPFCC(~0)|
F3F(~2, ~0x35, ~0x055),
"6,e,f",
F_FLOAT,
v9 },
1599 {
"fcmpes",
CMPFCC(1)|
F3F(2, 0x35, 0x055),
CMPFCC(~1)|
F3F(~2, ~0x35, ~0x055),
"7,e,f",
F_FLOAT,
v9 },
1600 {
"fcmpes",
CMPFCC(2)|
F3F(2, 0x35, 0x055),
CMPFCC(~2)|
F3F(~2, ~0x35, ~0x055),
"8,e,f",
F_FLOAT,
v9 },
1601 {
"fcmpes",
CMPFCC(3)|
F3F(2, 0x35, 0x055),
CMPFCC(~3)|
F3F(~2, ~0x35, ~0x055),
"9,e,f",
F_FLOAT,
v9 },
1607 #define EFPOP1_2(name, op, args) { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~(op))|RS1_G0, args, 0, sparclite }
1608 #define EFPOP1_3(name, op, args) { name, F3F(2, 0x36, op), F3F(~2, ~0x36, ~(op)), args, 0, sparclite }
1609 #define EFPOP2_2(name, op, args) { name, F3F(2, 0x37, op), F3F(~2, ~0x37, ~(op))|RD_G0, args, 0, sparclite }
1620 EFPOP1_2 (
"efsqrtd", 0x02a,
"B,H"),
1621 EFPOP1_2 (
"efsqrts", 0x029,
"f,g"),
1622 EFPOP1_3 (
"efaddd", 0x042,
"v,B,H"),
1623 EFPOP1_3 (
"efadds", 0x041,
"e,f,g"),
1624 EFPOP1_3 (
"efsubd", 0x046,
"v,B,H"),
1625 EFPOP1_3 (
"efsubs", 0x045,
"e,f,g"),
1626 EFPOP1_3 (
"efdivd", 0x04e,
"v,B,H"),
1627 EFPOP1_3 (
"efdivs", 0x04d,
"e,f,g"),
1628 EFPOP1_3 (
"efmuld", 0x04a,
"v,B,H"),
1629 EFPOP1_3 (
"efmuls", 0x049,
"e,f,g"),
1630 EFPOP1_3 (
"efsmuld", 0x069,
"e,f,H"),
1632 EFPOP2_2 (
"efcmped", 0x056,
"v,B"),
1634 EFPOP2_2 (
"efcmpes", 0x055,
"e,f"),
1642 {
"cpop1",
F3(2, 0x36, 0),
F3(~2, ~0x36, ~1),
"[1+2],d",
F_ALIAS,
v6notv9 },
1643 {
"cpop2",
F3(2, 0x37, 0),
F3(~2, ~0x37, ~1),
"[1+2],d",
F_ALIAS,
v6notv9 },
1654 {
"shuffle",
F3(2, 0x2d, 0),
F3(~2, ~0x2d, ~0)|
ASI(~0),
"1,2,d", 0,
sparclet },
1655 {
"shuffle",
F3(2, 0x2d, 1),
F3(~2, ~0x2d, ~1),
"1,i,d", 0,
sparclet },
1661 {
"crdcxt",
F3(2, 0x36, 0)|
SLCPOP(4),
F3(~2, ~0x36, ~0)|
SLCPOP(~4)|
BIT5|
RS2(~0),
"U,d", 0,
sparclet },
1662 {
"cwrcxt",
F3(2, 0x36, 0)|
SLCPOP(3),
F3(~2, ~0x36, ~0)|
SLCPOP(~3)|
BIT5|
RS2(~0),
"1,u", 0,
sparclet },
1663 {
"cpush",
F3(2, 0x36, 0)|
SLCPOP(0),
F3(~2, ~0x36, ~0)|
SLCPOP(~0)|
BIT5|
RD(~0),
"1,2", 0,
sparclet },
1664 {
"cpush",
F3(2, 0x36, 1)|
SLCPOP(0),
F3(~2, ~0x36, ~1)|
SLCPOP(~0)|
RD(~0),
"1,Y", 0,
sparclet },
1665 {
"cpusha",
F3(2, 0x36, 0)|
SLCPOP(1),
F3(~2, ~0x36, ~0)|
SLCPOP(~1)|
BIT5|
RD(~0),
"1,2", 0,
sparclet },
1666 {
"cpusha",
F3(2, 0x36, 1)|
SLCPOP(1),
F3(~2, ~0x36, ~1)|
SLCPOP(~1)|
RD(~0),
"1,Y", 0,
sparclet },
1667 {
"cpull",
F3(2, 0x36, 0)|
SLCPOP(2),
F3(~2, ~0x36, ~0)|
SLCPOP(~2)|
BIT5|
RS1(~0)|
RS2(~0),
"d", 0,
sparclet },
1671 #define SLCBCC2(opcode, mask, lose) \
1672 { opcode, (mask), ANNUL|(lose), "l", F_DELAYED|F_CONDBR, sparclet }, \
1673 { opcode, (mask)|ANNUL, (lose), ",a l", F_DELAYED|F_CONDBR, sparclet }
1674 #define SLCBCC(opcode, mask) \
1675 SLCBCC2(opcode, F2(0, 7)|COND(mask), F2(~0, ~7)|COND(~(mask)))
1699 {
"casa",
F3(3, 0x3c, 0),
F3(~3, ~0x3c, ~0),
"[1]A,2,d", 0,
v9 },
1700 {
"casa",
F3(3, 0x3c, 1),
F3(~3, ~0x3c, ~1),
"[1]o,2,d", 0,
v9 },
1701 {
"casxa",
F3(3, 0x3e, 0),
F3(~3, ~0x3e, ~0),
"[1]A,2,d", 0,
v9 },
1702 {
"casxa",
F3(3, 0x3e, 1),
F3(~3, ~0x3e, ~1),
"[1]o,2,d", 0,
v9 },
1706 {
"signx",
F3(2, 0x27, 0),
F3(~2, ~0x27, ~0)|(1<<12)|
ASI(~0)|
RS2_G0,
"1,d",
F_ALIAS,
v9 },
1707 {
"signx",
F3(2, 0x27, 0),
F3(~2, ~0x27, ~0)|(1<<12)|
ASI(~0)|
RS2_G0,
"r",
F_ALIAS,
v9 },
1708 {
"clruw",
F3(2, 0x26, 0),
F3(~2, ~0x26, ~0)|(1<<12)|
ASI(~0)|
RS2_G0,
"1,d",
F_ALIAS,
v9 },
1709 {
"clruw",
F3(2, 0x26, 0),
F3(~2, ~0x26, ~0)|(1<<12)|
ASI(~0)|
RS2_G0,
"r",
F_ALIAS,
v9 },
1710 {
"cas",
F3(3, 0x3c, 0)|
ASI(0x80),
F3(~3, ~0x3c, ~0)|
ASI(~0x80),
"[1],2,d",
F_ALIAS,
v9 },
1711 {
"casl",
F3(3, 0x3c, 0)|
ASI(0x88),
F3(~3, ~0x3c, ~0)|
ASI(~0x88),
"[1],2,d",
F_ALIAS,
v9 },
1712 {
"casx",
F3(3, 0x3e, 0)|
ASI(0x80),
F3(~3, ~0x3e, ~0)|
ASI(~0x80),
"[1],2,d",
F_ALIAS,
v9 },
1713 {
"casxl",
F3(3, 0x3e, 0)|
ASI(0x88),
F3(~3, ~0x3e, ~0)|
ASI(~0x88),
"[1],2,d",
F_ALIAS,
v9 },
1716 {
"shutdown",
F3F(2, 0x36, 0x080),
F3F(~2, ~0x36, ~0x080)|
RD_G0|
RS1_G0|
RS2_G0,
"", 0,
v9a },
1719 {
"fpadd16",
F3F(2, 0x36, 0x050),
F3F(~2, ~0x36, ~0x050),
"v,B,H", 0,
v9a },
1720 {
"fpadd16s",
F3F(2, 0x36, 0x051),
F3F(~2, ~0x36, ~0x051),
"e,f,g", 0,
v9a },
1721 {
"fpadd32",
F3F(2, 0x36, 0x052),
F3F(~2, ~0x36, ~0x052),
"v,B,H", 0,
v9a },
1722 {
"fpadd32s",
F3F(2, 0x36, 0x053),
F3F(~2, ~0x36, ~0x053),
"e,f,g", 0,
v9a },
1723 {
"fpsub16",
F3F(2, 0x36, 0x054),
F3F(~2, ~0x36, ~0x054),
"v,B,H", 0,
v9a },
1724 {
"fpsub16s",
F3F(2, 0x36, 0x055),
F3F(~2, ~0x36, ~0x055),
"e,f,g", 0,
v9a },
1725 {
"fpsub32",
F3F(2, 0x36, 0x056),
F3F(~2, ~0x36, ~0x056),
"v,B,H", 0,
v9a },
1726 {
"fpsub32s",
F3F(2, 0x36, 0x057),
F3F(~2, ~0x36, ~0x057),
"e,f,g", 0,
v9a },
1728 {
"fpack32",
F3F(2, 0x36, 0x03a),
F3F(~2, ~0x36, ~0x03a),
"v,B,H", 0,
v9a },
1729 {
"fpack16",
F3F(2, 0x36, 0x03b),
F3F(~2, ~0x36, ~0x03b)|
RS1_G0,
"B,g", 0,
v9a },
1730 {
"fpackfix",
F3F(2, 0x36, 0x03d),
F3F(~2, ~0x36, ~0x03d)|
RS1_G0,
"B,g", 0,
v9a },
1731 {
"fexpand",
F3F(2, 0x36, 0x04d),
F3F(~2, ~0x36, ~0x04d)|
RS1_G0,
"f,H", 0,
v9a },
1732 {
"fpmerge",
F3F(2, 0x36, 0x04b),
F3F(~2, ~0x36, ~0x04b),
"e,f,H", 0,
v9a },
1735 {
"fmul8x16",
F3F(2, 0x36, 0x031),
F3F(~2, ~0x36, ~0x031),
"e,B,H", 0,
v9a },
1736 {
"fmul8x16au",
F3F(2, 0x36, 0x033),
F3F(~2, ~0x36, ~0x033),
"e,f,H", 0,
v9a },
1737 {
"fmul8x16al",
F3F(2, 0x36, 0x035),
F3F(~2, ~0x36, ~0x035),
"e,f,H", 0,
v9a },
1738 {
"fmul8sux16",
F3F(2, 0x36, 0x036),
F3F(~2, ~0x36, ~0x036),
"v,B,H", 0,
v9a },
1739 {
"fmul8ulx16",
F3F(2, 0x36, 0x037),
F3F(~2, ~0x36, ~0x037),
"v,B,H", 0,
v9a },
1740 {
"fmuld8sux16",
F3F(2, 0x36, 0x038),
F3F(~2, ~0x36, ~0x038),
"e,f,H", 0,
v9a },
1741 {
"fmuld8ulx16",
F3F(2, 0x36, 0x039),
F3F(~2, ~0x36, ~0x039),
"e,f,H", 0,
v9a },
1743 {
"alignaddr",
F3F(2, 0x36, 0x018),
F3F(~2, ~0x36, ~0x018),
"1,2,d", 0,
v9a },
1744 {
"alignaddrl",
F3F(2, 0x36, 0x01a),
F3F(~2, ~0x36, ~0x01a),
"1,2,d", 0,
v9a },
1745 {
"faligndata",
F3F(2, 0x36, 0x048),
F3F(~2, ~0x36, ~0x048),
"v,B,H", 0,
v9a },
1747 {
"fzero",
F3F(2, 0x36, 0x060),
F3F(~2, ~0x36, ~0x060),
"H", 0,
v9a },
1748 {
"fzeros",
F3F(2, 0x36, 0x061),
F3F(~2, ~0x36, ~0x061),
"g", 0,
v9a },
1749 {
"fone",
F3F(2, 0x36, 0x07e),
F3F(~2, ~0x36, ~0x07e),
"H", 0,
v9a },
1750 {
"fones",
F3F(2, 0x36, 0x07f),
F3F(~2, ~0x36, ~0x07f),
"g", 0,
v9a },
1751 {
"fsrc1",
F3F(2, 0x36, 0x074),
F3F(~2, ~0x36, ~0x074),
"v,H", 0,
v9a },
1752 {
"fsrc1s",
F3F(2, 0x36, 0x075),
F3F(~2, ~0x36, ~0x075),
"e,g", 0,
v9a },
1753 {
"fsrc2",
F3F(2, 0x36, 0x078),
F3F(~2, ~0x36, ~0x078),
"B,H", 0,
v9a },
1754 {
"fsrc2s",
F3F(2, 0x36, 0x079),
F3F(~2, ~0x36, ~0x079),
"f,g", 0,
v9a },
1755 {
"fnot1",
F3F(2, 0x36, 0x06a),
F3F(~2, ~0x36, ~0x06a),
"v,H", 0,
v9a },
1756 {
"fnot1s",
F3F(2, 0x36, 0x06b),
F3F(~2, ~0x36, ~0x06b),
"e,g", 0,
v9a },
1757 {
"fnot2",
F3F(2, 0x36, 0x066),
F3F(~2, ~0x36, ~0x066),
"B,H", 0,
v9a },
1758 {
"fnot2s",
F3F(2, 0x36, 0x067),
F3F(~2, ~0x36, ~0x067),
"f,g", 0,
v9a },
1759 {
"for",
F3F(2, 0x36, 0x07c),
F3F(~2, ~0x36, ~0x07c),
"v,B,H", 0,
v9a },
1760 {
"fors",
F3F(2, 0x36, 0x07d),
F3F(~2, ~0x36, ~0x07d),
"e,f,g", 0,
v9a },
1761 {
"fnor",
F3F(2, 0x36, 0x062),
F3F(~2, ~0x36, ~0x062),
"v,B,H", 0,
v9a },
1762 {
"fnors",
F3F(2, 0x36, 0x063),
F3F(~2, ~0x36, ~0x063),
"e,f,g", 0,
v9a },
1763 {
"fand",
F3F(2, 0x36, 0x070),
F3F(~2, ~0x36, ~0x070),
"v,B,H", 0,
v9a },
1764 {
"fands",
F3F(2, 0x36, 0x071),
F3F(~2, ~0x36, ~0x071),
"e,f,g", 0,
v9a },
1765 {
"fnand",
F3F(2, 0x36, 0x06e),
F3F(~2, ~0x36, ~0x06e),
"v,B,H", 0,
v9a },
1766 {
"fnands",
F3F(2, 0x36, 0x06f),
F3F(~2, ~0x36, ~0x06f),
"e,f,g", 0,
v9a },
1767 {
"fxor",
F3F(2, 0x36, 0x06c),
F3F(~2, ~0x36, ~0x06c),
"v,B,H", 0,
v9a },
1768 {
"fxors",
F3F(2, 0x36, 0x06d),
F3F(~2, ~0x36, ~0x06d),
"e,f,g", 0,
v9a },
1769 {
"fxnor",
F3F(2, 0x36, 0x072),
F3F(~2, ~0x36, ~0x072),
"v,B,H", 0,
v9a },
1770 {
"fxnors",
F3F(2, 0x36, 0x073),
F3F(~2, ~0x36, ~0x073),
"e,f,g", 0,
v9a },
1771 {
"fornot1",
F3F(2, 0x36, 0x07a),
F3F(~2, ~0x36, ~0x07a),
"v,B,H", 0,
v9a },
1772 {
"fornot1s",
F3F(2, 0x36, 0x07b),
F3F(~2, ~0x36, ~0x07b),
"e,f,g", 0,
v9a },
1773 {
"fornot2",
F3F(2, 0x36, 0x076),
F3F(~2, ~0x36, ~0x076),
"v,B,H", 0,
v9a },
1774 {
"fornot2s",
F3F(2, 0x36, 0x077),
F3F(~2, ~0x36, ~0x077),
"e,f,g", 0,
v9a },
1775 {
"fandnot1",
F3F(2, 0x36, 0x068),
F3F(~2, ~0x36, ~0x068),
"v,B,H", 0,
v9a },
1776 {
"fandnot1s",
F3F(2, 0x36, 0x069),
F3F(~2, ~0x36, ~0x069),
"e,f,g", 0,
v9a },
1777 {
"fandnot2",
F3F(2, 0x36, 0x064),
F3F(~2, ~0x36, ~0x064),
"v,B,H", 0,
v9a },
1778 {
"fandnot2s",
F3F(2, 0x36, 0x065),
F3F(~2, ~0x36, ~0x065),
"e,f,g", 0,
v9a },
1780 {
"fcmpgt16",
F3F(2, 0x36, 0x028),
F3F(~2, ~0x36, ~0x028),
"v,B,d", 0,
v9a },
1781 {
"fcmpgt32",
F3F(2, 0x36, 0x02c),
F3F(~2, ~0x36, ~0x02c),
"v,B,d", 0,
v9a },
1782 {
"fcmple16",
F3F(2, 0x36, 0x020),
F3F(~2, ~0x36, ~0x020),
"v,B,d", 0,
v9a },
1783 {
"fcmple32",
F3F(2, 0x36, 0x024),
F3F(~2, ~0x36, ~0x024),
"v,B,d", 0,
v9a },
1784 {
"fcmpne16",
F3F(2, 0x36, 0x022),
F3F(~2, ~0x36, ~0x022),
"v,B,d", 0,
v9a },
1785 {
"fcmpne32",
F3F(2, 0x36, 0x026),
F3F(~2, ~0x36, ~0x026),
"v,B,d", 0,
v9a },
1786 {
"fcmpeq16",
F3F(2, 0x36, 0x02a),
F3F(~2, ~0x36, ~0x02a),
"v,B,d", 0,
v9a },
1787 {
"fcmpeq32",
F3F(2, 0x36, 0x02e),
F3F(~2, ~0x36, ~0x02e),
"v,B,d", 0,
v9a },
1789 {
"edge8",
F3F(2, 0x36, 0x000),
F3F(~2, ~0x36, ~0x000),
"1,2,d", 0,
v9a },
1790 {
"edge8l",
F3F(2, 0x36, 0x002),
F3F(~2, ~0x36, ~0x002),
"1,2,d", 0,
v9a },
1791 {
"edge16",
F3F(2, 0x36, 0x004),
F3F(~2, ~0x36, ~0x004),
"1,2,d", 0,
v9a },
1792 {
"edge16l",
F3F(2, 0x36, 0x006),
F3F(~2, ~0x36, ~0x006),
"1,2,d", 0,
v9a },
1793 {
"edge32",
F3F(2, 0x36, 0x008),
F3F(~2, ~0x36, ~0x008),
"1,2,d", 0,
v9a },
1794 {
"edge32l",
F3F(2, 0x36, 0x00a),
F3F(~2, ~0x36, ~0x00a),
"1,2,d", 0,
v9a },
1796 {
"pdist",
F3F(2, 0x36, 0x03e),
F3F(~2, ~0x36, ~0x03e),
"v,B,H", 0,
v9a },
1798 {
"array8",
F3F(2, 0x36, 0x010),
F3F(~2, ~0x36, ~0x010),
"1,2,d", 0,
v9a },
1799 {
"array16",
F3F(2, 0x36, 0x012),
F3F(~2, ~0x36, ~0x012),
"1,2,d", 0,
v9a },
1800 {
"array32",
F3F(2, 0x36, 0x014),
F3F(~2, ~0x36, ~0x014),
"1,2,d", 0,
v9a },
1803 {
"edge8n",
F3F(2, 0x36, 0x001),
F3F(~2, ~0x36, ~0x001),
"1,2,d", 0,
v9b },
1804 {
"edge8ln",
F3F(2, 0x36, 0x003),
F3F(~2, ~0x36, ~0x003),
"1,2,d", 0,
v9b },
1805 {
"edge16n",
F3F(2, 0x36, 0x005),
F3F(~2, ~0x36, ~0x005),
"1,2,d", 0,
v9b },
1806 {
"edge16ln",
F3F(2, 0x36, 0x007),
F3F(~2, ~0x36, ~0x007),
"1,2,d", 0,
v9b },
1807 {
"edge32n",
F3F(2, 0x36, 0x009),
F3F(~2, ~0x36, ~0x009),
"1,2,d", 0,
v9b },
1808 {
"edge32ln",
F3F(2, 0x36, 0x00b),
F3F(~2, ~0x36, ~0x00b),
"1,2,d", 0,
v9b },
1810 {
"bmask",
F3F(2, 0x36, 0x019),
F3F(~2, ~0x36, ~0x019),
"1,2,d", 0,
v9b },
1811 {
"bshuffle",
F3F(2, 0x36, 0x04c),
F3F(~2, ~0x36, ~0x04c),
"v,B,H", 0,
v9b },
1813 {
"siam",
F3F(2, 0x36, 0x081),
F3F(~2, ~0x36, ~0x081)|
RD_G0|
RS1_G0|
RS2(~7),
"3", 0,
v9b },
1818 #define IMPDEP(name, code) \
1819 { name, F3(2, code, 0), F3(~2, ~(code), ~0)|ASI(~0), "1,2,d", 0, v9notv9a }, \
1820 { name, F3(2, code, 1), F3(~2, ~(code), ~1), "1,i,d", 0, v9notv9a }, \
1821 { name, F3(2, code, 0), F3(~2, ~(code), ~0), "x,1,2,d", 0, v9notv9a }, \
1822 { name, F3(2, code, 0), F3(~2, ~(code), ~0), "x,e,f,g", 0, v9notv9a }
1824 IMPDEP (
"impdep1", 0x36),
1825 IMPDEP (
"impdep2", 0x37),
1848 for (
p = table;
p->name; ++
p) {
1849 if (strcmp (
name,
p->name) == 0) {
1864 for (
p = table;
p->name; ++
p) {
1882 { 0x0c,
"#ASI_N_L" },
1883 { 0x10,
"#ASI_AIUP" },
1884 { 0x11,
"#ASI_AIUS" },
1885 { 0x18,
"#ASI_AIUP_L" },
1886 { 0x19,
"#ASI_AIUS_L" },
1889 { 0x82,
"#ASI_PNF" },
1890 { 0x83,
"#ASI_SNF" },
1891 { 0x88,
"#ASI_P_L" },
1892 { 0x89,
"#ASI_S_L" },
1893 { 0x8a,
"#ASI_PNF_L" },
1894 { 0x8b,
"#ASI_SNF_L" },
1895 { 0x04,
"#ASI_NUCLEUS" },
1896 { 0x0c,
"#ASI_NUCLEUS_LITTLE" },
1897 { 0x10,
"#ASI_AS_IF_USER_PRIMARY" },
1898 { 0x11,
"#ASI_AS_IF_USER_SECONDARY" },
1899 { 0x18,
"#ASI_AS_IF_USER_PRIMARY_LITTLE" },
1900 { 0x19,
"#ASI_AS_IF_USER_SECONDARY_LITTLE" },
1901 { 0x80,
"#ASI_PRIMARY" },
1902 { 0x81,
"#ASI_SECONDARY" },
1903 { 0x82,
"#ASI_PRIMARY_NOFAULT" },
1904 { 0x83,
"#ASI_SECONDARY_NOFAULT" },
1905 { 0x88,
"#ASI_PRIMARY_LITTLE" },
1906 { 0x89,
"#ASI_SECONDARY_LITTLE" },
1907 { 0x8a,
"#ASI_PRIMARY_NOFAULT_LITTLE" },
1908 { 0x8b,
"#ASI_SECONDARY_NOFAULT_LITTLE" },
1910 { 0x14,
"#ASI_PHYS_USE_EC" },
1911 { 0x15,
"#ASI_PHYS_BYPASS_EC_E" },
1912 { 0x16,
"#ASI_BLK_AIUP_4V" },
1913 { 0x17,
"#ASI_BLK_AIUS_4V" },
1914 { 0x1c,
"#ASI_PHYS_USE_EC_L" },
1915 { 0x1d,
"#ASI_PHYS_BYPASS_EC_E_L" },
1916 { 0x1e,
"#ASI_BLK_AIUP_L_4V" },
1917 { 0x1f,
"#ASI_BLK_AIUS_L_4V" },
1918 { 0x20,
"#ASI_SCRATCHPAD" },
1919 { 0x21,
"#ASI_MMU" },
1920 { 0x23,
"#ASI_BLK_INIT_QUAD_LDD_AIUS" },
1921 { 0x24,
"#ASI_NUCLEUS_QUAD_LDD" },
1922 { 0x25,
"#ASI_QUEUE" },
1923 { 0x26,
"#ASI_QUAD_LDD_PHYS_4V" },
1924 { 0x2c,
"#ASI_NUCLEUS_QUAD_LDD_L" },
1925 { 0x30,
"#ASI_PCACHE_DATA_STATUS" },
1926 { 0x31,
"#ASI_PCACHE_DATA" },
1927 { 0x32,
"#ASI_PCACHE_TAG" },
1928 { 0x33,
"#ASI_PCACHE_SNOOP_TAG" },
1929 { 0x34,
"#ASI_QUAD_LDD_PHYS" },
1930 { 0x38,
"#ASI_WCACHE_VALID_BITS" },
1931 { 0x39,
"#ASI_WCACHE_DATA" },
1932 { 0x3a,
"#ASI_WCACHE_TAG" },
1933 { 0x3b,
"#ASI_WCACHE_SNOOP_TAG" },
1934 { 0x3c,
"#ASI_QUAD_LDD_PHYS_L" },
1935 { 0x40,
"#ASI_SRAM_FAST_INIT" },
1936 { 0x41,
"#ASI_CORE_AVAILABLE" },
1937 { 0x41,
"#ASI_CORE_ENABLE_STAT" },
1938 { 0x41,
"#ASI_CORE_ENABLE" },
1939 { 0x41,
"#ASI_XIR_STEERING" },
1940 { 0x41,
"#ASI_CORE_RUNNING_RW" },
1941 { 0x41,
"#ASI_CORE_RUNNING_W1S" },
1942 { 0x41,
"#ASI_CORE_RUNNING_W1C" },
1943 { 0x41,
"#ASI_CORE_RUNNING_STAT" },
1944 { 0x41,
"#ASI_CMT_ERROR_STEERING" },
1945 { 0x41,
"#ASI_DCACHE_INVALIDATE" },
1946 { 0x41,
"#ASI_DCACHE_UTAG" },
1947 { 0x41,
"#ASI_DCACHE_SNOOP_TAG" },
1948 { 0x42,
"#ASI_DCACHE_INVALIDATE" },
1949 { 0x43,
"#ASI_DCACHE_UTAG" },
1950 { 0x44,
"#ASI_DCACHE_SNOOP_TAG" },
1951 { 0x45,
"#ASI_LSU_CONTROL_REG" },
1952 { 0x45,
"#ASI_DCU_CONTROL_REG" },
1953 { 0x46,
"#ASI_DCACHE_DATA" },
1954 { 0x47,
"#ASI_DCACHE_TAG" },
1955 { 0x48,
"#ASI_INTR_DISPATCH_STAT" },
1956 { 0x49,
"#ASI_INTR_RECEIVE" },
1957 { 0x4a,
"#ASI_UPA_CONFIG" },
1958 { 0x4a,
"#ASI_JBUS_CONFIG" },
1959 { 0x4a,
"#ASI_SAFARI_CONFIG" },
1960 { 0x4a,
"#ASI_SAFARI_ADDRESS" },
1961 { 0x4b,
"#ASI_ESTATE_ERROR_EN" },
1962 { 0x4c,
"#ASI_AFSR" },
1963 { 0x4d,
"#ASI_AFAR" },
1964 { 0x4e,
"#ASI_EC_TAG_DATA" },
1965 { 0x50,
"#ASI_IMMU" },
1966 { 0x51,
"#ASI_IMMU_TSB_8KB_PTR" },
1967 { 0x52,
"#ASI_IMMU_TSB_16KB_PTR" },
1968 { 0x54,
"#ASI_ITLB_DATA_IN" },
1969 { 0x55,
"#ASI_ITLB_DATA_ACCESS" },
1970 { 0x56,
"#ASI_ITLB_TAG_READ" },
1971 { 0x57,
"#ASI_IMMU_DEMAP" },
1972 { 0x58,
"#ASI_DMMU" },
1973 { 0x59,
"#ASI_DMMU_TSB_8KB_PTR" },
1974 { 0x5a,
"#ASI_DMMU_TSB_64KB_PTR" },
1975 { 0x5b,
"#ASI_DMMU_TSB_DIRECT_PTR" },
1976 { 0x5c,
"#ASI_DTLB_DATA_IN" },
1977 { 0x5d,
"#ASI_DTLB_DATA_ACCESS" },
1978 { 0x5e,
"#ASI_DTLB_TAG_READ" },
1979 { 0x5f,
"#ASI_DMMU_DEMAP" },
1980 { 0x60,
"#ASI_IIU_INST_TRAP" },
1981 { 0x63,
"#ASI_INTR_ID" },
1982 { 0x63,
"#ASI_CORE_ID" },
1983 { 0x63,
"#ASI_CESR_ID" },
1984 { 0x66,
"#ASI_IC_INSTR" },
1985 { 0x67,
"#ASI_IC_TAG" },
1986 { 0x68,
"#ASI_IC_STAG" },
1987 { 0x6e,
"#ASI_IC_PRE_DECODE" },
1988 { 0x6f,
"#ASI_IC_NEXT_FIELD" },
1989 { 0x6f,
"#ASI_BRPRED_ARRAY" },
1990 { 0x70,
"#ASI_BLK_AIUP" },
1991 { 0x71,
"#ASI_BLK_AIUS" },
1992 { 0x72,
"#ASI_MCU_CTRL_REG" },
1993 { 0x74,
"#ASI_EC_DATA" },
1994 { 0x75,
"#ASI_EC_CTRL" },
1995 { 0x76,
"#ASI_EC_W" },
1996 { 0x77,
"#ASI_UDB_ERROR_W" },
1997 { 0x77,
"#ASI_UDB_CONTROL_W" },
1998 { 0x77,
"#ASI_INTR_W" },
1999 { 0x77,
"#ASI_INTR_DATAN_W" },
2000 { 0x77,
"#ASI_INTR_DISPATCH_W" },
2001 { 0x78,
"#ASI_BLK_AIUPL" },
2002 { 0x79,
"#ASI_BLK_AIUSL" },
2003 { 0x7e,
"#ASI_EC_R" },
2004 { 0x7f,
"#ASI_UDBH_ERROR_R" },
2005 { 0x7f,
"#ASI_UDBL_ERROR_R" },
2006 { 0x7f,
"#ASI_UDBH_CONTROL_R" },
2007 { 0x7f,
"#ASI_UDBL_CONTROL_R" },
2008 { 0x7f,
"#ASI_INTR_R" },
2009 { 0x7f,
"#ASI_INTR_DATAN_R" },
2010 { 0xc0,
"#ASI_PST8_P" },
2011 { 0xc1,
"#ASI_PST8_S" },
2012 { 0xc2,
"#ASI_PST16_P" },
2013 { 0xc3,
"#ASI_PST16_S" },
2014 { 0xc4,
"#ASI_PST32_P" },
2015 { 0xc5,
"#ASI_PST32_S" },
2016 { 0xc8,
"#ASI_PST8_PL" },
2017 { 0xc9,
"#ASI_PST8_SL" },
2018 { 0xca,
"#ASI_PST16_PL" },
2019 { 0xcb,
"#ASI_PST16_SL" },
2020 { 0xcc,
"#ASI_PST32_PL" },
2021 { 0xcd,
"#ASI_PST32_SL" },
2022 { 0xd0,
"#ASI_FL8_P" },
2023 { 0xd1,
"#ASI_FL8_S" },
2024 { 0xd2,
"#ASI_FL16_P" },
2025 { 0xd3,
"#ASI_FL16_S" },
2026 { 0xd8,
"#ASI_FL8_PL" },
2027 { 0xd9,
"#ASI_FL8_SL" },
2028 { 0xda,
"#ASI_FL16_PL" },
2029 { 0xdb,
"#ASI_FL16_SL" },
2030 { 0xe0,
"#ASI_BLK_COMMIT_P", },
2031 { 0xe1,
"#ASI_BLK_COMMIT_S", },
2032 { 0xe2,
"#ASI_BLK_INIT_QUAD_LDD_P" },
2033 { 0xf0,
"#ASI_BLK_P", },
2034 { 0xf1,
"#ASI_BLK_S", },
2035 { 0xf8,
"#ASI_BLK_PL", },
2036 { 0xf9,
"#ASI_BLK_SL", },
2061 { 0x20,
"#MemIssue" },
2062 { 0x10,
"#Lookaside" },
2063 { 0x08,
"#StoreStore" },
2064 { 0x04,
"#LoadStore" },
2065 { 0x02,
"#StoreLoad" },
2066 { 0x01,
"#LoadLoad" },
2093 { 3,
"#one_write" },
2095 { 16,
"#invalidate" },
2096 { 17,
"#unified", },
2097 { 20,
"#n_reads_strong", },
2098 { 21,
"#one_read_strong", },
2099 { 22,
"#n_writes_strong", },
2100 { 23,
"#one_write_strong", },
static const char * arg(RzAnalysis *a, csh *handle, cs_insn *insn, char *buf, int n)
#define movr(opcode, mask, flags)
#define movicc(opcode, cond, flags)
#define CONDFC(fop, cop, mask, flags)
static const char * lookup_value(const arg *table, int value)
const struct sparc_opcode_arch sparc_opcode_archs[]
#define movfcc(opcode, fcond, flags)
int sparc_encode_sparclet_cpreg(const char *name)
#define fmovfcc(suffix, fcond, flags)
#define CONDFCL(fop, cop, mask, flags)
#define cond(bop, top, mask, flags)
#define EFPOP1_3(name, op, args)
static arg prefetch_table[]
#define COMMUTEOP(opcode, op3, arch_mask)
static arg sparclet_cpreg_table[]
#define CONDF(fop, mask, flags)
const int sparc_num_opcodes
#define movcc(opcode, cond, fcond, flags)
const char * sparc_decode_asi(int value)
const char * sparc_decode_prefetch(int value)
#define EFPOP2_2(name, op, args)
#define fmovrq(mop, mask, flags)
#define fmovcc(suffix, cond, fcond, flags)
int sparc_encode_asi(const char *name)
enum sparc_opcode_arch_val sparc_opcode_lookup_arch(const char *name)
#define condr(bop, mask, flags)
const char * sparc_decode_membar(int value)
static int lookup_name(const arg *table, const char *name)
#define IMPDEP(name, code)
const struct sparc_opcode sparc_opcodes[]
#define fmovicc(suffix, cond, flags)
int sparc_encode_membar(const char *name)
#define SLCBCC(opcode, mask)
const char * sparc_decode_sparclet_cpreg(int value)
#define fmovrd(mop, mask, flags)
int sparc_encode_prefetch(const char *name)
#define fmovrs(mop, mask, flags)
#define EFPOP1_2(name, op, args)
static arg membar_table[]