sljitNativeTILEGX-encoder.c revision 1.3 1 1.3 alnsn /* $NetBSD: sljitNativeTILEGX-encoder.c,v 1.3 2019/01/20 23:14:16 alnsn Exp $ */
2 1.2 alnsn
3 1.1 alnsn /*
4 1.1 alnsn * Stack-less Just-In-Time compiler
5 1.1 alnsn *
6 1.1 alnsn * Copyright 2013-2013 Tilera Corporation(jiwang (at) tilera.com). All rights reserved.
7 1.3 alnsn * Copyright Zoltan Herczeg (hzmester (at) freemail.hu). All rights reserved.
8 1.1 alnsn *
9 1.1 alnsn * Redistribution and use in source and binary forms, with or without modification, are
10 1.1 alnsn * permitted provided that the following conditions are met:
11 1.1 alnsn *
12 1.1 alnsn * 1. Redistributions of source code must retain the above copyright notice, this list of
13 1.1 alnsn * conditions and the following disclaimer.
14 1.1 alnsn *
15 1.1 alnsn * 2. Redistributions in binary form must reproduce the above copyright notice, this list
16 1.1 alnsn * of conditions and the following disclaimer in the documentation and/or other materials
17 1.1 alnsn * provided with the distribution.
18 1.1 alnsn *
19 1.1 alnsn * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY
20 1.1 alnsn * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 1.1 alnsn * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
22 1.1 alnsn * SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23 1.1 alnsn * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
24 1.1 alnsn * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
25 1.1 alnsn * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 1.1 alnsn * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
27 1.1 alnsn * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 1.1 alnsn */
29 1.1 alnsn
30 1.1 alnsn /* This code is owned by Tilera Corporation, and distributed as part
31 1.1 alnsn of multiple projects. In sljit, the code is under BSD licence. */
32 1.1 alnsn
33 1.1 alnsn #include <stdio.h>
34 1.1 alnsn #include <stdlib.h>
35 1.1 alnsn #include <string.h>
36 1.1 alnsn #define BFD_RELOC(x) R_##x
37 1.1 alnsn
38 1.1 alnsn /* Special registers. */
39 1.1 alnsn #define TREG_LR 55
40 1.1 alnsn #define TREG_SN 56
41 1.1 alnsn #define TREG_ZERO 63
42 1.1 alnsn
43 1.1 alnsn /* Canonical name of each register. */
44 1.1 alnsn const char *const tilegx_register_names[] =
45 1.1 alnsn {
46 1.1 alnsn "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
47 1.1 alnsn "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
48 1.1 alnsn "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
49 1.1 alnsn "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
50 1.1 alnsn "r32", "r33", "r34", "r35", "r36", "r37", "r38", "r39",
51 1.1 alnsn "r40", "r41", "r42", "r43", "r44", "r45", "r46", "r47",
52 1.1 alnsn "r48", "r49", "r50", "r51", "r52", "tp", "sp", "lr",
53 1.1 alnsn "sn", "idn0", "idn1", "udn0", "udn1", "udn2", "udn3", "zero"
54 1.1 alnsn };
55 1.1 alnsn
56 1.1 alnsn enum
57 1.1 alnsn {
58 1.1 alnsn R_NONE = 0,
59 1.1 alnsn R_TILEGX_NONE = 0,
60 1.1 alnsn R_TILEGX_64 = 1,
61 1.1 alnsn R_TILEGX_32 = 2,
62 1.1 alnsn R_TILEGX_16 = 3,
63 1.1 alnsn R_TILEGX_8 = 4,
64 1.1 alnsn R_TILEGX_64_PCREL = 5,
65 1.1 alnsn R_TILEGX_32_PCREL = 6,
66 1.1 alnsn R_TILEGX_16_PCREL = 7,
67 1.1 alnsn R_TILEGX_8_PCREL = 8,
68 1.1 alnsn R_TILEGX_HW0 = 9,
69 1.1 alnsn R_TILEGX_HW1 = 10,
70 1.1 alnsn R_TILEGX_HW2 = 11,
71 1.1 alnsn R_TILEGX_HW3 = 12,
72 1.1 alnsn R_TILEGX_HW0_LAST = 13,
73 1.1 alnsn R_TILEGX_HW1_LAST = 14,
74 1.1 alnsn R_TILEGX_HW2_LAST = 15,
75 1.1 alnsn R_TILEGX_COPY = 16,
76 1.1 alnsn R_TILEGX_GLOB_DAT = 17,
77 1.1 alnsn R_TILEGX_JMP_SLOT = 18,
78 1.1 alnsn R_TILEGX_RELATIVE = 19,
79 1.1 alnsn R_TILEGX_BROFF_X1 = 20,
80 1.1 alnsn R_TILEGX_JUMPOFF_X1 = 21,
81 1.1 alnsn R_TILEGX_JUMPOFF_X1_PLT = 22,
82 1.1 alnsn R_TILEGX_IMM8_X0 = 23,
83 1.1 alnsn R_TILEGX_IMM8_Y0 = 24,
84 1.1 alnsn R_TILEGX_IMM8_X1 = 25,
85 1.1 alnsn R_TILEGX_IMM8_Y1 = 26,
86 1.1 alnsn R_TILEGX_DEST_IMM8_X1 = 27,
87 1.1 alnsn R_TILEGX_MT_IMM14_X1 = 28,
88 1.1 alnsn R_TILEGX_MF_IMM14_X1 = 29,
89 1.1 alnsn R_TILEGX_MMSTART_X0 = 30,
90 1.1 alnsn R_TILEGX_MMEND_X0 = 31,
91 1.1 alnsn R_TILEGX_SHAMT_X0 = 32,
92 1.1 alnsn R_TILEGX_SHAMT_X1 = 33,
93 1.1 alnsn R_TILEGX_SHAMT_Y0 = 34,
94 1.1 alnsn R_TILEGX_SHAMT_Y1 = 35,
95 1.1 alnsn R_TILEGX_IMM16_X0_HW0 = 36,
96 1.1 alnsn R_TILEGX_IMM16_X1_HW0 = 37,
97 1.1 alnsn R_TILEGX_IMM16_X0_HW1 = 38,
98 1.1 alnsn R_TILEGX_IMM16_X1_HW1 = 39,
99 1.1 alnsn R_TILEGX_IMM16_X0_HW2 = 40,
100 1.1 alnsn R_TILEGX_IMM16_X1_HW2 = 41,
101 1.1 alnsn R_TILEGX_IMM16_X0_HW3 = 42,
102 1.1 alnsn R_TILEGX_IMM16_X1_HW3 = 43,
103 1.1 alnsn R_TILEGX_IMM16_X0_HW0_LAST = 44,
104 1.1 alnsn R_TILEGX_IMM16_X1_HW0_LAST = 45,
105 1.1 alnsn R_TILEGX_IMM16_X0_HW1_LAST = 46,
106 1.1 alnsn R_TILEGX_IMM16_X1_HW1_LAST = 47,
107 1.1 alnsn R_TILEGX_IMM16_X0_HW2_LAST = 48,
108 1.1 alnsn R_TILEGX_IMM16_X1_HW2_LAST = 49,
109 1.1 alnsn R_TILEGX_IMM16_X0_HW0_PCREL = 50,
110 1.1 alnsn R_TILEGX_IMM16_X1_HW0_PCREL = 51,
111 1.1 alnsn R_TILEGX_IMM16_X0_HW1_PCREL = 52,
112 1.1 alnsn R_TILEGX_IMM16_X1_HW1_PCREL = 53,
113 1.1 alnsn R_TILEGX_IMM16_X0_HW2_PCREL = 54,
114 1.1 alnsn R_TILEGX_IMM16_X1_HW2_PCREL = 55,
115 1.1 alnsn R_TILEGX_IMM16_X0_HW3_PCREL = 56,
116 1.1 alnsn R_TILEGX_IMM16_X1_HW3_PCREL = 57,
117 1.1 alnsn R_TILEGX_IMM16_X0_HW0_LAST_PCREL = 58,
118 1.1 alnsn R_TILEGX_IMM16_X1_HW0_LAST_PCREL = 59,
119 1.1 alnsn R_TILEGX_IMM16_X0_HW1_LAST_PCREL = 60,
120 1.1 alnsn R_TILEGX_IMM16_X1_HW1_LAST_PCREL = 61,
121 1.1 alnsn R_TILEGX_IMM16_X0_HW2_LAST_PCREL = 62,
122 1.1 alnsn R_TILEGX_IMM16_X1_HW2_LAST_PCREL = 63,
123 1.1 alnsn R_TILEGX_IMM16_X0_HW0_GOT = 64,
124 1.1 alnsn R_TILEGX_IMM16_X1_HW0_GOT = 65,
125 1.1 alnsn
126 1.1 alnsn R_TILEGX_IMM16_X0_HW0_PLT_PCREL = 66,
127 1.1 alnsn R_TILEGX_IMM16_X1_HW0_PLT_PCREL = 67,
128 1.1 alnsn R_TILEGX_IMM16_X0_HW1_PLT_PCREL = 68,
129 1.1 alnsn R_TILEGX_IMM16_X1_HW1_PLT_PCREL = 69,
130 1.1 alnsn R_TILEGX_IMM16_X0_HW2_PLT_PCREL = 70,
131 1.1 alnsn R_TILEGX_IMM16_X1_HW2_PLT_PCREL = 71,
132 1.1 alnsn
133 1.1 alnsn R_TILEGX_IMM16_X0_HW0_LAST_GOT = 72,
134 1.1 alnsn R_TILEGX_IMM16_X1_HW0_LAST_GOT = 73,
135 1.1 alnsn R_TILEGX_IMM16_X0_HW1_LAST_GOT = 74,
136 1.1 alnsn R_TILEGX_IMM16_X1_HW1_LAST_GOT = 75,
137 1.1 alnsn R_TILEGX_IMM16_X0_HW0_TLS_GD = 78,
138 1.1 alnsn R_TILEGX_IMM16_X1_HW0_TLS_GD = 79,
139 1.1 alnsn R_TILEGX_IMM16_X0_HW0_TLS_LE = 80,
140 1.1 alnsn R_TILEGX_IMM16_X1_HW0_TLS_LE = 81,
141 1.1 alnsn R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE = 82,
142 1.1 alnsn R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE = 83,
143 1.1 alnsn R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE = 84,
144 1.1 alnsn R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE = 85,
145 1.1 alnsn R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD = 86,
146 1.1 alnsn R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD = 87,
147 1.1 alnsn R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD = 88,
148 1.1 alnsn R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD = 89,
149 1.1 alnsn R_TILEGX_IMM16_X0_HW0_TLS_IE = 92,
150 1.1 alnsn R_TILEGX_IMM16_X1_HW0_TLS_IE = 93,
151 1.1 alnsn
152 1.1 alnsn R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL = 94,
153 1.1 alnsn R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL = 95,
154 1.1 alnsn R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL = 96,
155 1.1 alnsn R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL = 97,
156 1.1 alnsn R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL = 98,
157 1.1 alnsn R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL = 99,
158 1.1 alnsn
159 1.1 alnsn R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE = 100,
160 1.1 alnsn R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE = 101,
161 1.1 alnsn R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE = 102,
162 1.1 alnsn R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE = 103,
163 1.1 alnsn R_TILEGX_TLS_DTPMOD64 = 106,
164 1.1 alnsn R_TILEGX_TLS_DTPOFF64 = 107,
165 1.1 alnsn R_TILEGX_TLS_TPOFF64 = 108,
166 1.1 alnsn R_TILEGX_TLS_DTPMOD32 = 109,
167 1.1 alnsn R_TILEGX_TLS_DTPOFF32 = 110,
168 1.1 alnsn R_TILEGX_TLS_TPOFF32 = 111,
169 1.1 alnsn R_TILEGX_TLS_GD_CALL = 112,
170 1.1 alnsn R_TILEGX_IMM8_X0_TLS_GD_ADD = 113,
171 1.1 alnsn R_TILEGX_IMM8_X1_TLS_GD_ADD = 114,
172 1.1 alnsn R_TILEGX_IMM8_Y0_TLS_GD_ADD = 115,
173 1.1 alnsn R_TILEGX_IMM8_Y1_TLS_GD_ADD = 116,
174 1.1 alnsn R_TILEGX_TLS_IE_LOAD = 117,
175 1.1 alnsn R_TILEGX_IMM8_X0_TLS_ADD = 118,
176 1.1 alnsn R_TILEGX_IMM8_X1_TLS_ADD = 119,
177 1.1 alnsn R_TILEGX_IMM8_Y0_TLS_ADD = 120,
178 1.1 alnsn R_TILEGX_IMM8_Y1_TLS_ADD = 121,
179 1.1 alnsn R_TILEGX_GNU_VTINHERIT = 128,
180 1.1 alnsn R_TILEGX_GNU_VTENTRY = 129,
181 1.1 alnsn R_TILEGX_IRELATIVE = 130,
182 1.1 alnsn R_TILEGX_NUM = 131
183 1.1 alnsn };
184 1.1 alnsn
185 1.1 alnsn typedef enum
186 1.1 alnsn {
187 1.1 alnsn TILEGX_PIPELINE_X0,
188 1.1 alnsn TILEGX_PIPELINE_X1,
189 1.1 alnsn TILEGX_PIPELINE_Y0,
190 1.1 alnsn TILEGX_PIPELINE_Y1,
191 1.1 alnsn TILEGX_PIPELINE_Y2,
192 1.1 alnsn } tilegx_pipeline;
193 1.1 alnsn
194 1.1 alnsn typedef unsigned long long tilegx_bundle_bits;
195 1.1 alnsn
196 1.1 alnsn /* These are the bits that determine if a bundle is in the X encoding. */
197 1.1 alnsn #define TILEGX_BUNDLE_MODE_MASK ((tilegx_bundle_bits)3 << 62)
198 1.1 alnsn
199 1.1 alnsn enum
200 1.1 alnsn {
201 1.1 alnsn /* Maximum number of instructions in a bundle (2 for X, 3 for Y). */
202 1.1 alnsn TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE = 3,
203 1.1 alnsn
204 1.1 alnsn /* How many different pipeline encodings are there? X0, X1, Y0, Y1, Y2. */
205 1.1 alnsn TILEGX_NUM_PIPELINE_ENCODINGS = 5,
206 1.1 alnsn
207 1.1 alnsn /* Log base 2 of TILEGX_BUNDLE_SIZE_IN_BYTES. */
208 1.1 alnsn TILEGX_LOG2_BUNDLE_SIZE_IN_BYTES = 3,
209 1.1 alnsn
210 1.1 alnsn /* Instructions take this many bytes. */
211 1.1 alnsn TILEGX_BUNDLE_SIZE_IN_BYTES = 1 << TILEGX_LOG2_BUNDLE_SIZE_IN_BYTES,
212 1.1 alnsn
213 1.1 alnsn /* Log base 2 of TILEGX_BUNDLE_ALIGNMENT_IN_BYTES. */
214 1.1 alnsn TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES = 3,
215 1.1 alnsn
216 1.1 alnsn /* Bundles should be aligned modulo this number of bytes. */
217 1.1 alnsn TILEGX_BUNDLE_ALIGNMENT_IN_BYTES =
218 1.1 alnsn (1 << TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES),
219 1.1 alnsn
220 1.1 alnsn /* Number of registers (some are magic, such as network I/O). */
221 1.1 alnsn TILEGX_NUM_REGISTERS = 64,
222 1.1 alnsn };
223 1.1 alnsn
224 1.1 alnsn /* Make a few "tile_" variables to simplify common code between
225 1.1 alnsn architectures. */
226 1.1 alnsn
227 1.1 alnsn typedef tilegx_bundle_bits tile_bundle_bits;
228 1.1 alnsn #define TILE_BUNDLE_SIZE_IN_BYTES TILEGX_BUNDLE_SIZE_IN_BYTES
229 1.1 alnsn #define TILE_BUNDLE_ALIGNMENT_IN_BYTES TILEGX_BUNDLE_ALIGNMENT_IN_BYTES
230 1.1 alnsn #define TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES \
231 1.1 alnsn TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES
232 1.1 alnsn
233 1.1 alnsn /* 64-bit pattern for a { bpt ; nop } bundle. */
234 1.1 alnsn #define TILEGX_BPT_BUNDLE 0x286a44ae51485000ULL
235 1.1 alnsn
236 1.1 alnsn typedef enum
237 1.1 alnsn {
238 1.1 alnsn TILEGX_OP_TYPE_REGISTER,
239 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE,
240 1.1 alnsn TILEGX_OP_TYPE_ADDRESS,
241 1.1 alnsn TILEGX_OP_TYPE_SPR
242 1.1 alnsn } tilegx_operand_type;
243 1.1 alnsn
244 1.1 alnsn struct tilegx_operand
245 1.1 alnsn {
246 1.1 alnsn /* Is this operand a register, immediate or address? */
247 1.1 alnsn tilegx_operand_type type;
248 1.1 alnsn
249 1.1 alnsn /* The default relocation type for this operand. */
250 1.1 alnsn signed int default_reloc : 16;
251 1.1 alnsn
252 1.1 alnsn /* How many bits is this value? (used for range checking) */
253 1.1 alnsn unsigned int num_bits : 5;
254 1.1 alnsn
255 1.1 alnsn /* Is the value signed? (used for range checking) */
256 1.1 alnsn unsigned int is_signed : 1;
257 1.1 alnsn
258 1.1 alnsn /* Is this operand a source register? */
259 1.1 alnsn unsigned int is_src_reg : 1;
260 1.1 alnsn
261 1.1 alnsn /* Is this operand written? (i.e. is it a destination register) */
262 1.1 alnsn unsigned int is_dest_reg : 1;
263 1.1 alnsn
264 1.1 alnsn /* Is this operand PC-relative? */
265 1.1 alnsn unsigned int is_pc_relative : 1;
266 1.1 alnsn
267 1.1 alnsn /* By how many bits do we right shift the value before inserting? */
268 1.1 alnsn unsigned int rightshift : 2;
269 1.1 alnsn
270 1.1 alnsn /* Return the bits for this operand to be ORed into an existing bundle. */
271 1.1 alnsn tilegx_bundle_bits (*insert) (int op);
272 1.1 alnsn
273 1.1 alnsn /* Extract this operand and return it. */
274 1.1 alnsn unsigned int (*extract) (tilegx_bundle_bits bundle);
275 1.1 alnsn };
276 1.1 alnsn
277 1.1 alnsn typedef enum
278 1.1 alnsn {
279 1.1 alnsn TILEGX_OPC_BPT,
280 1.1 alnsn TILEGX_OPC_INFO,
281 1.1 alnsn TILEGX_OPC_INFOL,
282 1.1 alnsn TILEGX_OPC_LD4S_TLS,
283 1.1 alnsn TILEGX_OPC_LD_TLS,
284 1.1 alnsn TILEGX_OPC_MOVE,
285 1.1 alnsn TILEGX_OPC_MOVEI,
286 1.1 alnsn TILEGX_OPC_MOVELI,
287 1.1 alnsn TILEGX_OPC_PREFETCH,
288 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L1,
289 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L1_FAULT,
290 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L2,
291 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L2_FAULT,
292 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L3,
293 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
294 1.1 alnsn TILEGX_OPC_PREFETCH_L1,
295 1.1 alnsn TILEGX_OPC_PREFETCH_L1_FAULT,
296 1.1 alnsn TILEGX_OPC_PREFETCH_L2,
297 1.1 alnsn TILEGX_OPC_PREFETCH_L2_FAULT,
298 1.1 alnsn TILEGX_OPC_PREFETCH_L3,
299 1.1 alnsn TILEGX_OPC_PREFETCH_L3_FAULT,
300 1.1 alnsn TILEGX_OPC_RAISE,
301 1.1 alnsn TILEGX_OPC_ADD,
302 1.1 alnsn TILEGX_OPC_ADDI,
303 1.1 alnsn TILEGX_OPC_ADDLI,
304 1.1 alnsn TILEGX_OPC_ADDX,
305 1.1 alnsn TILEGX_OPC_ADDXI,
306 1.1 alnsn TILEGX_OPC_ADDXLI,
307 1.1 alnsn TILEGX_OPC_ADDXSC,
308 1.1 alnsn TILEGX_OPC_AND,
309 1.1 alnsn TILEGX_OPC_ANDI,
310 1.1 alnsn TILEGX_OPC_BEQZ,
311 1.1 alnsn TILEGX_OPC_BEQZT,
312 1.1 alnsn TILEGX_OPC_BFEXTS,
313 1.1 alnsn TILEGX_OPC_BFEXTU,
314 1.1 alnsn TILEGX_OPC_BFINS,
315 1.1 alnsn TILEGX_OPC_BGEZ,
316 1.1 alnsn TILEGX_OPC_BGEZT,
317 1.1 alnsn TILEGX_OPC_BGTZ,
318 1.1 alnsn TILEGX_OPC_BGTZT,
319 1.1 alnsn TILEGX_OPC_BLBC,
320 1.1 alnsn TILEGX_OPC_BLBCT,
321 1.1 alnsn TILEGX_OPC_BLBS,
322 1.1 alnsn TILEGX_OPC_BLBST,
323 1.1 alnsn TILEGX_OPC_BLEZ,
324 1.1 alnsn TILEGX_OPC_BLEZT,
325 1.1 alnsn TILEGX_OPC_BLTZ,
326 1.1 alnsn TILEGX_OPC_BLTZT,
327 1.1 alnsn TILEGX_OPC_BNEZ,
328 1.1 alnsn TILEGX_OPC_BNEZT,
329 1.1 alnsn TILEGX_OPC_CLZ,
330 1.1 alnsn TILEGX_OPC_CMOVEQZ,
331 1.1 alnsn TILEGX_OPC_CMOVNEZ,
332 1.1 alnsn TILEGX_OPC_CMPEQ,
333 1.1 alnsn TILEGX_OPC_CMPEQI,
334 1.1 alnsn TILEGX_OPC_CMPEXCH,
335 1.1 alnsn TILEGX_OPC_CMPEXCH4,
336 1.1 alnsn TILEGX_OPC_CMPLES,
337 1.1 alnsn TILEGX_OPC_CMPLEU,
338 1.1 alnsn TILEGX_OPC_CMPLTS,
339 1.1 alnsn TILEGX_OPC_CMPLTSI,
340 1.1 alnsn TILEGX_OPC_CMPLTU,
341 1.1 alnsn TILEGX_OPC_CMPLTUI,
342 1.1 alnsn TILEGX_OPC_CMPNE,
343 1.1 alnsn TILEGX_OPC_CMUL,
344 1.1 alnsn TILEGX_OPC_CMULA,
345 1.1 alnsn TILEGX_OPC_CMULAF,
346 1.1 alnsn TILEGX_OPC_CMULF,
347 1.1 alnsn TILEGX_OPC_CMULFR,
348 1.1 alnsn TILEGX_OPC_CMULH,
349 1.1 alnsn TILEGX_OPC_CMULHR,
350 1.1 alnsn TILEGX_OPC_CRC32_32,
351 1.1 alnsn TILEGX_OPC_CRC32_8,
352 1.1 alnsn TILEGX_OPC_CTZ,
353 1.1 alnsn TILEGX_OPC_DBLALIGN,
354 1.1 alnsn TILEGX_OPC_DBLALIGN2,
355 1.1 alnsn TILEGX_OPC_DBLALIGN4,
356 1.1 alnsn TILEGX_OPC_DBLALIGN6,
357 1.1 alnsn TILEGX_OPC_DRAIN,
358 1.1 alnsn TILEGX_OPC_DTLBPR,
359 1.1 alnsn TILEGX_OPC_EXCH,
360 1.1 alnsn TILEGX_OPC_EXCH4,
361 1.1 alnsn TILEGX_OPC_FDOUBLE_ADD_FLAGS,
362 1.1 alnsn TILEGX_OPC_FDOUBLE_ADDSUB,
363 1.1 alnsn TILEGX_OPC_FDOUBLE_MUL_FLAGS,
364 1.1 alnsn TILEGX_OPC_FDOUBLE_PACK1,
365 1.1 alnsn TILEGX_OPC_FDOUBLE_PACK2,
366 1.1 alnsn TILEGX_OPC_FDOUBLE_SUB_FLAGS,
367 1.1 alnsn TILEGX_OPC_FDOUBLE_UNPACK_MAX,
368 1.1 alnsn TILEGX_OPC_FDOUBLE_UNPACK_MIN,
369 1.1 alnsn TILEGX_OPC_FETCHADD,
370 1.1 alnsn TILEGX_OPC_FETCHADD4,
371 1.1 alnsn TILEGX_OPC_FETCHADDGEZ,
372 1.1 alnsn TILEGX_OPC_FETCHADDGEZ4,
373 1.1 alnsn TILEGX_OPC_FETCHAND,
374 1.1 alnsn TILEGX_OPC_FETCHAND4,
375 1.1 alnsn TILEGX_OPC_FETCHOR,
376 1.1 alnsn TILEGX_OPC_FETCHOR4,
377 1.1 alnsn TILEGX_OPC_FINV,
378 1.1 alnsn TILEGX_OPC_FLUSH,
379 1.1 alnsn TILEGX_OPC_FLUSHWB,
380 1.1 alnsn TILEGX_OPC_FNOP,
381 1.1 alnsn TILEGX_OPC_FSINGLE_ADD1,
382 1.1 alnsn TILEGX_OPC_FSINGLE_ADDSUB2,
383 1.1 alnsn TILEGX_OPC_FSINGLE_MUL1,
384 1.1 alnsn TILEGX_OPC_FSINGLE_MUL2,
385 1.1 alnsn TILEGX_OPC_FSINGLE_PACK1,
386 1.1 alnsn TILEGX_OPC_FSINGLE_PACK2,
387 1.1 alnsn TILEGX_OPC_FSINGLE_SUB1,
388 1.1 alnsn TILEGX_OPC_ICOH,
389 1.1 alnsn TILEGX_OPC_ILL,
390 1.1 alnsn TILEGX_OPC_INV,
391 1.1 alnsn TILEGX_OPC_IRET,
392 1.1 alnsn TILEGX_OPC_J,
393 1.1 alnsn TILEGX_OPC_JAL,
394 1.1 alnsn TILEGX_OPC_JALR,
395 1.1 alnsn TILEGX_OPC_JALRP,
396 1.1 alnsn TILEGX_OPC_JR,
397 1.1 alnsn TILEGX_OPC_JRP,
398 1.1 alnsn TILEGX_OPC_LD,
399 1.1 alnsn TILEGX_OPC_LD1S,
400 1.1 alnsn TILEGX_OPC_LD1S_ADD,
401 1.1 alnsn TILEGX_OPC_LD1U,
402 1.1 alnsn TILEGX_OPC_LD1U_ADD,
403 1.1 alnsn TILEGX_OPC_LD2S,
404 1.1 alnsn TILEGX_OPC_LD2S_ADD,
405 1.1 alnsn TILEGX_OPC_LD2U,
406 1.1 alnsn TILEGX_OPC_LD2U_ADD,
407 1.1 alnsn TILEGX_OPC_LD4S,
408 1.1 alnsn TILEGX_OPC_LD4S_ADD,
409 1.1 alnsn TILEGX_OPC_LD4U,
410 1.1 alnsn TILEGX_OPC_LD4U_ADD,
411 1.1 alnsn TILEGX_OPC_LD_ADD,
412 1.1 alnsn TILEGX_OPC_LDNA,
413 1.1 alnsn TILEGX_OPC_LDNA_ADD,
414 1.1 alnsn TILEGX_OPC_LDNT,
415 1.1 alnsn TILEGX_OPC_LDNT1S,
416 1.1 alnsn TILEGX_OPC_LDNT1S_ADD,
417 1.1 alnsn TILEGX_OPC_LDNT1U,
418 1.1 alnsn TILEGX_OPC_LDNT1U_ADD,
419 1.1 alnsn TILEGX_OPC_LDNT2S,
420 1.1 alnsn TILEGX_OPC_LDNT2S_ADD,
421 1.1 alnsn TILEGX_OPC_LDNT2U,
422 1.1 alnsn TILEGX_OPC_LDNT2U_ADD,
423 1.1 alnsn TILEGX_OPC_LDNT4S,
424 1.1 alnsn TILEGX_OPC_LDNT4S_ADD,
425 1.1 alnsn TILEGX_OPC_LDNT4U,
426 1.1 alnsn TILEGX_OPC_LDNT4U_ADD,
427 1.1 alnsn TILEGX_OPC_LDNT_ADD,
428 1.1 alnsn TILEGX_OPC_LNK,
429 1.1 alnsn TILEGX_OPC_MF,
430 1.1 alnsn TILEGX_OPC_MFSPR,
431 1.1 alnsn TILEGX_OPC_MM,
432 1.1 alnsn TILEGX_OPC_MNZ,
433 1.1 alnsn TILEGX_OPC_MTSPR,
434 1.1 alnsn TILEGX_OPC_MUL_HS_HS,
435 1.1 alnsn TILEGX_OPC_MUL_HS_HU,
436 1.1 alnsn TILEGX_OPC_MUL_HS_LS,
437 1.1 alnsn TILEGX_OPC_MUL_HS_LU,
438 1.1 alnsn TILEGX_OPC_MUL_HU_HU,
439 1.1 alnsn TILEGX_OPC_MUL_HU_LS,
440 1.1 alnsn TILEGX_OPC_MUL_HU_LU,
441 1.1 alnsn TILEGX_OPC_MUL_LS_LS,
442 1.1 alnsn TILEGX_OPC_MUL_LS_LU,
443 1.1 alnsn TILEGX_OPC_MUL_LU_LU,
444 1.1 alnsn TILEGX_OPC_MULA_HS_HS,
445 1.1 alnsn TILEGX_OPC_MULA_HS_HU,
446 1.1 alnsn TILEGX_OPC_MULA_HS_LS,
447 1.1 alnsn TILEGX_OPC_MULA_HS_LU,
448 1.1 alnsn TILEGX_OPC_MULA_HU_HU,
449 1.1 alnsn TILEGX_OPC_MULA_HU_LS,
450 1.1 alnsn TILEGX_OPC_MULA_HU_LU,
451 1.1 alnsn TILEGX_OPC_MULA_LS_LS,
452 1.1 alnsn TILEGX_OPC_MULA_LS_LU,
453 1.1 alnsn TILEGX_OPC_MULA_LU_LU,
454 1.1 alnsn TILEGX_OPC_MULAX,
455 1.1 alnsn TILEGX_OPC_MULX,
456 1.1 alnsn TILEGX_OPC_MZ,
457 1.1 alnsn TILEGX_OPC_NAP,
458 1.1 alnsn TILEGX_OPC_NOP,
459 1.1 alnsn TILEGX_OPC_NOR,
460 1.1 alnsn TILEGX_OPC_OR,
461 1.1 alnsn TILEGX_OPC_ORI,
462 1.1 alnsn TILEGX_OPC_PCNT,
463 1.1 alnsn TILEGX_OPC_REVBITS,
464 1.1 alnsn TILEGX_OPC_REVBYTES,
465 1.1 alnsn TILEGX_OPC_ROTL,
466 1.1 alnsn TILEGX_OPC_ROTLI,
467 1.1 alnsn TILEGX_OPC_SHL,
468 1.1 alnsn TILEGX_OPC_SHL16INSLI,
469 1.1 alnsn TILEGX_OPC_SHL1ADD,
470 1.1 alnsn TILEGX_OPC_SHL1ADDX,
471 1.1 alnsn TILEGX_OPC_SHL2ADD,
472 1.1 alnsn TILEGX_OPC_SHL2ADDX,
473 1.1 alnsn TILEGX_OPC_SHL3ADD,
474 1.1 alnsn TILEGX_OPC_SHL3ADDX,
475 1.1 alnsn TILEGX_OPC_SHLI,
476 1.1 alnsn TILEGX_OPC_SHLX,
477 1.1 alnsn TILEGX_OPC_SHLXI,
478 1.1 alnsn TILEGX_OPC_SHRS,
479 1.1 alnsn TILEGX_OPC_SHRSI,
480 1.1 alnsn TILEGX_OPC_SHRU,
481 1.1 alnsn TILEGX_OPC_SHRUI,
482 1.1 alnsn TILEGX_OPC_SHRUX,
483 1.1 alnsn TILEGX_OPC_SHRUXI,
484 1.1 alnsn TILEGX_OPC_SHUFFLEBYTES,
485 1.1 alnsn TILEGX_OPC_ST,
486 1.1 alnsn TILEGX_OPC_ST1,
487 1.1 alnsn TILEGX_OPC_ST1_ADD,
488 1.1 alnsn TILEGX_OPC_ST2,
489 1.1 alnsn TILEGX_OPC_ST2_ADD,
490 1.1 alnsn TILEGX_OPC_ST4,
491 1.1 alnsn TILEGX_OPC_ST4_ADD,
492 1.1 alnsn TILEGX_OPC_ST_ADD,
493 1.1 alnsn TILEGX_OPC_STNT,
494 1.1 alnsn TILEGX_OPC_STNT1,
495 1.1 alnsn TILEGX_OPC_STNT1_ADD,
496 1.1 alnsn TILEGX_OPC_STNT2,
497 1.1 alnsn TILEGX_OPC_STNT2_ADD,
498 1.1 alnsn TILEGX_OPC_STNT4,
499 1.1 alnsn TILEGX_OPC_STNT4_ADD,
500 1.1 alnsn TILEGX_OPC_STNT_ADD,
501 1.1 alnsn TILEGX_OPC_SUB,
502 1.1 alnsn TILEGX_OPC_SUBX,
503 1.1 alnsn TILEGX_OPC_SUBXSC,
504 1.1 alnsn TILEGX_OPC_SWINT0,
505 1.1 alnsn TILEGX_OPC_SWINT1,
506 1.1 alnsn TILEGX_OPC_SWINT2,
507 1.1 alnsn TILEGX_OPC_SWINT3,
508 1.1 alnsn TILEGX_OPC_TBLIDXB0,
509 1.1 alnsn TILEGX_OPC_TBLIDXB1,
510 1.1 alnsn TILEGX_OPC_TBLIDXB2,
511 1.1 alnsn TILEGX_OPC_TBLIDXB3,
512 1.1 alnsn TILEGX_OPC_V1ADD,
513 1.1 alnsn TILEGX_OPC_V1ADDI,
514 1.1 alnsn TILEGX_OPC_V1ADDUC,
515 1.1 alnsn TILEGX_OPC_V1ADIFFU,
516 1.1 alnsn TILEGX_OPC_V1AVGU,
517 1.1 alnsn TILEGX_OPC_V1CMPEQ,
518 1.1 alnsn TILEGX_OPC_V1CMPEQI,
519 1.1 alnsn TILEGX_OPC_V1CMPLES,
520 1.1 alnsn TILEGX_OPC_V1CMPLEU,
521 1.1 alnsn TILEGX_OPC_V1CMPLTS,
522 1.1 alnsn TILEGX_OPC_V1CMPLTSI,
523 1.1 alnsn TILEGX_OPC_V1CMPLTU,
524 1.1 alnsn TILEGX_OPC_V1CMPLTUI,
525 1.1 alnsn TILEGX_OPC_V1CMPNE,
526 1.1 alnsn TILEGX_OPC_V1DDOTPU,
527 1.1 alnsn TILEGX_OPC_V1DDOTPUA,
528 1.1 alnsn TILEGX_OPC_V1DDOTPUS,
529 1.1 alnsn TILEGX_OPC_V1DDOTPUSA,
530 1.1 alnsn TILEGX_OPC_V1DOTP,
531 1.1 alnsn TILEGX_OPC_V1DOTPA,
532 1.1 alnsn TILEGX_OPC_V1DOTPU,
533 1.1 alnsn TILEGX_OPC_V1DOTPUA,
534 1.1 alnsn TILEGX_OPC_V1DOTPUS,
535 1.1 alnsn TILEGX_OPC_V1DOTPUSA,
536 1.1 alnsn TILEGX_OPC_V1INT_H,
537 1.1 alnsn TILEGX_OPC_V1INT_L,
538 1.1 alnsn TILEGX_OPC_V1MAXU,
539 1.1 alnsn TILEGX_OPC_V1MAXUI,
540 1.1 alnsn TILEGX_OPC_V1MINU,
541 1.1 alnsn TILEGX_OPC_V1MINUI,
542 1.1 alnsn TILEGX_OPC_V1MNZ,
543 1.1 alnsn TILEGX_OPC_V1MULTU,
544 1.1 alnsn TILEGX_OPC_V1MULU,
545 1.1 alnsn TILEGX_OPC_V1MULUS,
546 1.1 alnsn TILEGX_OPC_V1MZ,
547 1.1 alnsn TILEGX_OPC_V1SADAU,
548 1.1 alnsn TILEGX_OPC_V1SADU,
549 1.1 alnsn TILEGX_OPC_V1SHL,
550 1.1 alnsn TILEGX_OPC_V1SHLI,
551 1.1 alnsn TILEGX_OPC_V1SHRS,
552 1.1 alnsn TILEGX_OPC_V1SHRSI,
553 1.1 alnsn TILEGX_OPC_V1SHRU,
554 1.1 alnsn TILEGX_OPC_V1SHRUI,
555 1.1 alnsn TILEGX_OPC_V1SUB,
556 1.1 alnsn TILEGX_OPC_V1SUBUC,
557 1.1 alnsn TILEGX_OPC_V2ADD,
558 1.1 alnsn TILEGX_OPC_V2ADDI,
559 1.1 alnsn TILEGX_OPC_V2ADDSC,
560 1.1 alnsn TILEGX_OPC_V2ADIFFS,
561 1.1 alnsn TILEGX_OPC_V2AVGS,
562 1.1 alnsn TILEGX_OPC_V2CMPEQ,
563 1.1 alnsn TILEGX_OPC_V2CMPEQI,
564 1.1 alnsn TILEGX_OPC_V2CMPLES,
565 1.1 alnsn TILEGX_OPC_V2CMPLEU,
566 1.1 alnsn TILEGX_OPC_V2CMPLTS,
567 1.1 alnsn TILEGX_OPC_V2CMPLTSI,
568 1.1 alnsn TILEGX_OPC_V2CMPLTU,
569 1.1 alnsn TILEGX_OPC_V2CMPLTUI,
570 1.1 alnsn TILEGX_OPC_V2CMPNE,
571 1.1 alnsn TILEGX_OPC_V2DOTP,
572 1.1 alnsn TILEGX_OPC_V2DOTPA,
573 1.1 alnsn TILEGX_OPC_V2INT_H,
574 1.1 alnsn TILEGX_OPC_V2INT_L,
575 1.1 alnsn TILEGX_OPC_V2MAXS,
576 1.1 alnsn TILEGX_OPC_V2MAXSI,
577 1.1 alnsn TILEGX_OPC_V2MINS,
578 1.1 alnsn TILEGX_OPC_V2MINSI,
579 1.1 alnsn TILEGX_OPC_V2MNZ,
580 1.1 alnsn TILEGX_OPC_V2MULFSC,
581 1.1 alnsn TILEGX_OPC_V2MULS,
582 1.1 alnsn TILEGX_OPC_V2MULTS,
583 1.1 alnsn TILEGX_OPC_V2MZ,
584 1.1 alnsn TILEGX_OPC_V2PACKH,
585 1.1 alnsn TILEGX_OPC_V2PACKL,
586 1.1 alnsn TILEGX_OPC_V2PACKUC,
587 1.1 alnsn TILEGX_OPC_V2SADAS,
588 1.1 alnsn TILEGX_OPC_V2SADAU,
589 1.1 alnsn TILEGX_OPC_V2SADS,
590 1.1 alnsn TILEGX_OPC_V2SADU,
591 1.1 alnsn TILEGX_OPC_V2SHL,
592 1.1 alnsn TILEGX_OPC_V2SHLI,
593 1.1 alnsn TILEGX_OPC_V2SHLSC,
594 1.1 alnsn TILEGX_OPC_V2SHRS,
595 1.1 alnsn TILEGX_OPC_V2SHRSI,
596 1.1 alnsn TILEGX_OPC_V2SHRU,
597 1.1 alnsn TILEGX_OPC_V2SHRUI,
598 1.1 alnsn TILEGX_OPC_V2SUB,
599 1.1 alnsn TILEGX_OPC_V2SUBSC,
600 1.1 alnsn TILEGX_OPC_V4ADD,
601 1.1 alnsn TILEGX_OPC_V4ADDSC,
602 1.1 alnsn TILEGX_OPC_V4INT_H,
603 1.1 alnsn TILEGX_OPC_V4INT_L,
604 1.1 alnsn TILEGX_OPC_V4PACKSC,
605 1.1 alnsn TILEGX_OPC_V4SHL,
606 1.1 alnsn TILEGX_OPC_V4SHLSC,
607 1.1 alnsn TILEGX_OPC_V4SHRS,
608 1.1 alnsn TILEGX_OPC_V4SHRU,
609 1.1 alnsn TILEGX_OPC_V4SUB,
610 1.1 alnsn TILEGX_OPC_V4SUBSC,
611 1.1 alnsn TILEGX_OPC_WH64,
612 1.1 alnsn TILEGX_OPC_XOR,
613 1.1 alnsn TILEGX_OPC_XORI,
614 1.1 alnsn TILEGX_OPC_NONE
615 1.1 alnsn } tilegx_mnemonic;
616 1.1 alnsn
617 1.1 alnsn enum
618 1.1 alnsn {
619 1.1 alnsn TILEGX_MAX_OPERANDS = 4 /* bfexts */
620 1.1 alnsn };
621 1.1 alnsn
622 1.1 alnsn struct tilegx_opcode
623 1.1 alnsn {
624 1.1 alnsn /* The opcode mnemonic, e.g. "add" */
625 1.1 alnsn const char *name;
626 1.1 alnsn
627 1.1 alnsn /* The enum value for this mnemonic. */
628 1.1 alnsn tilegx_mnemonic mnemonic;
629 1.1 alnsn
630 1.1 alnsn /* A bit mask of which of the five pipes this instruction
631 1.1 alnsn is compatible with:
632 1.1 alnsn X0 0x01
633 1.1 alnsn X1 0x02
634 1.1 alnsn Y0 0x04
635 1.1 alnsn Y1 0x08
636 1.1 alnsn Y2 0x10 */
637 1.1 alnsn unsigned char pipes;
638 1.1 alnsn
639 1.1 alnsn /* How many operands are there? */
640 1.1 alnsn unsigned char num_operands;
641 1.1 alnsn
642 1.1 alnsn /* Which register does this write implicitly, or TREG_ZERO if none? */
643 1.1 alnsn unsigned char implicitly_written_register;
644 1.1 alnsn
645 1.1 alnsn /* Can this be bundled with other instructions (almost always true). */
646 1.1 alnsn unsigned char can_bundle;
647 1.1 alnsn
648 1.1 alnsn /* The description of the operands. Each of these is an
649 1.1 alnsn * index into the tilegx_operands[] table. */
650 1.1 alnsn unsigned char operands[TILEGX_NUM_PIPELINE_ENCODINGS][TILEGX_MAX_OPERANDS];
651 1.1 alnsn
652 1.1 alnsn /* A mask of which bits have predefined values for each pipeline.
653 1.1 alnsn * This is useful for disassembly. */
654 1.1 alnsn tilegx_bundle_bits fixed_bit_masks[TILEGX_NUM_PIPELINE_ENCODINGS];
655 1.1 alnsn
656 1.1 alnsn /* For each bit set in fixed_bit_masks, what the value is for this
657 1.1 alnsn * instruction. */
658 1.1 alnsn tilegx_bundle_bits fixed_bit_values[TILEGX_NUM_PIPELINE_ENCODINGS];
659 1.1 alnsn };
660 1.1 alnsn
661 1.1 alnsn /* Used for non-textual disassembly into structs. */
662 1.1 alnsn struct tilegx_decoded_instruction
663 1.1 alnsn {
664 1.1 alnsn const struct tilegx_opcode *opcode;
665 1.1 alnsn const struct tilegx_operand *operands[TILEGX_MAX_OPERANDS];
666 1.1 alnsn long long operand_values[TILEGX_MAX_OPERANDS];
667 1.1 alnsn };
668 1.1 alnsn
669 1.1 alnsn enum
670 1.1 alnsn {
671 1.1 alnsn ADDI_IMM8_OPCODE_X0 = 1,
672 1.1 alnsn ADDI_IMM8_OPCODE_X1 = 1,
673 1.1 alnsn ADDI_OPCODE_Y0 = 0,
674 1.1 alnsn ADDI_OPCODE_Y1 = 1,
675 1.1 alnsn ADDLI_OPCODE_X0 = 1,
676 1.1 alnsn ADDLI_OPCODE_X1 = 0,
677 1.1 alnsn ADDXI_IMM8_OPCODE_X0 = 2,
678 1.1 alnsn ADDXI_IMM8_OPCODE_X1 = 2,
679 1.1 alnsn ADDXI_OPCODE_Y0 = 1,
680 1.1 alnsn ADDXI_OPCODE_Y1 = 2,
681 1.1 alnsn ADDXLI_OPCODE_X0 = 2,
682 1.1 alnsn ADDXLI_OPCODE_X1 = 1,
683 1.1 alnsn ADDXSC_RRR_0_OPCODE_X0 = 1,
684 1.1 alnsn ADDXSC_RRR_0_OPCODE_X1 = 1,
685 1.1 alnsn ADDX_RRR_0_OPCODE_X0 = 2,
686 1.1 alnsn ADDX_RRR_0_OPCODE_X1 = 2,
687 1.1 alnsn ADDX_RRR_0_OPCODE_Y0 = 0,
688 1.1 alnsn ADDX_SPECIAL_0_OPCODE_Y1 = 0,
689 1.1 alnsn ADD_RRR_0_OPCODE_X0 = 3,
690 1.1 alnsn ADD_RRR_0_OPCODE_X1 = 3,
691 1.1 alnsn ADD_RRR_0_OPCODE_Y0 = 1,
692 1.1 alnsn ADD_SPECIAL_0_OPCODE_Y1 = 1,
693 1.1 alnsn ANDI_IMM8_OPCODE_X0 = 3,
694 1.1 alnsn ANDI_IMM8_OPCODE_X1 = 3,
695 1.1 alnsn ANDI_OPCODE_Y0 = 2,
696 1.1 alnsn ANDI_OPCODE_Y1 = 3,
697 1.1 alnsn AND_RRR_0_OPCODE_X0 = 4,
698 1.1 alnsn AND_RRR_0_OPCODE_X1 = 4,
699 1.1 alnsn AND_RRR_5_OPCODE_Y0 = 0,
700 1.1 alnsn AND_RRR_5_OPCODE_Y1 = 0,
701 1.1 alnsn BEQZT_BRANCH_OPCODE_X1 = 16,
702 1.1 alnsn BEQZ_BRANCH_OPCODE_X1 = 17,
703 1.1 alnsn BFEXTS_BF_OPCODE_X0 = 4,
704 1.1 alnsn BFEXTU_BF_OPCODE_X0 = 5,
705 1.1 alnsn BFINS_BF_OPCODE_X0 = 6,
706 1.1 alnsn BF_OPCODE_X0 = 3,
707 1.1 alnsn BGEZT_BRANCH_OPCODE_X1 = 18,
708 1.1 alnsn BGEZ_BRANCH_OPCODE_X1 = 19,
709 1.1 alnsn BGTZT_BRANCH_OPCODE_X1 = 20,
710 1.1 alnsn BGTZ_BRANCH_OPCODE_X1 = 21,
711 1.1 alnsn BLBCT_BRANCH_OPCODE_X1 = 22,
712 1.1 alnsn BLBC_BRANCH_OPCODE_X1 = 23,
713 1.1 alnsn BLBST_BRANCH_OPCODE_X1 = 24,
714 1.1 alnsn BLBS_BRANCH_OPCODE_X1 = 25,
715 1.1 alnsn BLEZT_BRANCH_OPCODE_X1 = 26,
716 1.1 alnsn BLEZ_BRANCH_OPCODE_X1 = 27,
717 1.1 alnsn BLTZT_BRANCH_OPCODE_X1 = 28,
718 1.1 alnsn BLTZ_BRANCH_OPCODE_X1 = 29,
719 1.1 alnsn BNEZT_BRANCH_OPCODE_X1 = 30,
720 1.1 alnsn BNEZ_BRANCH_OPCODE_X1 = 31,
721 1.1 alnsn BRANCH_OPCODE_X1 = 2,
722 1.1 alnsn CMOVEQZ_RRR_0_OPCODE_X0 = 5,
723 1.1 alnsn CMOVEQZ_RRR_4_OPCODE_Y0 = 0,
724 1.1 alnsn CMOVNEZ_RRR_0_OPCODE_X0 = 6,
725 1.1 alnsn CMOVNEZ_RRR_4_OPCODE_Y0 = 1,
726 1.1 alnsn CMPEQI_IMM8_OPCODE_X0 = 4,
727 1.1 alnsn CMPEQI_IMM8_OPCODE_X1 = 4,
728 1.1 alnsn CMPEQI_OPCODE_Y0 = 3,
729 1.1 alnsn CMPEQI_OPCODE_Y1 = 4,
730 1.1 alnsn CMPEQ_RRR_0_OPCODE_X0 = 7,
731 1.1 alnsn CMPEQ_RRR_0_OPCODE_X1 = 5,
732 1.1 alnsn CMPEQ_RRR_3_OPCODE_Y0 = 0,
733 1.1 alnsn CMPEQ_RRR_3_OPCODE_Y1 = 2,
734 1.1 alnsn CMPEXCH4_RRR_0_OPCODE_X1 = 6,
735 1.1 alnsn CMPEXCH_RRR_0_OPCODE_X1 = 7,
736 1.1 alnsn CMPLES_RRR_0_OPCODE_X0 = 8,
737 1.1 alnsn CMPLES_RRR_0_OPCODE_X1 = 8,
738 1.1 alnsn CMPLES_RRR_2_OPCODE_Y0 = 0,
739 1.1 alnsn CMPLES_RRR_2_OPCODE_Y1 = 0,
740 1.1 alnsn CMPLEU_RRR_0_OPCODE_X0 = 9,
741 1.1 alnsn CMPLEU_RRR_0_OPCODE_X1 = 9,
742 1.1 alnsn CMPLEU_RRR_2_OPCODE_Y0 = 1,
743 1.1 alnsn CMPLEU_RRR_2_OPCODE_Y1 = 1,
744 1.1 alnsn CMPLTSI_IMM8_OPCODE_X0 = 5,
745 1.1 alnsn CMPLTSI_IMM8_OPCODE_X1 = 5,
746 1.1 alnsn CMPLTSI_OPCODE_Y0 = 4,
747 1.1 alnsn CMPLTSI_OPCODE_Y1 = 5,
748 1.1 alnsn CMPLTS_RRR_0_OPCODE_X0 = 10,
749 1.1 alnsn CMPLTS_RRR_0_OPCODE_X1 = 10,
750 1.1 alnsn CMPLTS_RRR_2_OPCODE_Y0 = 2,
751 1.1 alnsn CMPLTS_RRR_2_OPCODE_Y1 = 2,
752 1.1 alnsn CMPLTUI_IMM8_OPCODE_X0 = 6,
753 1.1 alnsn CMPLTUI_IMM8_OPCODE_X1 = 6,
754 1.1 alnsn CMPLTU_RRR_0_OPCODE_X0 = 11,
755 1.1 alnsn CMPLTU_RRR_0_OPCODE_X1 = 11,
756 1.1 alnsn CMPLTU_RRR_2_OPCODE_Y0 = 3,
757 1.1 alnsn CMPLTU_RRR_2_OPCODE_Y1 = 3,
758 1.1 alnsn CMPNE_RRR_0_OPCODE_X0 = 12,
759 1.1 alnsn CMPNE_RRR_0_OPCODE_X1 = 12,
760 1.1 alnsn CMPNE_RRR_3_OPCODE_Y0 = 1,
761 1.1 alnsn CMPNE_RRR_3_OPCODE_Y1 = 3,
762 1.1 alnsn CMULAF_RRR_0_OPCODE_X0 = 13,
763 1.1 alnsn CMULA_RRR_0_OPCODE_X0 = 14,
764 1.1 alnsn CMULFR_RRR_0_OPCODE_X0 = 15,
765 1.1 alnsn CMULF_RRR_0_OPCODE_X0 = 16,
766 1.1 alnsn CMULHR_RRR_0_OPCODE_X0 = 17,
767 1.1 alnsn CMULH_RRR_0_OPCODE_X0 = 18,
768 1.1 alnsn CMUL_RRR_0_OPCODE_X0 = 19,
769 1.1 alnsn CNTLZ_UNARY_OPCODE_X0 = 1,
770 1.1 alnsn CNTLZ_UNARY_OPCODE_Y0 = 1,
771 1.1 alnsn CNTTZ_UNARY_OPCODE_X0 = 2,
772 1.1 alnsn CNTTZ_UNARY_OPCODE_Y0 = 2,
773 1.1 alnsn CRC32_32_RRR_0_OPCODE_X0 = 20,
774 1.1 alnsn CRC32_8_RRR_0_OPCODE_X0 = 21,
775 1.1 alnsn DBLALIGN2_RRR_0_OPCODE_X0 = 22,
776 1.1 alnsn DBLALIGN2_RRR_0_OPCODE_X1 = 13,
777 1.1 alnsn DBLALIGN4_RRR_0_OPCODE_X0 = 23,
778 1.1 alnsn DBLALIGN4_RRR_0_OPCODE_X1 = 14,
779 1.1 alnsn DBLALIGN6_RRR_0_OPCODE_X0 = 24,
780 1.1 alnsn DBLALIGN6_RRR_0_OPCODE_X1 = 15,
781 1.1 alnsn DBLALIGN_RRR_0_OPCODE_X0 = 25,
782 1.1 alnsn DRAIN_UNARY_OPCODE_X1 = 1,
783 1.1 alnsn DTLBPR_UNARY_OPCODE_X1 = 2,
784 1.1 alnsn EXCH4_RRR_0_OPCODE_X1 = 16,
785 1.1 alnsn EXCH_RRR_0_OPCODE_X1 = 17,
786 1.1 alnsn FDOUBLE_ADDSUB_RRR_0_OPCODE_X0 = 26,
787 1.1 alnsn FDOUBLE_ADD_FLAGS_RRR_0_OPCODE_X0 = 27,
788 1.1 alnsn FDOUBLE_MUL_FLAGS_RRR_0_OPCODE_X0 = 28,
789 1.1 alnsn FDOUBLE_PACK1_RRR_0_OPCODE_X0 = 29,
790 1.1 alnsn FDOUBLE_PACK2_RRR_0_OPCODE_X0 = 30,
791 1.1 alnsn FDOUBLE_SUB_FLAGS_RRR_0_OPCODE_X0 = 31,
792 1.1 alnsn FDOUBLE_UNPACK_MAX_RRR_0_OPCODE_X0 = 32,
793 1.1 alnsn FDOUBLE_UNPACK_MIN_RRR_0_OPCODE_X0 = 33,
794 1.1 alnsn FETCHADD4_RRR_0_OPCODE_X1 = 18,
795 1.1 alnsn FETCHADDGEZ4_RRR_0_OPCODE_X1 = 19,
796 1.1 alnsn FETCHADDGEZ_RRR_0_OPCODE_X1 = 20,
797 1.1 alnsn FETCHADD_RRR_0_OPCODE_X1 = 21,
798 1.1 alnsn FETCHAND4_RRR_0_OPCODE_X1 = 22,
799 1.1 alnsn FETCHAND_RRR_0_OPCODE_X1 = 23,
800 1.1 alnsn FETCHOR4_RRR_0_OPCODE_X1 = 24,
801 1.1 alnsn FETCHOR_RRR_0_OPCODE_X1 = 25,
802 1.1 alnsn FINV_UNARY_OPCODE_X1 = 3,
803 1.1 alnsn FLUSHWB_UNARY_OPCODE_X1 = 4,
804 1.1 alnsn FLUSH_UNARY_OPCODE_X1 = 5,
805 1.1 alnsn FNOP_UNARY_OPCODE_X0 = 3,
806 1.1 alnsn FNOP_UNARY_OPCODE_X1 = 6,
807 1.1 alnsn FNOP_UNARY_OPCODE_Y0 = 3,
808 1.1 alnsn FNOP_UNARY_OPCODE_Y1 = 8,
809 1.1 alnsn FSINGLE_ADD1_RRR_0_OPCODE_X0 = 34,
810 1.1 alnsn FSINGLE_ADDSUB2_RRR_0_OPCODE_X0 = 35,
811 1.1 alnsn FSINGLE_MUL1_RRR_0_OPCODE_X0 = 36,
812 1.1 alnsn FSINGLE_MUL2_RRR_0_OPCODE_X0 = 37,
813 1.1 alnsn FSINGLE_PACK1_UNARY_OPCODE_X0 = 4,
814 1.1 alnsn FSINGLE_PACK1_UNARY_OPCODE_Y0 = 4,
815 1.1 alnsn FSINGLE_PACK2_RRR_0_OPCODE_X0 = 38,
816 1.1 alnsn FSINGLE_SUB1_RRR_0_OPCODE_X0 = 39,
817 1.1 alnsn ICOH_UNARY_OPCODE_X1 = 7,
818 1.1 alnsn ILL_UNARY_OPCODE_X1 = 8,
819 1.1 alnsn ILL_UNARY_OPCODE_Y1 = 9,
820 1.1 alnsn IMM8_OPCODE_X0 = 4,
821 1.1 alnsn IMM8_OPCODE_X1 = 3,
822 1.1 alnsn INV_UNARY_OPCODE_X1 = 9,
823 1.1 alnsn IRET_UNARY_OPCODE_X1 = 10,
824 1.1 alnsn JALRP_UNARY_OPCODE_X1 = 11,
825 1.1 alnsn JALRP_UNARY_OPCODE_Y1 = 10,
826 1.1 alnsn JALR_UNARY_OPCODE_X1 = 12,
827 1.1 alnsn JALR_UNARY_OPCODE_Y1 = 11,
828 1.1 alnsn JAL_JUMP_OPCODE_X1 = 0,
829 1.1 alnsn JRP_UNARY_OPCODE_X1 = 13,
830 1.1 alnsn JRP_UNARY_OPCODE_Y1 = 12,
831 1.1 alnsn JR_UNARY_OPCODE_X1 = 14,
832 1.1 alnsn JR_UNARY_OPCODE_Y1 = 13,
833 1.1 alnsn JUMP_OPCODE_X1 = 4,
834 1.1 alnsn J_JUMP_OPCODE_X1 = 1,
835 1.1 alnsn LD1S_ADD_IMM8_OPCODE_X1 = 7,
836 1.1 alnsn LD1S_OPCODE_Y2 = 0,
837 1.1 alnsn LD1S_UNARY_OPCODE_X1 = 15,
838 1.1 alnsn LD1U_ADD_IMM8_OPCODE_X1 = 8,
839 1.1 alnsn LD1U_OPCODE_Y2 = 1,
840 1.1 alnsn LD1U_UNARY_OPCODE_X1 = 16,
841 1.1 alnsn LD2S_ADD_IMM8_OPCODE_X1 = 9,
842 1.1 alnsn LD2S_OPCODE_Y2 = 2,
843 1.1 alnsn LD2S_UNARY_OPCODE_X1 = 17,
844 1.1 alnsn LD2U_ADD_IMM8_OPCODE_X1 = 10,
845 1.1 alnsn LD2U_OPCODE_Y2 = 3,
846 1.1 alnsn LD2U_UNARY_OPCODE_X1 = 18,
847 1.1 alnsn LD4S_ADD_IMM8_OPCODE_X1 = 11,
848 1.1 alnsn LD4S_OPCODE_Y2 = 1,
849 1.1 alnsn LD4S_UNARY_OPCODE_X1 = 19,
850 1.1 alnsn LD4U_ADD_IMM8_OPCODE_X1 = 12,
851 1.1 alnsn LD4U_OPCODE_Y2 = 2,
852 1.1 alnsn LD4U_UNARY_OPCODE_X1 = 20,
853 1.1 alnsn LDNA_UNARY_OPCODE_X1 = 21,
854 1.1 alnsn LDNT1S_ADD_IMM8_OPCODE_X1 = 13,
855 1.1 alnsn LDNT1S_UNARY_OPCODE_X1 = 22,
856 1.1 alnsn LDNT1U_ADD_IMM8_OPCODE_X1 = 14,
857 1.1 alnsn LDNT1U_UNARY_OPCODE_X1 = 23,
858 1.1 alnsn LDNT2S_ADD_IMM8_OPCODE_X1 = 15,
859 1.1 alnsn LDNT2S_UNARY_OPCODE_X1 = 24,
860 1.1 alnsn LDNT2U_ADD_IMM8_OPCODE_X1 = 16,
861 1.1 alnsn LDNT2U_UNARY_OPCODE_X1 = 25,
862 1.1 alnsn LDNT4S_ADD_IMM8_OPCODE_X1 = 17,
863 1.1 alnsn LDNT4S_UNARY_OPCODE_X1 = 26,
864 1.1 alnsn LDNT4U_ADD_IMM8_OPCODE_X1 = 18,
865 1.1 alnsn LDNT4U_UNARY_OPCODE_X1 = 27,
866 1.1 alnsn LDNT_ADD_IMM8_OPCODE_X1 = 19,
867 1.1 alnsn LDNT_UNARY_OPCODE_X1 = 28,
868 1.1 alnsn LD_ADD_IMM8_OPCODE_X1 = 20,
869 1.1 alnsn LD_OPCODE_Y2 = 3,
870 1.1 alnsn LD_UNARY_OPCODE_X1 = 29,
871 1.1 alnsn LNK_UNARY_OPCODE_X1 = 30,
872 1.1 alnsn LNK_UNARY_OPCODE_Y1 = 14,
873 1.1 alnsn LWNA_ADD_IMM8_OPCODE_X1 = 21,
874 1.1 alnsn MFSPR_IMM8_OPCODE_X1 = 22,
875 1.1 alnsn MF_UNARY_OPCODE_X1 = 31,
876 1.1 alnsn MM_BF_OPCODE_X0 = 7,
877 1.1 alnsn MNZ_RRR_0_OPCODE_X0 = 40,
878 1.1 alnsn MNZ_RRR_0_OPCODE_X1 = 26,
879 1.1 alnsn MNZ_RRR_4_OPCODE_Y0 = 2,
880 1.1 alnsn MNZ_RRR_4_OPCODE_Y1 = 2,
881 1.1 alnsn MODE_OPCODE_YA2 = 1,
882 1.1 alnsn MODE_OPCODE_YB2 = 2,
883 1.1 alnsn MODE_OPCODE_YC2 = 3,
884 1.1 alnsn MTSPR_IMM8_OPCODE_X1 = 23,
885 1.1 alnsn MULAX_RRR_0_OPCODE_X0 = 41,
886 1.1 alnsn MULAX_RRR_3_OPCODE_Y0 = 2,
887 1.1 alnsn MULA_HS_HS_RRR_0_OPCODE_X0 = 42,
888 1.1 alnsn MULA_HS_HS_RRR_9_OPCODE_Y0 = 0,
889 1.1 alnsn MULA_HS_HU_RRR_0_OPCODE_X0 = 43,
890 1.1 alnsn MULA_HS_LS_RRR_0_OPCODE_X0 = 44,
891 1.1 alnsn MULA_HS_LU_RRR_0_OPCODE_X0 = 45,
892 1.1 alnsn MULA_HU_HU_RRR_0_OPCODE_X0 = 46,
893 1.1 alnsn MULA_HU_HU_RRR_9_OPCODE_Y0 = 1,
894 1.1 alnsn MULA_HU_LS_RRR_0_OPCODE_X0 = 47,
895 1.1 alnsn MULA_HU_LU_RRR_0_OPCODE_X0 = 48,
896 1.1 alnsn MULA_LS_LS_RRR_0_OPCODE_X0 = 49,
897 1.1 alnsn MULA_LS_LS_RRR_9_OPCODE_Y0 = 2,
898 1.1 alnsn MULA_LS_LU_RRR_0_OPCODE_X0 = 50,
899 1.1 alnsn MULA_LU_LU_RRR_0_OPCODE_X0 = 51,
900 1.1 alnsn MULA_LU_LU_RRR_9_OPCODE_Y0 = 3,
901 1.1 alnsn MULX_RRR_0_OPCODE_X0 = 52,
902 1.1 alnsn MULX_RRR_3_OPCODE_Y0 = 3,
903 1.1 alnsn MUL_HS_HS_RRR_0_OPCODE_X0 = 53,
904 1.1 alnsn MUL_HS_HS_RRR_8_OPCODE_Y0 = 0,
905 1.1 alnsn MUL_HS_HU_RRR_0_OPCODE_X0 = 54,
906 1.1 alnsn MUL_HS_LS_RRR_0_OPCODE_X0 = 55,
907 1.1 alnsn MUL_HS_LU_RRR_0_OPCODE_X0 = 56,
908 1.1 alnsn MUL_HU_HU_RRR_0_OPCODE_X0 = 57,
909 1.1 alnsn MUL_HU_HU_RRR_8_OPCODE_Y0 = 1,
910 1.1 alnsn MUL_HU_LS_RRR_0_OPCODE_X0 = 58,
911 1.1 alnsn MUL_HU_LU_RRR_0_OPCODE_X0 = 59,
912 1.1 alnsn MUL_LS_LS_RRR_0_OPCODE_X0 = 60,
913 1.1 alnsn MUL_LS_LS_RRR_8_OPCODE_Y0 = 2,
914 1.1 alnsn MUL_LS_LU_RRR_0_OPCODE_X0 = 61,
915 1.1 alnsn MUL_LU_LU_RRR_0_OPCODE_X0 = 62,
916 1.1 alnsn MUL_LU_LU_RRR_8_OPCODE_Y0 = 3,
917 1.1 alnsn MZ_RRR_0_OPCODE_X0 = 63,
918 1.1 alnsn MZ_RRR_0_OPCODE_X1 = 27,
919 1.1 alnsn MZ_RRR_4_OPCODE_Y0 = 3,
920 1.1 alnsn MZ_RRR_4_OPCODE_Y1 = 3,
921 1.1 alnsn NAP_UNARY_OPCODE_X1 = 32,
922 1.1 alnsn NOP_UNARY_OPCODE_X0 = 5,
923 1.1 alnsn NOP_UNARY_OPCODE_X1 = 33,
924 1.1 alnsn NOP_UNARY_OPCODE_Y0 = 5,
925 1.1 alnsn NOP_UNARY_OPCODE_Y1 = 15,
926 1.1 alnsn NOR_RRR_0_OPCODE_X0 = 64,
927 1.1 alnsn NOR_RRR_0_OPCODE_X1 = 28,
928 1.1 alnsn NOR_RRR_5_OPCODE_Y0 = 1,
929 1.1 alnsn NOR_RRR_5_OPCODE_Y1 = 1,
930 1.1 alnsn ORI_IMM8_OPCODE_X0 = 7,
931 1.1 alnsn ORI_IMM8_OPCODE_X1 = 24,
932 1.1 alnsn OR_RRR_0_OPCODE_X0 = 65,
933 1.1 alnsn OR_RRR_0_OPCODE_X1 = 29,
934 1.1 alnsn OR_RRR_5_OPCODE_Y0 = 2,
935 1.1 alnsn OR_RRR_5_OPCODE_Y1 = 2,
936 1.1 alnsn PCNT_UNARY_OPCODE_X0 = 6,
937 1.1 alnsn PCNT_UNARY_OPCODE_Y0 = 6,
938 1.1 alnsn REVBITS_UNARY_OPCODE_X0 = 7,
939 1.1 alnsn REVBITS_UNARY_OPCODE_Y0 = 7,
940 1.1 alnsn REVBYTES_UNARY_OPCODE_X0 = 8,
941 1.1 alnsn REVBYTES_UNARY_OPCODE_Y0 = 8,
942 1.1 alnsn ROTLI_SHIFT_OPCODE_X0 = 1,
943 1.1 alnsn ROTLI_SHIFT_OPCODE_X1 = 1,
944 1.1 alnsn ROTLI_SHIFT_OPCODE_Y0 = 0,
945 1.1 alnsn ROTLI_SHIFT_OPCODE_Y1 = 0,
946 1.1 alnsn ROTL_RRR_0_OPCODE_X0 = 66,
947 1.1 alnsn ROTL_RRR_0_OPCODE_X1 = 30,
948 1.1 alnsn ROTL_RRR_6_OPCODE_Y0 = 0,
949 1.1 alnsn ROTL_RRR_6_OPCODE_Y1 = 0,
950 1.1 alnsn RRR_0_OPCODE_X0 = 5,
951 1.1 alnsn RRR_0_OPCODE_X1 = 5,
952 1.1 alnsn RRR_0_OPCODE_Y0 = 5,
953 1.1 alnsn RRR_0_OPCODE_Y1 = 6,
954 1.1 alnsn RRR_1_OPCODE_Y0 = 6,
955 1.1 alnsn RRR_1_OPCODE_Y1 = 7,
956 1.1 alnsn RRR_2_OPCODE_Y0 = 7,
957 1.1 alnsn RRR_2_OPCODE_Y1 = 8,
958 1.1 alnsn RRR_3_OPCODE_Y0 = 8,
959 1.1 alnsn RRR_3_OPCODE_Y1 = 9,
960 1.1 alnsn RRR_4_OPCODE_Y0 = 9,
961 1.1 alnsn RRR_4_OPCODE_Y1 = 10,
962 1.1 alnsn RRR_5_OPCODE_Y0 = 10,
963 1.1 alnsn RRR_5_OPCODE_Y1 = 11,
964 1.1 alnsn RRR_6_OPCODE_Y0 = 11,
965 1.1 alnsn RRR_6_OPCODE_Y1 = 12,
966 1.1 alnsn RRR_7_OPCODE_Y0 = 12,
967 1.1 alnsn RRR_7_OPCODE_Y1 = 13,
968 1.1 alnsn RRR_8_OPCODE_Y0 = 13,
969 1.1 alnsn RRR_9_OPCODE_Y0 = 14,
970 1.1 alnsn SHIFT_OPCODE_X0 = 6,
971 1.1 alnsn SHIFT_OPCODE_X1 = 6,
972 1.1 alnsn SHIFT_OPCODE_Y0 = 15,
973 1.1 alnsn SHIFT_OPCODE_Y1 = 14,
974 1.1 alnsn SHL16INSLI_OPCODE_X0 = 7,
975 1.1 alnsn SHL16INSLI_OPCODE_X1 = 7,
976 1.1 alnsn SHL1ADDX_RRR_0_OPCODE_X0 = 67,
977 1.1 alnsn SHL1ADDX_RRR_0_OPCODE_X1 = 31,
978 1.1 alnsn SHL1ADDX_RRR_7_OPCODE_Y0 = 1,
979 1.1 alnsn SHL1ADDX_RRR_7_OPCODE_Y1 = 1,
980 1.1 alnsn SHL1ADD_RRR_0_OPCODE_X0 = 68,
981 1.1 alnsn SHL1ADD_RRR_0_OPCODE_X1 = 32,
982 1.1 alnsn SHL1ADD_RRR_1_OPCODE_Y0 = 0,
983 1.1 alnsn SHL1ADD_RRR_1_OPCODE_Y1 = 0,
984 1.1 alnsn SHL2ADDX_RRR_0_OPCODE_X0 = 69,
985 1.1 alnsn SHL2ADDX_RRR_0_OPCODE_X1 = 33,
986 1.1 alnsn SHL2ADDX_RRR_7_OPCODE_Y0 = 2,
987 1.1 alnsn SHL2ADDX_RRR_7_OPCODE_Y1 = 2,
988 1.1 alnsn SHL2ADD_RRR_0_OPCODE_X0 = 70,
989 1.1 alnsn SHL2ADD_RRR_0_OPCODE_X1 = 34,
990 1.1 alnsn SHL2ADD_RRR_1_OPCODE_Y0 = 1,
991 1.1 alnsn SHL2ADD_RRR_1_OPCODE_Y1 = 1,
992 1.1 alnsn SHL3ADDX_RRR_0_OPCODE_X0 = 71,
993 1.1 alnsn SHL3ADDX_RRR_0_OPCODE_X1 = 35,
994 1.1 alnsn SHL3ADDX_RRR_7_OPCODE_Y0 = 3,
995 1.1 alnsn SHL3ADDX_RRR_7_OPCODE_Y1 = 3,
996 1.1 alnsn SHL3ADD_RRR_0_OPCODE_X0 = 72,
997 1.1 alnsn SHL3ADD_RRR_0_OPCODE_X1 = 36,
998 1.1 alnsn SHL3ADD_RRR_1_OPCODE_Y0 = 2,
999 1.1 alnsn SHL3ADD_RRR_1_OPCODE_Y1 = 2,
1000 1.1 alnsn SHLI_SHIFT_OPCODE_X0 = 2,
1001 1.1 alnsn SHLI_SHIFT_OPCODE_X1 = 2,
1002 1.1 alnsn SHLI_SHIFT_OPCODE_Y0 = 1,
1003 1.1 alnsn SHLI_SHIFT_OPCODE_Y1 = 1,
1004 1.1 alnsn SHLXI_SHIFT_OPCODE_X0 = 3,
1005 1.1 alnsn SHLXI_SHIFT_OPCODE_X1 = 3,
1006 1.1 alnsn SHLX_RRR_0_OPCODE_X0 = 73,
1007 1.1 alnsn SHLX_RRR_0_OPCODE_X1 = 37,
1008 1.1 alnsn SHL_RRR_0_OPCODE_X0 = 74,
1009 1.1 alnsn SHL_RRR_0_OPCODE_X1 = 38,
1010 1.1 alnsn SHL_RRR_6_OPCODE_Y0 = 1,
1011 1.1 alnsn SHL_RRR_6_OPCODE_Y1 = 1,
1012 1.1 alnsn SHRSI_SHIFT_OPCODE_X0 = 4,
1013 1.1 alnsn SHRSI_SHIFT_OPCODE_X1 = 4,
1014 1.1 alnsn SHRSI_SHIFT_OPCODE_Y0 = 2,
1015 1.1 alnsn SHRSI_SHIFT_OPCODE_Y1 = 2,
1016 1.1 alnsn SHRS_RRR_0_OPCODE_X0 = 75,
1017 1.1 alnsn SHRS_RRR_0_OPCODE_X1 = 39,
1018 1.1 alnsn SHRS_RRR_6_OPCODE_Y0 = 2,
1019 1.1 alnsn SHRS_RRR_6_OPCODE_Y1 = 2,
1020 1.1 alnsn SHRUI_SHIFT_OPCODE_X0 = 5,
1021 1.1 alnsn SHRUI_SHIFT_OPCODE_X1 = 5,
1022 1.1 alnsn SHRUI_SHIFT_OPCODE_Y0 = 3,
1023 1.1 alnsn SHRUI_SHIFT_OPCODE_Y1 = 3,
1024 1.1 alnsn SHRUXI_SHIFT_OPCODE_X0 = 6,
1025 1.1 alnsn SHRUXI_SHIFT_OPCODE_X1 = 6,
1026 1.1 alnsn SHRUX_RRR_0_OPCODE_X0 = 76,
1027 1.1 alnsn SHRUX_RRR_0_OPCODE_X1 = 40,
1028 1.1 alnsn SHRU_RRR_0_OPCODE_X0 = 77,
1029 1.1 alnsn SHRU_RRR_0_OPCODE_X1 = 41,
1030 1.1 alnsn SHRU_RRR_6_OPCODE_Y0 = 3,
1031 1.1 alnsn SHRU_RRR_6_OPCODE_Y1 = 3,
1032 1.1 alnsn SHUFFLEBYTES_RRR_0_OPCODE_X0 = 78,
1033 1.1 alnsn ST1_ADD_IMM8_OPCODE_X1 = 25,
1034 1.1 alnsn ST1_OPCODE_Y2 = 0,
1035 1.1 alnsn ST1_RRR_0_OPCODE_X1 = 42,
1036 1.1 alnsn ST2_ADD_IMM8_OPCODE_X1 = 26,
1037 1.1 alnsn ST2_OPCODE_Y2 = 1,
1038 1.1 alnsn ST2_RRR_0_OPCODE_X1 = 43,
1039 1.1 alnsn ST4_ADD_IMM8_OPCODE_X1 = 27,
1040 1.1 alnsn ST4_OPCODE_Y2 = 2,
1041 1.1 alnsn ST4_RRR_0_OPCODE_X1 = 44,
1042 1.1 alnsn STNT1_ADD_IMM8_OPCODE_X1 = 28,
1043 1.1 alnsn STNT1_RRR_0_OPCODE_X1 = 45,
1044 1.1 alnsn STNT2_ADD_IMM8_OPCODE_X1 = 29,
1045 1.1 alnsn STNT2_RRR_0_OPCODE_X1 = 46,
1046 1.1 alnsn STNT4_ADD_IMM8_OPCODE_X1 = 30,
1047 1.1 alnsn STNT4_RRR_0_OPCODE_X1 = 47,
1048 1.1 alnsn STNT_ADD_IMM8_OPCODE_X1 = 31,
1049 1.1 alnsn STNT_RRR_0_OPCODE_X1 = 48,
1050 1.1 alnsn ST_ADD_IMM8_OPCODE_X1 = 32,
1051 1.1 alnsn ST_OPCODE_Y2 = 3,
1052 1.1 alnsn ST_RRR_0_OPCODE_X1 = 49,
1053 1.1 alnsn SUBXSC_RRR_0_OPCODE_X0 = 79,
1054 1.1 alnsn SUBXSC_RRR_0_OPCODE_X1 = 50,
1055 1.1 alnsn SUBX_RRR_0_OPCODE_X0 = 80,
1056 1.1 alnsn SUBX_RRR_0_OPCODE_X1 = 51,
1057 1.1 alnsn SUBX_RRR_0_OPCODE_Y0 = 2,
1058 1.1 alnsn SUBX_RRR_0_OPCODE_Y1 = 2,
1059 1.1 alnsn SUB_RRR_0_OPCODE_X0 = 81,
1060 1.1 alnsn SUB_RRR_0_OPCODE_X1 = 52,
1061 1.1 alnsn SUB_RRR_0_OPCODE_Y0 = 3,
1062 1.1 alnsn SUB_RRR_0_OPCODE_Y1 = 3,
1063 1.1 alnsn SWINT0_UNARY_OPCODE_X1 = 34,
1064 1.1 alnsn SWINT1_UNARY_OPCODE_X1 = 35,
1065 1.1 alnsn SWINT2_UNARY_OPCODE_X1 = 36,
1066 1.1 alnsn SWINT3_UNARY_OPCODE_X1 = 37,
1067 1.1 alnsn TBLIDXB0_UNARY_OPCODE_X0 = 9,
1068 1.1 alnsn TBLIDXB0_UNARY_OPCODE_Y0 = 9,
1069 1.1 alnsn TBLIDXB1_UNARY_OPCODE_X0 = 10,
1070 1.1 alnsn TBLIDXB1_UNARY_OPCODE_Y0 = 10,
1071 1.1 alnsn TBLIDXB2_UNARY_OPCODE_X0 = 11,
1072 1.1 alnsn TBLIDXB2_UNARY_OPCODE_Y0 = 11,
1073 1.1 alnsn TBLIDXB3_UNARY_OPCODE_X0 = 12,
1074 1.1 alnsn TBLIDXB3_UNARY_OPCODE_Y0 = 12,
1075 1.1 alnsn UNARY_RRR_0_OPCODE_X0 = 82,
1076 1.1 alnsn UNARY_RRR_0_OPCODE_X1 = 53,
1077 1.1 alnsn UNARY_RRR_1_OPCODE_Y0 = 3,
1078 1.1 alnsn UNARY_RRR_1_OPCODE_Y1 = 3,
1079 1.1 alnsn V1ADDI_IMM8_OPCODE_X0 = 8,
1080 1.1 alnsn V1ADDI_IMM8_OPCODE_X1 = 33,
1081 1.1 alnsn V1ADDUC_RRR_0_OPCODE_X0 = 83,
1082 1.1 alnsn V1ADDUC_RRR_0_OPCODE_X1 = 54,
1083 1.1 alnsn V1ADD_RRR_0_OPCODE_X0 = 84,
1084 1.1 alnsn V1ADD_RRR_0_OPCODE_X1 = 55,
1085 1.1 alnsn V1ADIFFU_RRR_0_OPCODE_X0 = 85,
1086 1.1 alnsn V1AVGU_RRR_0_OPCODE_X0 = 86,
1087 1.1 alnsn V1CMPEQI_IMM8_OPCODE_X0 = 9,
1088 1.1 alnsn V1CMPEQI_IMM8_OPCODE_X1 = 34,
1089 1.1 alnsn V1CMPEQ_RRR_0_OPCODE_X0 = 87,
1090 1.1 alnsn V1CMPEQ_RRR_0_OPCODE_X1 = 56,
1091 1.1 alnsn V1CMPLES_RRR_0_OPCODE_X0 = 88,
1092 1.1 alnsn V1CMPLES_RRR_0_OPCODE_X1 = 57,
1093 1.1 alnsn V1CMPLEU_RRR_0_OPCODE_X0 = 89,
1094 1.1 alnsn V1CMPLEU_RRR_0_OPCODE_X1 = 58,
1095 1.1 alnsn V1CMPLTSI_IMM8_OPCODE_X0 = 10,
1096 1.1 alnsn V1CMPLTSI_IMM8_OPCODE_X1 = 35,
1097 1.1 alnsn V1CMPLTS_RRR_0_OPCODE_X0 = 90,
1098 1.1 alnsn V1CMPLTS_RRR_0_OPCODE_X1 = 59,
1099 1.1 alnsn V1CMPLTUI_IMM8_OPCODE_X0 = 11,
1100 1.1 alnsn V1CMPLTUI_IMM8_OPCODE_X1 = 36,
1101 1.1 alnsn V1CMPLTU_RRR_0_OPCODE_X0 = 91,
1102 1.1 alnsn V1CMPLTU_RRR_0_OPCODE_X1 = 60,
1103 1.1 alnsn V1CMPNE_RRR_0_OPCODE_X0 = 92,
1104 1.1 alnsn V1CMPNE_RRR_0_OPCODE_X1 = 61,
1105 1.1 alnsn V1DDOTPUA_RRR_0_OPCODE_X0 = 161,
1106 1.1 alnsn V1DDOTPUSA_RRR_0_OPCODE_X0 = 93,
1107 1.1 alnsn V1DDOTPUS_RRR_0_OPCODE_X0 = 94,
1108 1.1 alnsn V1DDOTPU_RRR_0_OPCODE_X0 = 162,
1109 1.1 alnsn V1DOTPA_RRR_0_OPCODE_X0 = 95,
1110 1.1 alnsn V1DOTPUA_RRR_0_OPCODE_X0 = 163,
1111 1.1 alnsn V1DOTPUSA_RRR_0_OPCODE_X0 = 96,
1112 1.1 alnsn V1DOTPUS_RRR_0_OPCODE_X0 = 97,
1113 1.1 alnsn V1DOTPU_RRR_0_OPCODE_X0 = 164,
1114 1.1 alnsn V1DOTP_RRR_0_OPCODE_X0 = 98,
1115 1.1 alnsn V1INT_H_RRR_0_OPCODE_X0 = 99,
1116 1.1 alnsn V1INT_H_RRR_0_OPCODE_X1 = 62,
1117 1.1 alnsn V1INT_L_RRR_0_OPCODE_X0 = 100,
1118 1.1 alnsn V1INT_L_RRR_0_OPCODE_X1 = 63,
1119 1.1 alnsn V1MAXUI_IMM8_OPCODE_X0 = 12,
1120 1.1 alnsn V1MAXUI_IMM8_OPCODE_X1 = 37,
1121 1.1 alnsn V1MAXU_RRR_0_OPCODE_X0 = 101,
1122 1.1 alnsn V1MAXU_RRR_0_OPCODE_X1 = 64,
1123 1.1 alnsn V1MINUI_IMM8_OPCODE_X0 = 13,
1124 1.1 alnsn V1MINUI_IMM8_OPCODE_X1 = 38,
1125 1.1 alnsn V1MINU_RRR_0_OPCODE_X0 = 102,
1126 1.1 alnsn V1MINU_RRR_0_OPCODE_X1 = 65,
1127 1.1 alnsn V1MNZ_RRR_0_OPCODE_X0 = 103,
1128 1.1 alnsn V1MNZ_RRR_0_OPCODE_X1 = 66,
1129 1.1 alnsn V1MULTU_RRR_0_OPCODE_X0 = 104,
1130 1.1 alnsn V1MULUS_RRR_0_OPCODE_X0 = 105,
1131 1.1 alnsn V1MULU_RRR_0_OPCODE_X0 = 106,
1132 1.1 alnsn V1MZ_RRR_0_OPCODE_X0 = 107,
1133 1.1 alnsn V1MZ_RRR_0_OPCODE_X1 = 67,
1134 1.1 alnsn V1SADAU_RRR_0_OPCODE_X0 = 108,
1135 1.1 alnsn V1SADU_RRR_0_OPCODE_X0 = 109,
1136 1.1 alnsn V1SHLI_SHIFT_OPCODE_X0 = 7,
1137 1.1 alnsn V1SHLI_SHIFT_OPCODE_X1 = 7,
1138 1.1 alnsn V1SHL_RRR_0_OPCODE_X0 = 110,
1139 1.1 alnsn V1SHL_RRR_0_OPCODE_X1 = 68,
1140 1.1 alnsn V1SHRSI_SHIFT_OPCODE_X0 = 8,
1141 1.1 alnsn V1SHRSI_SHIFT_OPCODE_X1 = 8,
1142 1.1 alnsn V1SHRS_RRR_0_OPCODE_X0 = 111,
1143 1.1 alnsn V1SHRS_RRR_0_OPCODE_X1 = 69,
1144 1.1 alnsn V1SHRUI_SHIFT_OPCODE_X0 = 9,
1145 1.1 alnsn V1SHRUI_SHIFT_OPCODE_X1 = 9,
1146 1.1 alnsn V1SHRU_RRR_0_OPCODE_X0 = 112,
1147 1.1 alnsn V1SHRU_RRR_0_OPCODE_X1 = 70,
1148 1.1 alnsn V1SUBUC_RRR_0_OPCODE_X0 = 113,
1149 1.1 alnsn V1SUBUC_RRR_0_OPCODE_X1 = 71,
1150 1.1 alnsn V1SUB_RRR_0_OPCODE_X0 = 114,
1151 1.1 alnsn V1SUB_RRR_0_OPCODE_X1 = 72,
1152 1.1 alnsn V2ADDI_IMM8_OPCODE_X0 = 14,
1153 1.1 alnsn V2ADDI_IMM8_OPCODE_X1 = 39,
1154 1.1 alnsn V2ADDSC_RRR_0_OPCODE_X0 = 115,
1155 1.1 alnsn V2ADDSC_RRR_0_OPCODE_X1 = 73,
1156 1.1 alnsn V2ADD_RRR_0_OPCODE_X0 = 116,
1157 1.1 alnsn V2ADD_RRR_0_OPCODE_X1 = 74,
1158 1.1 alnsn V2ADIFFS_RRR_0_OPCODE_X0 = 117,
1159 1.1 alnsn V2AVGS_RRR_0_OPCODE_X0 = 118,
1160 1.1 alnsn V2CMPEQI_IMM8_OPCODE_X0 = 15,
1161 1.1 alnsn V2CMPEQI_IMM8_OPCODE_X1 = 40,
1162 1.1 alnsn V2CMPEQ_RRR_0_OPCODE_X0 = 119,
1163 1.1 alnsn V2CMPEQ_RRR_0_OPCODE_X1 = 75,
1164 1.1 alnsn V2CMPLES_RRR_0_OPCODE_X0 = 120,
1165 1.1 alnsn V2CMPLES_RRR_0_OPCODE_X1 = 76,
1166 1.1 alnsn V2CMPLEU_RRR_0_OPCODE_X0 = 121,
1167 1.1 alnsn V2CMPLEU_RRR_0_OPCODE_X1 = 77,
1168 1.1 alnsn V2CMPLTSI_IMM8_OPCODE_X0 = 16,
1169 1.1 alnsn V2CMPLTSI_IMM8_OPCODE_X1 = 41,
1170 1.1 alnsn V2CMPLTS_RRR_0_OPCODE_X0 = 122,
1171 1.1 alnsn V2CMPLTS_RRR_0_OPCODE_X1 = 78,
1172 1.1 alnsn V2CMPLTUI_IMM8_OPCODE_X0 = 17,
1173 1.1 alnsn V2CMPLTUI_IMM8_OPCODE_X1 = 42,
1174 1.1 alnsn V2CMPLTU_RRR_0_OPCODE_X0 = 123,
1175 1.1 alnsn V2CMPLTU_RRR_0_OPCODE_X1 = 79,
1176 1.1 alnsn V2CMPNE_RRR_0_OPCODE_X0 = 124,
1177 1.1 alnsn V2CMPNE_RRR_0_OPCODE_X1 = 80,
1178 1.1 alnsn V2DOTPA_RRR_0_OPCODE_X0 = 125,
1179 1.1 alnsn V2DOTP_RRR_0_OPCODE_X0 = 126,
1180 1.1 alnsn V2INT_H_RRR_0_OPCODE_X0 = 127,
1181 1.1 alnsn V2INT_H_RRR_0_OPCODE_X1 = 81,
1182 1.1 alnsn V2INT_L_RRR_0_OPCODE_X0 = 128,
1183 1.1 alnsn V2INT_L_RRR_0_OPCODE_X1 = 82,
1184 1.1 alnsn V2MAXSI_IMM8_OPCODE_X0 = 18,
1185 1.1 alnsn V2MAXSI_IMM8_OPCODE_X1 = 43,
1186 1.1 alnsn V2MAXS_RRR_0_OPCODE_X0 = 129,
1187 1.1 alnsn V2MAXS_RRR_0_OPCODE_X1 = 83,
1188 1.1 alnsn V2MINSI_IMM8_OPCODE_X0 = 19,
1189 1.1 alnsn V2MINSI_IMM8_OPCODE_X1 = 44,
1190 1.1 alnsn V2MINS_RRR_0_OPCODE_X0 = 130,
1191 1.1 alnsn V2MINS_RRR_0_OPCODE_X1 = 84,
1192 1.1 alnsn V2MNZ_RRR_0_OPCODE_X0 = 131,
1193 1.1 alnsn V2MNZ_RRR_0_OPCODE_X1 = 85,
1194 1.1 alnsn V2MULFSC_RRR_0_OPCODE_X0 = 132,
1195 1.1 alnsn V2MULS_RRR_0_OPCODE_X0 = 133,
1196 1.1 alnsn V2MULTS_RRR_0_OPCODE_X0 = 134,
1197 1.1 alnsn V2MZ_RRR_0_OPCODE_X0 = 135,
1198 1.1 alnsn V2MZ_RRR_0_OPCODE_X1 = 86,
1199 1.1 alnsn V2PACKH_RRR_0_OPCODE_X0 = 136,
1200 1.1 alnsn V2PACKH_RRR_0_OPCODE_X1 = 87,
1201 1.1 alnsn V2PACKL_RRR_0_OPCODE_X0 = 137,
1202 1.1 alnsn V2PACKL_RRR_0_OPCODE_X1 = 88,
1203 1.1 alnsn V2PACKUC_RRR_0_OPCODE_X0 = 138,
1204 1.1 alnsn V2PACKUC_RRR_0_OPCODE_X1 = 89,
1205 1.1 alnsn V2SADAS_RRR_0_OPCODE_X0 = 139,
1206 1.1 alnsn V2SADAU_RRR_0_OPCODE_X0 = 140,
1207 1.1 alnsn V2SADS_RRR_0_OPCODE_X0 = 141,
1208 1.1 alnsn V2SADU_RRR_0_OPCODE_X0 = 142,
1209 1.1 alnsn V2SHLI_SHIFT_OPCODE_X0 = 10,
1210 1.1 alnsn V2SHLI_SHIFT_OPCODE_X1 = 10,
1211 1.1 alnsn V2SHLSC_RRR_0_OPCODE_X0 = 143,
1212 1.1 alnsn V2SHLSC_RRR_0_OPCODE_X1 = 90,
1213 1.1 alnsn V2SHL_RRR_0_OPCODE_X0 = 144,
1214 1.1 alnsn V2SHL_RRR_0_OPCODE_X1 = 91,
1215 1.1 alnsn V2SHRSI_SHIFT_OPCODE_X0 = 11,
1216 1.1 alnsn V2SHRSI_SHIFT_OPCODE_X1 = 11,
1217 1.1 alnsn V2SHRS_RRR_0_OPCODE_X0 = 145,
1218 1.1 alnsn V2SHRS_RRR_0_OPCODE_X1 = 92,
1219 1.1 alnsn V2SHRUI_SHIFT_OPCODE_X0 = 12,
1220 1.1 alnsn V2SHRUI_SHIFT_OPCODE_X1 = 12,
1221 1.1 alnsn V2SHRU_RRR_0_OPCODE_X0 = 146,
1222 1.1 alnsn V2SHRU_RRR_0_OPCODE_X1 = 93,
1223 1.1 alnsn V2SUBSC_RRR_0_OPCODE_X0 = 147,
1224 1.1 alnsn V2SUBSC_RRR_0_OPCODE_X1 = 94,
1225 1.1 alnsn V2SUB_RRR_0_OPCODE_X0 = 148,
1226 1.1 alnsn V2SUB_RRR_0_OPCODE_X1 = 95,
1227 1.1 alnsn V4ADDSC_RRR_0_OPCODE_X0 = 149,
1228 1.1 alnsn V4ADDSC_RRR_0_OPCODE_X1 = 96,
1229 1.1 alnsn V4ADD_RRR_0_OPCODE_X0 = 150,
1230 1.1 alnsn V4ADD_RRR_0_OPCODE_X1 = 97,
1231 1.1 alnsn V4INT_H_RRR_0_OPCODE_X0 = 151,
1232 1.1 alnsn V4INT_H_RRR_0_OPCODE_X1 = 98,
1233 1.1 alnsn V4INT_L_RRR_0_OPCODE_X0 = 152,
1234 1.1 alnsn V4INT_L_RRR_0_OPCODE_X1 = 99,
1235 1.1 alnsn V4PACKSC_RRR_0_OPCODE_X0 = 153,
1236 1.1 alnsn V4PACKSC_RRR_0_OPCODE_X1 = 100,
1237 1.1 alnsn V4SHLSC_RRR_0_OPCODE_X0 = 154,
1238 1.1 alnsn V4SHLSC_RRR_0_OPCODE_X1 = 101,
1239 1.1 alnsn V4SHL_RRR_0_OPCODE_X0 = 155,
1240 1.1 alnsn V4SHL_RRR_0_OPCODE_X1 = 102,
1241 1.1 alnsn V4SHRS_RRR_0_OPCODE_X0 = 156,
1242 1.1 alnsn V4SHRS_RRR_0_OPCODE_X1 = 103,
1243 1.1 alnsn V4SHRU_RRR_0_OPCODE_X0 = 157,
1244 1.1 alnsn V4SHRU_RRR_0_OPCODE_X1 = 104,
1245 1.1 alnsn V4SUBSC_RRR_0_OPCODE_X0 = 158,
1246 1.1 alnsn V4SUBSC_RRR_0_OPCODE_X1 = 105,
1247 1.1 alnsn V4SUB_RRR_0_OPCODE_X0 = 159,
1248 1.1 alnsn V4SUB_RRR_0_OPCODE_X1 = 106,
1249 1.1 alnsn WH64_UNARY_OPCODE_X1 = 38,
1250 1.1 alnsn XORI_IMM8_OPCODE_X0 = 20,
1251 1.1 alnsn XORI_IMM8_OPCODE_X1 = 45,
1252 1.1 alnsn XOR_RRR_0_OPCODE_X0 = 160,
1253 1.1 alnsn XOR_RRR_0_OPCODE_X1 = 107,
1254 1.1 alnsn XOR_RRR_5_OPCODE_Y0 = 3,
1255 1.1 alnsn XOR_RRR_5_OPCODE_Y1 = 3
1256 1.1 alnsn };
1257 1.1 alnsn
1258 1.1 alnsn static __inline unsigned int
1259 1.1 alnsn get_BFEnd_X0(tilegx_bundle_bits num)
1260 1.1 alnsn {
1261 1.1 alnsn const unsigned int n = (unsigned int)num;
1262 1.1 alnsn return (((n >> 12)) & 0x3f);
1263 1.1 alnsn }
1264 1.1 alnsn
1265 1.1 alnsn static __inline unsigned int
1266 1.1 alnsn get_BFOpcodeExtension_X0(tilegx_bundle_bits num)
1267 1.1 alnsn {
1268 1.1 alnsn const unsigned int n = (unsigned int)num;
1269 1.1 alnsn return (((n >> 24)) & 0xf);
1270 1.1 alnsn }
1271 1.1 alnsn
1272 1.1 alnsn static __inline unsigned int
1273 1.1 alnsn get_BFStart_X0(tilegx_bundle_bits num)
1274 1.1 alnsn {
1275 1.1 alnsn const unsigned int n = (unsigned int)num;
1276 1.1 alnsn return (((n >> 18)) & 0x3f);
1277 1.1 alnsn }
1278 1.1 alnsn
1279 1.1 alnsn static __inline unsigned int
1280 1.1 alnsn get_BrOff_X1(tilegx_bundle_bits n)
1281 1.1 alnsn {
1282 1.1 alnsn return (((unsigned int)(n >> 31)) & 0x0000003f) |
1283 1.1 alnsn (((unsigned int)(n >> 37)) & 0x0001ffc0);
1284 1.1 alnsn }
1285 1.1 alnsn
1286 1.1 alnsn static __inline unsigned int
1287 1.1 alnsn get_BrType_X1(tilegx_bundle_bits n)
1288 1.1 alnsn {
1289 1.1 alnsn return (((unsigned int)(n >> 54)) & 0x1f);
1290 1.1 alnsn }
1291 1.1 alnsn
1292 1.1 alnsn static __inline unsigned int
1293 1.1 alnsn get_Dest_Imm8_X1(tilegx_bundle_bits n)
1294 1.1 alnsn {
1295 1.1 alnsn return (((unsigned int)(n >> 31)) & 0x0000003f) |
1296 1.1 alnsn (((unsigned int)(n >> 43)) & 0x000000c0);
1297 1.1 alnsn }
1298 1.1 alnsn
1299 1.1 alnsn static __inline unsigned int
1300 1.1 alnsn get_Dest_X0(tilegx_bundle_bits num)
1301 1.1 alnsn {
1302 1.1 alnsn const unsigned int n = (unsigned int)num;
1303 1.1 alnsn return (((n >> 0)) & 0x3f);
1304 1.1 alnsn }
1305 1.1 alnsn
1306 1.1 alnsn static __inline unsigned int
1307 1.1 alnsn get_Dest_X1(tilegx_bundle_bits n)
1308 1.1 alnsn {
1309 1.1 alnsn return (((unsigned int)(n >> 31)) & 0x3f);
1310 1.1 alnsn }
1311 1.1 alnsn
1312 1.1 alnsn static __inline unsigned int
1313 1.1 alnsn get_Dest_Y0(tilegx_bundle_bits num)
1314 1.1 alnsn {
1315 1.1 alnsn const unsigned int n = (unsigned int)num;
1316 1.1 alnsn return (((n >> 0)) & 0x3f);
1317 1.1 alnsn }
1318 1.1 alnsn
1319 1.1 alnsn static __inline unsigned int
1320 1.1 alnsn get_Dest_Y1(tilegx_bundle_bits n)
1321 1.1 alnsn {
1322 1.1 alnsn return (((unsigned int)(n >> 31)) & 0x3f);
1323 1.1 alnsn }
1324 1.1 alnsn
1325 1.1 alnsn static __inline unsigned int
1326 1.1 alnsn get_Imm16_X0(tilegx_bundle_bits num)
1327 1.1 alnsn {
1328 1.1 alnsn const unsigned int n = (unsigned int)num;
1329 1.1 alnsn return (((n >> 12)) & 0xffff);
1330 1.1 alnsn }
1331 1.1 alnsn
1332 1.1 alnsn static __inline unsigned int
1333 1.1 alnsn get_Imm16_X1(tilegx_bundle_bits n)
1334 1.1 alnsn {
1335 1.1 alnsn return (((unsigned int)(n >> 43)) & 0xffff);
1336 1.1 alnsn }
1337 1.1 alnsn
1338 1.1 alnsn static __inline unsigned int
1339 1.1 alnsn get_Imm8OpcodeExtension_X0(tilegx_bundle_bits num)
1340 1.1 alnsn {
1341 1.1 alnsn const unsigned int n = (unsigned int)num;
1342 1.1 alnsn return (((n >> 20)) & 0xff);
1343 1.1 alnsn }
1344 1.1 alnsn
1345 1.1 alnsn static __inline unsigned int
1346 1.1 alnsn get_Imm8OpcodeExtension_X1(tilegx_bundle_bits n)
1347 1.1 alnsn {
1348 1.1 alnsn return (((unsigned int)(n >> 51)) & 0xff);
1349 1.1 alnsn }
1350 1.1 alnsn
1351 1.1 alnsn static __inline unsigned int
1352 1.1 alnsn get_Imm8_X0(tilegx_bundle_bits num)
1353 1.1 alnsn {
1354 1.1 alnsn const unsigned int n = (unsigned int)num;
1355 1.1 alnsn return (((n >> 12)) & 0xff);
1356 1.1 alnsn }
1357 1.1 alnsn
1358 1.1 alnsn static __inline unsigned int
1359 1.1 alnsn get_Imm8_X1(tilegx_bundle_bits n)
1360 1.1 alnsn {
1361 1.1 alnsn return (((unsigned int)(n >> 43)) & 0xff);
1362 1.1 alnsn }
1363 1.1 alnsn
1364 1.1 alnsn static __inline unsigned int
1365 1.1 alnsn get_Imm8_Y0(tilegx_bundle_bits num)
1366 1.1 alnsn {
1367 1.1 alnsn const unsigned int n = (unsigned int)num;
1368 1.1 alnsn return (((n >> 12)) & 0xff);
1369 1.1 alnsn }
1370 1.1 alnsn
1371 1.1 alnsn static __inline unsigned int
1372 1.1 alnsn get_Imm8_Y1(tilegx_bundle_bits n)
1373 1.1 alnsn {
1374 1.1 alnsn return (((unsigned int)(n >> 43)) & 0xff);
1375 1.1 alnsn }
1376 1.1 alnsn
1377 1.1 alnsn static __inline unsigned int
1378 1.1 alnsn get_JumpOff_X1(tilegx_bundle_bits n)
1379 1.1 alnsn {
1380 1.1 alnsn return (((unsigned int)(n >> 31)) & 0x7ffffff);
1381 1.1 alnsn }
1382 1.1 alnsn
1383 1.1 alnsn static __inline unsigned int
1384 1.1 alnsn get_JumpOpcodeExtension_X1(tilegx_bundle_bits n)
1385 1.1 alnsn {
1386 1.1 alnsn return (((unsigned int)(n >> 58)) & 0x1);
1387 1.1 alnsn }
1388 1.1 alnsn
1389 1.1 alnsn static __inline unsigned int
1390 1.1 alnsn get_MF_Imm14_X1(tilegx_bundle_bits n)
1391 1.1 alnsn {
1392 1.1 alnsn return (((unsigned int)(n >> 37)) & 0x3fff);
1393 1.1 alnsn }
1394 1.1 alnsn
1395 1.1 alnsn static __inline unsigned int
1396 1.1 alnsn get_MT_Imm14_X1(tilegx_bundle_bits n)
1397 1.1 alnsn {
1398 1.1 alnsn return (((unsigned int)(n >> 31)) & 0x0000003f) |
1399 1.1 alnsn (((unsigned int)(n >> 37)) & 0x00003fc0);
1400 1.1 alnsn }
1401 1.1 alnsn
1402 1.1 alnsn static __inline unsigned int
1403 1.1 alnsn get_Mode(tilegx_bundle_bits n)
1404 1.1 alnsn {
1405 1.1 alnsn return (((unsigned int)(n >> 62)) & 0x3);
1406 1.1 alnsn }
1407 1.1 alnsn
1408 1.1 alnsn static __inline unsigned int
1409 1.1 alnsn get_Opcode_X0(tilegx_bundle_bits num)
1410 1.1 alnsn {
1411 1.1 alnsn const unsigned int n = (unsigned int)num;
1412 1.1 alnsn return (((n >> 28)) & 0x7);
1413 1.1 alnsn }
1414 1.1 alnsn
1415 1.1 alnsn static __inline unsigned int
1416 1.1 alnsn get_Opcode_X1(tilegx_bundle_bits n)
1417 1.1 alnsn {
1418 1.1 alnsn return (((unsigned int)(n >> 59)) & 0x7);
1419 1.1 alnsn }
1420 1.1 alnsn
1421 1.1 alnsn static __inline unsigned int
1422 1.1 alnsn get_Opcode_Y0(tilegx_bundle_bits num)
1423 1.1 alnsn {
1424 1.1 alnsn const unsigned int n = (unsigned int)num;
1425 1.1 alnsn return (((n >> 27)) & 0xf);
1426 1.1 alnsn }
1427 1.1 alnsn
1428 1.1 alnsn static __inline unsigned int
1429 1.1 alnsn get_Opcode_Y1(tilegx_bundle_bits n)
1430 1.1 alnsn {
1431 1.1 alnsn return (((unsigned int)(n >> 58)) & 0xf);
1432 1.1 alnsn }
1433 1.1 alnsn
1434 1.1 alnsn static __inline unsigned int
1435 1.1 alnsn get_Opcode_Y2(tilegx_bundle_bits n)
1436 1.1 alnsn {
1437 1.1 alnsn return (((n >> 26)) & 0x00000001) |
1438 1.1 alnsn (((unsigned int)(n >> 56)) & 0x00000002);
1439 1.1 alnsn }
1440 1.1 alnsn
1441 1.1 alnsn static __inline unsigned int
1442 1.1 alnsn get_RRROpcodeExtension_X0(tilegx_bundle_bits num)
1443 1.1 alnsn {
1444 1.1 alnsn const unsigned int n = (unsigned int)num;
1445 1.1 alnsn return (((n >> 18)) & 0x3ff);
1446 1.1 alnsn }
1447 1.1 alnsn
1448 1.1 alnsn static __inline unsigned int
1449 1.1 alnsn get_RRROpcodeExtension_X1(tilegx_bundle_bits n)
1450 1.1 alnsn {
1451 1.1 alnsn return (((unsigned int)(n >> 49)) & 0x3ff);
1452 1.1 alnsn }
1453 1.1 alnsn
1454 1.1 alnsn static __inline unsigned int
1455 1.1 alnsn get_RRROpcodeExtension_Y0(tilegx_bundle_bits num)
1456 1.1 alnsn {
1457 1.1 alnsn const unsigned int n = (unsigned int)num;
1458 1.1 alnsn return (((n >> 18)) & 0x3);
1459 1.1 alnsn }
1460 1.1 alnsn
1461 1.1 alnsn static __inline unsigned int
1462 1.1 alnsn get_RRROpcodeExtension_Y1(tilegx_bundle_bits n)
1463 1.1 alnsn {
1464 1.1 alnsn return (((unsigned int)(n >> 49)) & 0x3);
1465 1.1 alnsn }
1466 1.1 alnsn
1467 1.1 alnsn static __inline unsigned int
1468 1.1 alnsn get_ShAmt_X0(tilegx_bundle_bits num)
1469 1.1 alnsn {
1470 1.1 alnsn const unsigned int n = (unsigned int)num;
1471 1.1 alnsn return (((n >> 12)) & 0x3f);
1472 1.1 alnsn }
1473 1.1 alnsn
1474 1.1 alnsn static __inline unsigned int
1475 1.1 alnsn get_ShAmt_X1(tilegx_bundle_bits n)
1476 1.1 alnsn {
1477 1.1 alnsn return (((unsigned int)(n >> 43)) & 0x3f);
1478 1.1 alnsn }
1479 1.1 alnsn
1480 1.1 alnsn static __inline unsigned int
1481 1.1 alnsn get_ShAmt_Y0(tilegx_bundle_bits num)
1482 1.1 alnsn {
1483 1.1 alnsn const unsigned int n = (unsigned int)num;
1484 1.1 alnsn return (((n >> 12)) & 0x3f);
1485 1.1 alnsn }
1486 1.1 alnsn
1487 1.1 alnsn static __inline unsigned int
1488 1.1 alnsn get_ShAmt_Y1(tilegx_bundle_bits n)
1489 1.1 alnsn {
1490 1.1 alnsn return (((unsigned int)(n >> 43)) & 0x3f);
1491 1.1 alnsn }
1492 1.1 alnsn
1493 1.1 alnsn static __inline unsigned int
1494 1.1 alnsn get_ShiftOpcodeExtension_X0(tilegx_bundle_bits num)
1495 1.1 alnsn {
1496 1.1 alnsn const unsigned int n = (unsigned int)num;
1497 1.1 alnsn return (((n >> 18)) & 0x3ff);
1498 1.1 alnsn }
1499 1.1 alnsn
1500 1.1 alnsn static __inline unsigned int
1501 1.1 alnsn get_ShiftOpcodeExtension_X1(tilegx_bundle_bits n)
1502 1.1 alnsn {
1503 1.1 alnsn return (((unsigned int)(n >> 49)) & 0x3ff);
1504 1.1 alnsn }
1505 1.1 alnsn
1506 1.1 alnsn static __inline unsigned int
1507 1.1 alnsn get_ShiftOpcodeExtension_Y0(tilegx_bundle_bits num)
1508 1.1 alnsn {
1509 1.1 alnsn const unsigned int n = (unsigned int)num;
1510 1.1 alnsn return (((n >> 18)) & 0x3);
1511 1.1 alnsn }
1512 1.1 alnsn
1513 1.1 alnsn static __inline unsigned int
1514 1.1 alnsn get_ShiftOpcodeExtension_Y1(tilegx_bundle_bits n)
1515 1.1 alnsn {
1516 1.1 alnsn return (((unsigned int)(n >> 49)) & 0x3);
1517 1.1 alnsn }
1518 1.1 alnsn
1519 1.1 alnsn static __inline unsigned int
1520 1.1 alnsn get_SrcA_X0(tilegx_bundle_bits num)
1521 1.1 alnsn {
1522 1.1 alnsn const unsigned int n = (unsigned int)num;
1523 1.1 alnsn return (((n >> 6)) & 0x3f);
1524 1.1 alnsn }
1525 1.1 alnsn
1526 1.1 alnsn static __inline unsigned int
1527 1.1 alnsn get_SrcA_X1(tilegx_bundle_bits n)
1528 1.1 alnsn {
1529 1.1 alnsn return (((unsigned int)(n >> 37)) & 0x3f);
1530 1.1 alnsn }
1531 1.1 alnsn
1532 1.1 alnsn static __inline unsigned int
1533 1.1 alnsn get_SrcA_Y0(tilegx_bundle_bits num)
1534 1.1 alnsn {
1535 1.1 alnsn const unsigned int n = (unsigned int)num;
1536 1.1 alnsn return (((n >> 6)) & 0x3f);
1537 1.1 alnsn }
1538 1.1 alnsn
1539 1.1 alnsn static __inline unsigned int
1540 1.1 alnsn get_SrcA_Y1(tilegx_bundle_bits n)
1541 1.1 alnsn {
1542 1.1 alnsn return (((unsigned int)(n >> 37)) & 0x3f);
1543 1.1 alnsn }
1544 1.1 alnsn
1545 1.1 alnsn static __inline unsigned int
1546 1.1 alnsn get_SrcA_Y2(tilegx_bundle_bits num)
1547 1.1 alnsn {
1548 1.1 alnsn const unsigned int n = (unsigned int)num;
1549 1.1 alnsn return (((n >> 20)) & 0x3f);
1550 1.1 alnsn }
1551 1.1 alnsn
1552 1.1 alnsn static __inline unsigned int
1553 1.1 alnsn get_SrcBDest_Y2(tilegx_bundle_bits n)
1554 1.1 alnsn {
1555 1.1 alnsn return (((unsigned int)(n >> 51)) & 0x3f);
1556 1.1 alnsn }
1557 1.1 alnsn
1558 1.1 alnsn static __inline unsigned int
1559 1.1 alnsn get_SrcB_X0(tilegx_bundle_bits num)
1560 1.1 alnsn {
1561 1.1 alnsn const unsigned int n = (unsigned int)num;
1562 1.1 alnsn return (((n >> 12)) & 0x3f);
1563 1.1 alnsn }
1564 1.1 alnsn
1565 1.1 alnsn static __inline unsigned int
1566 1.1 alnsn get_SrcB_X1(tilegx_bundle_bits n)
1567 1.1 alnsn {
1568 1.1 alnsn return (((unsigned int)(n >> 43)) & 0x3f);
1569 1.1 alnsn }
1570 1.1 alnsn
1571 1.1 alnsn static __inline unsigned int
1572 1.1 alnsn get_SrcB_Y0(tilegx_bundle_bits num)
1573 1.1 alnsn {
1574 1.1 alnsn const unsigned int n = (unsigned int)num;
1575 1.1 alnsn return (((n >> 12)) & 0x3f);
1576 1.1 alnsn }
1577 1.1 alnsn
1578 1.1 alnsn static __inline unsigned int
1579 1.1 alnsn get_SrcB_Y1(tilegx_bundle_bits n)
1580 1.1 alnsn {
1581 1.1 alnsn return (((unsigned int)(n >> 43)) & 0x3f);
1582 1.1 alnsn }
1583 1.1 alnsn
1584 1.1 alnsn static __inline unsigned int
1585 1.1 alnsn get_UnaryOpcodeExtension_X0(tilegx_bundle_bits num)
1586 1.1 alnsn {
1587 1.1 alnsn const unsigned int n = (unsigned int)num;
1588 1.1 alnsn return (((n >> 12)) & 0x3f);
1589 1.1 alnsn }
1590 1.1 alnsn
1591 1.1 alnsn static __inline unsigned int
1592 1.1 alnsn get_UnaryOpcodeExtension_X1(tilegx_bundle_bits n)
1593 1.1 alnsn {
1594 1.1 alnsn return (((unsigned int)(n >> 43)) & 0x3f);
1595 1.1 alnsn }
1596 1.1 alnsn
1597 1.1 alnsn static __inline unsigned int
1598 1.1 alnsn get_UnaryOpcodeExtension_Y0(tilegx_bundle_bits num)
1599 1.1 alnsn {
1600 1.1 alnsn const unsigned int n = (unsigned int)num;
1601 1.1 alnsn return (((n >> 12)) & 0x3f);
1602 1.1 alnsn }
1603 1.1 alnsn
1604 1.1 alnsn static __inline unsigned int
1605 1.1 alnsn get_UnaryOpcodeExtension_Y1(tilegx_bundle_bits n)
1606 1.1 alnsn {
1607 1.1 alnsn return (((unsigned int)(n >> 43)) & 0x3f);
1608 1.1 alnsn }
1609 1.1 alnsn
1610 1.1 alnsn static __inline int
1611 1.1 alnsn sign_extend(int n, int num_bits)
1612 1.1 alnsn {
1613 1.1 alnsn int shift = (int)(sizeof(int) * 8 - num_bits);
1614 1.1 alnsn return (n << shift) >> shift;
1615 1.1 alnsn }
1616 1.1 alnsn
1617 1.1 alnsn static __inline tilegx_bundle_bits
1618 1.1 alnsn create_BFEnd_X0(int num)
1619 1.1 alnsn {
1620 1.1 alnsn const unsigned int n = (unsigned int)num;
1621 1.1 alnsn return ((n & 0x3f) << 12);
1622 1.1 alnsn }
1623 1.1 alnsn
1624 1.1 alnsn static __inline tilegx_bundle_bits
1625 1.1 alnsn create_BFOpcodeExtension_X0(int num)
1626 1.1 alnsn {
1627 1.1 alnsn const unsigned int n = (unsigned int)num;
1628 1.1 alnsn return ((n & 0xf) << 24);
1629 1.1 alnsn }
1630 1.1 alnsn
1631 1.1 alnsn static __inline tilegx_bundle_bits
1632 1.1 alnsn create_BFStart_X0(int num)
1633 1.1 alnsn {
1634 1.1 alnsn const unsigned int n = (unsigned int)num;
1635 1.1 alnsn return ((n & 0x3f) << 18);
1636 1.1 alnsn }
1637 1.1 alnsn
1638 1.1 alnsn static __inline tilegx_bundle_bits
1639 1.1 alnsn create_BrOff_X1(int num)
1640 1.1 alnsn {
1641 1.1 alnsn const unsigned int n = (unsigned int)num;
1642 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x0000003f)) << 31) |
1643 1.1 alnsn (((tilegx_bundle_bits)(n & 0x0001ffc0)) << 37);
1644 1.1 alnsn }
1645 1.1 alnsn
1646 1.1 alnsn static __inline tilegx_bundle_bits
1647 1.1 alnsn create_BrType_X1(int num)
1648 1.1 alnsn {
1649 1.1 alnsn const unsigned int n = (unsigned int)num;
1650 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x1f)) << 54);
1651 1.1 alnsn }
1652 1.1 alnsn
1653 1.1 alnsn static __inline tilegx_bundle_bits
1654 1.1 alnsn create_Dest_Imm8_X1(int num)
1655 1.1 alnsn {
1656 1.1 alnsn const unsigned int n = (unsigned int)num;
1657 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x0000003f)) << 31) |
1658 1.1 alnsn (((tilegx_bundle_bits)(n & 0x000000c0)) << 43);
1659 1.1 alnsn }
1660 1.1 alnsn
1661 1.1 alnsn static __inline tilegx_bundle_bits
1662 1.1 alnsn create_Dest_X0(int num)
1663 1.1 alnsn {
1664 1.1 alnsn const unsigned int n = (unsigned int)num;
1665 1.1 alnsn return ((n & 0x3f) << 0);
1666 1.1 alnsn }
1667 1.1 alnsn
1668 1.1 alnsn static __inline tilegx_bundle_bits
1669 1.1 alnsn create_Dest_X1(int num)
1670 1.1 alnsn {
1671 1.1 alnsn const unsigned int n = (unsigned int)num;
1672 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 31);
1673 1.1 alnsn }
1674 1.1 alnsn
1675 1.1 alnsn static __inline tilegx_bundle_bits
1676 1.1 alnsn create_Dest_Y0(int num)
1677 1.1 alnsn {
1678 1.1 alnsn const unsigned int n = (unsigned int)num;
1679 1.1 alnsn return ((n & 0x3f) << 0);
1680 1.1 alnsn }
1681 1.1 alnsn
1682 1.1 alnsn static __inline tilegx_bundle_bits
1683 1.1 alnsn create_Dest_Y1(int num)
1684 1.1 alnsn {
1685 1.1 alnsn const unsigned int n = (unsigned int)num;
1686 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 31);
1687 1.1 alnsn }
1688 1.1 alnsn
1689 1.1 alnsn static __inline tilegx_bundle_bits
1690 1.1 alnsn create_Imm16_X0(int num)
1691 1.1 alnsn {
1692 1.1 alnsn const unsigned int n = (unsigned int)num;
1693 1.1 alnsn return ((n & 0xffff) << 12);
1694 1.1 alnsn }
1695 1.1 alnsn
1696 1.1 alnsn static __inline tilegx_bundle_bits
1697 1.1 alnsn create_Imm16_X1(int num)
1698 1.1 alnsn {
1699 1.1 alnsn const unsigned int n = (unsigned int)num;
1700 1.1 alnsn return (((tilegx_bundle_bits)(n & 0xffff)) << 43);
1701 1.1 alnsn }
1702 1.1 alnsn
1703 1.1 alnsn static __inline tilegx_bundle_bits
1704 1.1 alnsn create_Imm8OpcodeExtension_X0(int num)
1705 1.1 alnsn {
1706 1.1 alnsn const unsigned int n = (unsigned int)num;
1707 1.1 alnsn return ((n & 0xff) << 20);
1708 1.1 alnsn }
1709 1.1 alnsn
1710 1.1 alnsn static __inline tilegx_bundle_bits
1711 1.1 alnsn create_Imm8OpcodeExtension_X1(int num)
1712 1.1 alnsn {
1713 1.1 alnsn const unsigned int n = (unsigned int)num;
1714 1.1 alnsn return (((tilegx_bundle_bits)(n & 0xff)) << 51);
1715 1.1 alnsn }
1716 1.1 alnsn
1717 1.1 alnsn static __inline tilegx_bundle_bits
1718 1.1 alnsn create_Imm8_X0(int num)
1719 1.1 alnsn {
1720 1.1 alnsn const unsigned int n = (unsigned int)num;
1721 1.1 alnsn return ((n & 0xff) << 12);
1722 1.1 alnsn }
1723 1.1 alnsn
1724 1.1 alnsn static __inline tilegx_bundle_bits
1725 1.1 alnsn create_Imm8_X1(int num)
1726 1.1 alnsn {
1727 1.1 alnsn const unsigned int n = (unsigned int)num;
1728 1.1 alnsn return (((tilegx_bundle_bits)(n & 0xff)) << 43);
1729 1.1 alnsn }
1730 1.1 alnsn
1731 1.1 alnsn static __inline tilegx_bundle_bits
1732 1.1 alnsn create_Imm8_Y0(int num)
1733 1.1 alnsn {
1734 1.1 alnsn const unsigned int n = (unsigned int)num;
1735 1.1 alnsn return ((n & 0xff) << 12);
1736 1.1 alnsn }
1737 1.1 alnsn
1738 1.1 alnsn static __inline tilegx_bundle_bits
1739 1.1 alnsn create_Imm8_Y1(int num)
1740 1.1 alnsn {
1741 1.1 alnsn const unsigned int n = (unsigned int)num;
1742 1.1 alnsn return (((tilegx_bundle_bits)(n & 0xff)) << 43);
1743 1.1 alnsn }
1744 1.1 alnsn
1745 1.1 alnsn static __inline tilegx_bundle_bits
1746 1.1 alnsn create_JumpOff_X1(int num)
1747 1.1 alnsn {
1748 1.1 alnsn const unsigned int n = (unsigned int)num;
1749 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x7ffffff)) << 31);
1750 1.1 alnsn }
1751 1.1 alnsn
1752 1.1 alnsn static __inline tilegx_bundle_bits
1753 1.1 alnsn create_JumpOpcodeExtension_X1(int num)
1754 1.1 alnsn {
1755 1.1 alnsn const unsigned int n = (unsigned int)num;
1756 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x1)) << 58);
1757 1.1 alnsn }
1758 1.1 alnsn
1759 1.1 alnsn static __inline tilegx_bundle_bits
1760 1.1 alnsn create_MF_Imm14_X1(int num)
1761 1.1 alnsn {
1762 1.1 alnsn const unsigned int n = (unsigned int)num;
1763 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3fff)) << 37);
1764 1.1 alnsn }
1765 1.1 alnsn
1766 1.1 alnsn static __inline tilegx_bundle_bits
1767 1.1 alnsn create_MT_Imm14_X1(int num)
1768 1.1 alnsn {
1769 1.1 alnsn const unsigned int n = (unsigned int)num;
1770 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x0000003f)) << 31) |
1771 1.1 alnsn (((tilegx_bundle_bits)(n & 0x00003fc0)) << 37);
1772 1.1 alnsn }
1773 1.1 alnsn
1774 1.1 alnsn static __inline tilegx_bundle_bits
1775 1.1 alnsn create_Mode(int num)
1776 1.1 alnsn {
1777 1.1 alnsn const unsigned int n = (unsigned int)num;
1778 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3)) << 62);
1779 1.1 alnsn }
1780 1.1 alnsn
1781 1.1 alnsn static __inline tilegx_bundle_bits
1782 1.1 alnsn create_Opcode_X0(int num)
1783 1.1 alnsn {
1784 1.1 alnsn const unsigned int n = (unsigned int)num;
1785 1.1 alnsn return ((n & 0x7) << 28);
1786 1.1 alnsn }
1787 1.1 alnsn
1788 1.1 alnsn static __inline tilegx_bundle_bits
1789 1.1 alnsn create_Opcode_X1(int num)
1790 1.1 alnsn {
1791 1.1 alnsn const unsigned int n = (unsigned int)num;
1792 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x7)) << 59);
1793 1.1 alnsn }
1794 1.1 alnsn
1795 1.1 alnsn static __inline tilegx_bundle_bits
1796 1.1 alnsn create_Opcode_Y0(int num)
1797 1.1 alnsn {
1798 1.1 alnsn const unsigned int n = (unsigned int)num;
1799 1.1 alnsn return ((n & 0xf) << 27);
1800 1.1 alnsn }
1801 1.1 alnsn
1802 1.1 alnsn static __inline tilegx_bundle_bits
1803 1.1 alnsn create_Opcode_Y1(int num)
1804 1.1 alnsn {
1805 1.1 alnsn const unsigned int n = (unsigned int)num;
1806 1.1 alnsn return (((tilegx_bundle_bits)(n & 0xf)) << 58);
1807 1.1 alnsn }
1808 1.1 alnsn
1809 1.1 alnsn static __inline tilegx_bundle_bits
1810 1.1 alnsn create_Opcode_Y2(int num)
1811 1.1 alnsn {
1812 1.1 alnsn const unsigned int n = (unsigned int)num;
1813 1.1 alnsn return ((n & 0x00000001) << 26) |
1814 1.1 alnsn (((tilegx_bundle_bits)(n & 0x00000002)) << 56);
1815 1.1 alnsn }
1816 1.1 alnsn
1817 1.1 alnsn static __inline tilegx_bundle_bits
1818 1.1 alnsn create_RRROpcodeExtension_X0(int num)
1819 1.1 alnsn {
1820 1.1 alnsn const unsigned int n = (unsigned int)num;
1821 1.1 alnsn return ((n & 0x3ff) << 18);
1822 1.1 alnsn }
1823 1.1 alnsn
1824 1.1 alnsn static __inline tilegx_bundle_bits
1825 1.1 alnsn create_RRROpcodeExtension_X1(int num)
1826 1.1 alnsn {
1827 1.1 alnsn const unsigned int n = (unsigned int)num;
1828 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3ff)) << 49);
1829 1.1 alnsn }
1830 1.1 alnsn
1831 1.1 alnsn static __inline tilegx_bundle_bits
1832 1.1 alnsn create_RRROpcodeExtension_Y0(int num)
1833 1.1 alnsn {
1834 1.1 alnsn const unsigned int n = (unsigned int)num;
1835 1.1 alnsn return ((n & 0x3) << 18);
1836 1.1 alnsn }
1837 1.1 alnsn
1838 1.1 alnsn static __inline tilegx_bundle_bits
1839 1.1 alnsn create_RRROpcodeExtension_Y1(int num)
1840 1.1 alnsn {
1841 1.1 alnsn const unsigned int n = (unsigned int)num;
1842 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3)) << 49);
1843 1.1 alnsn }
1844 1.1 alnsn
1845 1.1 alnsn static __inline tilegx_bundle_bits
1846 1.1 alnsn create_ShAmt_X0(int num)
1847 1.1 alnsn {
1848 1.1 alnsn const unsigned int n = (unsigned int)num;
1849 1.1 alnsn return ((n & 0x3f) << 12);
1850 1.1 alnsn }
1851 1.1 alnsn
1852 1.1 alnsn static __inline tilegx_bundle_bits
1853 1.1 alnsn create_ShAmt_X1(int num)
1854 1.1 alnsn {
1855 1.1 alnsn const unsigned int n = (unsigned int)num;
1856 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 43);
1857 1.1 alnsn }
1858 1.1 alnsn
1859 1.1 alnsn static __inline tilegx_bundle_bits
1860 1.1 alnsn create_ShAmt_Y0(int num)
1861 1.1 alnsn {
1862 1.1 alnsn const unsigned int n = (unsigned int)num;
1863 1.1 alnsn return ((n & 0x3f) << 12);
1864 1.1 alnsn }
1865 1.1 alnsn
1866 1.1 alnsn static __inline tilegx_bundle_bits
1867 1.1 alnsn create_ShAmt_Y1(int num)
1868 1.1 alnsn {
1869 1.1 alnsn const unsigned int n = (unsigned int)num;
1870 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 43);
1871 1.1 alnsn }
1872 1.1 alnsn
1873 1.1 alnsn static __inline tilegx_bundle_bits
1874 1.1 alnsn create_ShiftOpcodeExtension_X0(int num)
1875 1.1 alnsn {
1876 1.1 alnsn const unsigned int n = (unsigned int)num;
1877 1.1 alnsn return ((n & 0x3ff) << 18);
1878 1.1 alnsn }
1879 1.1 alnsn
1880 1.1 alnsn static __inline tilegx_bundle_bits
1881 1.1 alnsn create_ShiftOpcodeExtension_X1(int num)
1882 1.1 alnsn {
1883 1.1 alnsn const unsigned int n = (unsigned int)num;
1884 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3ff)) << 49);
1885 1.1 alnsn }
1886 1.1 alnsn
1887 1.1 alnsn static __inline tilegx_bundle_bits
1888 1.1 alnsn create_ShiftOpcodeExtension_Y0(int num)
1889 1.1 alnsn {
1890 1.1 alnsn const unsigned int n = (unsigned int)num;
1891 1.1 alnsn return ((n & 0x3) << 18);
1892 1.1 alnsn }
1893 1.1 alnsn
1894 1.1 alnsn static __inline tilegx_bundle_bits
1895 1.1 alnsn create_ShiftOpcodeExtension_Y1(int num)
1896 1.1 alnsn {
1897 1.1 alnsn const unsigned int n = (unsigned int)num;
1898 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3)) << 49);
1899 1.1 alnsn }
1900 1.1 alnsn
1901 1.1 alnsn static __inline tilegx_bundle_bits
1902 1.1 alnsn create_SrcA_X0(int num)
1903 1.1 alnsn {
1904 1.1 alnsn const unsigned int n = (unsigned int)num;
1905 1.1 alnsn return ((n & 0x3f) << 6);
1906 1.1 alnsn }
1907 1.1 alnsn
1908 1.1 alnsn static __inline tilegx_bundle_bits
1909 1.1 alnsn create_SrcA_X1(int num)
1910 1.1 alnsn {
1911 1.1 alnsn const unsigned int n = (unsigned int)num;
1912 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 37);
1913 1.1 alnsn }
1914 1.1 alnsn
1915 1.1 alnsn static __inline tilegx_bundle_bits
1916 1.1 alnsn create_SrcA_Y0(int num)
1917 1.1 alnsn {
1918 1.1 alnsn const unsigned int n = (unsigned int)num;
1919 1.1 alnsn return ((n & 0x3f) << 6);
1920 1.1 alnsn }
1921 1.1 alnsn
1922 1.1 alnsn static __inline tilegx_bundle_bits
1923 1.1 alnsn create_SrcA_Y1(int num)
1924 1.1 alnsn {
1925 1.1 alnsn const unsigned int n = (unsigned int)num;
1926 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 37);
1927 1.1 alnsn }
1928 1.1 alnsn
1929 1.1 alnsn static __inline tilegx_bundle_bits
1930 1.1 alnsn create_SrcA_Y2(int num)
1931 1.1 alnsn {
1932 1.1 alnsn const unsigned int n = (unsigned int)num;
1933 1.1 alnsn return ((n & 0x3f) << 20);
1934 1.1 alnsn }
1935 1.1 alnsn
1936 1.1 alnsn static __inline tilegx_bundle_bits
1937 1.1 alnsn create_SrcBDest_Y2(int num)
1938 1.1 alnsn {
1939 1.1 alnsn const unsigned int n = (unsigned int)num;
1940 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 51);
1941 1.1 alnsn }
1942 1.1 alnsn
1943 1.1 alnsn static __inline tilegx_bundle_bits
1944 1.1 alnsn create_SrcB_X0(int num)
1945 1.1 alnsn {
1946 1.1 alnsn const unsigned int n = (unsigned int)num;
1947 1.1 alnsn return ((n & 0x3f) << 12);
1948 1.1 alnsn }
1949 1.1 alnsn
1950 1.1 alnsn static __inline tilegx_bundle_bits
1951 1.1 alnsn create_SrcB_X1(int num)
1952 1.1 alnsn {
1953 1.1 alnsn const unsigned int n = (unsigned int)num;
1954 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 43);
1955 1.1 alnsn }
1956 1.1 alnsn
1957 1.1 alnsn static __inline tilegx_bundle_bits
1958 1.1 alnsn create_SrcB_Y0(int num)
1959 1.1 alnsn {
1960 1.1 alnsn const unsigned int n = (unsigned int)num;
1961 1.1 alnsn return ((n & 0x3f) << 12);
1962 1.1 alnsn }
1963 1.1 alnsn
1964 1.1 alnsn static __inline tilegx_bundle_bits
1965 1.1 alnsn create_SrcB_Y1(int num)
1966 1.1 alnsn {
1967 1.1 alnsn const unsigned int n = (unsigned int)num;
1968 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 43);
1969 1.1 alnsn }
1970 1.1 alnsn
1971 1.1 alnsn static __inline tilegx_bundle_bits
1972 1.1 alnsn create_UnaryOpcodeExtension_X0(int num)
1973 1.1 alnsn {
1974 1.1 alnsn const unsigned int n = (unsigned int)num;
1975 1.1 alnsn return ((n & 0x3f) << 12);
1976 1.1 alnsn }
1977 1.1 alnsn
1978 1.1 alnsn static __inline tilegx_bundle_bits
1979 1.1 alnsn create_UnaryOpcodeExtension_X1(int num)
1980 1.1 alnsn {
1981 1.1 alnsn const unsigned int n = (unsigned int)num;
1982 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 43);
1983 1.1 alnsn }
1984 1.1 alnsn
1985 1.1 alnsn static __inline tilegx_bundle_bits
1986 1.1 alnsn create_UnaryOpcodeExtension_Y0(int num)
1987 1.1 alnsn {
1988 1.1 alnsn const unsigned int n = (unsigned int)num;
1989 1.1 alnsn return ((n & 0x3f) << 12);
1990 1.1 alnsn }
1991 1.1 alnsn
1992 1.1 alnsn static __inline tilegx_bundle_bits
1993 1.1 alnsn create_UnaryOpcodeExtension_Y1(int num)
1994 1.1 alnsn {
1995 1.1 alnsn const unsigned int n = (unsigned int)num;
1996 1.1 alnsn return (((tilegx_bundle_bits)(n & 0x3f)) << 43);
1997 1.1 alnsn }
1998 1.1 alnsn
1999 1.1 alnsn const struct tilegx_opcode tilegx_opcodes[336] =
2000 1.1 alnsn {
2001 1.1 alnsn { "bpt", TILEGX_OPC_BPT, 0x2, 0, TREG_ZERO, 0,
2002 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
2003 1.1 alnsn #ifndef DISASM_ONLY
2004 1.1 alnsn {
2005 1.1 alnsn 0ULL,
2006 1.1 alnsn 0xffffffff80000000ULL,
2007 1.1 alnsn 0ULL,
2008 1.1 alnsn 0ULL,
2009 1.1 alnsn 0ULL
2010 1.1 alnsn },
2011 1.1 alnsn {
2012 1.1 alnsn -1ULL,
2013 1.1 alnsn 0x286a44ae00000000ULL,
2014 1.1 alnsn -1ULL,
2015 1.1 alnsn -1ULL,
2016 1.1 alnsn -1ULL
2017 1.1 alnsn }
2018 1.1 alnsn #endif
2019 1.1 alnsn },
2020 1.1 alnsn { "info", TILEGX_OPC_INFO, 0xf, 1, TREG_ZERO, 1,
2021 1.1 alnsn { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } },
2022 1.1 alnsn #ifndef DISASM_ONLY
2023 1.1 alnsn {
2024 1.1 alnsn 0xc00000007ff00fffULL,
2025 1.1 alnsn 0xfff807ff80000000ULL,
2026 1.1 alnsn 0x0000000078000fffULL,
2027 1.1 alnsn 0x3c0007ff80000000ULL,
2028 1.1 alnsn 0ULL
2029 1.1 alnsn },
2030 1.1 alnsn {
2031 1.1 alnsn 0x0000000040300fffULL,
2032 1.1 alnsn 0x181807ff80000000ULL,
2033 1.1 alnsn 0x0000000010000fffULL,
2034 1.1 alnsn 0x0c0007ff80000000ULL,
2035 1.1 alnsn -1ULL
2036 1.1 alnsn }
2037 1.1 alnsn #endif
2038 1.1 alnsn },
2039 1.1 alnsn { "infol", TILEGX_OPC_INFOL, 0x3, 1, TREG_ZERO, 1,
2040 1.1 alnsn { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } },
2041 1.1 alnsn #ifndef DISASM_ONLY
2042 1.1 alnsn {
2043 1.1 alnsn 0xc000000070000fffULL,
2044 1.1 alnsn 0xf80007ff80000000ULL,
2045 1.1 alnsn 0ULL,
2046 1.1 alnsn 0ULL,
2047 1.1 alnsn 0ULL
2048 1.1 alnsn },
2049 1.1 alnsn {
2050 1.1 alnsn 0x0000000070000fffULL,
2051 1.1 alnsn 0x380007ff80000000ULL,
2052 1.1 alnsn -1ULL,
2053 1.1 alnsn -1ULL,
2054 1.1 alnsn -1ULL
2055 1.1 alnsn }
2056 1.1 alnsn #endif
2057 1.1 alnsn },
2058 1.1 alnsn { "ld4s_tls", TILEGX_OPC_LD4S_TLS, 0x2, 3, TREG_ZERO, 1,
2059 1.1 alnsn { { 0, }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
2060 1.1 alnsn #ifndef DISASM_ONLY
2061 1.1 alnsn {
2062 1.1 alnsn 0ULL,
2063 1.1 alnsn 0xfffff80000000000ULL,
2064 1.1 alnsn 0ULL,
2065 1.1 alnsn 0ULL,
2066 1.1 alnsn 0ULL
2067 1.1 alnsn },
2068 1.1 alnsn {
2069 1.1 alnsn -1ULL,
2070 1.1 alnsn 0x1858000000000000ULL,
2071 1.1 alnsn -1ULL,
2072 1.1 alnsn -1ULL,
2073 1.1 alnsn -1ULL
2074 1.1 alnsn }
2075 1.1 alnsn #endif
2076 1.1 alnsn },
2077 1.1 alnsn { "ld_tls", TILEGX_OPC_LD_TLS, 0x2, 3, TREG_ZERO, 1,
2078 1.1 alnsn { { 0, }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
2079 1.1 alnsn #ifndef DISASM_ONLY
2080 1.1 alnsn {
2081 1.1 alnsn 0ULL,
2082 1.1 alnsn 0xfffff80000000000ULL,
2083 1.1 alnsn 0ULL,
2084 1.1 alnsn 0ULL,
2085 1.1 alnsn 0ULL
2086 1.1 alnsn },
2087 1.1 alnsn {
2088 1.1 alnsn -1ULL,
2089 1.1 alnsn 0x18a0000000000000ULL,
2090 1.1 alnsn -1ULL,
2091 1.1 alnsn -1ULL,
2092 1.1 alnsn -1ULL
2093 1.1 alnsn }
2094 1.1 alnsn #endif
2095 1.1 alnsn },
2096 1.1 alnsn { "move", TILEGX_OPC_MOVE, 0xf, 2, TREG_ZERO, 1,
2097 1.1 alnsn { { 8, 9 }, { 6, 7 }, { 10, 11 }, { 12, 13 }, { 0, } },
2098 1.1 alnsn #ifndef DISASM_ONLY
2099 1.1 alnsn {
2100 1.1 alnsn 0xc00000007ffff000ULL,
2101 1.1 alnsn 0xfffff80000000000ULL,
2102 1.1 alnsn 0x00000000780ff000ULL,
2103 1.1 alnsn 0x3c07f80000000000ULL,
2104 1.1 alnsn 0ULL
2105 1.1 alnsn },
2106 1.1 alnsn {
2107 1.1 alnsn 0x000000005107f000ULL,
2108 1.1 alnsn 0x283bf80000000000ULL,
2109 1.1 alnsn 0x00000000500bf000ULL,
2110 1.1 alnsn 0x2c05f80000000000ULL,
2111 1.1 alnsn -1ULL
2112 1.1 alnsn }
2113 1.1 alnsn #endif
2114 1.1 alnsn },
2115 1.1 alnsn { "movei", TILEGX_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1,
2116 1.1 alnsn { { 8, 0 }, { 6, 1 }, { 10, 2 }, { 12, 3 }, { 0, } },
2117 1.1 alnsn #ifndef DISASM_ONLY
2118 1.1 alnsn {
2119 1.1 alnsn 0xc00000007ff00fc0ULL,
2120 1.1 alnsn 0xfff807e000000000ULL,
2121 1.1 alnsn 0x0000000078000fc0ULL,
2122 1.1 alnsn 0x3c0007e000000000ULL,
2123 1.1 alnsn 0ULL
2124 1.1 alnsn },
2125 1.1 alnsn {
2126 1.1 alnsn 0x0000000040100fc0ULL,
2127 1.1 alnsn 0x180807e000000000ULL,
2128 1.1 alnsn 0x0000000000000fc0ULL,
2129 1.1 alnsn 0x040007e000000000ULL,
2130 1.1 alnsn -1ULL
2131 1.1 alnsn }
2132 1.1 alnsn #endif
2133 1.1 alnsn },
2134 1.1 alnsn { "moveli", TILEGX_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1,
2135 1.1 alnsn { { 8, 4 }, { 6, 5 }, { 0, }, { 0, }, { 0, } },
2136 1.1 alnsn #ifndef DISASM_ONLY
2137 1.1 alnsn {
2138 1.1 alnsn 0xc000000070000fc0ULL,
2139 1.1 alnsn 0xf80007e000000000ULL,
2140 1.1 alnsn 0ULL,
2141 1.1 alnsn 0ULL,
2142 1.1 alnsn 0ULL
2143 1.1 alnsn },
2144 1.1 alnsn {
2145 1.1 alnsn 0x0000000010000fc0ULL,
2146 1.1 alnsn 0x000007e000000000ULL,
2147 1.1 alnsn -1ULL,
2148 1.1 alnsn -1ULL,
2149 1.1 alnsn -1ULL
2150 1.1 alnsn }
2151 1.1 alnsn #endif
2152 1.1 alnsn },
2153 1.1 alnsn { "prefetch", TILEGX_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1,
2154 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } },
2155 1.1 alnsn #ifndef DISASM_ONLY
2156 1.1 alnsn {
2157 1.1 alnsn 0ULL,
2158 1.1 alnsn 0xfffff81f80000000ULL,
2159 1.1 alnsn 0ULL,
2160 1.1 alnsn 0ULL,
2161 1.1 alnsn 0xc3f8000004000000ULL
2162 1.1 alnsn },
2163 1.1 alnsn {
2164 1.1 alnsn -1ULL,
2165 1.1 alnsn 0x286a801f80000000ULL,
2166 1.1 alnsn -1ULL,
2167 1.1 alnsn -1ULL,
2168 1.1 alnsn 0x41f8000004000000ULL
2169 1.1 alnsn }
2170 1.1 alnsn #endif
2171 1.1 alnsn },
2172 1.1 alnsn { "prefetch_add_l1", TILEGX_OPC_PREFETCH_ADD_L1, 0x2, 2, TREG_ZERO, 1,
2173 1.1 alnsn { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } },
2174 1.1 alnsn #ifndef DISASM_ONLY
2175 1.1 alnsn {
2176 1.1 alnsn 0ULL,
2177 1.1 alnsn 0xfff8001f80000000ULL,
2178 1.1 alnsn 0ULL,
2179 1.1 alnsn 0ULL,
2180 1.1 alnsn 0ULL
2181 1.1 alnsn },
2182 1.1 alnsn {
2183 1.1 alnsn -1ULL,
2184 1.1 alnsn 0x1840001f80000000ULL,
2185 1.1 alnsn -1ULL,
2186 1.1 alnsn -1ULL,
2187 1.1 alnsn -1ULL
2188 1.1 alnsn }
2189 1.1 alnsn #endif
2190 1.1 alnsn },
2191 1.1 alnsn { "prefetch_add_l1_fault", TILEGX_OPC_PREFETCH_ADD_L1_FAULT, 0x2, 2, TREG_ZERO, 1,
2192 1.1 alnsn { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } },
2193 1.1 alnsn #ifndef DISASM_ONLY
2194 1.1 alnsn {
2195 1.1 alnsn 0ULL,
2196 1.1 alnsn 0xfff8001f80000000ULL,
2197 1.1 alnsn 0ULL,
2198 1.1 alnsn 0ULL,
2199 1.1 alnsn 0ULL
2200 1.1 alnsn },
2201 1.1 alnsn {
2202 1.1 alnsn -1ULL,
2203 1.1 alnsn 0x1838001f80000000ULL,
2204 1.1 alnsn -1ULL,
2205 1.1 alnsn -1ULL,
2206 1.1 alnsn -1ULL
2207 1.1 alnsn }
2208 1.1 alnsn #endif
2209 1.1 alnsn },
2210 1.1 alnsn { "prefetch_add_l2", TILEGX_OPC_PREFETCH_ADD_L2, 0x2, 2, TREG_ZERO, 1,
2211 1.1 alnsn { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } },
2212 1.1 alnsn #ifndef DISASM_ONLY
2213 1.1 alnsn {
2214 1.1 alnsn 0ULL,
2215 1.1 alnsn 0xfff8001f80000000ULL,
2216 1.1 alnsn 0ULL,
2217 1.1 alnsn 0ULL,
2218 1.1 alnsn 0ULL
2219 1.1 alnsn },
2220 1.1 alnsn {
2221 1.1 alnsn -1ULL,
2222 1.1 alnsn 0x1850001f80000000ULL,
2223 1.1 alnsn -1ULL,
2224 1.1 alnsn -1ULL,
2225 1.1 alnsn -1ULL
2226 1.1 alnsn }
2227 1.1 alnsn #endif
2228 1.1 alnsn },
2229 1.1 alnsn { "prefetch_add_l2_fault", TILEGX_OPC_PREFETCH_ADD_L2_FAULT, 0x2, 2, TREG_ZERO, 1,
2230 1.1 alnsn { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } },
2231 1.1 alnsn #ifndef DISASM_ONLY
2232 1.1 alnsn {
2233 1.1 alnsn 0ULL,
2234 1.1 alnsn 0xfff8001f80000000ULL,
2235 1.1 alnsn 0ULL,
2236 1.1 alnsn 0ULL,
2237 1.1 alnsn 0ULL
2238 1.1 alnsn },
2239 1.1 alnsn {
2240 1.1 alnsn -1ULL,
2241 1.1 alnsn 0x1848001f80000000ULL,
2242 1.1 alnsn -1ULL,
2243 1.1 alnsn -1ULL,
2244 1.1 alnsn -1ULL
2245 1.1 alnsn }
2246 1.1 alnsn #endif
2247 1.1 alnsn },
2248 1.1 alnsn { "prefetch_add_l3", TILEGX_OPC_PREFETCH_ADD_L3, 0x2, 2, TREG_ZERO, 1,
2249 1.1 alnsn { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } },
2250 1.1 alnsn #ifndef DISASM_ONLY
2251 1.1 alnsn {
2252 1.1 alnsn 0ULL,
2253 1.1 alnsn 0xfff8001f80000000ULL,
2254 1.1 alnsn 0ULL,
2255 1.1 alnsn 0ULL,
2256 1.1 alnsn 0ULL
2257 1.1 alnsn },
2258 1.1 alnsn {
2259 1.1 alnsn -1ULL,
2260 1.1 alnsn 0x1860001f80000000ULL,
2261 1.1 alnsn -1ULL,
2262 1.1 alnsn -1ULL,
2263 1.1 alnsn -1ULL
2264 1.1 alnsn }
2265 1.1 alnsn #endif
2266 1.1 alnsn },
2267 1.1 alnsn { "prefetch_add_l3_fault", TILEGX_OPC_PREFETCH_ADD_L3_FAULT, 0x2, 2, TREG_ZERO, 1,
2268 1.1 alnsn { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } },
2269 1.1 alnsn #ifndef DISASM_ONLY
2270 1.1 alnsn {
2271 1.1 alnsn 0ULL,
2272 1.1 alnsn 0xfff8001f80000000ULL,
2273 1.1 alnsn 0ULL,
2274 1.1 alnsn 0ULL,
2275 1.1 alnsn 0ULL
2276 1.1 alnsn },
2277 1.1 alnsn {
2278 1.1 alnsn -1ULL,
2279 1.1 alnsn 0x1858001f80000000ULL,
2280 1.1 alnsn -1ULL,
2281 1.1 alnsn -1ULL,
2282 1.1 alnsn -1ULL
2283 1.1 alnsn }
2284 1.1 alnsn #endif
2285 1.1 alnsn },
2286 1.1 alnsn { "prefetch_l1", TILEGX_OPC_PREFETCH_L1, 0x12, 1, TREG_ZERO, 1,
2287 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } },
2288 1.1 alnsn #ifndef DISASM_ONLY
2289 1.1 alnsn {
2290 1.1 alnsn 0ULL,
2291 1.1 alnsn 0xfffff81f80000000ULL,
2292 1.1 alnsn 0ULL,
2293 1.1 alnsn 0ULL,
2294 1.1 alnsn 0xc3f8000004000000ULL
2295 1.1 alnsn },
2296 1.1 alnsn {
2297 1.1 alnsn -1ULL,
2298 1.1 alnsn 0x286a801f80000000ULL,
2299 1.1 alnsn -1ULL,
2300 1.1 alnsn -1ULL,
2301 1.1 alnsn 0x41f8000004000000ULL
2302 1.1 alnsn }
2303 1.1 alnsn #endif
2304 1.1 alnsn },
2305 1.1 alnsn { "prefetch_l1_fault", TILEGX_OPC_PREFETCH_L1_FAULT, 0x12, 1, TREG_ZERO, 1,
2306 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } },
2307 1.1 alnsn #ifndef DISASM_ONLY
2308 1.1 alnsn {
2309 1.1 alnsn 0ULL,
2310 1.1 alnsn 0xfffff81f80000000ULL,
2311 1.1 alnsn 0ULL,
2312 1.1 alnsn 0ULL,
2313 1.1 alnsn 0xc3f8000004000000ULL
2314 1.1 alnsn },
2315 1.1 alnsn {
2316 1.1 alnsn -1ULL,
2317 1.1 alnsn 0x286a781f80000000ULL,
2318 1.1 alnsn -1ULL,
2319 1.1 alnsn -1ULL,
2320 1.1 alnsn 0x41f8000000000000ULL
2321 1.1 alnsn }
2322 1.1 alnsn #endif
2323 1.1 alnsn },
2324 1.1 alnsn { "prefetch_l2", TILEGX_OPC_PREFETCH_L2, 0x12, 1, TREG_ZERO, 1,
2325 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } },
2326 1.1 alnsn #ifndef DISASM_ONLY
2327 1.1 alnsn {
2328 1.1 alnsn 0ULL,
2329 1.1 alnsn 0xfffff81f80000000ULL,
2330 1.1 alnsn 0ULL,
2331 1.1 alnsn 0ULL,
2332 1.1 alnsn 0xc3f8000004000000ULL
2333 1.1 alnsn },
2334 1.1 alnsn {
2335 1.1 alnsn -1ULL,
2336 1.1 alnsn 0x286a901f80000000ULL,
2337 1.1 alnsn -1ULL,
2338 1.1 alnsn -1ULL,
2339 1.1 alnsn 0x43f8000004000000ULL
2340 1.1 alnsn }
2341 1.1 alnsn #endif
2342 1.1 alnsn },
2343 1.1 alnsn { "prefetch_l2_fault", TILEGX_OPC_PREFETCH_L2_FAULT, 0x12, 1, TREG_ZERO, 1,
2344 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } },
2345 1.1 alnsn #ifndef DISASM_ONLY
2346 1.1 alnsn {
2347 1.1 alnsn 0ULL,
2348 1.1 alnsn 0xfffff81f80000000ULL,
2349 1.1 alnsn 0ULL,
2350 1.1 alnsn 0ULL,
2351 1.1 alnsn 0xc3f8000004000000ULL
2352 1.1 alnsn },
2353 1.1 alnsn {
2354 1.1 alnsn -1ULL,
2355 1.1 alnsn 0x286a881f80000000ULL,
2356 1.1 alnsn -1ULL,
2357 1.1 alnsn -1ULL,
2358 1.1 alnsn 0x43f8000000000000ULL
2359 1.1 alnsn }
2360 1.1 alnsn #endif
2361 1.1 alnsn },
2362 1.1 alnsn { "prefetch_l3", TILEGX_OPC_PREFETCH_L3, 0x12, 1, TREG_ZERO, 1,
2363 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } },
2364 1.1 alnsn #ifndef DISASM_ONLY
2365 1.1 alnsn {
2366 1.1 alnsn 0ULL,
2367 1.1 alnsn 0xfffff81f80000000ULL,
2368 1.1 alnsn 0ULL,
2369 1.1 alnsn 0ULL,
2370 1.1 alnsn 0xc3f8000004000000ULL
2371 1.1 alnsn },
2372 1.1 alnsn {
2373 1.1 alnsn -1ULL,
2374 1.1 alnsn 0x286aa01f80000000ULL,
2375 1.1 alnsn -1ULL,
2376 1.1 alnsn -1ULL,
2377 1.1 alnsn 0x83f8000000000000ULL
2378 1.1 alnsn }
2379 1.1 alnsn #endif
2380 1.1 alnsn },
2381 1.1 alnsn { "prefetch_l3_fault", TILEGX_OPC_PREFETCH_L3_FAULT, 0x12, 1, TREG_ZERO, 1,
2382 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } },
2383 1.1 alnsn #ifndef DISASM_ONLY
2384 1.1 alnsn {
2385 1.1 alnsn 0ULL,
2386 1.1 alnsn 0xfffff81f80000000ULL,
2387 1.1 alnsn 0ULL,
2388 1.1 alnsn 0ULL,
2389 1.1 alnsn 0xc3f8000004000000ULL
2390 1.1 alnsn },
2391 1.1 alnsn {
2392 1.1 alnsn -1ULL,
2393 1.1 alnsn 0x286a981f80000000ULL,
2394 1.1 alnsn -1ULL,
2395 1.1 alnsn -1ULL,
2396 1.1 alnsn 0x81f8000004000000ULL
2397 1.1 alnsn }
2398 1.1 alnsn #endif
2399 1.1 alnsn },
2400 1.1 alnsn { "raise", TILEGX_OPC_RAISE, 0x2, 0, TREG_ZERO, 1,
2401 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
2402 1.1 alnsn #ifndef DISASM_ONLY
2403 1.1 alnsn {
2404 1.1 alnsn 0ULL,
2405 1.1 alnsn 0xffffffff80000000ULL,
2406 1.1 alnsn 0ULL,
2407 1.1 alnsn 0ULL,
2408 1.1 alnsn 0ULL
2409 1.1 alnsn },
2410 1.1 alnsn {
2411 1.1 alnsn -1ULL,
2412 1.1 alnsn 0x286a44ae80000000ULL,
2413 1.1 alnsn -1ULL,
2414 1.1 alnsn -1ULL,
2415 1.1 alnsn -1ULL
2416 1.1 alnsn }
2417 1.1 alnsn #endif
2418 1.1 alnsn },
2419 1.1 alnsn { "add", TILEGX_OPC_ADD, 0xf, 3, TREG_ZERO, 1,
2420 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
2421 1.1 alnsn #ifndef DISASM_ONLY
2422 1.1 alnsn {
2423 1.1 alnsn 0xc00000007ffc0000ULL,
2424 1.1 alnsn 0xfffe000000000000ULL,
2425 1.1 alnsn 0x00000000780c0000ULL,
2426 1.1 alnsn 0x3c06000000000000ULL,
2427 1.1 alnsn 0ULL
2428 1.1 alnsn },
2429 1.1 alnsn {
2430 1.1 alnsn 0x00000000500c0000ULL,
2431 1.1 alnsn 0x2806000000000000ULL,
2432 1.1 alnsn 0x0000000028040000ULL,
2433 1.1 alnsn 0x1802000000000000ULL,
2434 1.1 alnsn -1ULL
2435 1.1 alnsn }
2436 1.1 alnsn #endif
2437 1.1 alnsn },
2438 1.1 alnsn { "addi", TILEGX_OPC_ADDI, 0xf, 3, TREG_ZERO, 1,
2439 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } },
2440 1.1 alnsn #ifndef DISASM_ONLY
2441 1.1 alnsn {
2442 1.1 alnsn 0xc00000007ff00000ULL,
2443 1.1 alnsn 0xfff8000000000000ULL,
2444 1.1 alnsn 0x0000000078000000ULL,
2445 1.1 alnsn 0x3c00000000000000ULL,
2446 1.1 alnsn 0ULL
2447 1.1 alnsn },
2448 1.1 alnsn {
2449 1.1 alnsn 0x0000000040100000ULL,
2450 1.1 alnsn 0x1808000000000000ULL,
2451 1.1 alnsn 0ULL,
2452 1.1 alnsn 0x0400000000000000ULL,
2453 1.1 alnsn -1ULL
2454 1.1 alnsn }
2455 1.1 alnsn #endif
2456 1.1 alnsn },
2457 1.1 alnsn { "addli", TILEGX_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1,
2458 1.1 alnsn { { 8, 9, 4 }, { 6, 7, 5 }, { 0, }, { 0, }, { 0, } },
2459 1.1 alnsn #ifndef DISASM_ONLY
2460 1.1 alnsn {
2461 1.1 alnsn 0xc000000070000000ULL,
2462 1.1 alnsn 0xf800000000000000ULL,
2463 1.1 alnsn 0ULL,
2464 1.1 alnsn 0ULL,
2465 1.1 alnsn 0ULL
2466 1.1 alnsn },
2467 1.1 alnsn {
2468 1.1 alnsn 0x0000000010000000ULL,
2469 1.1 alnsn 0ULL,
2470 1.1 alnsn -1ULL,
2471 1.1 alnsn -1ULL,
2472 1.1 alnsn -1ULL
2473 1.1 alnsn }
2474 1.1 alnsn #endif
2475 1.1 alnsn },
2476 1.1 alnsn { "addx", TILEGX_OPC_ADDX, 0xf, 3, TREG_ZERO, 1,
2477 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
2478 1.1 alnsn #ifndef DISASM_ONLY
2479 1.1 alnsn {
2480 1.1 alnsn 0xc00000007ffc0000ULL,
2481 1.1 alnsn 0xfffe000000000000ULL,
2482 1.1 alnsn 0x00000000780c0000ULL,
2483 1.1 alnsn 0x3c06000000000000ULL,
2484 1.1 alnsn 0ULL
2485 1.1 alnsn },
2486 1.1 alnsn {
2487 1.1 alnsn 0x0000000050080000ULL,
2488 1.1 alnsn 0x2804000000000000ULL,
2489 1.1 alnsn 0x0000000028000000ULL,
2490 1.1 alnsn 0x1800000000000000ULL,
2491 1.1 alnsn -1ULL
2492 1.1 alnsn }
2493 1.1 alnsn #endif
2494 1.1 alnsn },
2495 1.1 alnsn { "addxi", TILEGX_OPC_ADDXI, 0xf, 3, TREG_ZERO, 1,
2496 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } },
2497 1.1 alnsn #ifndef DISASM_ONLY
2498 1.1 alnsn {
2499 1.1 alnsn 0xc00000007ff00000ULL,
2500 1.1 alnsn 0xfff8000000000000ULL,
2501 1.1 alnsn 0x0000000078000000ULL,
2502 1.1 alnsn 0x3c00000000000000ULL,
2503 1.1 alnsn 0ULL
2504 1.1 alnsn },
2505 1.1 alnsn {
2506 1.1 alnsn 0x0000000040200000ULL,
2507 1.1 alnsn 0x1810000000000000ULL,
2508 1.1 alnsn 0x0000000008000000ULL,
2509 1.1 alnsn 0x0800000000000000ULL,
2510 1.1 alnsn -1ULL
2511 1.1 alnsn }
2512 1.1 alnsn #endif
2513 1.1 alnsn },
2514 1.1 alnsn { "addxli", TILEGX_OPC_ADDXLI, 0x3, 3, TREG_ZERO, 1,
2515 1.1 alnsn { { 8, 9, 4 }, { 6, 7, 5 }, { 0, }, { 0, }, { 0, } },
2516 1.1 alnsn #ifndef DISASM_ONLY
2517 1.1 alnsn {
2518 1.1 alnsn 0xc000000070000000ULL,
2519 1.1 alnsn 0xf800000000000000ULL,
2520 1.1 alnsn 0ULL,
2521 1.1 alnsn 0ULL,
2522 1.1 alnsn 0ULL
2523 1.1 alnsn },
2524 1.1 alnsn {
2525 1.1 alnsn 0x0000000020000000ULL,
2526 1.1 alnsn 0x0800000000000000ULL,
2527 1.1 alnsn -1ULL,
2528 1.1 alnsn -1ULL,
2529 1.1 alnsn -1ULL
2530 1.1 alnsn }
2531 1.1 alnsn #endif
2532 1.1 alnsn },
2533 1.1 alnsn { "addxsc", TILEGX_OPC_ADDXSC, 0x3, 3, TREG_ZERO, 1,
2534 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
2535 1.1 alnsn #ifndef DISASM_ONLY
2536 1.1 alnsn {
2537 1.1 alnsn 0xc00000007ffc0000ULL,
2538 1.1 alnsn 0xfffe000000000000ULL,
2539 1.1 alnsn 0ULL,
2540 1.1 alnsn 0ULL,
2541 1.1 alnsn 0ULL
2542 1.1 alnsn },
2543 1.1 alnsn {
2544 1.1 alnsn 0x0000000050040000ULL,
2545 1.1 alnsn 0x2802000000000000ULL,
2546 1.1 alnsn -1ULL,
2547 1.1 alnsn -1ULL,
2548 1.1 alnsn -1ULL
2549 1.1 alnsn }
2550 1.1 alnsn #endif
2551 1.1 alnsn },
2552 1.1 alnsn { "and", TILEGX_OPC_AND, 0xf, 3, TREG_ZERO, 1,
2553 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
2554 1.1 alnsn #ifndef DISASM_ONLY
2555 1.1 alnsn {
2556 1.1 alnsn 0xc00000007ffc0000ULL,
2557 1.1 alnsn 0xfffe000000000000ULL,
2558 1.1 alnsn 0x00000000780c0000ULL,
2559 1.1 alnsn 0x3c06000000000000ULL,
2560 1.1 alnsn 0ULL
2561 1.1 alnsn },
2562 1.1 alnsn {
2563 1.1 alnsn 0x0000000050100000ULL,
2564 1.1 alnsn 0x2808000000000000ULL,
2565 1.1 alnsn 0x0000000050000000ULL,
2566 1.1 alnsn 0x2c00000000000000ULL,
2567 1.1 alnsn -1ULL
2568 1.1 alnsn }
2569 1.1 alnsn #endif
2570 1.1 alnsn },
2571 1.1 alnsn { "andi", TILEGX_OPC_ANDI, 0xf, 3, TREG_ZERO, 1,
2572 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } },
2573 1.1 alnsn #ifndef DISASM_ONLY
2574 1.1 alnsn {
2575 1.1 alnsn 0xc00000007ff00000ULL,
2576 1.1 alnsn 0xfff8000000000000ULL,
2577 1.1 alnsn 0x0000000078000000ULL,
2578 1.1 alnsn 0x3c00000000000000ULL,
2579 1.1 alnsn 0ULL
2580 1.1 alnsn },
2581 1.1 alnsn {
2582 1.1 alnsn 0x0000000040300000ULL,
2583 1.1 alnsn 0x1818000000000000ULL,
2584 1.1 alnsn 0x0000000010000000ULL,
2585 1.1 alnsn 0x0c00000000000000ULL,
2586 1.1 alnsn -1ULL
2587 1.1 alnsn }
2588 1.1 alnsn #endif
2589 1.1 alnsn },
2590 1.1 alnsn { "beqz", TILEGX_OPC_BEQZ, 0x2, 2, TREG_ZERO, 1,
2591 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2592 1.1 alnsn #ifndef DISASM_ONLY
2593 1.1 alnsn {
2594 1.1 alnsn 0ULL,
2595 1.1 alnsn 0xffc0000000000000ULL,
2596 1.1 alnsn 0ULL,
2597 1.1 alnsn 0ULL,
2598 1.1 alnsn 0ULL
2599 1.1 alnsn },
2600 1.1 alnsn {
2601 1.1 alnsn -1ULL,
2602 1.1 alnsn 0x1440000000000000ULL,
2603 1.1 alnsn -1ULL,
2604 1.1 alnsn -1ULL,
2605 1.1 alnsn -1ULL
2606 1.1 alnsn }
2607 1.1 alnsn #endif
2608 1.1 alnsn },
2609 1.1 alnsn { "beqzt", TILEGX_OPC_BEQZT, 0x2, 2, TREG_ZERO, 1,
2610 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2611 1.1 alnsn #ifndef DISASM_ONLY
2612 1.1 alnsn {
2613 1.1 alnsn 0ULL,
2614 1.1 alnsn 0xffc0000000000000ULL,
2615 1.1 alnsn 0ULL,
2616 1.1 alnsn 0ULL,
2617 1.1 alnsn 0ULL
2618 1.1 alnsn },
2619 1.1 alnsn {
2620 1.1 alnsn -1ULL,
2621 1.1 alnsn 0x1400000000000000ULL,
2622 1.1 alnsn -1ULL,
2623 1.1 alnsn -1ULL,
2624 1.1 alnsn -1ULL
2625 1.1 alnsn }
2626 1.1 alnsn #endif
2627 1.1 alnsn },
2628 1.1 alnsn { "bfexts", TILEGX_OPC_BFEXTS, 0x1, 4, TREG_ZERO, 1,
2629 1.1 alnsn { { 8, 9, 21, 22 }, { 0, }, { 0, }, { 0, }, { 0, } },
2630 1.1 alnsn #ifndef DISASM_ONLY
2631 1.1 alnsn {
2632 1.1 alnsn 0xc00000007f000000ULL,
2633 1.1 alnsn 0ULL,
2634 1.1 alnsn 0ULL,
2635 1.1 alnsn 0ULL,
2636 1.1 alnsn 0ULL
2637 1.1 alnsn },
2638 1.1 alnsn {
2639 1.1 alnsn 0x0000000034000000ULL,
2640 1.1 alnsn -1ULL,
2641 1.1 alnsn -1ULL,
2642 1.1 alnsn -1ULL,
2643 1.1 alnsn -1ULL
2644 1.1 alnsn }
2645 1.1 alnsn #endif
2646 1.1 alnsn },
2647 1.1 alnsn { "bfextu", TILEGX_OPC_BFEXTU, 0x1, 4, TREG_ZERO, 1,
2648 1.1 alnsn { { 8, 9, 21, 22 }, { 0, }, { 0, }, { 0, }, { 0, } },
2649 1.1 alnsn #ifndef DISASM_ONLY
2650 1.1 alnsn {
2651 1.1 alnsn 0xc00000007f000000ULL,
2652 1.1 alnsn 0ULL,
2653 1.1 alnsn 0ULL,
2654 1.1 alnsn 0ULL,
2655 1.1 alnsn 0ULL
2656 1.1 alnsn },
2657 1.1 alnsn {
2658 1.1 alnsn 0x0000000035000000ULL,
2659 1.1 alnsn -1ULL,
2660 1.1 alnsn -1ULL,
2661 1.1 alnsn -1ULL,
2662 1.1 alnsn -1ULL
2663 1.1 alnsn }
2664 1.1 alnsn #endif
2665 1.1 alnsn },
2666 1.1 alnsn { "bfins", TILEGX_OPC_BFINS, 0x1, 4, TREG_ZERO, 1,
2667 1.1 alnsn { { 23, 9, 21, 22 }, { 0, }, { 0, }, { 0, }, { 0, } },
2668 1.1 alnsn #ifndef DISASM_ONLY
2669 1.1 alnsn {
2670 1.1 alnsn 0xc00000007f000000ULL,
2671 1.1 alnsn 0ULL,
2672 1.1 alnsn 0ULL,
2673 1.1 alnsn 0ULL,
2674 1.1 alnsn 0ULL
2675 1.1 alnsn },
2676 1.1 alnsn {
2677 1.1 alnsn 0x0000000036000000ULL,
2678 1.1 alnsn -1ULL,
2679 1.1 alnsn -1ULL,
2680 1.1 alnsn -1ULL,
2681 1.1 alnsn -1ULL
2682 1.1 alnsn }
2683 1.1 alnsn #endif
2684 1.1 alnsn },
2685 1.1 alnsn { "bgez", TILEGX_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1,
2686 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2687 1.1 alnsn #ifndef DISASM_ONLY
2688 1.1 alnsn {
2689 1.1 alnsn 0ULL,
2690 1.1 alnsn 0xffc0000000000000ULL,
2691 1.1 alnsn 0ULL,
2692 1.1 alnsn 0ULL,
2693 1.1 alnsn 0ULL
2694 1.1 alnsn },
2695 1.1 alnsn {
2696 1.1 alnsn -1ULL,
2697 1.1 alnsn 0x14c0000000000000ULL,
2698 1.1 alnsn -1ULL,
2699 1.1 alnsn -1ULL,
2700 1.1 alnsn -1ULL
2701 1.1 alnsn }
2702 1.1 alnsn #endif
2703 1.1 alnsn },
2704 1.1 alnsn { "bgezt", TILEGX_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1,
2705 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2706 1.1 alnsn #ifndef DISASM_ONLY
2707 1.1 alnsn {
2708 1.1 alnsn 0ULL,
2709 1.1 alnsn 0xffc0000000000000ULL,
2710 1.1 alnsn 0ULL,
2711 1.1 alnsn 0ULL,
2712 1.1 alnsn 0ULL
2713 1.1 alnsn },
2714 1.1 alnsn {
2715 1.1 alnsn -1ULL,
2716 1.1 alnsn 0x1480000000000000ULL,
2717 1.1 alnsn -1ULL,
2718 1.1 alnsn -1ULL,
2719 1.1 alnsn -1ULL
2720 1.1 alnsn }
2721 1.1 alnsn #endif
2722 1.1 alnsn },
2723 1.1 alnsn { "bgtz", TILEGX_OPC_BGTZ, 0x2, 2, TREG_ZERO, 1,
2724 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2725 1.1 alnsn #ifndef DISASM_ONLY
2726 1.1 alnsn {
2727 1.1 alnsn 0ULL,
2728 1.1 alnsn 0xffc0000000000000ULL,
2729 1.1 alnsn 0ULL,
2730 1.1 alnsn 0ULL,
2731 1.1 alnsn 0ULL
2732 1.1 alnsn },
2733 1.1 alnsn {
2734 1.1 alnsn -1ULL,
2735 1.1 alnsn 0x1540000000000000ULL,
2736 1.1 alnsn -1ULL,
2737 1.1 alnsn -1ULL,
2738 1.1 alnsn -1ULL
2739 1.1 alnsn }
2740 1.1 alnsn #endif
2741 1.1 alnsn },
2742 1.1 alnsn { "bgtzt", TILEGX_OPC_BGTZT, 0x2, 2, TREG_ZERO, 1,
2743 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2744 1.1 alnsn #ifndef DISASM_ONLY
2745 1.1 alnsn {
2746 1.1 alnsn 0ULL,
2747 1.1 alnsn 0xffc0000000000000ULL,
2748 1.1 alnsn 0ULL,
2749 1.1 alnsn 0ULL,
2750 1.1 alnsn 0ULL
2751 1.1 alnsn },
2752 1.1 alnsn {
2753 1.1 alnsn -1ULL,
2754 1.1 alnsn 0x1500000000000000ULL,
2755 1.1 alnsn -1ULL,
2756 1.1 alnsn -1ULL,
2757 1.1 alnsn -1ULL
2758 1.1 alnsn }
2759 1.1 alnsn #endif
2760 1.1 alnsn },
2761 1.1 alnsn { "blbc", TILEGX_OPC_BLBC, 0x2, 2, TREG_ZERO, 1,
2762 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2763 1.1 alnsn #ifndef DISASM_ONLY
2764 1.1 alnsn {
2765 1.1 alnsn 0ULL,
2766 1.1 alnsn 0xffc0000000000000ULL,
2767 1.1 alnsn 0ULL,
2768 1.1 alnsn 0ULL,
2769 1.1 alnsn 0ULL
2770 1.1 alnsn },
2771 1.1 alnsn {
2772 1.1 alnsn -1ULL,
2773 1.1 alnsn 0x15c0000000000000ULL,
2774 1.1 alnsn -1ULL,
2775 1.1 alnsn -1ULL,
2776 1.1 alnsn -1ULL
2777 1.1 alnsn }
2778 1.1 alnsn #endif
2779 1.1 alnsn },
2780 1.1 alnsn { "blbct", TILEGX_OPC_BLBCT, 0x2, 2, TREG_ZERO, 1,
2781 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2782 1.1 alnsn #ifndef DISASM_ONLY
2783 1.1 alnsn {
2784 1.1 alnsn 0ULL,
2785 1.1 alnsn 0xffc0000000000000ULL,
2786 1.1 alnsn 0ULL,
2787 1.1 alnsn 0ULL,
2788 1.1 alnsn 0ULL
2789 1.1 alnsn },
2790 1.1 alnsn {
2791 1.1 alnsn -1ULL,
2792 1.1 alnsn 0x1580000000000000ULL,
2793 1.1 alnsn -1ULL,
2794 1.1 alnsn -1ULL,
2795 1.1 alnsn -1ULL
2796 1.1 alnsn }
2797 1.1 alnsn #endif
2798 1.1 alnsn },
2799 1.1 alnsn { "blbs", TILEGX_OPC_BLBS, 0x2, 2, TREG_ZERO, 1,
2800 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2801 1.1 alnsn #ifndef DISASM_ONLY
2802 1.1 alnsn {
2803 1.1 alnsn 0ULL,
2804 1.1 alnsn 0xffc0000000000000ULL,
2805 1.1 alnsn 0ULL,
2806 1.1 alnsn 0ULL,
2807 1.1 alnsn 0ULL
2808 1.1 alnsn },
2809 1.1 alnsn {
2810 1.1 alnsn -1ULL,
2811 1.1 alnsn 0x1640000000000000ULL,
2812 1.1 alnsn -1ULL,
2813 1.1 alnsn -1ULL,
2814 1.1 alnsn -1ULL
2815 1.1 alnsn }
2816 1.1 alnsn #endif
2817 1.1 alnsn },
2818 1.1 alnsn { "blbst", TILEGX_OPC_BLBST, 0x2, 2, TREG_ZERO, 1,
2819 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2820 1.1 alnsn #ifndef DISASM_ONLY
2821 1.1 alnsn {
2822 1.1 alnsn 0ULL,
2823 1.1 alnsn 0xffc0000000000000ULL,
2824 1.1 alnsn 0ULL,
2825 1.1 alnsn 0ULL,
2826 1.1 alnsn 0ULL
2827 1.1 alnsn },
2828 1.1 alnsn {
2829 1.1 alnsn -1ULL,
2830 1.1 alnsn 0x1600000000000000ULL,
2831 1.1 alnsn -1ULL,
2832 1.1 alnsn -1ULL,
2833 1.1 alnsn -1ULL
2834 1.1 alnsn }
2835 1.1 alnsn #endif
2836 1.1 alnsn },
2837 1.1 alnsn { "blez", TILEGX_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1,
2838 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2839 1.1 alnsn #ifndef DISASM_ONLY
2840 1.1 alnsn {
2841 1.1 alnsn 0ULL,
2842 1.1 alnsn 0xffc0000000000000ULL,
2843 1.1 alnsn 0ULL,
2844 1.1 alnsn 0ULL,
2845 1.1 alnsn 0ULL
2846 1.1 alnsn },
2847 1.1 alnsn {
2848 1.1 alnsn -1ULL,
2849 1.1 alnsn 0x16c0000000000000ULL,
2850 1.1 alnsn -1ULL,
2851 1.1 alnsn -1ULL,
2852 1.1 alnsn -1ULL
2853 1.1 alnsn }
2854 1.1 alnsn #endif
2855 1.1 alnsn },
2856 1.1 alnsn { "blezt", TILEGX_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1,
2857 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2858 1.1 alnsn #ifndef DISASM_ONLY
2859 1.1 alnsn {
2860 1.1 alnsn 0ULL,
2861 1.1 alnsn 0xffc0000000000000ULL,
2862 1.1 alnsn 0ULL,
2863 1.1 alnsn 0ULL,
2864 1.1 alnsn 0ULL
2865 1.1 alnsn },
2866 1.1 alnsn {
2867 1.1 alnsn -1ULL,
2868 1.1 alnsn 0x1680000000000000ULL,
2869 1.1 alnsn -1ULL,
2870 1.1 alnsn -1ULL,
2871 1.1 alnsn -1ULL
2872 1.1 alnsn }
2873 1.1 alnsn #endif
2874 1.1 alnsn },
2875 1.1 alnsn { "bltz", TILEGX_OPC_BLTZ, 0x2, 2, TREG_ZERO, 1,
2876 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2877 1.1 alnsn #ifndef DISASM_ONLY
2878 1.1 alnsn {
2879 1.1 alnsn 0ULL,
2880 1.1 alnsn 0xffc0000000000000ULL,
2881 1.1 alnsn 0ULL,
2882 1.1 alnsn 0ULL,
2883 1.1 alnsn 0ULL
2884 1.1 alnsn },
2885 1.1 alnsn {
2886 1.1 alnsn -1ULL,
2887 1.1 alnsn 0x1740000000000000ULL,
2888 1.1 alnsn -1ULL,
2889 1.1 alnsn -1ULL,
2890 1.1 alnsn -1ULL
2891 1.1 alnsn }
2892 1.1 alnsn #endif
2893 1.1 alnsn },
2894 1.1 alnsn { "bltzt", TILEGX_OPC_BLTZT, 0x2, 2, TREG_ZERO, 1,
2895 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2896 1.1 alnsn #ifndef DISASM_ONLY
2897 1.1 alnsn {
2898 1.1 alnsn 0ULL,
2899 1.1 alnsn 0xffc0000000000000ULL,
2900 1.1 alnsn 0ULL,
2901 1.1 alnsn 0ULL,
2902 1.1 alnsn 0ULL
2903 1.1 alnsn },
2904 1.1 alnsn {
2905 1.1 alnsn -1ULL,
2906 1.1 alnsn 0x1700000000000000ULL,
2907 1.1 alnsn -1ULL,
2908 1.1 alnsn -1ULL,
2909 1.1 alnsn -1ULL
2910 1.1 alnsn }
2911 1.1 alnsn #endif
2912 1.1 alnsn },
2913 1.1 alnsn { "bnez", TILEGX_OPC_BNEZ, 0x2, 2, TREG_ZERO, 1,
2914 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2915 1.1 alnsn #ifndef DISASM_ONLY
2916 1.1 alnsn {
2917 1.1 alnsn 0ULL,
2918 1.1 alnsn 0xffc0000000000000ULL,
2919 1.1 alnsn 0ULL,
2920 1.1 alnsn 0ULL,
2921 1.1 alnsn 0ULL
2922 1.1 alnsn },
2923 1.1 alnsn {
2924 1.1 alnsn -1ULL,
2925 1.1 alnsn 0x17c0000000000000ULL,
2926 1.1 alnsn -1ULL,
2927 1.1 alnsn -1ULL,
2928 1.1 alnsn -1ULL
2929 1.1 alnsn }
2930 1.1 alnsn #endif
2931 1.1 alnsn },
2932 1.1 alnsn { "bnezt", TILEGX_OPC_BNEZT, 0x2, 2, TREG_ZERO, 1,
2933 1.1 alnsn { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } },
2934 1.1 alnsn #ifndef DISASM_ONLY
2935 1.1 alnsn {
2936 1.1 alnsn 0ULL,
2937 1.1 alnsn 0xffc0000000000000ULL,
2938 1.1 alnsn 0ULL,
2939 1.1 alnsn 0ULL,
2940 1.1 alnsn 0ULL
2941 1.1 alnsn },
2942 1.1 alnsn {
2943 1.1 alnsn -1ULL,
2944 1.1 alnsn 0x1780000000000000ULL,
2945 1.1 alnsn -1ULL,
2946 1.1 alnsn -1ULL,
2947 1.1 alnsn -1ULL
2948 1.1 alnsn }
2949 1.1 alnsn #endif
2950 1.1 alnsn },
2951 1.1 alnsn { "clz", TILEGX_OPC_CLZ, 0x5, 2, TREG_ZERO, 1,
2952 1.1 alnsn { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } },
2953 1.1 alnsn #ifndef DISASM_ONLY
2954 1.1 alnsn {
2955 1.1 alnsn 0xc00000007ffff000ULL,
2956 1.1 alnsn 0ULL,
2957 1.1 alnsn 0x00000000780ff000ULL,
2958 1.1 alnsn 0ULL,
2959 1.1 alnsn 0ULL
2960 1.1 alnsn },
2961 1.1 alnsn {
2962 1.1 alnsn 0x0000000051481000ULL,
2963 1.1 alnsn -1ULL,
2964 1.1 alnsn 0x00000000300c1000ULL,
2965 1.1 alnsn -1ULL,
2966 1.1 alnsn -1ULL
2967 1.1 alnsn }
2968 1.1 alnsn #endif
2969 1.1 alnsn },
2970 1.1 alnsn { "cmoveqz", TILEGX_OPC_CMOVEQZ, 0x5, 3, TREG_ZERO, 1,
2971 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } },
2972 1.1 alnsn #ifndef DISASM_ONLY
2973 1.1 alnsn {
2974 1.1 alnsn 0xc00000007ffc0000ULL,
2975 1.1 alnsn 0ULL,
2976 1.1 alnsn 0x00000000780c0000ULL,
2977 1.1 alnsn 0ULL,
2978 1.1 alnsn 0ULL
2979 1.1 alnsn },
2980 1.1 alnsn {
2981 1.1 alnsn 0x0000000050140000ULL,
2982 1.1 alnsn -1ULL,
2983 1.1 alnsn 0x0000000048000000ULL,
2984 1.1 alnsn -1ULL,
2985 1.1 alnsn -1ULL
2986 1.1 alnsn }
2987 1.1 alnsn #endif
2988 1.1 alnsn },
2989 1.1 alnsn { "cmovnez", TILEGX_OPC_CMOVNEZ, 0x5, 3, TREG_ZERO, 1,
2990 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } },
2991 1.1 alnsn #ifndef DISASM_ONLY
2992 1.1 alnsn {
2993 1.1 alnsn 0xc00000007ffc0000ULL,
2994 1.1 alnsn 0ULL,
2995 1.1 alnsn 0x00000000780c0000ULL,
2996 1.1 alnsn 0ULL,
2997 1.1 alnsn 0ULL
2998 1.1 alnsn },
2999 1.1 alnsn {
3000 1.1 alnsn 0x0000000050180000ULL,
3001 1.1 alnsn -1ULL,
3002 1.1 alnsn 0x0000000048040000ULL,
3003 1.1 alnsn -1ULL,
3004 1.1 alnsn -1ULL
3005 1.1 alnsn }
3006 1.1 alnsn #endif
3007 1.1 alnsn },
3008 1.1 alnsn { "cmpeq", TILEGX_OPC_CMPEQ, 0xf, 3, TREG_ZERO, 1,
3009 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
3010 1.1 alnsn #ifndef DISASM_ONLY
3011 1.1 alnsn {
3012 1.1 alnsn 0xc00000007ffc0000ULL,
3013 1.1 alnsn 0xfffe000000000000ULL,
3014 1.1 alnsn 0x00000000780c0000ULL,
3015 1.1 alnsn 0x3c06000000000000ULL,
3016 1.1 alnsn 0ULL
3017 1.1 alnsn },
3018 1.1 alnsn {
3019 1.1 alnsn 0x00000000501c0000ULL,
3020 1.1 alnsn 0x280a000000000000ULL,
3021 1.1 alnsn 0x0000000040000000ULL,
3022 1.1 alnsn 0x2404000000000000ULL,
3023 1.1 alnsn -1ULL
3024 1.1 alnsn }
3025 1.1 alnsn #endif
3026 1.1 alnsn },
3027 1.1 alnsn { "cmpeqi", TILEGX_OPC_CMPEQI, 0xf, 3, TREG_ZERO, 1,
3028 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } },
3029 1.1 alnsn #ifndef DISASM_ONLY
3030 1.1 alnsn {
3031 1.1 alnsn 0xc00000007ff00000ULL,
3032 1.1 alnsn 0xfff8000000000000ULL,
3033 1.1 alnsn 0x0000000078000000ULL,
3034 1.1 alnsn 0x3c00000000000000ULL,
3035 1.1 alnsn 0ULL
3036 1.1 alnsn },
3037 1.1 alnsn {
3038 1.1 alnsn 0x0000000040400000ULL,
3039 1.1 alnsn 0x1820000000000000ULL,
3040 1.1 alnsn 0x0000000018000000ULL,
3041 1.1 alnsn 0x1000000000000000ULL,
3042 1.1 alnsn -1ULL
3043 1.1 alnsn }
3044 1.1 alnsn #endif
3045 1.1 alnsn },
3046 1.1 alnsn { "cmpexch", TILEGX_OPC_CMPEXCH, 0x2, 3, TREG_ZERO, 1,
3047 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3048 1.1 alnsn #ifndef DISASM_ONLY
3049 1.1 alnsn {
3050 1.1 alnsn 0ULL,
3051 1.1 alnsn 0xfffe000000000000ULL,
3052 1.1 alnsn 0ULL,
3053 1.1 alnsn 0ULL,
3054 1.1 alnsn 0ULL
3055 1.1 alnsn },
3056 1.1 alnsn {
3057 1.1 alnsn -1ULL,
3058 1.1 alnsn 0x280e000000000000ULL,
3059 1.1 alnsn -1ULL,
3060 1.1 alnsn -1ULL,
3061 1.1 alnsn -1ULL
3062 1.1 alnsn }
3063 1.1 alnsn #endif
3064 1.1 alnsn },
3065 1.1 alnsn { "cmpexch4", TILEGX_OPC_CMPEXCH4, 0x2, 3, TREG_ZERO, 1,
3066 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3067 1.1 alnsn #ifndef DISASM_ONLY
3068 1.1 alnsn {
3069 1.1 alnsn 0ULL,
3070 1.1 alnsn 0xfffe000000000000ULL,
3071 1.1 alnsn 0ULL,
3072 1.1 alnsn 0ULL,
3073 1.1 alnsn 0ULL
3074 1.1 alnsn },
3075 1.1 alnsn {
3076 1.1 alnsn -1ULL,
3077 1.1 alnsn 0x280c000000000000ULL,
3078 1.1 alnsn -1ULL,
3079 1.1 alnsn -1ULL,
3080 1.1 alnsn -1ULL
3081 1.1 alnsn }
3082 1.1 alnsn #endif
3083 1.1 alnsn },
3084 1.1 alnsn { "cmples", TILEGX_OPC_CMPLES, 0xf, 3, TREG_ZERO, 1,
3085 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
3086 1.1 alnsn #ifndef DISASM_ONLY
3087 1.1 alnsn {
3088 1.1 alnsn 0xc00000007ffc0000ULL,
3089 1.1 alnsn 0xfffe000000000000ULL,
3090 1.1 alnsn 0x00000000780c0000ULL,
3091 1.1 alnsn 0x3c06000000000000ULL,
3092 1.1 alnsn 0ULL
3093 1.1 alnsn },
3094 1.1 alnsn {
3095 1.1 alnsn 0x0000000050200000ULL,
3096 1.1 alnsn 0x2810000000000000ULL,
3097 1.1 alnsn 0x0000000038000000ULL,
3098 1.1 alnsn 0x2000000000000000ULL,
3099 1.1 alnsn -1ULL
3100 1.1 alnsn }
3101 1.1 alnsn #endif
3102 1.1 alnsn },
3103 1.1 alnsn { "cmpleu", TILEGX_OPC_CMPLEU, 0xf, 3, TREG_ZERO, 1,
3104 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
3105 1.1 alnsn #ifndef DISASM_ONLY
3106 1.1 alnsn {
3107 1.1 alnsn 0xc00000007ffc0000ULL,
3108 1.1 alnsn 0xfffe000000000000ULL,
3109 1.1 alnsn 0x00000000780c0000ULL,
3110 1.1 alnsn 0x3c06000000000000ULL,
3111 1.1 alnsn 0ULL
3112 1.1 alnsn },
3113 1.1 alnsn {
3114 1.1 alnsn 0x0000000050240000ULL,
3115 1.1 alnsn 0x2812000000000000ULL,
3116 1.1 alnsn 0x0000000038040000ULL,
3117 1.1 alnsn 0x2002000000000000ULL,
3118 1.1 alnsn -1ULL
3119 1.1 alnsn }
3120 1.1 alnsn #endif
3121 1.1 alnsn },
3122 1.1 alnsn { "cmplts", TILEGX_OPC_CMPLTS, 0xf, 3, TREG_ZERO, 1,
3123 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
3124 1.1 alnsn #ifndef DISASM_ONLY
3125 1.1 alnsn {
3126 1.1 alnsn 0xc00000007ffc0000ULL,
3127 1.1 alnsn 0xfffe000000000000ULL,
3128 1.1 alnsn 0x00000000780c0000ULL,
3129 1.1 alnsn 0x3c06000000000000ULL,
3130 1.1 alnsn 0ULL
3131 1.1 alnsn },
3132 1.1 alnsn {
3133 1.1 alnsn 0x0000000050280000ULL,
3134 1.1 alnsn 0x2814000000000000ULL,
3135 1.1 alnsn 0x0000000038080000ULL,
3136 1.1 alnsn 0x2004000000000000ULL,
3137 1.1 alnsn -1ULL
3138 1.1 alnsn }
3139 1.1 alnsn #endif
3140 1.1 alnsn },
3141 1.1 alnsn { "cmpltsi", TILEGX_OPC_CMPLTSI, 0xf, 3, TREG_ZERO, 1,
3142 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } },
3143 1.1 alnsn #ifndef DISASM_ONLY
3144 1.1 alnsn {
3145 1.1 alnsn 0xc00000007ff00000ULL,
3146 1.1 alnsn 0xfff8000000000000ULL,
3147 1.1 alnsn 0x0000000078000000ULL,
3148 1.1 alnsn 0x3c00000000000000ULL,
3149 1.1 alnsn 0ULL
3150 1.1 alnsn },
3151 1.1 alnsn {
3152 1.1 alnsn 0x0000000040500000ULL,
3153 1.1 alnsn 0x1828000000000000ULL,
3154 1.1 alnsn 0x0000000020000000ULL,
3155 1.1 alnsn 0x1400000000000000ULL,
3156 1.1 alnsn -1ULL
3157 1.1 alnsn }
3158 1.1 alnsn #endif
3159 1.1 alnsn },
3160 1.1 alnsn { "cmpltu", TILEGX_OPC_CMPLTU, 0xf, 3, TREG_ZERO, 1,
3161 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
3162 1.1 alnsn #ifndef DISASM_ONLY
3163 1.1 alnsn {
3164 1.1 alnsn 0xc00000007ffc0000ULL,
3165 1.1 alnsn 0xfffe000000000000ULL,
3166 1.1 alnsn 0x00000000780c0000ULL,
3167 1.1 alnsn 0x3c06000000000000ULL,
3168 1.1 alnsn 0ULL
3169 1.1 alnsn },
3170 1.1 alnsn {
3171 1.1 alnsn 0x00000000502c0000ULL,
3172 1.1 alnsn 0x2816000000000000ULL,
3173 1.1 alnsn 0x00000000380c0000ULL,
3174 1.1 alnsn 0x2006000000000000ULL,
3175 1.1 alnsn -1ULL
3176 1.1 alnsn }
3177 1.1 alnsn #endif
3178 1.1 alnsn },
3179 1.1 alnsn { "cmpltui", TILEGX_OPC_CMPLTUI, 0x3, 3, TREG_ZERO, 1,
3180 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
3181 1.1 alnsn #ifndef DISASM_ONLY
3182 1.1 alnsn {
3183 1.1 alnsn 0xc00000007ff00000ULL,
3184 1.1 alnsn 0xfff8000000000000ULL,
3185 1.1 alnsn 0ULL,
3186 1.1 alnsn 0ULL,
3187 1.1 alnsn 0ULL
3188 1.1 alnsn },
3189 1.1 alnsn {
3190 1.1 alnsn 0x0000000040600000ULL,
3191 1.1 alnsn 0x1830000000000000ULL,
3192 1.1 alnsn -1ULL,
3193 1.1 alnsn -1ULL,
3194 1.1 alnsn -1ULL
3195 1.1 alnsn }
3196 1.1 alnsn #endif
3197 1.1 alnsn },
3198 1.1 alnsn { "cmpne", TILEGX_OPC_CMPNE, 0xf, 3, TREG_ZERO, 1,
3199 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
3200 1.1 alnsn #ifndef DISASM_ONLY
3201 1.1 alnsn {
3202 1.1 alnsn 0xc00000007ffc0000ULL,
3203 1.1 alnsn 0xfffe000000000000ULL,
3204 1.1 alnsn 0x00000000780c0000ULL,
3205 1.1 alnsn 0x3c06000000000000ULL,
3206 1.1 alnsn 0ULL
3207 1.1 alnsn },
3208 1.1 alnsn {
3209 1.1 alnsn 0x0000000050300000ULL,
3210 1.1 alnsn 0x2818000000000000ULL,
3211 1.1 alnsn 0x0000000040040000ULL,
3212 1.1 alnsn 0x2406000000000000ULL,
3213 1.1 alnsn -1ULL
3214 1.1 alnsn }
3215 1.1 alnsn #endif
3216 1.1 alnsn },
3217 1.1 alnsn { "cmul", TILEGX_OPC_CMUL, 0x1, 3, TREG_ZERO, 1,
3218 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3219 1.1 alnsn #ifndef DISASM_ONLY
3220 1.1 alnsn {
3221 1.1 alnsn 0xc00000007ffc0000ULL,
3222 1.1 alnsn 0ULL,
3223 1.1 alnsn 0ULL,
3224 1.1 alnsn 0ULL,
3225 1.1 alnsn 0ULL
3226 1.1 alnsn },
3227 1.1 alnsn {
3228 1.1 alnsn 0x00000000504c0000ULL,
3229 1.1 alnsn -1ULL,
3230 1.1 alnsn -1ULL,
3231 1.1 alnsn -1ULL,
3232 1.1 alnsn -1ULL
3233 1.1 alnsn }
3234 1.1 alnsn #endif
3235 1.1 alnsn },
3236 1.1 alnsn { "cmula", TILEGX_OPC_CMULA, 0x1, 3, TREG_ZERO, 1,
3237 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3238 1.1 alnsn #ifndef DISASM_ONLY
3239 1.1 alnsn {
3240 1.1 alnsn 0xc00000007ffc0000ULL,
3241 1.1 alnsn 0ULL,
3242 1.1 alnsn 0ULL,
3243 1.1 alnsn 0ULL,
3244 1.1 alnsn 0ULL
3245 1.1 alnsn },
3246 1.1 alnsn {
3247 1.1 alnsn 0x0000000050380000ULL,
3248 1.1 alnsn -1ULL,
3249 1.1 alnsn -1ULL,
3250 1.1 alnsn -1ULL,
3251 1.1 alnsn -1ULL
3252 1.1 alnsn }
3253 1.1 alnsn #endif
3254 1.1 alnsn },
3255 1.1 alnsn { "cmulaf", TILEGX_OPC_CMULAF, 0x1, 3, TREG_ZERO, 1,
3256 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3257 1.1 alnsn #ifndef DISASM_ONLY
3258 1.1 alnsn {
3259 1.1 alnsn 0xc00000007ffc0000ULL,
3260 1.1 alnsn 0ULL,
3261 1.1 alnsn 0ULL,
3262 1.1 alnsn 0ULL,
3263 1.1 alnsn 0ULL
3264 1.1 alnsn },
3265 1.1 alnsn {
3266 1.1 alnsn 0x0000000050340000ULL,
3267 1.1 alnsn -1ULL,
3268 1.1 alnsn -1ULL,
3269 1.1 alnsn -1ULL,
3270 1.1 alnsn -1ULL
3271 1.1 alnsn }
3272 1.1 alnsn #endif
3273 1.1 alnsn },
3274 1.1 alnsn { "cmulf", TILEGX_OPC_CMULF, 0x1, 3, TREG_ZERO, 1,
3275 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3276 1.1 alnsn #ifndef DISASM_ONLY
3277 1.1 alnsn {
3278 1.1 alnsn 0xc00000007ffc0000ULL,
3279 1.1 alnsn 0ULL,
3280 1.1 alnsn 0ULL,
3281 1.1 alnsn 0ULL,
3282 1.1 alnsn 0ULL
3283 1.1 alnsn },
3284 1.1 alnsn {
3285 1.1 alnsn 0x0000000050400000ULL,
3286 1.1 alnsn -1ULL,
3287 1.1 alnsn -1ULL,
3288 1.1 alnsn -1ULL,
3289 1.1 alnsn -1ULL
3290 1.1 alnsn }
3291 1.1 alnsn #endif
3292 1.1 alnsn },
3293 1.1 alnsn { "cmulfr", TILEGX_OPC_CMULFR, 0x1, 3, TREG_ZERO, 1,
3294 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3295 1.1 alnsn #ifndef DISASM_ONLY
3296 1.1 alnsn {
3297 1.1 alnsn 0xc00000007ffc0000ULL,
3298 1.1 alnsn 0ULL,
3299 1.1 alnsn 0ULL,
3300 1.1 alnsn 0ULL,
3301 1.1 alnsn 0ULL
3302 1.1 alnsn },
3303 1.1 alnsn {
3304 1.1 alnsn 0x00000000503c0000ULL,
3305 1.1 alnsn -1ULL,
3306 1.1 alnsn -1ULL,
3307 1.1 alnsn -1ULL,
3308 1.1 alnsn -1ULL
3309 1.1 alnsn }
3310 1.1 alnsn #endif
3311 1.1 alnsn },
3312 1.1 alnsn { "cmulh", TILEGX_OPC_CMULH, 0x1, 3, TREG_ZERO, 1,
3313 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3314 1.1 alnsn #ifndef DISASM_ONLY
3315 1.1 alnsn {
3316 1.1 alnsn 0xc00000007ffc0000ULL,
3317 1.1 alnsn 0ULL,
3318 1.1 alnsn 0ULL,
3319 1.1 alnsn 0ULL,
3320 1.1 alnsn 0ULL
3321 1.1 alnsn },
3322 1.1 alnsn {
3323 1.1 alnsn 0x0000000050480000ULL,
3324 1.1 alnsn -1ULL,
3325 1.1 alnsn -1ULL,
3326 1.1 alnsn -1ULL,
3327 1.1 alnsn -1ULL
3328 1.1 alnsn }
3329 1.1 alnsn #endif
3330 1.1 alnsn },
3331 1.1 alnsn { "cmulhr", TILEGX_OPC_CMULHR, 0x1, 3, TREG_ZERO, 1,
3332 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3333 1.1 alnsn #ifndef DISASM_ONLY
3334 1.1 alnsn {
3335 1.1 alnsn 0xc00000007ffc0000ULL,
3336 1.1 alnsn 0ULL,
3337 1.1 alnsn 0ULL,
3338 1.1 alnsn 0ULL,
3339 1.1 alnsn 0ULL
3340 1.1 alnsn },
3341 1.1 alnsn {
3342 1.1 alnsn 0x0000000050440000ULL,
3343 1.1 alnsn -1ULL,
3344 1.1 alnsn -1ULL,
3345 1.1 alnsn -1ULL,
3346 1.1 alnsn -1ULL
3347 1.1 alnsn }
3348 1.1 alnsn #endif
3349 1.1 alnsn },
3350 1.1 alnsn { "crc32_32", TILEGX_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1,
3351 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3352 1.1 alnsn #ifndef DISASM_ONLY
3353 1.1 alnsn {
3354 1.1 alnsn 0xc00000007ffc0000ULL,
3355 1.1 alnsn 0ULL,
3356 1.1 alnsn 0ULL,
3357 1.1 alnsn 0ULL,
3358 1.1 alnsn 0ULL
3359 1.1 alnsn },
3360 1.1 alnsn {
3361 1.1 alnsn 0x0000000050500000ULL,
3362 1.1 alnsn -1ULL,
3363 1.1 alnsn -1ULL,
3364 1.1 alnsn -1ULL,
3365 1.1 alnsn -1ULL
3366 1.1 alnsn }
3367 1.1 alnsn #endif
3368 1.1 alnsn },
3369 1.1 alnsn { "crc32_8", TILEGX_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1,
3370 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3371 1.1 alnsn #ifndef DISASM_ONLY
3372 1.1 alnsn {
3373 1.1 alnsn 0xc00000007ffc0000ULL,
3374 1.1 alnsn 0ULL,
3375 1.1 alnsn 0ULL,
3376 1.1 alnsn 0ULL,
3377 1.1 alnsn 0ULL
3378 1.1 alnsn },
3379 1.1 alnsn {
3380 1.1 alnsn 0x0000000050540000ULL,
3381 1.1 alnsn -1ULL,
3382 1.1 alnsn -1ULL,
3383 1.1 alnsn -1ULL,
3384 1.1 alnsn -1ULL
3385 1.1 alnsn }
3386 1.1 alnsn #endif
3387 1.1 alnsn },
3388 1.1 alnsn { "ctz", TILEGX_OPC_CTZ, 0x5, 2, TREG_ZERO, 1,
3389 1.1 alnsn { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } },
3390 1.1 alnsn #ifndef DISASM_ONLY
3391 1.1 alnsn {
3392 1.1 alnsn 0xc00000007ffff000ULL,
3393 1.1 alnsn 0ULL,
3394 1.1 alnsn 0x00000000780ff000ULL,
3395 1.1 alnsn 0ULL,
3396 1.1 alnsn 0ULL
3397 1.1 alnsn },
3398 1.1 alnsn {
3399 1.1 alnsn 0x0000000051482000ULL,
3400 1.1 alnsn -1ULL,
3401 1.1 alnsn 0x00000000300c2000ULL,
3402 1.1 alnsn -1ULL,
3403 1.1 alnsn -1ULL
3404 1.1 alnsn }
3405 1.1 alnsn #endif
3406 1.1 alnsn },
3407 1.1 alnsn { "dblalign", TILEGX_OPC_DBLALIGN, 0x1, 3, TREG_ZERO, 1,
3408 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3409 1.1 alnsn #ifndef DISASM_ONLY
3410 1.1 alnsn {
3411 1.1 alnsn 0xc00000007ffc0000ULL,
3412 1.1 alnsn 0ULL,
3413 1.1 alnsn 0ULL,
3414 1.1 alnsn 0ULL,
3415 1.1 alnsn 0ULL
3416 1.1 alnsn },
3417 1.1 alnsn {
3418 1.1 alnsn 0x0000000050640000ULL,
3419 1.1 alnsn -1ULL,
3420 1.1 alnsn -1ULL,
3421 1.1 alnsn -1ULL,
3422 1.1 alnsn -1ULL
3423 1.1 alnsn }
3424 1.1 alnsn #endif
3425 1.1 alnsn },
3426 1.1 alnsn { "dblalign2", TILEGX_OPC_DBLALIGN2, 0x3, 3, TREG_ZERO, 1,
3427 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3428 1.1 alnsn #ifndef DISASM_ONLY
3429 1.1 alnsn {
3430 1.1 alnsn 0xc00000007ffc0000ULL,
3431 1.1 alnsn 0xfffe000000000000ULL,
3432 1.1 alnsn 0ULL,
3433 1.1 alnsn 0ULL,
3434 1.1 alnsn 0ULL
3435 1.1 alnsn },
3436 1.1 alnsn {
3437 1.1 alnsn 0x0000000050580000ULL,
3438 1.1 alnsn 0x281a000000000000ULL,
3439 1.1 alnsn -1ULL,
3440 1.1 alnsn -1ULL,
3441 1.1 alnsn -1ULL
3442 1.1 alnsn }
3443 1.1 alnsn #endif
3444 1.1 alnsn },
3445 1.1 alnsn { "dblalign4", TILEGX_OPC_DBLALIGN4, 0x3, 3, TREG_ZERO, 1,
3446 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3447 1.1 alnsn #ifndef DISASM_ONLY
3448 1.1 alnsn {
3449 1.1 alnsn 0xc00000007ffc0000ULL,
3450 1.1 alnsn 0xfffe000000000000ULL,
3451 1.1 alnsn 0ULL,
3452 1.1 alnsn 0ULL,
3453 1.1 alnsn 0ULL
3454 1.1 alnsn },
3455 1.1 alnsn {
3456 1.1 alnsn 0x00000000505c0000ULL,
3457 1.1 alnsn 0x281c000000000000ULL,
3458 1.1 alnsn -1ULL,
3459 1.1 alnsn -1ULL,
3460 1.1 alnsn -1ULL
3461 1.1 alnsn }
3462 1.1 alnsn #endif
3463 1.1 alnsn },
3464 1.1 alnsn { "dblalign6", TILEGX_OPC_DBLALIGN6, 0x3, 3, TREG_ZERO, 1,
3465 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3466 1.1 alnsn #ifndef DISASM_ONLY
3467 1.1 alnsn {
3468 1.1 alnsn 0xc00000007ffc0000ULL,
3469 1.1 alnsn 0xfffe000000000000ULL,
3470 1.1 alnsn 0ULL,
3471 1.1 alnsn 0ULL,
3472 1.1 alnsn 0ULL
3473 1.1 alnsn },
3474 1.1 alnsn {
3475 1.1 alnsn 0x0000000050600000ULL,
3476 1.1 alnsn 0x281e000000000000ULL,
3477 1.1 alnsn -1ULL,
3478 1.1 alnsn -1ULL,
3479 1.1 alnsn -1ULL
3480 1.1 alnsn }
3481 1.1 alnsn #endif
3482 1.1 alnsn },
3483 1.1 alnsn { "drain", TILEGX_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0,
3484 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
3485 1.1 alnsn #ifndef DISASM_ONLY
3486 1.1 alnsn {
3487 1.1 alnsn 0ULL,
3488 1.1 alnsn 0xfffff80000000000ULL,
3489 1.1 alnsn 0ULL,
3490 1.1 alnsn 0ULL,
3491 1.1 alnsn 0ULL
3492 1.1 alnsn },
3493 1.1 alnsn {
3494 1.1 alnsn -1ULL,
3495 1.1 alnsn 0x286a080000000000ULL,
3496 1.1 alnsn -1ULL,
3497 1.1 alnsn -1ULL,
3498 1.1 alnsn -1ULL
3499 1.1 alnsn }
3500 1.1 alnsn #endif
3501 1.1 alnsn },
3502 1.1 alnsn { "dtlbpr", TILEGX_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1,
3503 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } },
3504 1.1 alnsn #ifndef DISASM_ONLY
3505 1.1 alnsn {
3506 1.1 alnsn 0ULL,
3507 1.1 alnsn 0xfffff80000000000ULL,
3508 1.1 alnsn 0ULL,
3509 1.1 alnsn 0ULL,
3510 1.1 alnsn 0ULL
3511 1.1 alnsn },
3512 1.1 alnsn {
3513 1.1 alnsn -1ULL,
3514 1.1 alnsn 0x286a100000000000ULL,
3515 1.1 alnsn -1ULL,
3516 1.1 alnsn -1ULL,
3517 1.1 alnsn -1ULL
3518 1.1 alnsn }
3519 1.1 alnsn #endif
3520 1.1 alnsn },
3521 1.1 alnsn { "exch", TILEGX_OPC_EXCH, 0x2, 3, TREG_ZERO, 1,
3522 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3523 1.1 alnsn #ifndef DISASM_ONLY
3524 1.1 alnsn {
3525 1.1 alnsn 0ULL,
3526 1.1 alnsn 0xfffe000000000000ULL,
3527 1.1 alnsn 0ULL,
3528 1.1 alnsn 0ULL,
3529 1.1 alnsn 0ULL
3530 1.1 alnsn },
3531 1.1 alnsn {
3532 1.1 alnsn -1ULL,
3533 1.1 alnsn 0x2822000000000000ULL,
3534 1.1 alnsn -1ULL,
3535 1.1 alnsn -1ULL,
3536 1.1 alnsn -1ULL
3537 1.1 alnsn }
3538 1.1 alnsn #endif
3539 1.1 alnsn },
3540 1.1 alnsn { "exch4", TILEGX_OPC_EXCH4, 0x2, 3, TREG_ZERO, 1,
3541 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3542 1.1 alnsn #ifndef DISASM_ONLY
3543 1.1 alnsn {
3544 1.1 alnsn 0ULL,
3545 1.1 alnsn 0xfffe000000000000ULL,
3546 1.1 alnsn 0ULL,
3547 1.1 alnsn 0ULL,
3548 1.1 alnsn 0ULL
3549 1.1 alnsn },
3550 1.1 alnsn {
3551 1.1 alnsn -1ULL,
3552 1.1 alnsn 0x2820000000000000ULL,
3553 1.1 alnsn -1ULL,
3554 1.1 alnsn -1ULL,
3555 1.1 alnsn -1ULL
3556 1.1 alnsn }
3557 1.1 alnsn #endif
3558 1.1 alnsn },
3559 1.1 alnsn { "fdouble_add_flags", TILEGX_OPC_FDOUBLE_ADD_FLAGS, 0x1, 3, TREG_ZERO, 1,
3560 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3561 1.1 alnsn #ifndef DISASM_ONLY
3562 1.1 alnsn {
3563 1.1 alnsn 0xc00000007ffc0000ULL,
3564 1.1 alnsn 0ULL,
3565 1.1 alnsn 0ULL,
3566 1.1 alnsn 0ULL,
3567 1.1 alnsn 0ULL
3568 1.1 alnsn },
3569 1.1 alnsn {
3570 1.1 alnsn 0x00000000506c0000ULL,
3571 1.1 alnsn -1ULL,
3572 1.1 alnsn -1ULL,
3573 1.1 alnsn -1ULL,
3574 1.1 alnsn -1ULL
3575 1.1 alnsn }
3576 1.1 alnsn #endif
3577 1.1 alnsn },
3578 1.1 alnsn { "fdouble_addsub", TILEGX_OPC_FDOUBLE_ADDSUB, 0x1, 3, TREG_ZERO, 1,
3579 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3580 1.1 alnsn #ifndef DISASM_ONLY
3581 1.1 alnsn {
3582 1.1 alnsn 0xc00000007ffc0000ULL,
3583 1.1 alnsn 0ULL,
3584 1.1 alnsn 0ULL,
3585 1.1 alnsn 0ULL,
3586 1.1 alnsn 0ULL
3587 1.1 alnsn },
3588 1.1 alnsn {
3589 1.1 alnsn 0x0000000050680000ULL,
3590 1.1 alnsn -1ULL,
3591 1.1 alnsn -1ULL,
3592 1.1 alnsn -1ULL,
3593 1.1 alnsn -1ULL
3594 1.1 alnsn }
3595 1.1 alnsn #endif
3596 1.1 alnsn },
3597 1.1 alnsn { "fdouble_mul_flags", TILEGX_OPC_FDOUBLE_MUL_FLAGS, 0x1, 3, TREG_ZERO, 1,
3598 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3599 1.1 alnsn #ifndef DISASM_ONLY
3600 1.1 alnsn {
3601 1.1 alnsn 0xc00000007ffc0000ULL,
3602 1.1 alnsn 0ULL,
3603 1.1 alnsn 0ULL,
3604 1.1 alnsn 0ULL,
3605 1.1 alnsn 0ULL
3606 1.1 alnsn },
3607 1.1 alnsn {
3608 1.1 alnsn 0x0000000050700000ULL,
3609 1.1 alnsn -1ULL,
3610 1.1 alnsn -1ULL,
3611 1.1 alnsn -1ULL,
3612 1.1 alnsn -1ULL
3613 1.1 alnsn }
3614 1.1 alnsn #endif
3615 1.1 alnsn },
3616 1.1 alnsn { "fdouble_pack1", TILEGX_OPC_FDOUBLE_PACK1, 0x1, 3, TREG_ZERO, 1,
3617 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3618 1.1 alnsn #ifndef DISASM_ONLY
3619 1.1 alnsn {
3620 1.1 alnsn 0xc00000007ffc0000ULL,
3621 1.1 alnsn 0ULL,
3622 1.1 alnsn 0ULL,
3623 1.1 alnsn 0ULL,
3624 1.1 alnsn 0ULL
3625 1.1 alnsn },
3626 1.1 alnsn {
3627 1.1 alnsn 0x0000000050740000ULL,
3628 1.1 alnsn -1ULL,
3629 1.1 alnsn -1ULL,
3630 1.1 alnsn -1ULL,
3631 1.1 alnsn -1ULL
3632 1.1 alnsn }
3633 1.1 alnsn #endif
3634 1.1 alnsn },
3635 1.1 alnsn { "fdouble_pack2", TILEGX_OPC_FDOUBLE_PACK2, 0x1, 3, TREG_ZERO, 1,
3636 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3637 1.1 alnsn #ifndef DISASM_ONLY
3638 1.1 alnsn {
3639 1.1 alnsn 0xc00000007ffc0000ULL,
3640 1.1 alnsn 0ULL,
3641 1.1 alnsn 0ULL,
3642 1.1 alnsn 0ULL,
3643 1.1 alnsn 0ULL
3644 1.1 alnsn },
3645 1.1 alnsn {
3646 1.1 alnsn 0x0000000050780000ULL,
3647 1.1 alnsn -1ULL,
3648 1.1 alnsn -1ULL,
3649 1.1 alnsn -1ULL,
3650 1.1 alnsn -1ULL
3651 1.1 alnsn }
3652 1.1 alnsn #endif
3653 1.1 alnsn },
3654 1.1 alnsn { "fdouble_sub_flags", TILEGX_OPC_FDOUBLE_SUB_FLAGS, 0x1, 3, TREG_ZERO, 1,
3655 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3656 1.1 alnsn #ifndef DISASM_ONLY
3657 1.1 alnsn {
3658 1.1 alnsn 0xc00000007ffc0000ULL,
3659 1.1 alnsn 0ULL,
3660 1.1 alnsn 0ULL,
3661 1.1 alnsn 0ULL,
3662 1.1 alnsn 0ULL
3663 1.1 alnsn },
3664 1.1 alnsn {
3665 1.1 alnsn 0x00000000507c0000ULL,
3666 1.1 alnsn -1ULL,
3667 1.1 alnsn -1ULL,
3668 1.1 alnsn -1ULL,
3669 1.1 alnsn -1ULL
3670 1.1 alnsn }
3671 1.1 alnsn #endif
3672 1.1 alnsn },
3673 1.1 alnsn { "fdouble_unpack_max", TILEGX_OPC_FDOUBLE_UNPACK_MAX, 0x1, 3, TREG_ZERO, 1,
3674 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3675 1.1 alnsn #ifndef DISASM_ONLY
3676 1.1 alnsn {
3677 1.1 alnsn 0xc00000007ffc0000ULL,
3678 1.1 alnsn 0ULL,
3679 1.1 alnsn 0ULL,
3680 1.1 alnsn 0ULL,
3681 1.1 alnsn 0ULL
3682 1.1 alnsn },
3683 1.1 alnsn {
3684 1.1 alnsn 0x0000000050800000ULL,
3685 1.1 alnsn -1ULL,
3686 1.1 alnsn -1ULL,
3687 1.1 alnsn -1ULL,
3688 1.1 alnsn -1ULL
3689 1.1 alnsn }
3690 1.1 alnsn #endif
3691 1.1 alnsn },
3692 1.1 alnsn { "fdouble_unpack_min", TILEGX_OPC_FDOUBLE_UNPACK_MIN, 0x1, 3, TREG_ZERO, 1,
3693 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3694 1.1 alnsn #ifndef DISASM_ONLY
3695 1.1 alnsn {
3696 1.1 alnsn 0xc00000007ffc0000ULL,
3697 1.1 alnsn 0ULL,
3698 1.1 alnsn 0ULL,
3699 1.1 alnsn 0ULL,
3700 1.1 alnsn 0ULL
3701 1.1 alnsn },
3702 1.1 alnsn {
3703 1.1 alnsn 0x0000000050840000ULL,
3704 1.1 alnsn -1ULL,
3705 1.1 alnsn -1ULL,
3706 1.1 alnsn -1ULL,
3707 1.1 alnsn -1ULL
3708 1.1 alnsn }
3709 1.1 alnsn #endif
3710 1.1 alnsn },
3711 1.1 alnsn { "fetchadd", TILEGX_OPC_FETCHADD, 0x2, 3, TREG_ZERO, 1,
3712 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3713 1.1 alnsn #ifndef DISASM_ONLY
3714 1.1 alnsn {
3715 1.1 alnsn 0ULL,
3716 1.1 alnsn 0xfffe000000000000ULL,
3717 1.1 alnsn 0ULL,
3718 1.1 alnsn 0ULL,
3719 1.1 alnsn 0ULL
3720 1.1 alnsn },
3721 1.1 alnsn {
3722 1.1 alnsn -1ULL,
3723 1.1 alnsn 0x282a000000000000ULL,
3724 1.1 alnsn -1ULL,
3725 1.1 alnsn -1ULL,
3726 1.1 alnsn -1ULL
3727 1.1 alnsn }
3728 1.1 alnsn #endif
3729 1.1 alnsn },
3730 1.1 alnsn { "fetchadd4", TILEGX_OPC_FETCHADD4, 0x2, 3, TREG_ZERO, 1,
3731 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3732 1.1 alnsn #ifndef DISASM_ONLY
3733 1.1 alnsn {
3734 1.1 alnsn 0ULL,
3735 1.1 alnsn 0xfffe000000000000ULL,
3736 1.1 alnsn 0ULL,
3737 1.1 alnsn 0ULL,
3738 1.1 alnsn 0ULL
3739 1.1 alnsn },
3740 1.1 alnsn {
3741 1.1 alnsn -1ULL,
3742 1.1 alnsn 0x2824000000000000ULL,
3743 1.1 alnsn -1ULL,
3744 1.1 alnsn -1ULL,
3745 1.1 alnsn -1ULL
3746 1.1 alnsn }
3747 1.1 alnsn #endif
3748 1.1 alnsn },
3749 1.1 alnsn { "fetchaddgez", TILEGX_OPC_FETCHADDGEZ, 0x2, 3, TREG_ZERO, 1,
3750 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3751 1.1 alnsn #ifndef DISASM_ONLY
3752 1.1 alnsn {
3753 1.1 alnsn 0ULL,
3754 1.1 alnsn 0xfffe000000000000ULL,
3755 1.1 alnsn 0ULL,
3756 1.1 alnsn 0ULL,
3757 1.1 alnsn 0ULL
3758 1.1 alnsn },
3759 1.1 alnsn {
3760 1.1 alnsn -1ULL,
3761 1.1 alnsn 0x2828000000000000ULL,
3762 1.1 alnsn -1ULL,
3763 1.1 alnsn -1ULL,
3764 1.1 alnsn -1ULL
3765 1.1 alnsn }
3766 1.1 alnsn #endif
3767 1.1 alnsn },
3768 1.1 alnsn { "fetchaddgez4", TILEGX_OPC_FETCHADDGEZ4, 0x2, 3, TREG_ZERO, 1,
3769 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3770 1.1 alnsn #ifndef DISASM_ONLY
3771 1.1 alnsn {
3772 1.1 alnsn 0ULL,
3773 1.1 alnsn 0xfffe000000000000ULL,
3774 1.1 alnsn 0ULL,
3775 1.1 alnsn 0ULL,
3776 1.1 alnsn 0ULL
3777 1.1 alnsn },
3778 1.1 alnsn {
3779 1.1 alnsn -1ULL,
3780 1.1 alnsn 0x2826000000000000ULL,
3781 1.1 alnsn -1ULL,
3782 1.1 alnsn -1ULL,
3783 1.1 alnsn -1ULL
3784 1.1 alnsn }
3785 1.1 alnsn #endif
3786 1.1 alnsn },
3787 1.1 alnsn { "fetchand", TILEGX_OPC_FETCHAND, 0x2, 3, TREG_ZERO, 1,
3788 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3789 1.1 alnsn #ifndef DISASM_ONLY
3790 1.1 alnsn {
3791 1.1 alnsn 0ULL,
3792 1.1 alnsn 0xfffe000000000000ULL,
3793 1.1 alnsn 0ULL,
3794 1.1 alnsn 0ULL,
3795 1.1 alnsn 0ULL
3796 1.1 alnsn },
3797 1.1 alnsn {
3798 1.1 alnsn -1ULL,
3799 1.1 alnsn 0x282e000000000000ULL,
3800 1.1 alnsn -1ULL,
3801 1.1 alnsn -1ULL,
3802 1.1 alnsn -1ULL
3803 1.1 alnsn }
3804 1.1 alnsn #endif
3805 1.1 alnsn },
3806 1.1 alnsn { "fetchand4", TILEGX_OPC_FETCHAND4, 0x2, 3, TREG_ZERO, 1,
3807 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3808 1.1 alnsn #ifndef DISASM_ONLY
3809 1.1 alnsn {
3810 1.1 alnsn 0ULL,
3811 1.1 alnsn 0xfffe000000000000ULL,
3812 1.1 alnsn 0ULL,
3813 1.1 alnsn 0ULL,
3814 1.1 alnsn 0ULL
3815 1.1 alnsn },
3816 1.1 alnsn {
3817 1.1 alnsn -1ULL,
3818 1.1 alnsn 0x282c000000000000ULL,
3819 1.1 alnsn -1ULL,
3820 1.1 alnsn -1ULL,
3821 1.1 alnsn -1ULL
3822 1.1 alnsn }
3823 1.1 alnsn #endif
3824 1.1 alnsn },
3825 1.1 alnsn { "fetchor", TILEGX_OPC_FETCHOR, 0x2, 3, TREG_ZERO, 1,
3826 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3827 1.1 alnsn #ifndef DISASM_ONLY
3828 1.1 alnsn {
3829 1.1 alnsn 0ULL,
3830 1.1 alnsn 0xfffe000000000000ULL,
3831 1.1 alnsn 0ULL,
3832 1.1 alnsn 0ULL,
3833 1.1 alnsn 0ULL
3834 1.1 alnsn },
3835 1.1 alnsn {
3836 1.1 alnsn -1ULL,
3837 1.1 alnsn 0x2832000000000000ULL,
3838 1.1 alnsn -1ULL,
3839 1.1 alnsn -1ULL,
3840 1.1 alnsn -1ULL
3841 1.1 alnsn }
3842 1.1 alnsn #endif
3843 1.1 alnsn },
3844 1.1 alnsn { "fetchor4", TILEGX_OPC_FETCHOR4, 0x2, 3, TREG_ZERO, 1,
3845 1.1 alnsn { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
3846 1.1 alnsn #ifndef DISASM_ONLY
3847 1.1 alnsn {
3848 1.1 alnsn 0ULL,
3849 1.1 alnsn 0xfffe000000000000ULL,
3850 1.1 alnsn 0ULL,
3851 1.1 alnsn 0ULL,
3852 1.1 alnsn 0ULL
3853 1.1 alnsn },
3854 1.1 alnsn {
3855 1.1 alnsn -1ULL,
3856 1.1 alnsn 0x2830000000000000ULL,
3857 1.1 alnsn -1ULL,
3858 1.1 alnsn -1ULL,
3859 1.1 alnsn -1ULL
3860 1.1 alnsn }
3861 1.1 alnsn #endif
3862 1.1 alnsn },
3863 1.1 alnsn { "finv", TILEGX_OPC_FINV, 0x2, 1, TREG_ZERO, 1,
3864 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } },
3865 1.1 alnsn #ifndef DISASM_ONLY
3866 1.1 alnsn {
3867 1.1 alnsn 0ULL,
3868 1.1 alnsn 0xfffff80000000000ULL,
3869 1.1 alnsn 0ULL,
3870 1.1 alnsn 0ULL,
3871 1.1 alnsn 0ULL
3872 1.1 alnsn },
3873 1.1 alnsn {
3874 1.1 alnsn -1ULL,
3875 1.1 alnsn 0x286a180000000000ULL,
3876 1.1 alnsn -1ULL,
3877 1.1 alnsn -1ULL,
3878 1.1 alnsn -1ULL
3879 1.1 alnsn }
3880 1.1 alnsn #endif
3881 1.1 alnsn },
3882 1.1 alnsn { "flush", TILEGX_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1,
3883 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } },
3884 1.1 alnsn #ifndef DISASM_ONLY
3885 1.1 alnsn {
3886 1.1 alnsn 0ULL,
3887 1.1 alnsn 0xfffff80000000000ULL,
3888 1.1 alnsn 0ULL,
3889 1.1 alnsn 0ULL,
3890 1.1 alnsn 0ULL
3891 1.1 alnsn },
3892 1.1 alnsn {
3893 1.1 alnsn -1ULL,
3894 1.1 alnsn 0x286a280000000000ULL,
3895 1.1 alnsn -1ULL,
3896 1.1 alnsn -1ULL,
3897 1.1 alnsn -1ULL
3898 1.1 alnsn }
3899 1.1 alnsn #endif
3900 1.1 alnsn },
3901 1.1 alnsn { "flushwb", TILEGX_OPC_FLUSHWB, 0x2, 0, TREG_ZERO, 1,
3902 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
3903 1.1 alnsn #ifndef DISASM_ONLY
3904 1.1 alnsn {
3905 1.1 alnsn 0ULL,
3906 1.1 alnsn 0xfffff80000000000ULL,
3907 1.1 alnsn 0ULL,
3908 1.1 alnsn 0ULL,
3909 1.1 alnsn 0ULL
3910 1.1 alnsn },
3911 1.1 alnsn {
3912 1.1 alnsn -1ULL,
3913 1.1 alnsn 0x286a200000000000ULL,
3914 1.1 alnsn -1ULL,
3915 1.1 alnsn -1ULL,
3916 1.1 alnsn -1ULL
3917 1.1 alnsn }
3918 1.1 alnsn #endif
3919 1.1 alnsn },
3920 1.1 alnsn { "fnop", TILEGX_OPC_FNOP, 0xf, 0, TREG_ZERO, 1,
3921 1.1 alnsn { { }, { }, { }, { }, { 0, } },
3922 1.1 alnsn #ifndef DISASM_ONLY
3923 1.1 alnsn {
3924 1.1 alnsn 0xc00000007ffff000ULL,
3925 1.1 alnsn 0xfffff80000000000ULL,
3926 1.1 alnsn 0x00000000780ff000ULL,
3927 1.1 alnsn 0x3c07f80000000000ULL,
3928 1.1 alnsn 0ULL
3929 1.1 alnsn },
3930 1.1 alnsn {
3931 1.1 alnsn 0x0000000051483000ULL,
3932 1.1 alnsn 0x286a300000000000ULL,
3933 1.1 alnsn 0x00000000300c3000ULL,
3934 1.1 alnsn 0x1c06400000000000ULL,
3935 1.1 alnsn -1ULL
3936 1.1 alnsn }
3937 1.1 alnsn #endif
3938 1.1 alnsn },
3939 1.1 alnsn { "fsingle_add1", TILEGX_OPC_FSINGLE_ADD1, 0x1, 3, TREG_ZERO, 1,
3940 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3941 1.1 alnsn #ifndef DISASM_ONLY
3942 1.1 alnsn {
3943 1.1 alnsn 0xc00000007ffc0000ULL,
3944 1.1 alnsn 0ULL,
3945 1.1 alnsn 0ULL,
3946 1.1 alnsn 0ULL,
3947 1.1 alnsn 0ULL
3948 1.1 alnsn },
3949 1.1 alnsn {
3950 1.1 alnsn 0x0000000050880000ULL,
3951 1.1 alnsn -1ULL,
3952 1.1 alnsn -1ULL,
3953 1.1 alnsn -1ULL,
3954 1.1 alnsn -1ULL
3955 1.1 alnsn }
3956 1.1 alnsn #endif
3957 1.1 alnsn },
3958 1.1 alnsn { "fsingle_addsub2", TILEGX_OPC_FSINGLE_ADDSUB2, 0x1, 3, TREG_ZERO, 1,
3959 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3960 1.1 alnsn #ifndef DISASM_ONLY
3961 1.1 alnsn {
3962 1.1 alnsn 0xc00000007ffc0000ULL,
3963 1.1 alnsn 0ULL,
3964 1.1 alnsn 0ULL,
3965 1.1 alnsn 0ULL,
3966 1.1 alnsn 0ULL
3967 1.1 alnsn },
3968 1.1 alnsn {
3969 1.1 alnsn 0x00000000508c0000ULL,
3970 1.1 alnsn -1ULL,
3971 1.1 alnsn -1ULL,
3972 1.1 alnsn -1ULL,
3973 1.1 alnsn -1ULL
3974 1.1 alnsn }
3975 1.1 alnsn #endif
3976 1.1 alnsn },
3977 1.1 alnsn { "fsingle_mul1", TILEGX_OPC_FSINGLE_MUL1, 0x1, 3, TREG_ZERO, 1,
3978 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3979 1.1 alnsn #ifndef DISASM_ONLY
3980 1.1 alnsn {
3981 1.1 alnsn 0xc00000007ffc0000ULL,
3982 1.1 alnsn 0ULL,
3983 1.1 alnsn 0ULL,
3984 1.1 alnsn 0ULL,
3985 1.1 alnsn 0ULL
3986 1.1 alnsn },
3987 1.1 alnsn {
3988 1.1 alnsn 0x0000000050900000ULL,
3989 1.1 alnsn -1ULL,
3990 1.1 alnsn -1ULL,
3991 1.1 alnsn -1ULL,
3992 1.1 alnsn -1ULL
3993 1.1 alnsn }
3994 1.1 alnsn #endif
3995 1.1 alnsn },
3996 1.1 alnsn { "fsingle_mul2", TILEGX_OPC_FSINGLE_MUL2, 0x1, 3, TREG_ZERO, 1,
3997 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
3998 1.1 alnsn #ifndef DISASM_ONLY
3999 1.1 alnsn {
4000 1.1 alnsn 0xc00000007ffc0000ULL,
4001 1.1 alnsn 0ULL,
4002 1.1 alnsn 0ULL,
4003 1.1 alnsn 0ULL,
4004 1.1 alnsn 0ULL
4005 1.1 alnsn },
4006 1.1 alnsn {
4007 1.1 alnsn 0x0000000050940000ULL,
4008 1.1 alnsn -1ULL,
4009 1.1 alnsn -1ULL,
4010 1.1 alnsn -1ULL,
4011 1.1 alnsn -1ULL
4012 1.1 alnsn }
4013 1.1 alnsn #endif
4014 1.1 alnsn },
4015 1.1 alnsn { "fsingle_pack1", TILEGX_OPC_FSINGLE_PACK1, 0x5, 2, TREG_ZERO, 1,
4016 1.1 alnsn { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } },
4017 1.1 alnsn #ifndef DISASM_ONLY
4018 1.1 alnsn {
4019 1.1 alnsn 0xc00000007ffff000ULL,
4020 1.1 alnsn 0ULL,
4021 1.1 alnsn 0x00000000780ff000ULL,
4022 1.1 alnsn 0ULL,
4023 1.1 alnsn 0ULL
4024 1.1 alnsn },
4025 1.1 alnsn {
4026 1.1 alnsn 0x0000000051484000ULL,
4027 1.1 alnsn -1ULL,
4028 1.1 alnsn 0x00000000300c4000ULL,
4029 1.1 alnsn -1ULL,
4030 1.1 alnsn -1ULL
4031 1.1 alnsn }
4032 1.1 alnsn #endif
4033 1.1 alnsn },
4034 1.1 alnsn { "fsingle_pack2", TILEGX_OPC_FSINGLE_PACK2, 0x1, 3, TREG_ZERO, 1,
4035 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4036 1.1 alnsn #ifndef DISASM_ONLY
4037 1.1 alnsn {
4038 1.1 alnsn 0xc00000007ffc0000ULL,
4039 1.1 alnsn 0ULL,
4040 1.1 alnsn 0ULL,
4041 1.1 alnsn 0ULL,
4042 1.1 alnsn 0ULL
4043 1.1 alnsn },
4044 1.1 alnsn {
4045 1.1 alnsn 0x0000000050980000ULL,
4046 1.1 alnsn -1ULL,
4047 1.1 alnsn -1ULL,
4048 1.1 alnsn -1ULL,
4049 1.1 alnsn -1ULL
4050 1.1 alnsn }
4051 1.1 alnsn #endif
4052 1.1 alnsn },
4053 1.1 alnsn { "fsingle_sub1", TILEGX_OPC_FSINGLE_SUB1, 0x1, 3, TREG_ZERO, 1,
4054 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4055 1.1 alnsn #ifndef DISASM_ONLY
4056 1.1 alnsn {
4057 1.1 alnsn 0xc00000007ffc0000ULL,
4058 1.1 alnsn 0ULL,
4059 1.1 alnsn 0ULL,
4060 1.1 alnsn 0ULL,
4061 1.1 alnsn 0ULL
4062 1.1 alnsn },
4063 1.1 alnsn {
4064 1.1 alnsn 0x00000000509c0000ULL,
4065 1.1 alnsn -1ULL,
4066 1.1 alnsn -1ULL,
4067 1.1 alnsn -1ULL,
4068 1.1 alnsn -1ULL
4069 1.1 alnsn }
4070 1.1 alnsn #endif
4071 1.1 alnsn },
4072 1.1 alnsn { "icoh", TILEGX_OPC_ICOH, 0x2, 1, TREG_ZERO, 1,
4073 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } },
4074 1.1 alnsn #ifndef DISASM_ONLY
4075 1.1 alnsn {
4076 1.1 alnsn 0ULL,
4077 1.1 alnsn 0xfffff80000000000ULL,
4078 1.1 alnsn 0ULL,
4079 1.1 alnsn 0ULL,
4080 1.1 alnsn 0ULL
4081 1.1 alnsn },
4082 1.1 alnsn {
4083 1.1 alnsn -1ULL,
4084 1.1 alnsn 0x286a380000000000ULL,
4085 1.1 alnsn -1ULL,
4086 1.1 alnsn -1ULL,
4087 1.1 alnsn -1ULL
4088 1.1 alnsn }
4089 1.1 alnsn #endif
4090 1.1 alnsn },
4091 1.1 alnsn { "ill", TILEGX_OPC_ILL, 0xa, 0, TREG_ZERO, 1,
4092 1.1 alnsn { { 0, }, { }, { 0, }, { }, { 0, } },
4093 1.1 alnsn #ifndef DISASM_ONLY
4094 1.1 alnsn {
4095 1.1 alnsn 0ULL,
4096 1.1 alnsn 0xfffff80000000000ULL,
4097 1.1 alnsn 0ULL,
4098 1.1 alnsn 0x3c07f80000000000ULL,
4099 1.1 alnsn 0ULL
4100 1.1 alnsn },
4101 1.1 alnsn {
4102 1.1 alnsn -1ULL,
4103 1.1 alnsn 0x286a400000000000ULL,
4104 1.1 alnsn -1ULL,
4105 1.1 alnsn 0x1c06480000000000ULL,
4106 1.1 alnsn -1ULL
4107 1.1 alnsn }
4108 1.1 alnsn #endif
4109 1.1 alnsn },
4110 1.1 alnsn { "inv", TILEGX_OPC_INV, 0x2, 1, TREG_ZERO, 1,
4111 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } },
4112 1.1 alnsn #ifndef DISASM_ONLY
4113 1.1 alnsn {
4114 1.1 alnsn 0ULL,
4115 1.1 alnsn 0xfffff80000000000ULL,
4116 1.1 alnsn 0ULL,
4117 1.1 alnsn 0ULL,
4118 1.1 alnsn 0ULL
4119 1.1 alnsn },
4120 1.1 alnsn {
4121 1.1 alnsn -1ULL,
4122 1.1 alnsn 0x286a480000000000ULL,
4123 1.1 alnsn -1ULL,
4124 1.1 alnsn -1ULL,
4125 1.1 alnsn -1ULL
4126 1.1 alnsn }
4127 1.1 alnsn #endif
4128 1.1 alnsn },
4129 1.1 alnsn { "iret", TILEGX_OPC_IRET, 0x2, 0, TREG_ZERO, 1,
4130 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
4131 1.1 alnsn #ifndef DISASM_ONLY
4132 1.1 alnsn {
4133 1.1 alnsn 0ULL,
4134 1.1 alnsn 0xfffff80000000000ULL,
4135 1.1 alnsn 0ULL,
4136 1.1 alnsn 0ULL,
4137 1.1 alnsn 0ULL
4138 1.1 alnsn },
4139 1.1 alnsn {
4140 1.1 alnsn -1ULL,
4141 1.1 alnsn 0x286a500000000000ULL,
4142 1.1 alnsn -1ULL,
4143 1.1 alnsn -1ULL,
4144 1.1 alnsn -1ULL
4145 1.1 alnsn }
4146 1.1 alnsn #endif
4147 1.1 alnsn },
4148 1.1 alnsn { "j", TILEGX_OPC_J, 0x2, 1, TREG_ZERO, 1,
4149 1.1 alnsn { { 0, }, { 25 }, { 0, }, { 0, }, { 0, } },
4150 1.1 alnsn #ifndef DISASM_ONLY
4151 1.1 alnsn {
4152 1.1 alnsn 0ULL,
4153 1.1 alnsn 0xfc00000000000000ULL,
4154 1.1 alnsn 0ULL,
4155 1.1 alnsn 0ULL,
4156 1.1 alnsn 0ULL
4157 1.1 alnsn },
4158 1.1 alnsn {
4159 1.1 alnsn -1ULL,
4160 1.1 alnsn 0x2400000000000000ULL,
4161 1.1 alnsn -1ULL,
4162 1.1 alnsn -1ULL,
4163 1.1 alnsn -1ULL
4164 1.1 alnsn }
4165 1.1 alnsn #endif
4166 1.1 alnsn },
4167 1.1 alnsn { "jal", TILEGX_OPC_JAL, 0x2, 1, TREG_LR, 1,
4168 1.1 alnsn { { 0, }, { 25 }, { 0, }, { 0, }, { 0, } },
4169 1.1 alnsn #ifndef DISASM_ONLY
4170 1.1 alnsn {
4171 1.1 alnsn 0ULL,
4172 1.1 alnsn 0xfc00000000000000ULL,
4173 1.1 alnsn 0ULL,
4174 1.1 alnsn 0ULL,
4175 1.1 alnsn 0ULL
4176 1.1 alnsn },
4177 1.1 alnsn {
4178 1.1 alnsn -1ULL,
4179 1.1 alnsn 0x2000000000000000ULL,
4180 1.1 alnsn -1ULL,
4181 1.1 alnsn -1ULL,
4182 1.1 alnsn -1ULL
4183 1.1 alnsn }
4184 1.1 alnsn #endif
4185 1.1 alnsn },
4186 1.1 alnsn { "jalr", TILEGX_OPC_JALR, 0xa, 1, TREG_LR, 1,
4187 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 13 }, { 0, } },
4188 1.1 alnsn #ifndef DISASM_ONLY
4189 1.1 alnsn {
4190 1.1 alnsn 0ULL,
4191 1.1 alnsn 0xfffff80000000000ULL,
4192 1.1 alnsn 0ULL,
4193 1.1 alnsn 0x3c07f80000000000ULL,
4194 1.1 alnsn 0ULL
4195 1.1 alnsn },
4196 1.1 alnsn {
4197 1.1 alnsn -1ULL,
4198 1.1 alnsn 0x286a600000000000ULL,
4199 1.1 alnsn -1ULL,
4200 1.1 alnsn 0x1c06580000000000ULL,
4201 1.1 alnsn -1ULL
4202 1.1 alnsn }
4203 1.1 alnsn #endif
4204 1.1 alnsn },
4205 1.1 alnsn { "jalrp", TILEGX_OPC_JALRP, 0xa, 1, TREG_LR, 1,
4206 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 13 }, { 0, } },
4207 1.1 alnsn #ifndef DISASM_ONLY
4208 1.1 alnsn {
4209 1.1 alnsn 0ULL,
4210 1.1 alnsn 0xfffff80000000000ULL,
4211 1.1 alnsn 0ULL,
4212 1.1 alnsn 0x3c07f80000000000ULL,
4213 1.1 alnsn 0ULL
4214 1.1 alnsn },
4215 1.1 alnsn {
4216 1.1 alnsn -1ULL,
4217 1.1 alnsn 0x286a580000000000ULL,
4218 1.1 alnsn -1ULL,
4219 1.1 alnsn 0x1c06500000000000ULL,
4220 1.1 alnsn -1ULL
4221 1.1 alnsn }
4222 1.1 alnsn #endif
4223 1.1 alnsn },
4224 1.1 alnsn { "jr", TILEGX_OPC_JR, 0xa, 1, TREG_ZERO, 1,
4225 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 13 }, { 0, } },
4226 1.1 alnsn #ifndef DISASM_ONLY
4227 1.1 alnsn {
4228 1.1 alnsn 0ULL,
4229 1.1 alnsn 0xfffff80000000000ULL,
4230 1.1 alnsn 0ULL,
4231 1.1 alnsn 0x3c07f80000000000ULL,
4232 1.1 alnsn 0ULL
4233 1.1 alnsn },
4234 1.1 alnsn {
4235 1.1 alnsn -1ULL,
4236 1.1 alnsn 0x286a700000000000ULL,
4237 1.1 alnsn -1ULL,
4238 1.1 alnsn 0x1c06680000000000ULL,
4239 1.1 alnsn -1ULL
4240 1.1 alnsn }
4241 1.1 alnsn #endif
4242 1.1 alnsn },
4243 1.1 alnsn { "jrp", TILEGX_OPC_JRP, 0xa, 1, TREG_ZERO, 1,
4244 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 13 }, { 0, } },
4245 1.1 alnsn #ifndef DISASM_ONLY
4246 1.1 alnsn {
4247 1.1 alnsn 0ULL,
4248 1.1 alnsn 0xfffff80000000000ULL,
4249 1.1 alnsn 0ULL,
4250 1.1 alnsn 0x3c07f80000000000ULL,
4251 1.1 alnsn 0ULL
4252 1.1 alnsn },
4253 1.1 alnsn {
4254 1.1 alnsn -1ULL,
4255 1.1 alnsn 0x286a680000000000ULL,
4256 1.1 alnsn -1ULL,
4257 1.1 alnsn 0x1c06600000000000ULL,
4258 1.1 alnsn -1ULL
4259 1.1 alnsn }
4260 1.1 alnsn #endif
4261 1.1 alnsn },
4262 1.1 alnsn { "ld", TILEGX_OPC_LD, 0x12, 2, TREG_ZERO, 1,
4263 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } },
4264 1.1 alnsn #ifndef DISASM_ONLY
4265 1.1 alnsn {
4266 1.1 alnsn 0ULL,
4267 1.1 alnsn 0xfffff80000000000ULL,
4268 1.1 alnsn 0ULL,
4269 1.1 alnsn 0ULL,
4270 1.1 alnsn 0xc200000004000000ULL
4271 1.1 alnsn },
4272 1.1 alnsn {
4273 1.1 alnsn -1ULL,
4274 1.1 alnsn 0x286ae80000000000ULL,
4275 1.1 alnsn -1ULL,
4276 1.1 alnsn -1ULL,
4277 1.1 alnsn 0x8200000004000000ULL
4278 1.1 alnsn }
4279 1.1 alnsn #endif
4280 1.1 alnsn },
4281 1.1 alnsn { "ld1s", TILEGX_OPC_LD1S, 0x12, 2, TREG_ZERO, 1,
4282 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } },
4283 1.1 alnsn #ifndef DISASM_ONLY
4284 1.1 alnsn {
4285 1.1 alnsn 0ULL,
4286 1.1 alnsn 0xfffff80000000000ULL,
4287 1.1 alnsn 0ULL,
4288 1.1 alnsn 0ULL,
4289 1.1 alnsn 0xc200000004000000ULL
4290 1.1 alnsn },
4291 1.1 alnsn {
4292 1.1 alnsn -1ULL,
4293 1.1 alnsn 0x286a780000000000ULL,
4294 1.1 alnsn -1ULL,
4295 1.1 alnsn -1ULL,
4296 1.1 alnsn 0x4000000000000000ULL
4297 1.1 alnsn }
4298 1.1 alnsn #endif
4299 1.1 alnsn },
4300 1.1 alnsn { "ld1s_add", TILEGX_OPC_LD1S_ADD, 0x2, 3, TREG_ZERO, 1,
4301 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4302 1.1 alnsn #ifndef DISASM_ONLY
4303 1.1 alnsn {
4304 1.1 alnsn 0ULL,
4305 1.1 alnsn 0xfff8000000000000ULL,
4306 1.1 alnsn 0ULL,
4307 1.1 alnsn 0ULL,
4308 1.1 alnsn 0ULL
4309 1.1 alnsn },
4310 1.1 alnsn {
4311 1.1 alnsn -1ULL,
4312 1.1 alnsn 0x1838000000000000ULL,
4313 1.1 alnsn -1ULL,
4314 1.1 alnsn -1ULL,
4315 1.1 alnsn -1ULL
4316 1.1 alnsn }
4317 1.1 alnsn #endif
4318 1.1 alnsn },
4319 1.1 alnsn { "ld1u", TILEGX_OPC_LD1U, 0x12, 2, TREG_ZERO, 1,
4320 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } },
4321 1.1 alnsn #ifndef DISASM_ONLY
4322 1.1 alnsn {
4323 1.1 alnsn 0ULL,
4324 1.1 alnsn 0xfffff80000000000ULL,
4325 1.1 alnsn 0ULL,
4326 1.1 alnsn 0ULL,
4327 1.1 alnsn 0xc200000004000000ULL
4328 1.1 alnsn },
4329 1.1 alnsn {
4330 1.1 alnsn -1ULL,
4331 1.1 alnsn 0x286a800000000000ULL,
4332 1.1 alnsn -1ULL,
4333 1.1 alnsn -1ULL,
4334 1.1 alnsn 0x4000000004000000ULL
4335 1.1 alnsn }
4336 1.1 alnsn #endif
4337 1.1 alnsn },
4338 1.1 alnsn { "ld1u_add", TILEGX_OPC_LD1U_ADD, 0x2, 3, TREG_ZERO, 1,
4339 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4340 1.1 alnsn #ifndef DISASM_ONLY
4341 1.1 alnsn {
4342 1.1 alnsn 0ULL,
4343 1.1 alnsn 0xfff8000000000000ULL,
4344 1.1 alnsn 0ULL,
4345 1.1 alnsn 0ULL,
4346 1.1 alnsn 0ULL
4347 1.1 alnsn },
4348 1.1 alnsn {
4349 1.1 alnsn -1ULL,
4350 1.1 alnsn 0x1840000000000000ULL,
4351 1.1 alnsn -1ULL,
4352 1.1 alnsn -1ULL,
4353 1.1 alnsn -1ULL
4354 1.1 alnsn }
4355 1.1 alnsn #endif
4356 1.1 alnsn },
4357 1.1 alnsn { "ld2s", TILEGX_OPC_LD2S, 0x12, 2, TREG_ZERO, 1,
4358 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } },
4359 1.1 alnsn #ifndef DISASM_ONLY
4360 1.1 alnsn {
4361 1.1 alnsn 0ULL,
4362 1.1 alnsn 0xfffff80000000000ULL,
4363 1.1 alnsn 0ULL,
4364 1.1 alnsn 0ULL,
4365 1.1 alnsn 0xc200000004000000ULL
4366 1.1 alnsn },
4367 1.1 alnsn {
4368 1.1 alnsn -1ULL,
4369 1.1 alnsn 0x286a880000000000ULL,
4370 1.1 alnsn -1ULL,
4371 1.1 alnsn -1ULL,
4372 1.1 alnsn 0x4200000000000000ULL
4373 1.1 alnsn }
4374 1.1 alnsn #endif
4375 1.1 alnsn },
4376 1.1 alnsn { "ld2s_add", TILEGX_OPC_LD2S_ADD, 0x2, 3, TREG_ZERO, 1,
4377 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4378 1.1 alnsn #ifndef DISASM_ONLY
4379 1.1 alnsn {
4380 1.1 alnsn 0ULL,
4381 1.1 alnsn 0xfff8000000000000ULL,
4382 1.1 alnsn 0ULL,
4383 1.1 alnsn 0ULL,
4384 1.1 alnsn 0ULL
4385 1.1 alnsn },
4386 1.1 alnsn {
4387 1.1 alnsn -1ULL,
4388 1.1 alnsn 0x1848000000000000ULL,
4389 1.1 alnsn -1ULL,
4390 1.1 alnsn -1ULL,
4391 1.1 alnsn -1ULL
4392 1.1 alnsn }
4393 1.1 alnsn #endif
4394 1.1 alnsn },
4395 1.1 alnsn { "ld2u", TILEGX_OPC_LD2U, 0x12, 2, TREG_ZERO, 1,
4396 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } },
4397 1.1 alnsn #ifndef DISASM_ONLY
4398 1.1 alnsn {
4399 1.1 alnsn 0ULL,
4400 1.1 alnsn 0xfffff80000000000ULL,
4401 1.1 alnsn 0ULL,
4402 1.1 alnsn 0ULL,
4403 1.1 alnsn 0xc200000004000000ULL
4404 1.1 alnsn },
4405 1.1 alnsn {
4406 1.1 alnsn -1ULL,
4407 1.1 alnsn 0x286a900000000000ULL,
4408 1.1 alnsn -1ULL,
4409 1.1 alnsn -1ULL,
4410 1.1 alnsn 0x4200000004000000ULL
4411 1.1 alnsn }
4412 1.1 alnsn #endif
4413 1.1 alnsn },
4414 1.1 alnsn { "ld2u_add", TILEGX_OPC_LD2U_ADD, 0x2, 3, TREG_ZERO, 1,
4415 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4416 1.1 alnsn #ifndef DISASM_ONLY
4417 1.1 alnsn {
4418 1.1 alnsn 0ULL,
4419 1.1 alnsn 0xfff8000000000000ULL,
4420 1.1 alnsn 0ULL,
4421 1.1 alnsn 0ULL,
4422 1.1 alnsn 0ULL
4423 1.1 alnsn },
4424 1.1 alnsn {
4425 1.1 alnsn -1ULL,
4426 1.1 alnsn 0x1850000000000000ULL,
4427 1.1 alnsn -1ULL,
4428 1.1 alnsn -1ULL,
4429 1.1 alnsn -1ULL
4430 1.1 alnsn }
4431 1.1 alnsn #endif
4432 1.1 alnsn },
4433 1.1 alnsn { "ld4s", TILEGX_OPC_LD4S, 0x12, 2, TREG_ZERO, 1,
4434 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } },
4435 1.1 alnsn #ifndef DISASM_ONLY
4436 1.1 alnsn {
4437 1.1 alnsn 0ULL,
4438 1.1 alnsn 0xfffff80000000000ULL,
4439 1.1 alnsn 0ULL,
4440 1.1 alnsn 0ULL,
4441 1.1 alnsn 0xc200000004000000ULL
4442 1.1 alnsn },
4443 1.1 alnsn {
4444 1.1 alnsn -1ULL,
4445 1.1 alnsn 0x286a980000000000ULL,
4446 1.1 alnsn -1ULL,
4447 1.1 alnsn -1ULL,
4448 1.1 alnsn 0x8000000004000000ULL
4449 1.1 alnsn }
4450 1.1 alnsn #endif
4451 1.1 alnsn },
4452 1.1 alnsn { "ld4s_add", TILEGX_OPC_LD4S_ADD, 0x2, 3, TREG_ZERO, 1,
4453 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4454 1.1 alnsn #ifndef DISASM_ONLY
4455 1.1 alnsn {
4456 1.1 alnsn 0ULL,
4457 1.1 alnsn 0xfff8000000000000ULL,
4458 1.1 alnsn 0ULL,
4459 1.1 alnsn 0ULL,
4460 1.1 alnsn 0ULL
4461 1.1 alnsn },
4462 1.1 alnsn {
4463 1.1 alnsn -1ULL,
4464 1.1 alnsn 0x1858000000000000ULL,
4465 1.1 alnsn -1ULL,
4466 1.1 alnsn -1ULL,
4467 1.1 alnsn -1ULL
4468 1.1 alnsn }
4469 1.1 alnsn #endif
4470 1.1 alnsn },
4471 1.1 alnsn { "ld4u", TILEGX_OPC_LD4U, 0x12, 2, TREG_ZERO, 1,
4472 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } },
4473 1.1 alnsn #ifndef DISASM_ONLY
4474 1.1 alnsn {
4475 1.1 alnsn 0ULL,
4476 1.1 alnsn 0xfffff80000000000ULL,
4477 1.1 alnsn 0ULL,
4478 1.1 alnsn 0ULL,
4479 1.1 alnsn 0xc200000004000000ULL
4480 1.1 alnsn },
4481 1.1 alnsn {
4482 1.1 alnsn -1ULL,
4483 1.1 alnsn 0x286aa00000000000ULL,
4484 1.1 alnsn -1ULL,
4485 1.1 alnsn -1ULL,
4486 1.1 alnsn 0x8200000000000000ULL
4487 1.1 alnsn }
4488 1.1 alnsn #endif
4489 1.1 alnsn },
4490 1.1 alnsn { "ld4u_add", TILEGX_OPC_LD4U_ADD, 0x2, 3, TREG_ZERO, 1,
4491 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4492 1.1 alnsn #ifndef DISASM_ONLY
4493 1.1 alnsn {
4494 1.1 alnsn 0ULL,
4495 1.1 alnsn 0xfff8000000000000ULL,
4496 1.1 alnsn 0ULL,
4497 1.1 alnsn 0ULL,
4498 1.1 alnsn 0ULL
4499 1.1 alnsn },
4500 1.1 alnsn {
4501 1.1 alnsn -1ULL,
4502 1.1 alnsn 0x1860000000000000ULL,
4503 1.1 alnsn -1ULL,
4504 1.1 alnsn -1ULL,
4505 1.1 alnsn -1ULL
4506 1.1 alnsn }
4507 1.1 alnsn #endif
4508 1.1 alnsn },
4509 1.1 alnsn { "ld_add", TILEGX_OPC_LD_ADD, 0x2, 3, TREG_ZERO, 1,
4510 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4511 1.1 alnsn #ifndef DISASM_ONLY
4512 1.1 alnsn {
4513 1.1 alnsn 0ULL,
4514 1.1 alnsn 0xfff8000000000000ULL,
4515 1.1 alnsn 0ULL,
4516 1.1 alnsn 0ULL,
4517 1.1 alnsn 0ULL
4518 1.1 alnsn },
4519 1.1 alnsn {
4520 1.1 alnsn -1ULL,
4521 1.1 alnsn 0x18a0000000000000ULL,
4522 1.1 alnsn -1ULL,
4523 1.1 alnsn -1ULL,
4524 1.1 alnsn -1ULL
4525 1.1 alnsn }
4526 1.1 alnsn #endif
4527 1.1 alnsn },
4528 1.1 alnsn { "ldna", TILEGX_OPC_LDNA, 0x2, 2, TREG_ZERO, 1,
4529 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } },
4530 1.1 alnsn #ifndef DISASM_ONLY
4531 1.1 alnsn {
4532 1.1 alnsn 0ULL,
4533 1.1 alnsn 0xfffff80000000000ULL,
4534 1.1 alnsn 0ULL,
4535 1.1 alnsn 0ULL,
4536 1.1 alnsn 0ULL
4537 1.1 alnsn },
4538 1.1 alnsn {
4539 1.1 alnsn -1ULL,
4540 1.1 alnsn 0x286aa80000000000ULL,
4541 1.1 alnsn -1ULL,
4542 1.1 alnsn -1ULL,
4543 1.1 alnsn -1ULL
4544 1.1 alnsn }
4545 1.1 alnsn #endif
4546 1.1 alnsn },
4547 1.1 alnsn { "ldna_add", TILEGX_OPC_LDNA_ADD, 0x2, 3, TREG_ZERO, 1,
4548 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4549 1.1 alnsn #ifndef DISASM_ONLY
4550 1.1 alnsn {
4551 1.1 alnsn 0ULL,
4552 1.1 alnsn 0xfff8000000000000ULL,
4553 1.1 alnsn 0ULL,
4554 1.1 alnsn 0ULL,
4555 1.1 alnsn 0ULL
4556 1.1 alnsn },
4557 1.1 alnsn {
4558 1.1 alnsn -1ULL,
4559 1.1 alnsn 0x18a8000000000000ULL,
4560 1.1 alnsn -1ULL,
4561 1.1 alnsn -1ULL,
4562 1.1 alnsn -1ULL
4563 1.1 alnsn }
4564 1.1 alnsn #endif
4565 1.1 alnsn },
4566 1.1 alnsn { "ldnt", TILEGX_OPC_LDNT, 0x2, 2, TREG_ZERO, 1,
4567 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } },
4568 1.1 alnsn #ifndef DISASM_ONLY
4569 1.1 alnsn {
4570 1.1 alnsn 0ULL,
4571 1.1 alnsn 0xfffff80000000000ULL,
4572 1.1 alnsn 0ULL,
4573 1.1 alnsn 0ULL,
4574 1.1 alnsn 0ULL
4575 1.1 alnsn },
4576 1.1 alnsn {
4577 1.1 alnsn -1ULL,
4578 1.1 alnsn 0x286ae00000000000ULL,
4579 1.1 alnsn -1ULL,
4580 1.1 alnsn -1ULL,
4581 1.1 alnsn -1ULL
4582 1.1 alnsn }
4583 1.1 alnsn #endif
4584 1.1 alnsn },
4585 1.1 alnsn { "ldnt1s", TILEGX_OPC_LDNT1S, 0x2, 2, TREG_ZERO, 1,
4586 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } },
4587 1.1 alnsn #ifndef DISASM_ONLY
4588 1.1 alnsn {
4589 1.1 alnsn 0ULL,
4590 1.1 alnsn 0xfffff80000000000ULL,
4591 1.1 alnsn 0ULL,
4592 1.1 alnsn 0ULL,
4593 1.1 alnsn 0ULL
4594 1.1 alnsn },
4595 1.1 alnsn {
4596 1.1 alnsn -1ULL,
4597 1.1 alnsn 0x286ab00000000000ULL,
4598 1.1 alnsn -1ULL,
4599 1.1 alnsn -1ULL,
4600 1.1 alnsn -1ULL
4601 1.1 alnsn }
4602 1.1 alnsn #endif
4603 1.1 alnsn },
4604 1.1 alnsn { "ldnt1s_add", TILEGX_OPC_LDNT1S_ADD, 0x2, 3, TREG_ZERO, 1,
4605 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4606 1.1 alnsn #ifndef DISASM_ONLY
4607 1.1 alnsn {
4608 1.1 alnsn 0ULL,
4609 1.1 alnsn 0xfff8000000000000ULL,
4610 1.1 alnsn 0ULL,
4611 1.1 alnsn 0ULL,
4612 1.1 alnsn 0ULL
4613 1.1 alnsn },
4614 1.1 alnsn {
4615 1.1 alnsn -1ULL,
4616 1.1 alnsn 0x1868000000000000ULL,
4617 1.1 alnsn -1ULL,
4618 1.1 alnsn -1ULL,
4619 1.1 alnsn -1ULL
4620 1.1 alnsn }
4621 1.1 alnsn #endif
4622 1.1 alnsn },
4623 1.1 alnsn { "ldnt1u", TILEGX_OPC_LDNT1U, 0x2, 2, TREG_ZERO, 1,
4624 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } },
4625 1.1 alnsn #ifndef DISASM_ONLY
4626 1.1 alnsn {
4627 1.1 alnsn 0ULL,
4628 1.1 alnsn 0xfffff80000000000ULL,
4629 1.1 alnsn 0ULL,
4630 1.1 alnsn 0ULL,
4631 1.1 alnsn 0ULL
4632 1.1 alnsn },
4633 1.1 alnsn {
4634 1.1 alnsn -1ULL,
4635 1.1 alnsn 0x286ab80000000000ULL,
4636 1.1 alnsn -1ULL,
4637 1.1 alnsn -1ULL,
4638 1.1 alnsn -1ULL
4639 1.1 alnsn }
4640 1.1 alnsn #endif
4641 1.1 alnsn },
4642 1.1 alnsn { "ldnt1u_add", TILEGX_OPC_LDNT1U_ADD, 0x2, 3, TREG_ZERO, 1,
4643 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4644 1.1 alnsn #ifndef DISASM_ONLY
4645 1.1 alnsn {
4646 1.1 alnsn 0ULL,
4647 1.1 alnsn 0xfff8000000000000ULL,
4648 1.1 alnsn 0ULL,
4649 1.1 alnsn 0ULL,
4650 1.1 alnsn 0ULL
4651 1.1 alnsn },
4652 1.1 alnsn {
4653 1.1 alnsn -1ULL,
4654 1.1 alnsn 0x1870000000000000ULL,
4655 1.1 alnsn -1ULL,
4656 1.1 alnsn -1ULL,
4657 1.1 alnsn -1ULL
4658 1.1 alnsn }
4659 1.1 alnsn #endif
4660 1.1 alnsn },
4661 1.1 alnsn { "ldnt2s", TILEGX_OPC_LDNT2S, 0x2, 2, TREG_ZERO, 1,
4662 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } },
4663 1.1 alnsn #ifndef DISASM_ONLY
4664 1.1 alnsn {
4665 1.1 alnsn 0ULL,
4666 1.1 alnsn 0xfffff80000000000ULL,
4667 1.1 alnsn 0ULL,
4668 1.1 alnsn 0ULL,
4669 1.1 alnsn 0ULL
4670 1.1 alnsn },
4671 1.1 alnsn {
4672 1.1 alnsn -1ULL,
4673 1.1 alnsn 0x286ac00000000000ULL,
4674 1.1 alnsn -1ULL,
4675 1.1 alnsn -1ULL,
4676 1.1 alnsn -1ULL
4677 1.1 alnsn }
4678 1.1 alnsn #endif
4679 1.1 alnsn },
4680 1.1 alnsn { "ldnt2s_add", TILEGX_OPC_LDNT2S_ADD, 0x2, 3, TREG_ZERO, 1,
4681 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4682 1.1 alnsn #ifndef DISASM_ONLY
4683 1.1 alnsn {
4684 1.1 alnsn 0ULL,
4685 1.1 alnsn 0xfff8000000000000ULL,
4686 1.1 alnsn 0ULL,
4687 1.1 alnsn 0ULL,
4688 1.1 alnsn 0ULL
4689 1.1 alnsn },
4690 1.1 alnsn {
4691 1.1 alnsn -1ULL,
4692 1.1 alnsn 0x1878000000000000ULL,
4693 1.1 alnsn -1ULL,
4694 1.1 alnsn -1ULL,
4695 1.1 alnsn -1ULL
4696 1.1 alnsn }
4697 1.1 alnsn #endif
4698 1.1 alnsn },
4699 1.1 alnsn { "ldnt2u", TILEGX_OPC_LDNT2U, 0x2, 2, TREG_ZERO, 1,
4700 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } },
4701 1.1 alnsn #ifndef DISASM_ONLY
4702 1.1 alnsn {
4703 1.1 alnsn 0ULL,
4704 1.1 alnsn 0xfffff80000000000ULL,
4705 1.1 alnsn 0ULL,
4706 1.1 alnsn 0ULL,
4707 1.1 alnsn 0ULL
4708 1.1 alnsn },
4709 1.1 alnsn {
4710 1.1 alnsn -1ULL,
4711 1.1 alnsn 0x286ac80000000000ULL,
4712 1.1 alnsn -1ULL,
4713 1.1 alnsn -1ULL,
4714 1.1 alnsn -1ULL
4715 1.1 alnsn }
4716 1.1 alnsn #endif
4717 1.1 alnsn },
4718 1.1 alnsn { "ldnt2u_add", TILEGX_OPC_LDNT2U_ADD, 0x2, 3, TREG_ZERO, 1,
4719 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4720 1.1 alnsn #ifndef DISASM_ONLY
4721 1.1 alnsn {
4722 1.1 alnsn 0ULL,
4723 1.1 alnsn 0xfff8000000000000ULL,
4724 1.1 alnsn 0ULL,
4725 1.1 alnsn 0ULL,
4726 1.1 alnsn 0ULL
4727 1.1 alnsn },
4728 1.1 alnsn {
4729 1.1 alnsn -1ULL,
4730 1.1 alnsn 0x1880000000000000ULL,
4731 1.1 alnsn -1ULL,
4732 1.1 alnsn -1ULL,
4733 1.1 alnsn -1ULL
4734 1.1 alnsn }
4735 1.1 alnsn #endif
4736 1.1 alnsn },
4737 1.1 alnsn { "ldnt4s", TILEGX_OPC_LDNT4S, 0x2, 2, TREG_ZERO, 1,
4738 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } },
4739 1.1 alnsn #ifndef DISASM_ONLY
4740 1.1 alnsn {
4741 1.1 alnsn 0ULL,
4742 1.1 alnsn 0xfffff80000000000ULL,
4743 1.1 alnsn 0ULL,
4744 1.1 alnsn 0ULL,
4745 1.1 alnsn 0ULL
4746 1.1 alnsn },
4747 1.1 alnsn {
4748 1.1 alnsn -1ULL,
4749 1.1 alnsn 0x286ad00000000000ULL,
4750 1.1 alnsn -1ULL,
4751 1.1 alnsn -1ULL,
4752 1.1 alnsn -1ULL
4753 1.1 alnsn }
4754 1.1 alnsn #endif
4755 1.1 alnsn },
4756 1.1 alnsn { "ldnt4s_add", TILEGX_OPC_LDNT4S_ADD, 0x2, 3, TREG_ZERO, 1,
4757 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4758 1.1 alnsn #ifndef DISASM_ONLY
4759 1.1 alnsn {
4760 1.1 alnsn 0ULL,
4761 1.1 alnsn 0xfff8000000000000ULL,
4762 1.1 alnsn 0ULL,
4763 1.1 alnsn 0ULL,
4764 1.1 alnsn 0ULL
4765 1.1 alnsn },
4766 1.1 alnsn {
4767 1.1 alnsn -1ULL,
4768 1.1 alnsn 0x1888000000000000ULL,
4769 1.1 alnsn -1ULL,
4770 1.1 alnsn -1ULL,
4771 1.1 alnsn -1ULL
4772 1.1 alnsn }
4773 1.1 alnsn #endif
4774 1.1 alnsn },
4775 1.1 alnsn { "ldnt4u", TILEGX_OPC_LDNT4U, 0x2, 2, TREG_ZERO, 1,
4776 1.1 alnsn { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } },
4777 1.1 alnsn #ifndef DISASM_ONLY
4778 1.1 alnsn {
4779 1.1 alnsn 0ULL,
4780 1.1 alnsn 0xfffff80000000000ULL,
4781 1.1 alnsn 0ULL,
4782 1.1 alnsn 0ULL,
4783 1.1 alnsn 0ULL
4784 1.1 alnsn },
4785 1.1 alnsn {
4786 1.1 alnsn -1ULL,
4787 1.1 alnsn 0x286ad80000000000ULL,
4788 1.1 alnsn -1ULL,
4789 1.1 alnsn -1ULL,
4790 1.1 alnsn -1ULL
4791 1.1 alnsn }
4792 1.1 alnsn #endif
4793 1.1 alnsn },
4794 1.1 alnsn { "ldnt4u_add", TILEGX_OPC_LDNT4U_ADD, 0x2, 3, TREG_ZERO, 1,
4795 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4796 1.1 alnsn #ifndef DISASM_ONLY
4797 1.1 alnsn {
4798 1.1 alnsn 0ULL,
4799 1.1 alnsn 0xfff8000000000000ULL,
4800 1.1 alnsn 0ULL,
4801 1.1 alnsn 0ULL,
4802 1.1 alnsn 0ULL
4803 1.1 alnsn },
4804 1.1 alnsn {
4805 1.1 alnsn -1ULL,
4806 1.1 alnsn 0x1890000000000000ULL,
4807 1.1 alnsn -1ULL,
4808 1.1 alnsn -1ULL,
4809 1.1 alnsn -1ULL
4810 1.1 alnsn }
4811 1.1 alnsn #endif
4812 1.1 alnsn },
4813 1.1 alnsn { "ldnt_add", TILEGX_OPC_LDNT_ADD, 0x2, 3, TREG_ZERO, 1,
4814 1.1 alnsn { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } },
4815 1.1 alnsn #ifndef DISASM_ONLY
4816 1.1 alnsn {
4817 1.1 alnsn 0ULL,
4818 1.1 alnsn 0xfff8000000000000ULL,
4819 1.1 alnsn 0ULL,
4820 1.1 alnsn 0ULL,
4821 1.1 alnsn 0ULL
4822 1.1 alnsn },
4823 1.1 alnsn {
4824 1.1 alnsn -1ULL,
4825 1.1 alnsn 0x1898000000000000ULL,
4826 1.1 alnsn -1ULL,
4827 1.1 alnsn -1ULL,
4828 1.1 alnsn -1ULL
4829 1.1 alnsn }
4830 1.1 alnsn #endif
4831 1.1 alnsn },
4832 1.1 alnsn { "lnk", TILEGX_OPC_LNK, 0xa, 1, TREG_ZERO, 1,
4833 1.1 alnsn { { 0, }, { 6 }, { 0, }, { 12 }, { 0, } },
4834 1.1 alnsn #ifndef DISASM_ONLY
4835 1.1 alnsn {
4836 1.1 alnsn 0ULL,
4837 1.1 alnsn 0xfffff80000000000ULL,
4838 1.1 alnsn 0ULL,
4839 1.1 alnsn 0x3c07f80000000000ULL,
4840 1.1 alnsn 0ULL
4841 1.1 alnsn },
4842 1.1 alnsn {
4843 1.1 alnsn -1ULL,
4844 1.1 alnsn 0x286af00000000000ULL,
4845 1.1 alnsn -1ULL,
4846 1.1 alnsn 0x1c06700000000000ULL,
4847 1.1 alnsn -1ULL
4848 1.1 alnsn }
4849 1.1 alnsn #endif
4850 1.1 alnsn },
4851 1.1 alnsn { "mf", TILEGX_OPC_MF, 0x2, 0, TREG_ZERO, 1,
4852 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
4853 1.1 alnsn #ifndef DISASM_ONLY
4854 1.1 alnsn {
4855 1.1 alnsn 0ULL,
4856 1.1 alnsn 0xfffff80000000000ULL,
4857 1.1 alnsn 0ULL,
4858 1.1 alnsn 0ULL,
4859 1.1 alnsn 0ULL
4860 1.1 alnsn },
4861 1.1 alnsn {
4862 1.1 alnsn -1ULL,
4863 1.1 alnsn 0x286af80000000000ULL,
4864 1.1 alnsn -1ULL,
4865 1.1 alnsn -1ULL,
4866 1.1 alnsn -1ULL
4867 1.1 alnsn }
4868 1.1 alnsn #endif
4869 1.1 alnsn },
4870 1.1 alnsn { "mfspr", TILEGX_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1,
4871 1.1 alnsn { { 0, }, { 6, 27 }, { 0, }, { 0, }, { 0, } },
4872 1.1 alnsn #ifndef DISASM_ONLY
4873 1.1 alnsn {
4874 1.1 alnsn 0ULL,
4875 1.1 alnsn 0xfff8000000000000ULL,
4876 1.1 alnsn 0ULL,
4877 1.1 alnsn 0ULL,
4878 1.1 alnsn 0ULL
4879 1.1 alnsn },
4880 1.1 alnsn {
4881 1.1 alnsn -1ULL,
4882 1.1 alnsn 0x18b0000000000000ULL,
4883 1.1 alnsn -1ULL,
4884 1.1 alnsn -1ULL,
4885 1.1 alnsn -1ULL
4886 1.1 alnsn }
4887 1.1 alnsn #endif
4888 1.1 alnsn },
4889 1.1 alnsn { "mm", TILEGX_OPC_MM, 0x1, 4, TREG_ZERO, 1,
4890 1.1 alnsn { { 23, 9, 21, 22 }, { 0, }, { 0, }, { 0, }, { 0, } },
4891 1.1 alnsn #ifndef DISASM_ONLY
4892 1.1 alnsn {
4893 1.1 alnsn 0xc00000007f000000ULL,
4894 1.1 alnsn 0ULL,
4895 1.1 alnsn 0ULL,
4896 1.1 alnsn 0ULL,
4897 1.1 alnsn 0ULL
4898 1.1 alnsn },
4899 1.1 alnsn {
4900 1.1 alnsn 0x0000000037000000ULL,
4901 1.1 alnsn -1ULL,
4902 1.1 alnsn -1ULL,
4903 1.1 alnsn -1ULL,
4904 1.1 alnsn -1ULL
4905 1.1 alnsn }
4906 1.1 alnsn #endif
4907 1.1 alnsn },
4908 1.1 alnsn { "mnz", TILEGX_OPC_MNZ, 0xf, 3, TREG_ZERO, 1,
4909 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
4910 1.1 alnsn #ifndef DISASM_ONLY
4911 1.1 alnsn {
4912 1.1 alnsn 0xc00000007ffc0000ULL,
4913 1.1 alnsn 0xfffe000000000000ULL,
4914 1.1 alnsn 0x00000000780c0000ULL,
4915 1.1 alnsn 0x3c06000000000000ULL,
4916 1.1 alnsn 0ULL
4917 1.1 alnsn },
4918 1.1 alnsn {
4919 1.1 alnsn 0x0000000050a00000ULL,
4920 1.1 alnsn 0x2834000000000000ULL,
4921 1.1 alnsn 0x0000000048080000ULL,
4922 1.1 alnsn 0x2804000000000000ULL,
4923 1.1 alnsn -1ULL
4924 1.1 alnsn }
4925 1.1 alnsn #endif
4926 1.1 alnsn },
4927 1.1 alnsn { "mtspr", TILEGX_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1,
4928 1.1 alnsn { { 0, }, { 28, 7 }, { 0, }, { 0, }, { 0, } },
4929 1.1 alnsn #ifndef DISASM_ONLY
4930 1.1 alnsn {
4931 1.1 alnsn 0ULL,
4932 1.1 alnsn 0xfff8000000000000ULL,
4933 1.1 alnsn 0ULL,
4934 1.1 alnsn 0ULL,
4935 1.1 alnsn 0ULL
4936 1.1 alnsn },
4937 1.1 alnsn {
4938 1.1 alnsn -1ULL,
4939 1.1 alnsn 0x18b8000000000000ULL,
4940 1.1 alnsn -1ULL,
4941 1.1 alnsn -1ULL,
4942 1.1 alnsn -1ULL
4943 1.1 alnsn }
4944 1.1 alnsn #endif
4945 1.1 alnsn },
4946 1.1 alnsn { "mul_hs_hs", TILEGX_OPC_MUL_HS_HS, 0x5, 3, TREG_ZERO, 1,
4947 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } },
4948 1.1 alnsn #ifndef DISASM_ONLY
4949 1.1 alnsn {
4950 1.1 alnsn 0xc00000007ffc0000ULL,
4951 1.1 alnsn 0ULL,
4952 1.1 alnsn 0x00000000780c0000ULL,
4953 1.1 alnsn 0ULL,
4954 1.1 alnsn 0ULL
4955 1.1 alnsn },
4956 1.1 alnsn {
4957 1.1 alnsn 0x0000000050d40000ULL,
4958 1.1 alnsn -1ULL,
4959 1.1 alnsn 0x0000000068000000ULL,
4960 1.1 alnsn -1ULL,
4961 1.1 alnsn -1ULL
4962 1.1 alnsn }
4963 1.1 alnsn #endif
4964 1.1 alnsn },
4965 1.1 alnsn { "mul_hs_hu", TILEGX_OPC_MUL_HS_HU, 0x1, 3, TREG_ZERO, 1,
4966 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4967 1.1 alnsn #ifndef DISASM_ONLY
4968 1.1 alnsn {
4969 1.1 alnsn 0xc00000007ffc0000ULL,
4970 1.1 alnsn 0ULL,
4971 1.1 alnsn 0ULL,
4972 1.1 alnsn 0ULL,
4973 1.1 alnsn 0ULL
4974 1.1 alnsn },
4975 1.1 alnsn {
4976 1.1 alnsn 0x0000000050d80000ULL,
4977 1.1 alnsn -1ULL,
4978 1.1 alnsn -1ULL,
4979 1.1 alnsn -1ULL,
4980 1.1 alnsn -1ULL
4981 1.1 alnsn }
4982 1.1 alnsn #endif
4983 1.1 alnsn },
4984 1.1 alnsn { "mul_hs_ls", TILEGX_OPC_MUL_HS_LS, 0x1, 3, TREG_ZERO, 1,
4985 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
4986 1.1 alnsn #ifndef DISASM_ONLY
4987 1.1 alnsn {
4988 1.1 alnsn 0xc00000007ffc0000ULL,
4989 1.1 alnsn 0ULL,
4990 1.1 alnsn 0ULL,
4991 1.1 alnsn 0ULL,
4992 1.1 alnsn 0ULL
4993 1.1 alnsn },
4994 1.1 alnsn {
4995 1.1 alnsn 0x0000000050dc0000ULL,
4996 1.1 alnsn -1ULL,
4997 1.1 alnsn -1ULL,
4998 1.1 alnsn -1ULL,
4999 1.1 alnsn -1ULL
5000 1.1 alnsn }
5001 1.1 alnsn #endif
5002 1.1 alnsn },
5003 1.1 alnsn { "mul_hs_lu", TILEGX_OPC_MUL_HS_LU, 0x1, 3, TREG_ZERO, 1,
5004 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5005 1.1 alnsn #ifndef DISASM_ONLY
5006 1.1 alnsn {
5007 1.1 alnsn 0xc00000007ffc0000ULL,
5008 1.1 alnsn 0ULL,
5009 1.1 alnsn 0ULL,
5010 1.1 alnsn 0ULL,
5011 1.1 alnsn 0ULL
5012 1.1 alnsn },
5013 1.1 alnsn {
5014 1.1 alnsn 0x0000000050e00000ULL,
5015 1.1 alnsn -1ULL,
5016 1.1 alnsn -1ULL,
5017 1.1 alnsn -1ULL,
5018 1.1 alnsn -1ULL
5019 1.1 alnsn }
5020 1.1 alnsn #endif
5021 1.1 alnsn },
5022 1.1 alnsn { "mul_hu_hu", TILEGX_OPC_MUL_HU_HU, 0x5, 3, TREG_ZERO, 1,
5023 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } },
5024 1.1 alnsn #ifndef DISASM_ONLY
5025 1.1 alnsn {
5026 1.1 alnsn 0xc00000007ffc0000ULL,
5027 1.1 alnsn 0ULL,
5028 1.1 alnsn 0x00000000780c0000ULL,
5029 1.1 alnsn 0ULL,
5030 1.1 alnsn 0ULL
5031 1.1 alnsn },
5032 1.1 alnsn {
5033 1.1 alnsn 0x0000000050e40000ULL,
5034 1.1 alnsn -1ULL,
5035 1.1 alnsn 0x0000000068040000ULL,
5036 1.1 alnsn -1ULL,
5037 1.1 alnsn -1ULL
5038 1.1 alnsn }
5039 1.1 alnsn #endif
5040 1.1 alnsn },
5041 1.1 alnsn { "mul_hu_ls", TILEGX_OPC_MUL_HU_LS, 0x1, 3, TREG_ZERO, 1,
5042 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5043 1.1 alnsn #ifndef DISASM_ONLY
5044 1.1 alnsn {
5045 1.1 alnsn 0xc00000007ffc0000ULL,
5046 1.1 alnsn 0ULL,
5047 1.1 alnsn 0ULL,
5048 1.1 alnsn 0ULL,
5049 1.1 alnsn 0ULL
5050 1.1 alnsn },
5051 1.1 alnsn {
5052 1.1 alnsn 0x0000000050e80000ULL,
5053 1.1 alnsn -1ULL,
5054 1.1 alnsn -1ULL,
5055 1.1 alnsn -1ULL,
5056 1.1 alnsn -1ULL
5057 1.1 alnsn }
5058 1.1 alnsn #endif
5059 1.1 alnsn },
5060 1.1 alnsn { "mul_hu_lu", TILEGX_OPC_MUL_HU_LU, 0x1, 3, TREG_ZERO, 1,
5061 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5062 1.1 alnsn #ifndef DISASM_ONLY
5063 1.1 alnsn {
5064 1.1 alnsn 0xc00000007ffc0000ULL,
5065 1.1 alnsn 0ULL,
5066 1.1 alnsn 0ULL,
5067 1.1 alnsn 0ULL,
5068 1.1 alnsn 0ULL
5069 1.1 alnsn },
5070 1.1 alnsn {
5071 1.1 alnsn 0x0000000050ec0000ULL,
5072 1.1 alnsn -1ULL,
5073 1.1 alnsn -1ULL,
5074 1.1 alnsn -1ULL,
5075 1.1 alnsn -1ULL
5076 1.1 alnsn }
5077 1.1 alnsn #endif
5078 1.1 alnsn },
5079 1.1 alnsn { "mul_ls_ls", TILEGX_OPC_MUL_LS_LS, 0x5, 3, TREG_ZERO, 1,
5080 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } },
5081 1.1 alnsn #ifndef DISASM_ONLY
5082 1.1 alnsn {
5083 1.1 alnsn 0xc00000007ffc0000ULL,
5084 1.1 alnsn 0ULL,
5085 1.1 alnsn 0x00000000780c0000ULL,
5086 1.1 alnsn 0ULL,
5087 1.1 alnsn 0ULL
5088 1.1 alnsn },
5089 1.1 alnsn {
5090 1.1 alnsn 0x0000000050f00000ULL,
5091 1.1 alnsn -1ULL,
5092 1.1 alnsn 0x0000000068080000ULL,
5093 1.1 alnsn -1ULL,
5094 1.1 alnsn -1ULL
5095 1.1 alnsn }
5096 1.1 alnsn #endif
5097 1.1 alnsn },
5098 1.1 alnsn { "mul_ls_lu", TILEGX_OPC_MUL_LS_LU, 0x1, 3, TREG_ZERO, 1,
5099 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5100 1.1 alnsn #ifndef DISASM_ONLY
5101 1.1 alnsn {
5102 1.1 alnsn 0xc00000007ffc0000ULL,
5103 1.1 alnsn 0ULL,
5104 1.1 alnsn 0ULL,
5105 1.1 alnsn 0ULL,
5106 1.1 alnsn 0ULL
5107 1.1 alnsn },
5108 1.1 alnsn {
5109 1.1 alnsn 0x0000000050f40000ULL,
5110 1.1 alnsn -1ULL,
5111 1.1 alnsn -1ULL,
5112 1.1 alnsn -1ULL,
5113 1.1 alnsn -1ULL
5114 1.1 alnsn }
5115 1.1 alnsn #endif
5116 1.1 alnsn },
5117 1.1 alnsn { "mul_lu_lu", TILEGX_OPC_MUL_LU_LU, 0x5, 3, TREG_ZERO, 1,
5118 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } },
5119 1.1 alnsn #ifndef DISASM_ONLY
5120 1.1 alnsn {
5121 1.1 alnsn 0xc00000007ffc0000ULL,
5122 1.1 alnsn 0ULL,
5123 1.1 alnsn 0x00000000780c0000ULL,
5124 1.1 alnsn 0ULL,
5125 1.1 alnsn 0ULL
5126 1.1 alnsn },
5127 1.1 alnsn {
5128 1.1 alnsn 0x0000000050f80000ULL,
5129 1.1 alnsn -1ULL,
5130 1.1 alnsn 0x00000000680c0000ULL,
5131 1.1 alnsn -1ULL,
5132 1.1 alnsn -1ULL
5133 1.1 alnsn }
5134 1.1 alnsn #endif
5135 1.1 alnsn },
5136 1.1 alnsn { "mula_hs_hs", TILEGX_OPC_MULA_HS_HS, 0x5, 3, TREG_ZERO, 1,
5137 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } },
5138 1.1 alnsn #ifndef DISASM_ONLY
5139 1.1 alnsn {
5140 1.1 alnsn 0xc00000007ffc0000ULL,
5141 1.1 alnsn 0ULL,
5142 1.1 alnsn 0x00000000780c0000ULL,
5143 1.1 alnsn 0ULL,
5144 1.1 alnsn 0ULL
5145 1.1 alnsn },
5146 1.1 alnsn {
5147 1.1 alnsn 0x0000000050a80000ULL,
5148 1.1 alnsn -1ULL,
5149 1.1 alnsn 0x0000000070000000ULL,
5150 1.1 alnsn -1ULL,
5151 1.1 alnsn -1ULL
5152 1.1 alnsn }
5153 1.1 alnsn #endif
5154 1.1 alnsn },
5155 1.1 alnsn { "mula_hs_hu", TILEGX_OPC_MULA_HS_HU, 0x1, 3, TREG_ZERO, 1,
5156 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5157 1.1 alnsn #ifndef DISASM_ONLY
5158 1.1 alnsn {
5159 1.1 alnsn 0xc00000007ffc0000ULL,
5160 1.1 alnsn 0ULL,
5161 1.1 alnsn 0ULL,
5162 1.1 alnsn 0ULL,
5163 1.1 alnsn 0ULL
5164 1.1 alnsn },
5165 1.1 alnsn {
5166 1.1 alnsn 0x0000000050ac0000ULL,
5167 1.1 alnsn -1ULL,
5168 1.1 alnsn -1ULL,
5169 1.1 alnsn -1ULL,
5170 1.1 alnsn -1ULL
5171 1.1 alnsn }
5172 1.1 alnsn #endif
5173 1.1 alnsn },
5174 1.1 alnsn { "mula_hs_ls", TILEGX_OPC_MULA_HS_LS, 0x1, 3, TREG_ZERO, 1,
5175 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5176 1.1 alnsn #ifndef DISASM_ONLY
5177 1.1 alnsn {
5178 1.1 alnsn 0xc00000007ffc0000ULL,
5179 1.1 alnsn 0ULL,
5180 1.1 alnsn 0ULL,
5181 1.1 alnsn 0ULL,
5182 1.1 alnsn 0ULL
5183 1.1 alnsn },
5184 1.1 alnsn {
5185 1.1 alnsn 0x0000000050b00000ULL,
5186 1.1 alnsn -1ULL,
5187 1.1 alnsn -1ULL,
5188 1.1 alnsn -1ULL,
5189 1.1 alnsn -1ULL
5190 1.1 alnsn }
5191 1.1 alnsn #endif
5192 1.1 alnsn },
5193 1.1 alnsn { "mula_hs_lu", TILEGX_OPC_MULA_HS_LU, 0x1, 3, TREG_ZERO, 1,
5194 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5195 1.1 alnsn #ifndef DISASM_ONLY
5196 1.1 alnsn {
5197 1.1 alnsn 0xc00000007ffc0000ULL,
5198 1.1 alnsn 0ULL,
5199 1.1 alnsn 0ULL,
5200 1.1 alnsn 0ULL,
5201 1.1 alnsn 0ULL
5202 1.1 alnsn },
5203 1.1 alnsn {
5204 1.1 alnsn 0x0000000050b40000ULL,
5205 1.1 alnsn -1ULL,
5206 1.1 alnsn -1ULL,
5207 1.1 alnsn -1ULL,
5208 1.1 alnsn -1ULL
5209 1.1 alnsn }
5210 1.1 alnsn #endif
5211 1.1 alnsn },
5212 1.1 alnsn { "mula_hu_hu", TILEGX_OPC_MULA_HU_HU, 0x5, 3, TREG_ZERO, 1,
5213 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } },
5214 1.1 alnsn #ifndef DISASM_ONLY
5215 1.1 alnsn {
5216 1.1 alnsn 0xc00000007ffc0000ULL,
5217 1.1 alnsn 0ULL,
5218 1.1 alnsn 0x00000000780c0000ULL,
5219 1.1 alnsn 0ULL,
5220 1.1 alnsn 0ULL
5221 1.1 alnsn },
5222 1.1 alnsn {
5223 1.1 alnsn 0x0000000050b80000ULL,
5224 1.1 alnsn -1ULL,
5225 1.1 alnsn 0x0000000070040000ULL,
5226 1.1 alnsn -1ULL,
5227 1.1 alnsn -1ULL
5228 1.1 alnsn }
5229 1.1 alnsn #endif
5230 1.1 alnsn },
5231 1.1 alnsn { "mula_hu_ls", TILEGX_OPC_MULA_HU_LS, 0x1, 3, TREG_ZERO, 1,
5232 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5233 1.1 alnsn #ifndef DISASM_ONLY
5234 1.1 alnsn {
5235 1.1 alnsn 0xc00000007ffc0000ULL,
5236 1.1 alnsn 0ULL,
5237 1.1 alnsn 0ULL,
5238 1.1 alnsn 0ULL,
5239 1.1 alnsn 0ULL
5240 1.1 alnsn },
5241 1.1 alnsn {
5242 1.1 alnsn 0x0000000050bc0000ULL,
5243 1.1 alnsn -1ULL,
5244 1.1 alnsn -1ULL,
5245 1.1 alnsn -1ULL,
5246 1.1 alnsn -1ULL
5247 1.1 alnsn }
5248 1.1 alnsn #endif
5249 1.1 alnsn },
5250 1.1 alnsn { "mula_hu_lu", TILEGX_OPC_MULA_HU_LU, 0x1, 3, TREG_ZERO, 1,
5251 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5252 1.1 alnsn #ifndef DISASM_ONLY
5253 1.1 alnsn {
5254 1.1 alnsn 0xc00000007ffc0000ULL,
5255 1.1 alnsn 0ULL,
5256 1.1 alnsn 0ULL,
5257 1.1 alnsn 0ULL,
5258 1.1 alnsn 0ULL
5259 1.1 alnsn },
5260 1.1 alnsn {
5261 1.1 alnsn 0x0000000050c00000ULL,
5262 1.1 alnsn -1ULL,
5263 1.1 alnsn -1ULL,
5264 1.1 alnsn -1ULL,
5265 1.1 alnsn -1ULL
5266 1.1 alnsn }
5267 1.1 alnsn #endif
5268 1.1 alnsn },
5269 1.1 alnsn { "mula_ls_ls", TILEGX_OPC_MULA_LS_LS, 0x5, 3, TREG_ZERO, 1,
5270 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } },
5271 1.1 alnsn #ifndef DISASM_ONLY
5272 1.1 alnsn {
5273 1.1 alnsn 0xc00000007ffc0000ULL,
5274 1.1 alnsn 0ULL,
5275 1.1 alnsn 0x00000000780c0000ULL,
5276 1.1 alnsn 0ULL,
5277 1.1 alnsn 0ULL
5278 1.1 alnsn },
5279 1.1 alnsn {
5280 1.1 alnsn 0x0000000050c40000ULL,
5281 1.1 alnsn -1ULL,
5282 1.1 alnsn 0x0000000070080000ULL,
5283 1.1 alnsn -1ULL,
5284 1.1 alnsn -1ULL
5285 1.1 alnsn }
5286 1.1 alnsn #endif
5287 1.1 alnsn },
5288 1.1 alnsn { "mula_ls_lu", TILEGX_OPC_MULA_LS_LU, 0x1, 3, TREG_ZERO, 1,
5289 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5290 1.1 alnsn #ifndef DISASM_ONLY
5291 1.1 alnsn {
5292 1.1 alnsn 0xc00000007ffc0000ULL,
5293 1.1 alnsn 0ULL,
5294 1.1 alnsn 0ULL,
5295 1.1 alnsn 0ULL,
5296 1.1 alnsn 0ULL
5297 1.1 alnsn },
5298 1.1 alnsn {
5299 1.1 alnsn 0x0000000050c80000ULL,
5300 1.1 alnsn -1ULL,
5301 1.1 alnsn -1ULL,
5302 1.1 alnsn -1ULL,
5303 1.1 alnsn -1ULL
5304 1.1 alnsn }
5305 1.1 alnsn #endif
5306 1.1 alnsn },
5307 1.1 alnsn { "mula_lu_lu", TILEGX_OPC_MULA_LU_LU, 0x5, 3, TREG_ZERO, 1,
5308 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } },
5309 1.1 alnsn #ifndef DISASM_ONLY
5310 1.1 alnsn {
5311 1.1 alnsn 0xc00000007ffc0000ULL,
5312 1.1 alnsn 0ULL,
5313 1.1 alnsn 0x00000000780c0000ULL,
5314 1.1 alnsn 0ULL,
5315 1.1 alnsn 0ULL
5316 1.1 alnsn },
5317 1.1 alnsn {
5318 1.1 alnsn 0x0000000050cc0000ULL,
5319 1.1 alnsn -1ULL,
5320 1.1 alnsn 0x00000000700c0000ULL,
5321 1.1 alnsn -1ULL,
5322 1.1 alnsn -1ULL
5323 1.1 alnsn }
5324 1.1 alnsn #endif
5325 1.1 alnsn },
5326 1.1 alnsn { "mulax", TILEGX_OPC_MULAX, 0x5, 3, TREG_ZERO, 1,
5327 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } },
5328 1.1 alnsn #ifndef DISASM_ONLY
5329 1.1 alnsn {
5330 1.1 alnsn 0xc00000007ffc0000ULL,
5331 1.1 alnsn 0ULL,
5332 1.1 alnsn 0x00000000780c0000ULL,
5333 1.1 alnsn 0ULL,
5334 1.1 alnsn 0ULL
5335 1.1 alnsn },
5336 1.1 alnsn {
5337 1.1 alnsn 0x0000000050a40000ULL,
5338 1.1 alnsn -1ULL,
5339 1.1 alnsn 0x0000000040080000ULL,
5340 1.1 alnsn -1ULL,
5341 1.1 alnsn -1ULL
5342 1.1 alnsn }
5343 1.1 alnsn #endif
5344 1.1 alnsn },
5345 1.1 alnsn { "mulx", TILEGX_OPC_MULX, 0x5, 3, TREG_ZERO, 1,
5346 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } },
5347 1.1 alnsn #ifndef DISASM_ONLY
5348 1.1 alnsn {
5349 1.1 alnsn 0xc00000007ffc0000ULL,
5350 1.1 alnsn 0ULL,
5351 1.1 alnsn 0x00000000780c0000ULL,
5352 1.1 alnsn 0ULL,
5353 1.1 alnsn 0ULL
5354 1.1 alnsn },
5355 1.1 alnsn {
5356 1.1 alnsn 0x0000000050d00000ULL,
5357 1.1 alnsn -1ULL,
5358 1.1 alnsn 0x00000000400c0000ULL,
5359 1.1 alnsn -1ULL,
5360 1.1 alnsn -1ULL
5361 1.1 alnsn }
5362 1.1 alnsn #endif
5363 1.1 alnsn },
5364 1.1 alnsn { "mz", TILEGX_OPC_MZ, 0xf, 3, TREG_ZERO, 1,
5365 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5366 1.1 alnsn #ifndef DISASM_ONLY
5367 1.1 alnsn {
5368 1.1 alnsn 0xc00000007ffc0000ULL,
5369 1.1 alnsn 0xfffe000000000000ULL,
5370 1.1 alnsn 0x00000000780c0000ULL,
5371 1.1 alnsn 0x3c06000000000000ULL,
5372 1.1 alnsn 0ULL
5373 1.1 alnsn },
5374 1.1 alnsn {
5375 1.1 alnsn 0x0000000050fc0000ULL,
5376 1.1 alnsn 0x2836000000000000ULL,
5377 1.1 alnsn 0x00000000480c0000ULL,
5378 1.1 alnsn 0x2806000000000000ULL,
5379 1.1 alnsn -1ULL
5380 1.1 alnsn }
5381 1.1 alnsn #endif
5382 1.1 alnsn },
5383 1.1 alnsn { "nap", TILEGX_OPC_NAP, 0x2, 0, TREG_ZERO, 0,
5384 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
5385 1.1 alnsn #ifndef DISASM_ONLY
5386 1.1 alnsn {
5387 1.1 alnsn 0ULL,
5388 1.1 alnsn 0xfffff80000000000ULL,
5389 1.1 alnsn 0ULL,
5390 1.1 alnsn 0ULL,
5391 1.1 alnsn 0ULL
5392 1.1 alnsn },
5393 1.1 alnsn {
5394 1.1 alnsn -1ULL,
5395 1.1 alnsn 0x286b000000000000ULL,
5396 1.1 alnsn -1ULL,
5397 1.1 alnsn -1ULL,
5398 1.1 alnsn -1ULL
5399 1.1 alnsn }
5400 1.1 alnsn #endif
5401 1.1 alnsn },
5402 1.1 alnsn { "nop", TILEGX_OPC_NOP, 0xf, 0, TREG_ZERO, 1,
5403 1.1 alnsn { { }, { }, { }, { }, { 0, } },
5404 1.1 alnsn #ifndef DISASM_ONLY
5405 1.1 alnsn {
5406 1.1 alnsn 0xc00000007ffff000ULL,
5407 1.1 alnsn 0xfffff80000000000ULL,
5408 1.1 alnsn 0x00000000780ff000ULL,
5409 1.1 alnsn 0x3c07f80000000000ULL,
5410 1.1 alnsn 0ULL
5411 1.1 alnsn },
5412 1.1 alnsn {
5413 1.1 alnsn 0x0000000051485000ULL,
5414 1.1 alnsn 0x286b080000000000ULL,
5415 1.1 alnsn 0x00000000300c5000ULL,
5416 1.1 alnsn 0x1c06780000000000ULL,
5417 1.1 alnsn -1ULL
5418 1.1 alnsn }
5419 1.1 alnsn #endif
5420 1.1 alnsn },
5421 1.1 alnsn { "nor", TILEGX_OPC_NOR, 0xf, 3, TREG_ZERO, 1,
5422 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5423 1.1 alnsn #ifndef DISASM_ONLY
5424 1.1 alnsn {
5425 1.1 alnsn 0xc00000007ffc0000ULL,
5426 1.1 alnsn 0xfffe000000000000ULL,
5427 1.1 alnsn 0x00000000780c0000ULL,
5428 1.1 alnsn 0x3c06000000000000ULL,
5429 1.1 alnsn 0ULL
5430 1.1 alnsn },
5431 1.1 alnsn {
5432 1.1 alnsn 0x0000000051000000ULL,
5433 1.1 alnsn 0x2838000000000000ULL,
5434 1.1 alnsn 0x0000000050040000ULL,
5435 1.1 alnsn 0x2c02000000000000ULL,
5436 1.1 alnsn -1ULL
5437 1.1 alnsn }
5438 1.1 alnsn #endif
5439 1.1 alnsn },
5440 1.1 alnsn { "or", TILEGX_OPC_OR, 0xf, 3, TREG_ZERO, 1,
5441 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5442 1.1 alnsn #ifndef DISASM_ONLY
5443 1.1 alnsn {
5444 1.1 alnsn 0xc00000007ffc0000ULL,
5445 1.1 alnsn 0xfffe000000000000ULL,
5446 1.1 alnsn 0x00000000780c0000ULL,
5447 1.1 alnsn 0x3c06000000000000ULL,
5448 1.1 alnsn 0ULL
5449 1.1 alnsn },
5450 1.1 alnsn {
5451 1.1 alnsn 0x0000000051040000ULL,
5452 1.1 alnsn 0x283a000000000000ULL,
5453 1.1 alnsn 0x0000000050080000ULL,
5454 1.1 alnsn 0x2c04000000000000ULL,
5455 1.1 alnsn -1ULL
5456 1.1 alnsn }
5457 1.1 alnsn #endif
5458 1.1 alnsn },
5459 1.1 alnsn { "ori", TILEGX_OPC_ORI, 0x3, 3, TREG_ZERO, 1,
5460 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
5461 1.1 alnsn #ifndef DISASM_ONLY
5462 1.1 alnsn {
5463 1.1 alnsn 0xc00000007ff00000ULL,
5464 1.1 alnsn 0xfff8000000000000ULL,
5465 1.1 alnsn 0ULL,
5466 1.1 alnsn 0ULL,
5467 1.1 alnsn 0ULL
5468 1.1 alnsn },
5469 1.1 alnsn {
5470 1.1 alnsn 0x0000000040700000ULL,
5471 1.1 alnsn 0x18c0000000000000ULL,
5472 1.1 alnsn -1ULL,
5473 1.1 alnsn -1ULL,
5474 1.1 alnsn -1ULL
5475 1.1 alnsn }
5476 1.1 alnsn #endif
5477 1.1 alnsn },
5478 1.1 alnsn { "pcnt", TILEGX_OPC_PCNT, 0x5, 2, TREG_ZERO, 1,
5479 1.1 alnsn { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } },
5480 1.1 alnsn #ifndef DISASM_ONLY
5481 1.1 alnsn {
5482 1.1 alnsn 0xc00000007ffff000ULL,
5483 1.1 alnsn 0ULL,
5484 1.1 alnsn 0x00000000780ff000ULL,
5485 1.1 alnsn 0ULL,
5486 1.1 alnsn 0ULL
5487 1.1 alnsn },
5488 1.1 alnsn {
5489 1.1 alnsn 0x0000000051486000ULL,
5490 1.1 alnsn -1ULL,
5491 1.1 alnsn 0x00000000300c6000ULL,
5492 1.1 alnsn -1ULL,
5493 1.1 alnsn -1ULL
5494 1.1 alnsn }
5495 1.1 alnsn #endif
5496 1.1 alnsn },
5497 1.1 alnsn { "revbits", TILEGX_OPC_REVBITS, 0x5, 2, TREG_ZERO, 1,
5498 1.1 alnsn { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } },
5499 1.1 alnsn #ifndef DISASM_ONLY
5500 1.1 alnsn {
5501 1.1 alnsn 0xc00000007ffff000ULL,
5502 1.1 alnsn 0ULL,
5503 1.1 alnsn 0x00000000780ff000ULL,
5504 1.1 alnsn 0ULL,
5505 1.1 alnsn 0ULL
5506 1.1 alnsn },
5507 1.1 alnsn {
5508 1.1 alnsn 0x0000000051487000ULL,
5509 1.1 alnsn -1ULL,
5510 1.1 alnsn 0x00000000300c7000ULL,
5511 1.1 alnsn -1ULL,
5512 1.1 alnsn -1ULL
5513 1.1 alnsn }
5514 1.1 alnsn #endif
5515 1.1 alnsn },
5516 1.1 alnsn { "revbytes", TILEGX_OPC_REVBYTES, 0x5, 2, TREG_ZERO, 1,
5517 1.1 alnsn { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } },
5518 1.1 alnsn #ifndef DISASM_ONLY
5519 1.1 alnsn {
5520 1.1 alnsn 0xc00000007ffff000ULL,
5521 1.1 alnsn 0ULL,
5522 1.1 alnsn 0x00000000780ff000ULL,
5523 1.1 alnsn 0ULL,
5524 1.1 alnsn 0ULL
5525 1.1 alnsn },
5526 1.1 alnsn {
5527 1.1 alnsn 0x0000000051488000ULL,
5528 1.1 alnsn -1ULL,
5529 1.1 alnsn 0x00000000300c8000ULL,
5530 1.1 alnsn -1ULL,
5531 1.1 alnsn -1ULL
5532 1.1 alnsn }
5533 1.1 alnsn #endif
5534 1.1 alnsn },
5535 1.1 alnsn { "rotl", TILEGX_OPC_ROTL, 0xf, 3, TREG_ZERO, 1,
5536 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5537 1.1 alnsn #ifndef DISASM_ONLY
5538 1.1 alnsn {
5539 1.1 alnsn 0xc00000007ffc0000ULL,
5540 1.1 alnsn 0xfffe000000000000ULL,
5541 1.1 alnsn 0x00000000780c0000ULL,
5542 1.1 alnsn 0x3c06000000000000ULL,
5543 1.1 alnsn 0ULL
5544 1.1 alnsn },
5545 1.1 alnsn {
5546 1.1 alnsn 0x0000000051080000ULL,
5547 1.1 alnsn 0x283c000000000000ULL,
5548 1.1 alnsn 0x0000000058000000ULL,
5549 1.1 alnsn 0x3000000000000000ULL,
5550 1.1 alnsn -1ULL
5551 1.1 alnsn }
5552 1.1 alnsn #endif
5553 1.1 alnsn },
5554 1.1 alnsn { "rotli", TILEGX_OPC_ROTLI, 0xf, 3, TREG_ZERO, 1,
5555 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 10, 11, 31 }, { 12, 13, 32 }, { 0, } },
5556 1.1 alnsn #ifndef DISASM_ONLY
5557 1.1 alnsn {
5558 1.1 alnsn 0xc00000007ffc0000ULL,
5559 1.1 alnsn 0xfffe000000000000ULL,
5560 1.1 alnsn 0x00000000780c0000ULL,
5561 1.1 alnsn 0x3c06000000000000ULL,
5562 1.1 alnsn 0ULL
5563 1.1 alnsn },
5564 1.1 alnsn {
5565 1.1 alnsn 0x0000000060040000ULL,
5566 1.1 alnsn 0x3002000000000000ULL,
5567 1.1 alnsn 0x0000000078000000ULL,
5568 1.1 alnsn 0x3800000000000000ULL,
5569 1.1 alnsn -1ULL
5570 1.1 alnsn }
5571 1.1 alnsn #endif
5572 1.1 alnsn },
5573 1.1 alnsn { "shl", TILEGX_OPC_SHL, 0xf, 3, TREG_ZERO, 1,
5574 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5575 1.1 alnsn #ifndef DISASM_ONLY
5576 1.1 alnsn {
5577 1.1 alnsn 0xc00000007ffc0000ULL,
5578 1.1 alnsn 0xfffe000000000000ULL,
5579 1.1 alnsn 0x00000000780c0000ULL,
5580 1.1 alnsn 0x3c06000000000000ULL,
5581 1.1 alnsn 0ULL
5582 1.1 alnsn },
5583 1.1 alnsn {
5584 1.1 alnsn 0x0000000051280000ULL,
5585 1.1 alnsn 0x284c000000000000ULL,
5586 1.1 alnsn 0x0000000058040000ULL,
5587 1.1 alnsn 0x3002000000000000ULL,
5588 1.1 alnsn -1ULL
5589 1.1 alnsn }
5590 1.1 alnsn #endif
5591 1.1 alnsn },
5592 1.1 alnsn { "shl16insli", TILEGX_OPC_SHL16INSLI, 0x3, 3, TREG_ZERO, 1,
5593 1.1 alnsn { { 8, 9, 4 }, { 6, 7, 5 }, { 0, }, { 0, }, { 0, } },
5594 1.1 alnsn #ifndef DISASM_ONLY
5595 1.1 alnsn {
5596 1.1 alnsn 0xc000000070000000ULL,
5597 1.1 alnsn 0xf800000000000000ULL,
5598 1.1 alnsn 0ULL,
5599 1.1 alnsn 0ULL,
5600 1.1 alnsn 0ULL
5601 1.1 alnsn },
5602 1.1 alnsn {
5603 1.1 alnsn 0x0000000070000000ULL,
5604 1.1 alnsn 0x3800000000000000ULL,
5605 1.1 alnsn -1ULL,
5606 1.1 alnsn -1ULL,
5607 1.1 alnsn -1ULL
5608 1.1 alnsn }
5609 1.1 alnsn #endif
5610 1.1 alnsn },
5611 1.1 alnsn { "shl1add", TILEGX_OPC_SHL1ADD, 0xf, 3, TREG_ZERO, 1,
5612 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5613 1.1 alnsn #ifndef DISASM_ONLY
5614 1.1 alnsn {
5615 1.1 alnsn 0xc00000007ffc0000ULL,
5616 1.1 alnsn 0xfffe000000000000ULL,
5617 1.1 alnsn 0x00000000780c0000ULL,
5618 1.1 alnsn 0x3c06000000000000ULL,
5619 1.1 alnsn 0ULL
5620 1.1 alnsn },
5621 1.1 alnsn {
5622 1.1 alnsn 0x0000000051100000ULL,
5623 1.1 alnsn 0x2840000000000000ULL,
5624 1.1 alnsn 0x0000000030000000ULL,
5625 1.1 alnsn 0x1c00000000000000ULL,
5626 1.1 alnsn -1ULL
5627 1.1 alnsn }
5628 1.1 alnsn #endif
5629 1.1 alnsn },
5630 1.1 alnsn { "shl1addx", TILEGX_OPC_SHL1ADDX, 0xf, 3, TREG_ZERO, 1,
5631 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5632 1.1 alnsn #ifndef DISASM_ONLY
5633 1.1 alnsn {
5634 1.1 alnsn 0xc00000007ffc0000ULL,
5635 1.1 alnsn 0xfffe000000000000ULL,
5636 1.1 alnsn 0x00000000780c0000ULL,
5637 1.1 alnsn 0x3c06000000000000ULL,
5638 1.1 alnsn 0ULL
5639 1.1 alnsn },
5640 1.1 alnsn {
5641 1.1 alnsn 0x00000000510c0000ULL,
5642 1.1 alnsn 0x283e000000000000ULL,
5643 1.1 alnsn 0x0000000060040000ULL,
5644 1.1 alnsn 0x3402000000000000ULL,
5645 1.1 alnsn -1ULL
5646 1.1 alnsn }
5647 1.1 alnsn #endif
5648 1.1 alnsn },
5649 1.1 alnsn { "shl2add", TILEGX_OPC_SHL2ADD, 0xf, 3, TREG_ZERO, 1,
5650 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5651 1.1 alnsn #ifndef DISASM_ONLY
5652 1.1 alnsn {
5653 1.1 alnsn 0xc00000007ffc0000ULL,
5654 1.1 alnsn 0xfffe000000000000ULL,
5655 1.1 alnsn 0x00000000780c0000ULL,
5656 1.1 alnsn 0x3c06000000000000ULL,
5657 1.1 alnsn 0ULL
5658 1.1 alnsn },
5659 1.1 alnsn {
5660 1.1 alnsn 0x0000000051180000ULL,
5661 1.1 alnsn 0x2844000000000000ULL,
5662 1.1 alnsn 0x0000000030040000ULL,
5663 1.1 alnsn 0x1c02000000000000ULL,
5664 1.1 alnsn -1ULL
5665 1.1 alnsn }
5666 1.1 alnsn #endif
5667 1.1 alnsn },
5668 1.1 alnsn { "shl2addx", TILEGX_OPC_SHL2ADDX, 0xf, 3, TREG_ZERO, 1,
5669 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5670 1.1 alnsn #ifndef DISASM_ONLY
5671 1.1 alnsn {
5672 1.1 alnsn 0xc00000007ffc0000ULL,
5673 1.1 alnsn 0xfffe000000000000ULL,
5674 1.1 alnsn 0x00000000780c0000ULL,
5675 1.1 alnsn 0x3c06000000000000ULL,
5676 1.1 alnsn 0ULL
5677 1.1 alnsn },
5678 1.1 alnsn {
5679 1.1 alnsn 0x0000000051140000ULL,
5680 1.1 alnsn 0x2842000000000000ULL,
5681 1.1 alnsn 0x0000000060080000ULL,
5682 1.1 alnsn 0x3404000000000000ULL,
5683 1.1 alnsn -1ULL
5684 1.1 alnsn }
5685 1.1 alnsn #endif
5686 1.1 alnsn },
5687 1.1 alnsn { "shl3add", TILEGX_OPC_SHL3ADD, 0xf, 3, TREG_ZERO, 1,
5688 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5689 1.1 alnsn #ifndef DISASM_ONLY
5690 1.1 alnsn {
5691 1.1 alnsn 0xc00000007ffc0000ULL,
5692 1.1 alnsn 0xfffe000000000000ULL,
5693 1.1 alnsn 0x00000000780c0000ULL,
5694 1.1 alnsn 0x3c06000000000000ULL,
5695 1.1 alnsn 0ULL
5696 1.1 alnsn },
5697 1.1 alnsn {
5698 1.1 alnsn 0x0000000051200000ULL,
5699 1.1 alnsn 0x2848000000000000ULL,
5700 1.1 alnsn 0x0000000030080000ULL,
5701 1.1 alnsn 0x1c04000000000000ULL,
5702 1.1 alnsn -1ULL
5703 1.1 alnsn }
5704 1.1 alnsn #endif
5705 1.1 alnsn },
5706 1.1 alnsn { "shl3addx", TILEGX_OPC_SHL3ADDX, 0xf, 3, TREG_ZERO, 1,
5707 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5708 1.1 alnsn #ifndef DISASM_ONLY
5709 1.1 alnsn {
5710 1.1 alnsn 0xc00000007ffc0000ULL,
5711 1.1 alnsn 0xfffe000000000000ULL,
5712 1.1 alnsn 0x00000000780c0000ULL,
5713 1.1 alnsn 0x3c06000000000000ULL,
5714 1.1 alnsn 0ULL
5715 1.1 alnsn },
5716 1.1 alnsn {
5717 1.1 alnsn 0x00000000511c0000ULL,
5718 1.1 alnsn 0x2846000000000000ULL,
5719 1.1 alnsn 0x00000000600c0000ULL,
5720 1.1 alnsn 0x3406000000000000ULL,
5721 1.1 alnsn -1ULL
5722 1.1 alnsn }
5723 1.1 alnsn #endif
5724 1.1 alnsn },
5725 1.1 alnsn { "shli", TILEGX_OPC_SHLI, 0xf, 3, TREG_ZERO, 1,
5726 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 10, 11, 31 }, { 12, 13, 32 }, { 0, } },
5727 1.1 alnsn #ifndef DISASM_ONLY
5728 1.1 alnsn {
5729 1.1 alnsn 0xc00000007ffc0000ULL,
5730 1.1 alnsn 0xfffe000000000000ULL,
5731 1.1 alnsn 0x00000000780c0000ULL,
5732 1.1 alnsn 0x3c06000000000000ULL,
5733 1.1 alnsn 0ULL
5734 1.1 alnsn },
5735 1.1 alnsn {
5736 1.1 alnsn 0x0000000060080000ULL,
5737 1.1 alnsn 0x3004000000000000ULL,
5738 1.1 alnsn 0x0000000078040000ULL,
5739 1.1 alnsn 0x3802000000000000ULL,
5740 1.1 alnsn -1ULL
5741 1.1 alnsn }
5742 1.1 alnsn #endif
5743 1.1 alnsn },
5744 1.1 alnsn { "shlx", TILEGX_OPC_SHLX, 0x3, 3, TREG_ZERO, 1,
5745 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
5746 1.1 alnsn #ifndef DISASM_ONLY
5747 1.1 alnsn {
5748 1.1 alnsn 0xc00000007ffc0000ULL,
5749 1.1 alnsn 0xfffe000000000000ULL,
5750 1.1 alnsn 0ULL,
5751 1.1 alnsn 0ULL,
5752 1.1 alnsn 0ULL
5753 1.1 alnsn },
5754 1.1 alnsn {
5755 1.1 alnsn 0x0000000051240000ULL,
5756 1.1 alnsn 0x284a000000000000ULL,
5757 1.1 alnsn -1ULL,
5758 1.1 alnsn -1ULL,
5759 1.1 alnsn -1ULL
5760 1.1 alnsn }
5761 1.1 alnsn #endif
5762 1.1 alnsn },
5763 1.1 alnsn { "shlxi", TILEGX_OPC_SHLXI, 0x3, 3, TREG_ZERO, 1,
5764 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } },
5765 1.1 alnsn #ifndef DISASM_ONLY
5766 1.1 alnsn {
5767 1.1 alnsn 0xc00000007ffc0000ULL,
5768 1.1 alnsn 0xfffe000000000000ULL,
5769 1.1 alnsn 0ULL,
5770 1.1 alnsn 0ULL,
5771 1.1 alnsn 0ULL
5772 1.1 alnsn },
5773 1.1 alnsn {
5774 1.1 alnsn 0x00000000600c0000ULL,
5775 1.1 alnsn 0x3006000000000000ULL,
5776 1.1 alnsn -1ULL,
5777 1.1 alnsn -1ULL,
5778 1.1 alnsn -1ULL
5779 1.1 alnsn }
5780 1.1 alnsn #endif
5781 1.1 alnsn },
5782 1.1 alnsn { "shrs", TILEGX_OPC_SHRS, 0xf, 3, TREG_ZERO, 1,
5783 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5784 1.1 alnsn #ifndef DISASM_ONLY
5785 1.1 alnsn {
5786 1.1 alnsn 0xc00000007ffc0000ULL,
5787 1.1 alnsn 0xfffe000000000000ULL,
5788 1.1 alnsn 0x00000000780c0000ULL,
5789 1.1 alnsn 0x3c06000000000000ULL,
5790 1.1 alnsn 0ULL
5791 1.1 alnsn },
5792 1.1 alnsn {
5793 1.1 alnsn 0x00000000512c0000ULL,
5794 1.1 alnsn 0x284e000000000000ULL,
5795 1.1 alnsn 0x0000000058080000ULL,
5796 1.1 alnsn 0x3004000000000000ULL,
5797 1.1 alnsn -1ULL
5798 1.1 alnsn }
5799 1.1 alnsn #endif
5800 1.1 alnsn },
5801 1.1 alnsn { "shrsi", TILEGX_OPC_SHRSI, 0xf, 3, TREG_ZERO, 1,
5802 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 10, 11, 31 }, { 12, 13, 32 }, { 0, } },
5803 1.1 alnsn #ifndef DISASM_ONLY
5804 1.1 alnsn {
5805 1.1 alnsn 0xc00000007ffc0000ULL,
5806 1.1 alnsn 0xfffe000000000000ULL,
5807 1.1 alnsn 0x00000000780c0000ULL,
5808 1.1 alnsn 0x3c06000000000000ULL,
5809 1.1 alnsn 0ULL
5810 1.1 alnsn },
5811 1.1 alnsn {
5812 1.1 alnsn 0x0000000060100000ULL,
5813 1.1 alnsn 0x3008000000000000ULL,
5814 1.1 alnsn 0x0000000078080000ULL,
5815 1.1 alnsn 0x3804000000000000ULL,
5816 1.1 alnsn -1ULL
5817 1.1 alnsn }
5818 1.1 alnsn #endif
5819 1.1 alnsn },
5820 1.1 alnsn { "shru", TILEGX_OPC_SHRU, 0xf, 3, TREG_ZERO, 1,
5821 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
5822 1.1 alnsn #ifndef DISASM_ONLY
5823 1.1 alnsn {
5824 1.1 alnsn 0xc00000007ffc0000ULL,
5825 1.1 alnsn 0xfffe000000000000ULL,
5826 1.1 alnsn 0x00000000780c0000ULL,
5827 1.1 alnsn 0x3c06000000000000ULL,
5828 1.1 alnsn 0ULL
5829 1.1 alnsn },
5830 1.1 alnsn {
5831 1.1 alnsn 0x0000000051340000ULL,
5832 1.1 alnsn 0x2852000000000000ULL,
5833 1.1 alnsn 0x00000000580c0000ULL,
5834 1.1 alnsn 0x3006000000000000ULL,
5835 1.1 alnsn -1ULL
5836 1.1 alnsn }
5837 1.1 alnsn #endif
5838 1.1 alnsn },
5839 1.1 alnsn { "shrui", TILEGX_OPC_SHRUI, 0xf, 3, TREG_ZERO, 1,
5840 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 10, 11, 31 }, { 12, 13, 32 }, { 0, } },
5841 1.1 alnsn #ifndef DISASM_ONLY
5842 1.1 alnsn {
5843 1.1 alnsn 0xc00000007ffc0000ULL,
5844 1.1 alnsn 0xfffe000000000000ULL,
5845 1.1 alnsn 0x00000000780c0000ULL,
5846 1.1 alnsn 0x3c06000000000000ULL,
5847 1.1 alnsn 0ULL
5848 1.1 alnsn },
5849 1.1 alnsn {
5850 1.1 alnsn 0x0000000060140000ULL,
5851 1.1 alnsn 0x300a000000000000ULL,
5852 1.1 alnsn 0x00000000780c0000ULL,
5853 1.1 alnsn 0x3806000000000000ULL,
5854 1.1 alnsn -1ULL
5855 1.1 alnsn }
5856 1.1 alnsn #endif
5857 1.1 alnsn },
5858 1.1 alnsn { "shrux", TILEGX_OPC_SHRUX, 0x3, 3, TREG_ZERO, 1,
5859 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
5860 1.1 alnsn #ifndef DISASM_ONLY
5861 1.1 alnsn {
5862 1.1 alnsn 0xc00000007ffc0000ULL,
5863 1.1 alnsn 0xfffe000000000000ULL,
5864 1.1 alnsn 0ULL,
5865 1.1 alnsn 0ULL,
5866 1.1 alnsn 0ULL
5867 1.1 alnsn },
5868 1.1 alnsn {
5869 1.1 alnsn 0x0000000051300000ULL,
5870 1.1 alnsn 0x2850000000000000ULL,
5871 1.1 alnsn -1ULL,
5872 1.1 alnsn -1ULL,
5873 1.1 alnsn -1ULL
5874 1.1 alnsn }
5875 1.1 alnsn #endif
5876 1.1 alnsn },
5877 1.1 alnsn { "shruxi", TILEGX_OPC_SHRUXI, 0x3, 3, TREG_ZERO, 1,
5878 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } },
5879 1.1 alnsn #ifndef DISASM_ONLY
5880 1.1 alnsn {
5881 1.1 alnsn 0xc00000007ffc0000ULL,
5882 1.1 alnsn 0xfffe000000000000ULL,
5883 1.1 alnsn 0ULL,
5884 1.1 alnsn 0ULL,
5885 1.1 alnsn 0ULL
5886 1.1 alnsn },
5887 1.1 alnsn {
5888 1.1 alnsn 0x0000000060180000ULL,
5889 1.1 alnsn 0x300c000000000000ULL,
5890 1.1 alnsn -1ULL,
5891 1.1 alnsn -1ULL,
5892 1.1 alnsn -1ULL
5893 1.1 alnsn }
5894 1.1 alnsn #endif
5895 1.1 alnsn },
5896 1.1 alnsn { "shufflebytes", TILEGX_OPC_SHUFFLEBYTES, 0x1, 3, TREG_ZERO, 1,
5897 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
5898 1.1 alnsn #ifndef DISASM_ONLY
5899 1.1 alnsn {
5900 1.1 alnsn 0xc00000007ffc0000ULL,
5901 1.1 alnsn 0ULL,
5902 1.1 alnsn 0ULL,
5903 1.1 alnsn 0ULL,
5904 1.1 alnsn 0ULL
5905 1.1 alnsn },
5906 1.1 alnsn {
5907 1.1 alnsn 0x0000000051380000ULL,
5908 1.1 alnsn -1ULL,
5909 1.1 alnsn -1ULL,
5910 1.1 alnsn -1ULL,
5911 1.1 alnsn -1ULL
5912 1.1 alnsn }
5913 1.1 alnsn #endif
5914 1.1 alnsn },
5915 1.1 alnsn { "st", TILEGX_OPC_ST, 0x12, 2, TREG_ZERO, 1,
5916 1.1 alnsn { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 14, 33 } },
5917 1.1 alnsn #ifndef DISASM_ONLY
5918 1.1 alnsn {
5919 1.1 alnsn 0ULL,
5920 1.1 alnsn 0xfffe000000000000ULL,
5921 1.1 alnsn 0ULL,
5922 1.1 alnsn 0ULL,
5923 1.1 alnsn 0xc200000004000000ULL
5924 1.1 alnsn },
5925 1.1 alnsn {
5926 1.1 alnsn -1ULL,
5927 1.1 alnsn 0x2862000000000000ULL,
5928 1.1 alnsn -1ULL,
5929 1.1 alnsn -1ULL,
5930 1.1 alnsn 0xc200000004000000ULL
5931 1.1 alnsn }
5932 1.1 alnsn #endif
5933 1.1 alnsn },
5934 1.1 alnsn { "st1", TILEGX_OPC_ST1, 0x12, 2, TREG_ZERO, 1,
5935 1.1 alnsn { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 14, 33 } },
5936 1.1 alnsn #ifndef DISASM_ONLY
5937 1.1 alnsn {
5938 1.1 alnsn 0ULL,
5939 1.1 alnsn 0xfffe000000000000ULL,
5940 1.1 alnsn 0ULL,
5941 1.1 alnsn 0ULL,
5942 1.1 alnsn 0xc200000004000000ULL
5943 1.1 alnsn },
5944 1.1 alnsn {
5945 1.1 alnsn -1ULL,
5946 1.1 alnsn 0x2854000000000000ULL,
5947 1.1 alnsn -1ULL,
5948 1.1 alnsn -1ULL,
5949 1.1 alnsn 0xc000000000000000ULL
5950 1.1 alnsn }
5951 1.1 alnsn #endif
5952 1.1 alnsn },
5953 1.1 alnsn { "st1_add", TILEGX_OPC_ST1_ADD, 0x2, 3, TREG_ZERO, 1,
5954 1.1 alnsn { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } },
5955 1.1 alnsn #ifndef DISASM_ONLY
5956 1.1 alnsn {
5957 1.1 alnsn 0ULL,
5958 1.1 alnsn 0xfff8000000000000ULL,
5959 1.1 alnsn 0ULL,
5960 1.1 alnsn 0ULL,
5961 1.1 alnsn 0ULL
5962 1.1 alnsn },
5963 1.1 alnsn {
5964 1.1 alnsn -1ULL,
5965 1.1 alnsn 0x18c8000000000000ULL,
5966 1.1 alnsn -1ULL,
5967 1.1 alnsn -1ULL,
5968 1.1 alnsn -1ULL
5969 1.1 alnsn }
5970 1.1 alnsn #endif
5971 1.1 alnsn },
5972 1.1 alnsn { "st2", TILEGX_OPC_ST2, 0x12, 2, TREG_ZERO, 1,
5973 1.1 alnsn { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 14, 33 } },
5974 1.1 alnsn #ifndef DISASM_ONLY
5975 1.1 alnsn {
5976 1.1 alnsn 0ULL,
5977 1.1 alnsn 0xfffe000000000000ULL,
5978 1.1 alnsn 0ULL,
5979 1.1 alnsn 0ULL,
5980 1.1 alnsn 0xc200000004000000ULL
5981 1.1 alnsn },
5982 1.1 alnsn {
5983 1.1 alnsn -1ULL,
5984 1.1 alnsn 0x2856000000000000ULL,
5985 1.1 alnsn -1ULL,
5986 1.1 alnsn -1ULL,
5987 1.1 alnsn 0xc000000004000000ULL
5988 1.1 alnsn }
5989 1.1 alnsn #endif
5990 1.1 alnsn },
5991 1.1 alnsn { "st2_add", TILEGX_OPC_ST2_ADD, 0x2, 3, TREG_ZERO, 1,
5992 1.1 alnsn { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } },
5993 1.1 alnsn #ifndef DISASM_ONLY
5994 1.1 alnsn {
5995 1.1 alnsn 0ULL,
5996 1.1 alnsn 0xfff8000000000000ULL,
5997 1.1 alnsn 0ULL,
5998 1.1 alnsn 0ULL,
5999 1.1 alnsn 0ULL
6000 1.1 alnsn },
6001 1.1 alnsn {
6002 1.1 alnsn -1ULL,
6003 1.1 alnsn 0x18d0000000000000ULL,
6004 1.1 alnsn -1ULL,
6005 1.1 alnsn -1ULL,
6006 1.1 alnsn -1ULL
6007 1.1 alnsn }
6008 1.1 alnsn #endif
6009 1.1 alnsn },
6010 1.1 alnsn { "st4", TILEGX_OPC_ST4, 0x12, 2, TREG_ZERO, 1,
6011 1.1 alnsn { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 14, 33 } },
6012 1.1 alnsn #ifndef DISASM_ONLY
6013 1.1 alnsn {
6014 1.1 alnsn 0ULL,
6015 1.1 alnsn 0xfffe000000000000ULL,
6016 1.1 alnsn 0ULL,
6017 1.1 alnsn 0ULL,
6018 1.1 alnsn 0xc200000004000000ULL
6019 1.1 alnsn },
6020 1.1 alnsn {
6021 1.1 alnsn -1ULL,
6022 1.1 alnsn 0x2858000000000000ULL,
6023 1.1 alnsn -1ULL,
6024 1.1 alnsn -1ULL,
6025 1.1 alnsn 0xc200000000000000ULL
6026 1.1 alnsn }
6027 1.1 alnsn #endif
6028 1.1 alnsn },
6029 1.1 alnsn { "st4_add", TILEGX_OPC_ST4_ADD, 0x2, 3, TREG_ZERO, 1,
6030 1.1 alnsn { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } },
6031 1.1 alnsn #ifndef DISASM_ONLY
6032 1.1 alnsn {
6033 1.1 alnsn 0ULL,
6034 1.1 alnsn 0xfff8000000000000ULL,
6035 1.1 alnsn 0ULL,
6036 1.1 alnsn 0ULL,
6037 1.1 alnsn 0ULL
6038 1.1 alnsn },
6039 1.1 alnsn {
6040 1.1 alnsn -1ULL,
6041 1.1 alnsn 0x18d8000000000000ULL,
6042 1.1 alnsn -1ULL,
6043 1.1 alnsn -1ULL,
6044 1.1 alnsn -1ULL
6045 1.1 alnsn }
6046 1.1 alnsn #endif
6047 1.1 alnsn },
6048 1.1 alnsn { "st_add", TILEGX_OPC_ST_ADD, 0x2, 3, TREG_ZERO, 1,
6049 1.1 alnsn { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } },
6050 1.1 alnsn #ifndef DISASM_ONLY
6051 1.1 alnsn {
6052 1.1 alnsn 0ULL,
6053 1.1 alnsn 0xfff8000000000000ULL,
6054 1.1 alnsn 0ULL,
6055 1.1 alnsn 0ULL,
6056 1.1 alnsn 0ULL
6057 1.1 alnsn },
6058 1.1 alnsn {
6059 1.1 alnsn -1ULL,
6060 1.1 alnsn 0x1900000000000000ULL,
6061 1.1 alnsn -1ULL,
6062 1.1 alnsn -1ULL,
6063 1.1 alnsn -1ULL
6064 1.1 alnsn }
6065 1.1 alnsn #endif
6066 1.1 alnsn },
6067 1.1 alnsn { "stnt", TILEGX_OPC_STNT, 0x2, 2, TREG_ZERO, 1,
6068 1.1 alnsn { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 0, } },
6069 1.1 alnsn #ifndef DISASM_ONLY
6070 1.1 alnsn {
6071 1.1 alnsn 0ULL,
6072 1.1 alnsn 0xfffe000000000000ULL,
6073 1.1 alnsn 0ULL,
6074 1.1 alnsn 0ULL,
6075 1.1 alnsn 0ULL
6076 1.1 alnsn },
6077 1.1 alnsn {
6078 1.1 alnsn -1ULL,
6079 1.1 alnsn 0x2860000000000000ULL,
6080 1.1 alnsn -1ULL,
6081 1.1 alnsn -1ULL,
6082 1.1 alnsn -1ULL
6083 1.1 alnsn }
6084 1.1 alnsn #endif
6085 1.1 alnsn },
6086 1.1 alnsn { "stnt1", TILEGX_OPC_STNT1, 0x2, 2, TREG_ZERO, 1,
6087 1.1 alnsn { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 0, } },
6088 1.1 alnsn #ifndef DISASM_ONLY
6089 1.1 alnsn {
6090 1.1 alnsn 0ULL,
6091 1.1 alnsn 0xfffe000000000000ULL,
6092 1.1 alnsn 0ULL,
6093 1.1 alnsn 0ULL,
6094 1.1 alnsn 0ULL
6095 1.1 alnsn },
6096 1.1 alnsn {
6097 1.1 alnsn -1ULL,
6098 1.1 alnsn 0x285a000000000000ULL,
6099 1.1 alnsn -1ULL,
6100 1.1 alnsn -1ULL,
6101 1.1 alnsn -1ULL
6102 1.1 alnsn }
6103 1.1 alnsn #endif
6104 1.1 alnsn },
6105 1.1 alnsn { "stnt1_add", TILEGX_OPC_STNT1_ADD, 0x2, 3, TREG_ZERO, 1,
6106 1.1 alnsn { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } },
6107 1.1 alnsn #ifndef DISASM_ONLY
6108 1.1 alnsn {
6109 1.1 alnsn 0ULL,
6110 1.1 alnsn 0xfff8000000000000ULL,
6111 1.1 alnsn 0ULL,
6112 1.1 alnsn 0ULL,
6113 1.1 alnsn 0ULL
6114 1.1 alnsn },
6115 1.1 alnsn {
6116 1.1 alnsn -1ULL,
6117 1.1 alnsn 0x18e0000000000000ULL,
6118 1.1 alnsn -1ULL,
6119 1.1 alnsn -1ULL,
6120 1.1 alnsn -1ULL
6121 1.1 alnsn }
6122 1.1 alnsn #endif
6123 1.1 alnsn },
6124 1.1 alnsn { "stnt2", TILEGX_OPC_STNT2, 0x2, 2, TREG_ZERO, 1,
6125 1.1 alnsn { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 0, } },
6126 1.1 alnsn #ifndef DISASM_ONLY
6127 1.1 alnsn {
6128 1.1 alnsn 0ULL,
6129 1.1 alnsn 0xfffe000000000000ULL,
6130 1.1 alnsn 0ULL,
6131 1.1 alnsn 0ULL,
6132 1.1 alnsn 0ULL
6133 1.1 alnsn },
6134 1.1 alnsn {
6135 1.1 alnsn -1ULL,
6136 1.1 alnsn 0x285c000000000000ULL,
6137 1.1 alnsn -1ULL,
6138 1.1 alnsn -1ULL,
6139 1.1 alnsn -1ULL
6140 1.1 alnsn }
6141 1.1 alnsn #endif
6142 1.1 alnsn },
6143 1.1 alnsn { "stnt2_add", TILEGX_OPC_STNT2_ADD, 0x2, 3, TREG_ZERO, 1,
6144 1.1 alnsn { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } },
6145 1.1 alnsn #ifndef DISASM_ONLY
6146 1.1 alnsn {
6147 1.1 alnsn 0ULL,
6148 1.1 alnsn 0xfff8000000000000ULL,
6149 1.1 alnsn 0ULL,
6150 1.1 alnsn 0ULL,
6151 1.1 alnsn 0ULL
6152 1.1 alnsn },
6153 1.1 alnsn {
6154 1.1 alnsn -1ULL,
6155 1.1 alnsn 0x18e8000000000000ULL,
6156 1.1 alnsn -1ULL,
6157 1.1 alnsn -1ULL,
6158 1.1 alnsn -1ULL
6159 1.1 alnsn }
6160 1.1 alnsn #endif
6161 1.1 alnsn },
6162 1.1 alnsn { "stnt4", TILEGX_OPC_STNT4, 0x2, 2, TREG_ZERO, 1,
6163 1.1 alnsn { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 0, } },
6164 1.1 alnsn #ifndef DISASM_ONLY
6165 1.1 alnsn {
6166 1.1 alnsn 0ULL,
6167 1.1 alnsn 0xfffe000000000000ULL,
6168 1.1 alnsn 0ULL,
6169 1.1 alnsn 0ULL,
6170 1.1 alnsn 0ULL
6171 1.1 alnsn },
6172 1.1 alnsn {
6173 1.1 alnsn -1ULL,
6174 1.1 alnsn 0x285e000000000000ULL,
6175 1.1 alnsn -1ULL,
6176 1.1 alnsn -1ULL,
6177 1.1 alnsn -1ULL
6178 1.1 alnsn }
6179 1.1 alnsn #endif
6180 1.1 alnsn },
6181 1.1 alnsn { "stnt4_add", TILEGX_OPC_STNT4_ADD, 0x2, 3, TREG_ZERO, 1,
6182 1.1 alnsn { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } },
6183 1.1 alnsn #ifndef DISASM_ONLY
6184 1.1 alnsn {
6185 1.1 alnsn 0ULL,
6186 1.1 alnsn 0xfff8000000000000ULL,
6187 1.1 alnsn 0ULL,
6188 1.1 alnsn 0ULL,
6189 1.1 alnsn 0ULL
6190 1.1 alnsn },
6191 1.1 alnsn {
6192 1.1 alnsn -1ULL,
6193 1.1 alnsn 0x18f0000000000000ULL,
6194 1.1 alnsn -1ULL,
6195 1.1 alnsn -1ULL,
6196 1.1 alnsn -1ULL
6197 1.1 alnsn }
6198 1.1 alnsn #endif
6199 1.1 alnsn },
6200 1.1 alnsn { "stnt_add", TILEGX_OPC_STNT_ADD, 0x2, 3, TREG_ZERO, 1,
6201 1.1 alnsn { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } },
6202 1.1 alnsn #ifndef DISASM_ONLY
6203 1.1 alnsn {
6204 1.1 alnsn 0ULL,
6205 1.1 alnsn 0xfff8000000000000ULL,
6206 1.1 alnsn 0ULL,
6207 1.1 alnsn 0ULL,
6208 1.1 alnsn 0ULL
6209 1.1 alnsn },
6210 1.1 alnsn {
6211 1.1 alnsn -1ULL,
6212 1.1 alnsn 0x18f8000000000000ULL,
6213 1.1 alnsn -1ULL,
6214 1.1 alnsn -1ULL,
6215 1.1 alnsn -1ULL
6216 1.1 alnsn }
6217 1.1 alnsn #endif
6218 1.1 alnsn },
6219 1.1 alnsn { "sub", TILEGX_OPC_SUB, 0xf, 3, TREG_ZERO, 1,
6220 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
6221 1.1 alnsn #ifndef DISASM_ONLY
6222 1.1 alnsn {
6223 1.1 alnsn 0xc00000007ffc0000ULL,
6224 1.1 alnsn 0xfffe000000000000ULL,
6225 1.1 alnsn 0x00000000780c0000ULL,
6226 1.1 alnsn 0x3c06000000000000ULL,
6227 1.1 alnsn 0ULL
6228 1.1 alnsn },
6229 1.1 alnsn {
6230 1.1 alnsn 0x0000000051440000ULL,
6231 1.1 alnsn 0x2868000000000000ULL,
6232 1.1 alnsn 0x00000000280c0000ULL,
6233 1.1 alnsn 0x1806000000000000ULL,
6234 1.1 alnsn -1ULL
6235 1.1 alnsn }
6236 1.1 alnsn #endif
6237 1.1 alnsn },
6238 1.1 alnsn { "subx", TILEGX_OPC_SUBX, 0xf, 3, TREG_ZERO, 1,
6239 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
6240 1.1 alnsn #ifndef DISASM_ONLY
6241 1.1 alnsn {
6242 1.1 alnsn 0xc00000007ffc0000ULL,
6243 1.1 alnsn 0xfffe000000000000ULL,
6244 1.1 alnsn 0x00000000780c0000ULL,
6245 1.1 alnsn 0x3c06000000000000ULL,
6246 1.1 alnsn 0ULL
6247 1.1 alnsn },
6248 1.1 alnsn {
6249 1.1 alnsn 0x0000000051400000ULL,
6250 1.1 alnsn 0x2866000000000000ULL,
6251 1.1 alnsn 0x0000000028080000ULL,
6252 1.1 alnsn 0x1804000000000000ULL,
6253 1.1 alnsn -1ULL
6254 1.1 alnsn }
6255 1.1 alnsn #endif
6256 1.1 alnsn },
6257 1.1 alnsn { "subxsc", TILEGX_OPC_SUBXSC, 0x3, 3, TREG_ZERO, 1,
6258 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6259 1.1 alnsn #ifndef DISASM_ONLY
6260 1.1 alnsn {
6261 1.1 alnsn 0xc00000007ffc0000ULL,
6262 1.1 alnsn 0xfffe000000000000ULL,
6263 1.1 alnsn 0ULL,
6264 1.1 alnsn 0ULL,
6265 1.1 alnsn 0ULL
6266 1.1 alnsn },
6267 1.1 alnsn {
6268 1.1 alnsn 0x00000000513c0000ULL,
6269 1.1 alnsn 0x2864000000000000ULL,
6270 1.1 alnsn -1ULL,
6271 1.1 alnsn -1ULL,
6272 1.1 alnsn -1ULL
6273 1.1 alnsn }
6274 1.1 alnsn #endif
6275 1.1 alnsn },
6276 1.1 alnsn { "swint0", TILEGX_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0,
6277 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
6278 1.1 alnsn #ifndef DISASM_ONLY
6279 1.1 alnsn {
6280 1.1 alnsn 0ULL,
6281 1.1 alnsn 0xfffff80000000000ULL,
6282 1.1 alnsn 0ULL,
6283 1.1 alnsn 0ULL,
6284 1.1 alnsn 0ULL
6285 1.1 alnsn },
6286 1.1 alnsn {
6287 1.1 alnsn -1ULL,
6288 1.1 alnsn 0x286b100000000000ULL,
6289 1.1 alnsn -1ULL,
6290 1.1 alnsn -1ULL,
6291 1.1 alnsn -1ULL
6292 1.1 alnsn }
6293 1.1 alnsn #endif
6294 1.1 alnsn },
6295 1.1 alnsn { "swint1", TILEGX_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0,
6296 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
6297 1.1 alnsn #ifndef DISASM_ONLY
6298 1.1 alnsn {
6299 1.1 alnsn 0ULL,
6300 1.1 alnsn 0xfffff80000000000ULL,
6301 1.1 alnsn 0ULL,
6302 1.1 alnsn 0ULL,
6303 1.1 alnsn 0ULL
6304 1.1 alnsn },
6305 1.1 alnsn {
6306 1.1 alnsn -1ULL,
6307 1.1 alnsn 0x286b180000000000ULL,
6308 1.1 alnsn -1ULL,
6309 1.1 alnsn -1ULL,
6310 1.1 alnsn -1ULL
6311 1.1 alnsn }
6312 1.1 alnsn #endif
6313 1.1 alnsn },
6314 1.1 alnsn { "swint2", TILEGX_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0,
6315 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
6316 1.1 alnsn #ifndef DISASM_ONLY
6317 1.1 alnsn {
6318 1.1 alnsn 0ULL,
6319 1.1 alnsn 0xfffff80000000000ULL,
6320 1.1 alnsn 0ULL,
6321 1.1 alnsn 0ULL,
6322 1.1 alnsn 0ULL
6323 1.1 alnsn },
6324 1.1 alnsn {
6325 1.1 alnsn -1ULL,
6326 1.1 alnsn 0x286b200000000000ULL,
6327 1.1 alnsn -1ULL,
6328 1.1 alnsn -1ULL,
6329 1.1 alnsn -1ULL
6330 1.1 alnsn }
6331 1.1 alnsn #endif
6332 1.1 alnsn },
6333 1.1 alnsn { "swint3", TILEGX_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0,
6334 1.1 alnsn { { 0, }, { }, { 0, }, { 0, }, { 0, } },
6335 1.1 alnsn #ifndef DISASM_ONLY
6336 1.1 alnsn {
6337 1.1 alnsn 0ULL,
6338 1.1 alnsn 0xfffff80000000000ULL,
6339 1.1 alnsn 0ULL,
6340 1.1 alnsn 0ULL,
6341 1.1 alnsn 0ULL
6342 1.1 alnsn },
6343 1.1 alnsn {
6344 1.1 alnsn -1ULL,
6345 1.1 alnsn 0x286b280000000000ULL,
6346 1.1 alnsn -1ULL,
6347 1.1 alnsn -1ULL,
6348 1.1 alnsn -1ULL
6349 1.1 alnsn }
6350 1.1 alnsn #endif
6351 1.1 alnsn },
6352 1.1 alnsn { "tblidxb0", TILEGX_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1,
6353 1.1 alnsn { { 23, 9 }, { 0, }, { 24, 11 }, { 0, }, { 0, } },
6354 1.1 alnsn #ifndef DISASM_ONLY
6355 1.1 alnsn {
6356 1.1 alnsn 0xc00000007ffff000ULL,
6357 1.1 alnsn 0ULL,
6358 1.1 alnsn 0x00000000780ff000ULL,
6359 1.1 alnsn 0ULL,
6360 1.1 alnsn 0ULL
6361 1.1 alnsn },
6362 1.1 alnsn {
6363 1.1 alnsn 0x0000000051489000ULL,
6364 1.1 alnsn -1ULL,
6365 1.1 alnsn 0x00000000300c9000ULL,
6366 1.1 alnsn -1ULL,
6367 1.1 alnsn -1ULL
6368 1.1 alnsn }
6369 1.1 alnsn #endif
6370 1.1 alnsn },
6371 1.1 alnsn { "tblidxb1", TILEGX_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1,
6372 1.1 alnsn { { 23, 9 }, { 0, }, { 24, 11 }, { 0, }, { 0, } },
6373 1.1 alnsn #ifndef DISASM_ONLY
6374 1.1 alnsn {
6375 1.1 alnsn 0xc00000007ffff000ULL,
6376 1.1 alnsn 0ULL,
6377 1.1 alnsn 0x00000000780ff000ULL,
6378 1.1 alnsn 0ULL,
6379 1.1 alnsn 0ULL
6380 1.1 alnsn },
6381 1.1 alnsn {
6382 1.1 alnsn 0x000000005148a000ULL,
6383 1.1 alnsn -1ULL,
6384 1.1 alnsn 0x00000000300ca000ULL,
6385 1.1 alnsn -1ULL,
6386 1.1 alnsn -1ULL
6387 1.1 alnsn }
6388 1.1 alnsn #endif
6389 1.1 alnsn },
6390 1.1 alnsn { "tblidxb2", TILEGX_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1,
6391 1.1 alnsn { { 23, 9 }, { 0, }, { 24, 11 }, { 0, }, { 0, } },
6392 1.1 alnsn #ifndef DISASM_ONLY
6393 1.1 alnsn {
6394 1.1 alnsn 0xc00000007ffff000ULL,
6395 1.1 alnsn 0ULL,
6396 1.1 alnsn 0x00000000780ff000ULL,
6397 1.1 alnsn 0ULL,
6398 1.1 alnsn 0ULL
6399 1.1 alnsn },
6400 1.1 alnsn {
6401 1.1 alnsn 0x000000005148b000ULL,
6402 1.1 alnsn -1ULL,
6403 1.1 alnsn 0x00000000300cb000ULL,
6404 1.1 alnsn -1ULL,
6405 1.1 alnsn -1ULL
6406 1.1 alnsn }
6407 1.1 alnsn #endif
6408 1.1 alnsn },
6409 1.1 alnsn { "tblidxb3", TILEGX_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1,
6410 1.1 alnsn { { 23, 9 }, { 0, }, { 24, 11 }, { 0, }, { 0, } },
6411 1.1 alnsn #ifndef DISASM_ONLY
6412 1.1 alnsn {
6413 1.1 alnsn 0xc00000007ffff000ULL,
6414 1.1 alnsn 0ULL,
6415 1.1 alnsn 0x00000000780ff000ULL,
6416 1.1 alnsn 0ULL,
6417 1.1 alnsn 0ULL
6418 1.1 alnsn },
6419 1.1 alnsn {
6420 1.1 alnsn 0x000000005148c000ULL,
6421 1.1 alnsn -1ULL,
6422 1.1 alnsn 0x00000000300cc000ULL,
6423 1.1 alnsn -1ULL,
6424 1.1 alnsn -1ULL
6425 1.1 alnsn }
6426 1.1 alnsn #endif
6427 1.1 alnsn },
6428 1.1 alnsn { "v1add", TILEGX_OPC_V1ADD, 0x3, 3, TREG_ZERO, 1,
6429 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6430 1.1 alnsn #ifndef DISASM_ONLY
6431 1.1 alnsn {
6432 1.1 alnsn 0xc00000007ffc0000ULL,
6433 1.1 alnsn 0xfffe000000000000ULL,
6434 1.1 alnsn 0ULL,
6435 1.1 alnsn 0ULL,
6436 1.1 alnsn 0ULL
6437 1.1 alnsn },
6438 1.1 alnsn {
6439 1.1 alnsn 0x0000000051500000ULL,
6440 1.1 alnsn 0x286e000000000000ULL,
6441 1.1 alnsn -1ULL,
6442 1.1 alnsn -1ULL,
6443 1.1 alnsn -1ULL
6444 1.1 alnsn }
6445 1.1 alnsn #endif
6446 1.1 alnsn },
6447 1.1 alnsn { "v1addi", TILEGX_OPC_V1ADDI, 0x3, 3, TREG_ZERO, 1,
6448 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
6449 1.1 alnsn #ifndef DISASM_ONLY
6450 1.1 alnsn {
6451 1.1 alnsn 0xc00000007ff00000ULL,
6452 1.1 alnsn 0xfff8000000000000ULL,
6453 1.1 alnsn 0ULL,
6454 1.1 alnsn 0ULL,
6455 1.1 alnsn 0ULL
6456 1.1 alnsn },
6457 1.1 alnsn {
6458 1.1 alnsn 0x0000000040800000ULL,
6459 1.1 alnsn 0x1908000000000000ULL,
6460 1.1 alnsn -1ULL,
6461 1.1 alnsn -1ULL,
6462 1.1 alnsn -1ULL
6463 1.1 alnsn }
6464 1.1 alnsn #endif
6465 1.1 alnsn },
6466 1.1 alnsn { "v1adduc", TILEGX_OPC_V1ADDUC, 0x3, 3, TREG_ZERO, 1,
6467 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6468 1.1 alnsn #ifndef DISASM_ONLY
6469 1.1 alnsn {
6470 1.1 alnsn 0xc00000007ffc0000ULL,
6471 1.1 alnsn 0xfffe000000000000ULL,
6472 1.1 alnsn 0ULL,
6473 1.1 alnsn 0ULL,
6474 1.1 alnsn 0ULL
6475 1.1 alnsn },
6476 1.1 alnsn {
6477 1.1 alnsn 0x00000000514c0000ULL,
6478 1.1 alnsn 0x286c000000000000ULL,
6479 1.1 alnsn -1ULL,
6480 1.1 alnsn -1ULL,
6481 1.1 alnsn -1ULL
6482 1.1 alnsn }
6483 1.1 alnsn #endif
6484 1.1 alnsn },
6485 1.1 alnsn { "v1adiffu", TILEGX_OPC_V1ADIFFU, 0x1, 3, TREG_ZERO, 1,
6486 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6487 1.1 alnsn #ifndef DISASM_ONLY
6488 1.1 alnsn {
6489 1.1 alnsn 0xc00000007ffc0000ULL,
6490 1.1 alnsn 0ULL,
6491 1.1 alnsn 0ULL,
6492 1.1 alnsn 0ULL,
6493 1.1 alnsn 0ULL
6494 1.1 alnsn },
6495 1.1 alnsn {
6496 1.1 alnsn 0x0000000051540000ULL,
6497 1.1 alnsn -1ULL,
6498 1.1 alnsn -1ULL,
6499 1.1 alnsn -1ULL,
6500 1.1 alnsn -1ULL
6501 1.1 alnsn }
6502 1.1 alnsn #endif
6503 1.1 alnsn },
6504 1.1 alnsn { "v1avgu", TILEGX_OPC_V1AVGU, 0x1, 3, TREG_ZERO, 1,
6505 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6506 1.1 alnsn #ifndef DISASM_ONLY
6507 1.1 alnsn {
6508 1.1 alnsn 0xc00000007ffc0000ULL,
6509 1.1 alnsn 0ULL,
6510 1.1 alnsn 0ULL,
6511 1.1 alnsn 0ULL,
6512 1.1 alnsn 0ULL
6513 1.1 alnsn },
6514 1.1 alnsn {
6515 1.1 alnsn 0x0000000051580000ULL,
6516 1.1 alnsn -1ULL,
6517 1.1 alnsn -1ULL,
6518 1.1 alnsn -1ULL,
6519 1.1 alnsn -1ULL
6520 1.1 alnsn }
6521 1.1 alnsn #endif
6522 1.1 alnsn },
6523 1.1 alnsn { "v1cmpeq", TILEGX_OPC_V1CMPEQ, 0x3, 3, TREG_ZERO, 1,
6524 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6525 1.1 alnsn #ifndef DISASM_ONLY
6526 1.1 alnsn {
6527 1.1 alnsn 0xc00000007ffc0000ULL,
6528 1.1 alnsn 0xfffe000000000000ULL,
6529 1.1 alnsn 0ULL,
6530 1.1 alnsn 0ULL,
6531 1.1 alnsn 0ULL
6532 1.1 alnsn },
6533 1.1 alnsn {
6534 1.1 alnsn 0x00000000515c0000ULL,
6535 1.1 alnsn 0x2870000000000000ULL,
6536 1.1 alnsn -1ULL,
6537 1.1 alnsn -1ULL,
6538 1.1 alnsn -1ULL
6539 1.1 alnsn }
6540 1.1 alnsn #endif
6541 1.1 alnsn },
6542 1.1 alnsn { "v1cmpeqi", TILEGX_OPC_V1CMPEQI, 0x3, 3, TREG_ZERO, 1,
6543 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
6544 1.1 alnsn #ifndef DISASM_ONLY
6545 1.1 alnsn {
6546 1.1 alnsn 0xc00000007ff00000ULL,
6547 1.1 alnsn 0xfff8000000000000ULL,
6548 1.1 alnsn 0ULL,
6549 1.1 alnsn 0ULL,
6550 1.1 alnsn 0ULL
6551 1.1 alnsn },
6552 1.1 alnsn {
6553 1.1 alnsn 0x0000000040900000ULL,
6554 1.1 alnsn 0x1910000000000000ULL,
6555 1.1 alnsn -1ULL,
6556 1.1 alnsn -1ULL,
6557 1.1 alnsn -1ULL
6558 1.1 alnsn }
6559 1.1 alnsn #endif
6560 1.1 alnsn },
6561 1.1 alnsn { "v1cmples", TILEGX_OPC_V1CMPLES, 0x3, 3, TREG_ZERO, 1,
6562 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6563 1.1 alnsn #ifndef DISASM_ONLY
6564 1.1 alnsn {
6565 1.1 alnsn 0xc00000007ffc0000ULL,
6566 1.1 alnsn 0xfffe000000000000ULL,
6567 1.1 alnsn 0ULL,
6568 1.1 alnsn 0ULL,
6569 1.1 alnsn 0ULL
6570 1.1 alnsn },
6571 1.1 alnsn {
6572 1.1 alnsn 0x0000000051600000ULL,
6573 1.1 alnsn 0x2872000000000000ULL,
6574 1.1 alnsn -1ULL,
6575 1.1 alnsn -1ULL,
6576 1.1 alnsn -1ULL
6577 1.1 alnsn }
6578 1.1 alnsn #endif
6579 1.1 alnsn },
6580 1.1 alnsn { "v1cmpleu", TILEGX_OPC_V1CMPLEU, 0x3, 3, TREG_ZERO, 1,
6581 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6582 1.1 alnsn #ifndef DISASM_ONLY
6583 1.1 alnsn {
6584 1.1 alnsn 0xc00000007ffc0000ULL,
6585 1.1 alnsn 0xfffe000000000000ULL,
6586 1.1 alnsn 0ULL,
6587 1.1 alnsn 0ULL,
6588 1.1 alnsn 0ULL
6589 1.1 alnsn },
6590 1.1 alnsn {
6591 1.1 alnsn 0x0000000051640000ULL,
6592 1.1 alnsn 0x2874000000000000ULL,
6593 1.1 alnsn -1ULL,
6594 1.1 alnsn -1ULL,
6595 1.1 alnsn -1ULL
6596 1.1 alnsn }
6597 1.1 alnsn #endif
6598 1.1 alnsn },
6599 1.1 alnsn { "v1cmplts", TILEGX_OPC_V1CMPLTS, 0x3, 3, TREG_ZERO, 1,
6600 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6601 1.1 alnsn #ifndef DISASM_ONLY
6602 1.1 alnsn {
6603 1.1 alnsn 0xc00000007ffc0000ULL,
6604 1.1 alnsn 0xfffe000000000000ULL,
6605 1.1 alnsn 0ULL,
6606 1.1 alnsn 0ULL,
6607 1.1 alnsn 0ULL
6608 1.1 alnsn },
6609 1.1 alnsn {
6610 1.1 alnsn 0x0000000051680000ULL,
6611 1.1 alnsn 0x2876000000000000ULL,
6612 1.1 alnsn -1ULL,
6613 1.1 alnsn -1ULL,
6614 1.1 alnsn -1ULL
6615 1.1 alnsn }
6616 1.1 alnsn #endif
6617 1.1 alnsn },
6618 1.1 alnsn { "v1cmpltsi", TILEGX_OPC_V1CMPLTSI, 0x3, 3, TREG_ZERO, 1,
6619 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
6620 1.1 alnsn #ifndef DISASM_ONLY
6621 1.1 alnsn {
6622 1.1 alnsn 0xc00000007ff00000ULL,
6623 1.1 alnsn 0xfff8000000000000ULL,
6624 1.1 alnsn 0ULL,
6625 1.1 alnsn 0ULL,
6626 1.1 alnsn 0ULL
6627 1.1 alnsn },
6628 1.1 alnsn {
6629 1.1 alnsn 0x0000000040a00000ULL,
6630 1.1 alnsn 0x1918000000000000ULL,
6631 1.1 alnsn -1ULL,
6632 1.1 alnsn -1ULL,
6633 1.1 alnsn -1ULL
6634 1.1 alnsn }
6635 1.1 alnsn #endif
6636 1.1 alnsn },
6637 1.1 alnsn { "v1cmpltu", TILEGX_OPC_V1CMPLTU, 0x3, 3, TREG_ZERO, 1,
6638 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6639 1.1 alnsn #ifndef DISASM_ONLY
6640 1.1 alnsn {
6641 1.1 alnsn 0xc00000007ffc0000ULL,
6642 1.1 alnsn 0xfffe000000000000ULL,
6643 1.1 alnsn 0ULL,
6644 1.1 alnsn 0ULL,
6645 1.1 alnsn 0ULL
6646 1.1 alnsn },
6647 1.1 alnsn {
6648 1.1 alnsn 0x00000000516c0000ULL,
6649 1.1 alnsn 0x2878000000000000ULL,
6650 1.1 alnsn -1ULL,
6651 1.1 alnsn -1ULL,
6652 1.1 alnsn -1ULL
6653 1.1 alnsn }
6654 1.1 alnsn #endif
6655 1.1 alnsn },
6656 1.1 alnsn { "v1cmpltui", TILEGX_OPC_V1CMPLTUI, 0x3, 3, TREG_ZERO, 1,
6657 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
6658 1.1 alnsn #ifndef DISASM_ONLY
6659 1.1 alnsn {
6660 1.1 alnsn 0xc00000007ff00000ULL,
6661 1.1 alnsn 0xfff8000000000000ULL,
6662 1.1 alnsn 0ULL,
6663 1.1 alnsn 0ULL,
6664 1.1 alnsn 0ULL
6665 1.1 alnsn },
6666 1.1 alnsn {
6667 1.1 alnsn 0x0000000040b00000ULL,
6668 1.1 alnsn 0x1920000000000000ULL,
6669 1.1 alnsn -1ULL,
6670 1.1 alnsn -1ULL,
6671 1.1 alnsn -1ULL
6672 1.1 alnsn }
6673 1.1 alnsn #endif
6674 1.1 alnsn },
6675 1.1 alnsn { "v1cmpne", TILEGX_OPC_V1CMPNE, 0x3, 3, TREG_ZERO, 1,
6676 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6677 1.1 alnsn #ifndef DISASM_ONLY
6678 1.1 alnsn {
6679 1.1 alnsn 0xc00000007ffc0000ULL,
6680 1.1 alnsn 0xfffe000000000000ULL,
6681 1.1 alnsn 0ULL,
6682 1.1 alnsn 0ULL,
6683 1.1 alnsn 0ULL
6684 1.1 alnsn },
6685 1.1 alnsn {
6686 1.1 alnsn 0x0000000051700000ULL,
6687 1.1 alnsn 0x287a000000000000ULL,
6688 1.1 alnsn -1ULL,
6689 1.1 alnsn -1ULL,
6690 1.1 alnsn -1ULL
6691 1.1 alnsn }
6692 1.1 alnsn #endif
6693 1.1 alnsn },
6694 1.1 alnsn { "v1ddotpu", TILEGX_OPC_V1DDOTPU, 0x1, 3, TREG_ZERO, 1,
6695 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6696 1.1 alnsn #ifndef DISASM_ONLY
6697 1.1 alnsn {
6698 1.1 alnsn 0xc00000007ffc0000ULL,
6699 1.1 alnsn 0ULL,
6700 1.1 alnsn 0ULL,
6701 1.1 alnsn 0ULL,
6702 1.1 alnsn 0ULL
6703 1.1 alnsn },
6704 1.1 alnsn {
6705 1.1 alnsn 0x0000000052880000ULL,
6706 1.1 alnsn -1ULL,
6707 1.1 alnsn -1ULL,
6708 1.1 alnsn -1ULL,
6709 1.1 alnsn -1ULL
6710 1.1 alnsn }
6711 1.1 alnsn #endif
6712 1.1 alnsn },
6713 1.1 alnsn { "v1ddotpua", TILEGX_OPC_V1DDOTPUA, 0x1, 3, TREG_ZERO, 1,
6714 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6715 1.1 alnsn #ifndef DISASM_ONLY
6716 1.1 alnsn {
6717 1.1 alnsn 0xc00000007ffc0000ULL,
6718 1.1 alnsn 0ULL,
6719 1.1 alnsn 0ULL,
6720 1.1 alnsn 0ULL,
6721 1.1 alnsn 0ULL
6722 1.1 alnsn },
6723 1.1 alnsn {
6724 1.1 alnsn 0x0000000052840000ULL,
6725 1.1 alnsn -1ULL,
6726 1.1 alnsn -1ULL,
6727 1.1 alnsn -1ULL,
6728 1.1 alnsn -1ULL
6729 1.1 alnsn }
6730 1.1 alnsn #endif
6731 1.1 alnsn },
6732 1.1 alnsn { "v1ddotpus", TILEGX_OPC_V1DDOTPUS, 0x1, 3, TREG_ZERO, 1,
6733 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6734 1.1 alnsn #ifndef DISASM_ONLY
6735 1.1 alnsn {
6736 1.1 alnsn 0xc00000007ffc0000ULL,
6737 1.1 alnsn 0ULL,
6738 1.1 alnsn 0ULL,
6739 1.1 alnsn 0ULL,
6740 1.1 alnsn 0ULL
6741 1.1 alnsn },
6742 1.1 alnsn {
6743 1.1 alnsn 0x0000000051780000ULL,
6744 1.1 alnsn -1ULL,
6745 1.1 alnsn -1ULL,
6746 1.1 alnsn -1ULL,
6747 1.1 alnsn -1ULL
6748 1.1 alnsn }
6749 1.1 alnsn #endif
6750 1.1 alnsn },
6751 1.1 alnsn { "v1ddotpusa", TILEGX_OPC_V1DDOTPUSA, 0x1, 3, TREG_ZERO, 1,
6752 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6753 1.1 alnsn #ifndef DISASM_ONLY
6754 1.1 alnsn {
6755 1.1 alnsn 0xc00000007ffc0000ULL,
6756 1.1 alnsn 0ULL,
6757 1.1 alnsn 0ULL,
6758 1.1 alnsn 0ULL,
6759 1.1 alnsn 0ULL
6760 1.1 alnsn },
6761 1.1 alnsn {
6762 1.1 alnsn 0x0000000051740000ULL,
6763 1.1 alnsn -1ULL,
6764 1.1 alnsn -1ULL,
6765 1.1 alnsn -1ULL,
6766 1.1 alnsn -1ULL
6767 1.1 alnsn }
6768 1.1 alnsn #endif
6769 1.1 alnsn },
6770 1.1 alnsn { "v1dotp", TILEGX_OPC_V1DOTP, 0x1, 3, TREG_ZERO, 1,
6771 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6772 1.1 alnsn #ifndef DISASM_ONLY
6773 1.1 alnsn {
6774 1.1 alnsn 0xc00000007ffc0000ULL,
6775 1.1 alnsn 0ULL,
6776 1.1 alnsn 0ULL,
6777 1.1 alnsn 0ULL,
6778 1.1 alnsn 0ULL
6779 1.1 alnsn },
6780 1.1 alnsn {
6781 1.1 alnsn 0x0000000051880000ULL,
6782 1.1 alnsn -1ULL,
6783 1.1 alnsn -1ULL,
6784 1.1 alnsn -1ULL,
6785 1.1 alnsn -1ULL
6786 1.1 alnsn }
6787 1.1 alnsn #endif
6788 1.1 alnsn },
6789 1.1 alnsn { "v1dotpa", TILEGX_OPC_V1DOTPA, 0x1, 3, TREG_ZERO, 1,
6790 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6791 1.1 alnsn #ifndef DISASM_ONLY
6792 1.1 alnsn {
6793 1.1 alnsn 0xc00000007ffc0000ULL,
6794 1.1 alnsn 0ULL,
6795 1.1 alnsn 0ULL,
6796 1.1 alnsn 0ULL,
6797 1.1 alnsn 0ULL
6798 1.1 alnsn },
6799 1.1 alnsn {
6800 1.1 alnsn 0x00000000517c0000ULL,
6801 1.1 alnsn -1ULL,
6802 1.1 alnsn -1ULL,
6803 1.1 alnsn -1ULL,
6804 1.1 alnsn -1ULL
6805 1.1 alnsn }
6806 1.1 alnsn #endif
6807 1.1 alnsn },
6808 1.1 alnsn { "v1dotpu", TILEGX_OPC_V1DOTPU, 0x1, 3, TREG_ZERO, 1,
6809 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6810 1.1 alnsn #ifndef DISASM_ONLY
6811 1.1 alnsn {
6812 1.1 alnsn 0xc00000007ffc0000ULL,
6813 1.1 alnsn 0ULL,
6814 1.1 alnsn 0ULL,
6815 1.1 alnsn 0ULL,
6816 1.1 alnsn 0ULL
6817 1.1 alnsn },
6818 1.1 alnsn {
6819 1.1 alnsn 0x0000000052900000ULL,
6820 1.1 alnsn -1ULL,
6821 1.1 alnsn -1ULL,
6822 1.1 alnsn -1ULL,
6823 1.1 alnsn -1ULL
6824 1.1 alnsn }
6825 1.1 alnsn #endif
6826 1.1 alnsn },
6827 1.1 alnsn { "v1dotpua", TILEGX_OPC_V1DOTPUA, 0x1, 3, TREG_ZERO, 1,
6828 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6829 1.1 alnsn #ifndef DISASM_ONLY
6830 1.1 alnsn {
6831 1.1 alnsn 0xc00000007ffc0000ULL,
6832 1.1 alnsn 0ULL,
6833 1.1 alnsn 0ULL,
6834 1.1 alnsn 0ULL,
6835 1.1 alnsn 0ULL
6836 1.1 alnsn },
6837 1.1 alnsn {
6838 1.1 alnsn 0x00000000528c0000ULL,
6839 1.1 alnsn -1ULL,
6840 1.1 alnsn -1ULL,
6841 1.1 alnsn -1ULL,
6842 1.1 alnsn -1ULL
6843 1.1 alnsn }
6844 1.1 alnsn #endif
6845 1.1 alnsn },
6846 1.1 alnsn { "v1dotpus", TILEGX_OPC_V1DOTPUS, 0x1, 3, TREG_ZERO, 1,
6847 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6848 1.1 alnsn #ifndef DISASM_ONLY
6849 1.1 alnsn {
6850 1.1 alnsn 0xc00000007ffc0000ULL,
6851 1.1 alnsn 0ULL,
6852 1.1 alnsn 0ULL,
6853 1.1 alnsn 0ULL,
6854 1.1 alnsn 0ULL
6855 1.1 alnsn },
6856 1.1 alnsn {
6857 1.1 alnsn 0x0000000051840000ULL,
6858 1.1 alnsn -1ULL,
6859 1.1 alnsn -1ULL,
6860 1.1 alnsn -1ULL,
6861 1.1 alnsn -1ULL
6862 1.1 alnsn }
6863 1.1 alnsn #endif
6864 1.1 alnsn },
6865 1.1 alnsn { "v1dotpusa", TILEGX_OPC_V1DOTPUSA, 0x1, 3, TREG_ZERO, 1,
6866 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
6867 1.1 alnsn #ifndef DISASM_ONLY
6868 1.1 alnsn {
6869 1.1 alnsn 0xc00000007ffc0000ULL,
6870 1.1 alnsn 0ULL,
6871 1.1 alnsn 0ULL,
6872 1.1 alnsn 0ULL,
6873 1.1 alnsn 0ULL
6874 1.1 alnsn },
6875 1.1 alnsn {
6876 1.1 alnsn 0x0000000051800000ULL,
6877 1.1 alnsn -1ULL,
6878 1.1 alnsn -1ULL,
6879 1.1 alnsn -1ULL,
6880 1.1 alnsn -1ULL
6881 1.1 alnsn }
6882 1.1 alnsn #endif
6883 1.1 alnsn },
6884 1.1 alnsn { "v1int_h", TILEGX_OPC_V1INT_H, 0x3, 3, TREG_ZERO, 1,
6885 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6886 1.1 alnsn #ifndef DISASM_ONLY
6887 1.1 alnsn {
6888 1.1 alnsn 0xc00000007ffc0000ULL,
6889 1.1 alnsn 0xfffe000000000000ULL,
6890 1.1 alnsn 0ULL,
6891 1.1 alnsn 0ULL,
6892 1.1 alnsn 0ULL
6893 1.1 alnsn },
6894 1.1 alnsn {
6895 1.1 alnsn 0x00000000518c0000ULL,
6896 1.1 alnsn 0x287c000000000000ULL,
6897 1.1 alnsn -1ULL,
6898 1.1 alnsn -1ULL,
6899 1.1 alnsn -1ULL
6900 1.1 alnsn }
6901 1.1 alnsn #endif
6902 1.1 alnsn },
6903 1.1 alnsn { "v1int_l", TILEGX_OPC_V1INT_L, 0x3, 3, TREG_ZERO, 1,
6904 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6905 1.1 alnsn #ifndef DISASM_ONLY
6906 1.1 alnsn {
6907 1.1 alnsn 0xc00000007ffc0000ULL,
6908 1.1 alnsn 0xfffe000000000000ULL,
6909 1.1 alnsn 0ULL,
6910 1.1 alnsn 0ULL,
6911 1.1 alnsn 0ULL
6912 1.1 alnsn },
6913 1.1 alnsn {
6914 1.1 alnsn 0x0000000051900000ULL,
6915 1.1 alnsn 0x287e000000000000ULL,
6916 1.1 alnsn -1ULL,
6917 1.1 alnsn -1ULL,
6918 1.1 alnsn -1ULL
6919 1.1 alnsn }
6920 1.1 alnsn #endif
6921 1.1 alnsn },
6922 1.1 alnsn { "v1maxu", TILEGX_OPC_V1MAXU, 0x3, 3, TREG_ZERO, 1,
6923 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6924 1.1 alnsn #ifndef DISASM_ONLY
6925 1.1 alnsn {
6926 1.1 alnsn 0xc00000007ffc0000ULL,
6927 1.1 alnsn 0xfffe000000000000ULL,
6928 1.1 alnsn 0ULL,
6929 1.1 alnsn 0ULL,
6930 1.1 alnsn 0ULL
6931 1.1 alnsn },
6932 1.1 alnsn {
6933 1.1 alnsn 0x0000000051940000ULL,
6934 1.1 alnsn 0x2880000000000000ULL,
6935 1.1 alnsn -1ULL,
6936 1.1 alnsn -1ULL,
6937 1.1 alnsn -1ULL
6938 1.1 alnsn }
6939 1.1 alnsn #endif
6940 1.1 alnsn },
6941 1.1 alnsn { "v1maxui", TILEGX_OPC_V1MAXUI, 0x3, 3, TREG_ZERO, 1,
6942 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
6943 1.1 alnsn #ifndef DISASM_ONLY
6944 1.1 alnsn {
6945 1.1 alnsn 0xc00000007ff00000ULL,
6946 1.1 alnsn 0xfff8000000000000ULL,
6947 1.1 alnsn 0ULL,
6948 1.1 alnsn 0ULL,
6949 1.1 alnsn 0ULL
6950 1.1 alnsn },
6951 1.1 alnsn {
6952 1.1 alnsn 0x0000000040c00000ULL,
6953 1.1 alnsn 0x1928000000000000ULL,
6954 1.1 alnsn -1ULL,
6955 1.1 alnsn -1ULL,
6956 1.1 alnsn -1ULL
6957 1.1 alnsn }
6958 1.1 alnsn #endif
6959 1.1 alnsn },
6960 1.1 alnsn { "v1minu", TILEGX_OPC_V1MINU, 0x3, 3, TREG_ZERO, 1,
6961 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
6962 1.1 alnsn #ifndef DISASM_ONLY
6963 1.1 alnsn {
6964 1.1 alnsn 0xc00000007ffc0000ULL,
6965 1.1 alnsn 0xfffe000000000000ULL,
6966 1.1 alnsn 0ULL,
6967 1.1 alnsn 0ULL,
6968 1.1 alnsn 0ULL
6969 1.1 alnsn },
6970 1.1 alnsn {
6971 1.1 alnsn 0x0000000051980000ULL,
6972 1.1 alnsn 0x2882000000000000ULL,
6973 1.1 alnsn -1ULL,
6974 1.1 alnsn -1ULL,
6975 1.1 alnsn -1ULL
6976 1.1 alnsn }
6977 1.1 alnsn #endif
6978 1.1 alnsn },
6979 1.1 alnsn { "v1minui", TILEGX_OPC_V1MINUI, 0x3, 3, TREG_ZERO, 1,
6980 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
6981 1.1 alnsn #ifndef DISASM_ONLY
6982 1.1 alnsn {
6983 1.1 alnsn 0xc00000007ff00000ULL,
6984 1.1 alnsn 0xfff8000000000000ULL,
6985 1.1 alnsn 0ULL,
6986 1.1 alnsn 0ULL,
6987 1.1 alnsn 0ULL
6988 1.1 alnsn },
6989 1.1 alnsn {
6990 1.1 alnsn 0x0000000040d00000ULL,
6991 1.1 alnsn 0x1930000000000000ULL,
6992 1.1 alnsn -1ULL,
6993 1.1 alnsn -1ULL,
6994 1.1 alnsn -1ULL
6995 1.1 alnsn }
6996 1.1 alnsn #endif
6997 1.1 alnsn },
6998 1.1 alnsn { "v1mnz", TILEGX_OPC_V1MNZ, 0x3, 3, TREG_ZERO, 1,
6999 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7000 1.1 alnsn #ifndef DISASM_ONLY
7001 1.1 alnsn {
7002 1.1 alnsn 0xc00000007ffc0000ULL,
7003 1.1 alnsn 0xfffe000000000000ULL,
7004 1.1 alnsn 0ULL,
7005 1.1 alnsn 0ULL,
7006 1.1 alnsn 0ULL
7007 1.1 alnsn },
7008 1.1 alnsn {
7009 1.1 alnsn 0x00000000519c0000ULL,
7010 1.1 alnsn 0x2884000000000000ULL,
7011 1.1 alnsn -1ULL,
7012 1.1 alnsn -1ULL,
7013 1.1 alnsn -1ULL
7014 1.1 alnsn }
7015 1.1 alnsn #endif
7016 1.1 alnsn },
7017 1.1 alnsn { "v1multu", TILEGX_OPC_V1MULTU, 0x1, 3, TREG_ZERO, 1,
7018 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7019 1.1 alnsn #ifndef DISASM_ONLY
7020 1.1 alnsn {
7021 1.1 alnsn 0xc00000007ffc0000ULL,
7022 1.1 alnsn 0ULL,
7023 1.1 alnsn 0ULL,
7024 1.1 alnsn 0ULL,
7025 1.1 alnsn 0ULL
7026 1.1 alnsn },
7027 1.1 alnsn {
7028 1.1 alnsn 0x0000000051a00000ULL,
7029 1.1 alnsn -1ULL,
7030 1.1 alnsn -1ULL,
7031 1.1 alnsn -1ULL,
7032 1.1 alnsn -1ULL
7033 1.1 alnsn }
7034 1.1 alnsn #endif
7035 1.1 alnsn },
7036 1.1 alnsn { "v1mulu", TILEGX_OPC_V1MULU, 0x1, 3, TREG_ZERO, 1,
7037 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7038 1.1 alnsn #ifndef DISASM_ONLY
7039 1.1 alnsn {
7040 1.1 alnsn 0xc00000007ffc0000ULL,
7041 1.1 alnsn 0ULL,
7042 1.1 alnsn 0ULL,
7043 1.1 alnsn 0ULL,
7044 1.1 alnsn 0ULL
7045 1.1 alnsn },
7046 1.1 alnsn {
7047 1.1 alnsn 0x0000000051a80000ULL,
7048 1.1 alnsn -1ULL,
7049 1.1 alnsn -1ULL,
7050 1.1 alnsn -1ULL,
7051 1.1 alnsn -1ULL
7052 1.1 alnsn }
7053 1.1 alnsn #endif
7054 1.1 alnsn },
7055 1.1 alnsn { "v1mulus", TILEGX_OPC_V1MULUS, 0x1, 3, TREG_ZERO, 1,
7056 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7057 1.1 alnsn #ifndef DISASM_ONLY
7058 1.1 alnsn {
7059 1.1 alnsn 0xc00000007ffc0000ULL,
7060 1.1 alnsn 0ULL,
7061 1.1 alnsn 0ULL,
7062 1.1 alnsn 0ULL,
7063 1.1 alnsn 0ULL
7064 1.1 alnsn },
7065 1.1 alnsn {
7066 1.1 alnsn 0x0000000051a40000ULL,
7067 1.1 alnsn -1ULL,
7068 1.1 alnsn -1ULL,
7069 1.1 alnsn -1ULL,
7070 1.1 alnsn -1ULL
7071 1.1 alnsn }
7072 1.1 alnsn #endif
7073 1.1 alnsn },
7074 1.1 alnsn { "v1mz", TILEGX_OPC_V1MZ, 0x3, 3, TREG_ZERO, 1,
7075 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7076 1.1 alnsn #ifndef DISASM_ONLY
7077 1.1 alnsn {
7078 1.1 alnsn 0xc00000007ffc0000ULL,
7079 1.1 alnsn 0xfffe000000000000ULL,
7080 1.1 alnsn 0ULL,
7081 1.1 alnsn 0ULL,
7082 1.1 alnsn 0ULL
7083 1.1 alnsn },
7084 1.1 alnsn {
7085 1.1 alnsn 0x0000000051ac0000ULL,
7086 1.1 alnsn 0x2886000000000000ULL,
7087 1.1 alnsn -1ULL,
7088 1.1 alnsn -1ULL,
7089 1.1 alnsn -1ULL
7090 1.1 alnsn }
7091 1.1 alnsn #endif
7092 1.1 alnsn },
7093 1.1 alnsn { "v1sadau", TILEGX_OPC_V1SADAU, 0x1, 3, TREG_ZERO, 1,
7094 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7095 1.1 alnsn #ifndef DISASM_ONLY
7096 1.1 alnsn {
7097 1.1 alnsn 0xc00000007ffc0000ULL,
7098 1.1 alnsn 0ULL,
7099 1.1 alnsn 0ULL,
7100 1.1 alnsn 0ULL,
7101 1.1 alnsn 0ULL
7102 1.1 alnsn },
7103 1.1 alnsn {
7104 1.1 alnsn 0x0000000051b00000ULL,
7105 1.1 alnsn -1ULL,
7106 1.1 alnsn -1ULL,
7107 1.1 alnsn -1ULL,
7108 1.1 alnsn -1ULL
7109 1.1 alnsn }
7110 1.1 alnsn #endif
7111 1.1 alnsn },
7112 1.1 alnsn { "v1sadu", TILEGX_OPC_V1SADU, 0x1, 3, TREG_ZERO, 1,
7113 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7114 1.1 alnsn #ifndef DISASM_ONLY
7115 1.1 alnsn {
7116 1.1 alnsn 0xc00000007ffc0000ULL,
7117 1.1 alnsn 0ULL,
7118 1.1 alnsn 0ULL,
7119 1.1 alnsn 0ULL,
7120 1.1 alnsn 0ULL
7121 1.1 alnsn },
7122 1.1 alnsn {
7123 1.1 alnsn 0x0000000051b40000ULL,
7124 1.1 alnsn -1ULL,
7125 1.1 alnsn -1ULL,
7126 1.1 alnsn -1ULL,
7127 1.1 alnsn -1ULL
7128 1.1 alnsn }
7129 1.1 alnsn #endif
7130 1.1 alnsn },
7131 1.1 alnsn { "v1shl", TILEGX_OPC_V1SHL, 0x3, 3, TREG_ZERO, 1,
7132 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7133 1.1 alnsn #ifndef DISASM_ONLY
7134 1.1 alnsn {
7135 1.1 alnsn 0xc00000007ffc0000ULL,
7136 1.1 alnsn 0xfffe000000000000ULL,
7137 1.1 alnsn 0ULL,
7138 1.1 alnsn 0ULL,
7139 1.1 alnsn 0ULL
7140 1.1 alnsn },
7141 1.1 alnsn {
7142 1.1 alnsn 0x0000000051b80000ULL,
7143 1.1 alnsn 0x2888000000000000ULL,
7144 1.1 alnsn -1ULL,
7145 1.1 alnsn -1ULL,
7146 1.1 alnsn -1ULL
7147 1.1 alnsn }
7148 1.1 alnsn #endif
7149 1.1 alnsn },
7150 1.1 alnsn { "v1shli", TILEGX_OPC_V1SHLI, 0x3, 3, TREG_ZERO, 1,
7151 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } },
7152 1.1 alnsn #ifndef DISASM_ONLY
7153 1.1 alnsn {
7154 1.1 alnsn 0xc00000007ffc0000ULL,
7155 1.1 alnsn 0xfffe000000000000ULL,
7156 1.1 alnsn 0ULL,
7157 1.1 alnsn 0ULL,
7158 1.1 alnsn 0ULL
7159 1.1 alnsn },
7160 1.1 alnsn {
7161 1.1 alnsn 0x00000000601c0000ULL,
7162 1.1 alnsn 0x300e000000000000ULL,
7163 1.1 alnsn -1ULL,
7164 1.1 alnsn -1ULL,
7165 1.1 alnsn -1ULL
7166 1.1 alnsn }
7167 1.1 alnsn #endif
7168 1.1 alnsn },
7169 1.1 alnsn { "v1shrs", TILEGX_OPC_V1SHRS, 0x3, 3, TREG_ZERO, 1,
7170 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7171 1.1 alnsn #ifndef DISASM_ONLY
7172 1.1 alnsn {
7173 1.1 alnsn 0xc00000007ffc0000ULL,
7174 1.1 alnsn 0xfffe000000000000ULL,
7175 1.1 alnsn 0ULL,
7176 1.1 alnsn 0ULL,
7177 1.1 alnsn 0ULL
7178 1.1 alnsn },
7179 1.1 alnsn {
7180 1.1 alnsn 0x0000000051bc0000ULL,
7181 1.1 alnsn 0x288a000000000000ULL,
7182 1.1 alnsn -1ULL,
7183 1.1 alnsn -1ULL,
7184 1.1 alnsn -1ULL
7185 1.1 alnsn }
7186 1.1 alnsn #endif
7187 1.1 alnsn },
7188 1.1 alnsn { "v1shrsi", TILEGX_OPC_V1SHRSI, 0x3, 3, TREG_ZERO, 1,
7189 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } },
7190 1.1 alnsn #ifndef DISASM_ONLY
7191 1.1 alnsn {
7192 1.1 alnsn 0xc00000007ffc0000ULL,
7193 1.1 alnsn 0xfffe000000000000ULL,
7194 1.1 alnsn 0ULL,
7195 1.1 alnsn 0ULL,
7196 1.1 alnsn 0ULL
7197 1.1 alnsn },
7198 1.1 alnsn {
7199 1.1 alnsn 0x0000000060200000ULL,
7200 1.1 alnsn 0x3010000000000000ULL,
7201 1.1 alnsn -1ULL,
7202 1.1 alnsn -1ULL,
7203 1.1 alnsn -1ULL
7204 1.1 alnsn }
7205 1.1 alnsn #endif
7206 1.1 alnsn },
7207 1.1 alnsn { "v1shru", TILEGX_OPC_V1SHRU, 0x3, 3, TREG_ZERO, 1,
7208 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7209 1.1 alnsn #ifndef DISASM_ONLY
7210 1.1 alnsn {
7211 1.1 alnsn 0xc00000007ffc0000ULL,
7212 1.1 alnsn 0xfffe000000000000ULL,
7213 1.1 alnsn 0ULL,
7214 1.1 alnsn 0ULL,
7215 1.1 alnsn 0ULL
7216 1.1 alnsn },
7217 1.1 alnsn {
7218 1.1 alnsn 0x0000000051c00000ULL,
7219 1.1 alnsn 0x288c000000000000ULL,
7220 1.1 alnsn -1ULL,
7221 1.1 alnsn -1ULL,
7222 1.1 alnsn -1ULL
7223 1.1 alnsn }
7224 1.1 alnsn #endif
7225 1.1 alnsn },
7226 1.1 alnsn { "v1shrui", TILEGX_OPC_V1SHRUI, 0x3, 3, TREG_ZERO, 1,
7227 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } },
7228 1.1 alnsn #ifndef DISASM_ONLY
7229 1.1 alnsn {
7230 1.1 alnsn 0xc00000007ffc0000ULL,
7231 1.1 alnsn 0xfffe000000000000ULL,
7232 1.1 alnsn 0ULL,
7233 1.1 alnsn 0ULL,
7234 1.1 alnsn 0ULL
7235 1.1 alnsn },
7236 1.1 alnsn {
7237 1.1 alnsn 0x0000000060240000ULL,
7238 1.1 alnsn 0x3012000000000000ULL,
7239 1.1 alnsn -1ULL,
7240 1.1 alnsn -1ULL,
7241 1.1 alnsn -1ULL
7242 1.1 alnsn }
7243 1.1 alnsn #endif
7244 1.1 alnsn },
7245 1.1 alnsn { "v1sub", TILEGX_OPC_V1SUB, 0x3, 3, TREG_ZERO, 1,
7246 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7247 1.1 alnsn #ifndef DISASM_ONLY
7248 1.1 alnsn {
7249 1.1 alnsn 0xc00000007ffc0000ULL,
7250 1.1 alnsn 0xfffe000000000000ULL,
7251 1.1 alnsn 0ULL,
7252 1.1 alnsn 0ULL,
7253 1.1 alnsn 0ULL
7254 1.1 alnsn },
7255 1.1 alnsn {
7256 1.1 alnsn 0x0000000051c80000ULL,
7257 1.1 alnsn 0x2890000000000000ULL,
7258 1.1 alnsn -1ULL,
7259 1.1 alnsn -1ULL,
7260 1.1 alnsn -1ULL
7261 1.1 alnsn }
7262 1.1 alnsn #endif
7263 1.1 alnsn },
7264 1.1 alnsn { "v1subuc", TILEGX_OPC_V1SUBUC, 0x3, 3, TREG_ZERO, 1,
7265 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7266 1.1 alnsn #ifndef DISASM_ONLY
7267 1.1 alnsn {
7268 1.1 alnsn 0xc00000007ffc0000ULL,
7269 1.1 alnsn 0xfffe000000000000ULL,
7270 1.1 alnsn 0ULL,
7271 1.1 alnsn 0ULL,
7272 1.1 alnsn 0ULL
7273 1.1 alnsn },
7274 1.1 alnsn {
7275 1.1 alnsn 0x0000000051c40000ULL,
7276 1.1 alnsn 0x288e000000000000ULL,
7277 1.1 alnsn -1ULL,
7278 1.1 alnsn -1ULL,
7279 1.1 alnsn -1ULL
7280 1.1 alnsn }
7281 1.1 alnsn #endif
7282 1.1 alnsn },
7283 1.1 alnsn { "v2add", TILEGX_OPC_V2ADD, 0x3, 3, TREG_ZERO, 1,
7284 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7285 1.1 alnsn #ifndef DISASM_ONLY
7286 1.1 alnsn {
7287 1.1 alnsn 0xc00000007ffc0000ULL,
7288 1.1 alnsn 0xfffe000000000000ULL,
7289 1.1 alnsn 0ULL,
7290 1.1 alnsn 0ULL,
7291 1.1 alnsn 0ULL
7292 1.1 alnsn },
7293 1.1 alnsn {
7294 1.1 alnsn 0x0000000051d00000ULL,
7295 1.1 alnsn 0x2894000000000000ULL,
7296 1.1 alnsn -1ULL,
7297 1.1 alnsn -1ULL,
7298 1.1 alnsn -1ULL
7299 1.1 alnsn }
7300 1.1 alnsn #endif
7301 1.1 alnsn },
7302 1.1 alnsn { "v2addi", TILEGX_OPC_V2ADDI, 0x3, 3, TREG_ZERO, 1,
7303 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
7304 1.1 alnsn #ifndef DISASM_ONLY
7305 1.1 alnsn {
7306 1.1 alnsn 0xc00000007ff00000ULL,
7307 1.1 alnsn 0xfff8000000000000ULL,
7308 1.1 alnsn 0ULL,
7309 1.1 alnsn 0ULL,
7310 1.1 alnsn 0ULL
7311 1.1 alnsn },
7312 1.1 alnsn {
7313 1.1 alnsn 0x0000000040e00000ULL,
7314 1.1 alnsn 0x1938000000000000ULL,
7315 1.1 alnsn -1ULL,
7316 1.1 alnsn -1ULL,
7317 1.1 alnsn -1ULL
7318 1.1 alnsn }
7319 1.1 alnsn #endif
7320 1.1 alnsn },
7321 1.1 alnsn { "v2addsc", TILEGX_OPC_V2ADDSC, 0x3, 3, TREG_ZERO, 1,
7322 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7323 1.1 alnsn #ifndef DISASM_ONLY
7324 1.1 alnsn {
7325 1.1 alnsn 0xc00000007ffc0000ULL,
7326 1.1 alnsn 0xfffe000000000000ULL,
7327 1.1 alnsn 0ULL,
7328 1.1 alnsn 0ULL,
7329 1.1 alnsn 0ULL
7330 1.1 alnsn },
7331 1.1 alnsn {
7332 1.1 alnsn 0x0000000051cc0000ULL,
7333 1.1 alnsn 0x2892000000000000ULL,
7334 1.1 alnsn -1ULL,
7335 1.1 alnsn -1ULL,
7336 1.1 alnsn -1ULL
7337 1.1 alnsn }
7338 1.1 alnsn #endif
7339 1.1 alnsn },
7340 1.1 alnsn { "v2adiffs", TILEGX_OPC_V2ADIFFS, 0x1, 3, TREG_ZERO, 1,
7341 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7342 1.1 alnsn #ifndef DISASM_ONLY
7343 1.1 alnsn {
7344 1.1 alnsn 0xc00000007ffc0000ULL,
7345 1.1 alnsn 0ULL,
7346 1.1 alnsn 0ULL,
7347 1.1 alnsn 0ULL,
7348 1.1 alnsn 0ULL
7349 1.1 alnsn },
7350 1.1 alnsn {
7351 1.1 alnsn 0x0000000051d40000ULL,
7352 1.1 alnsn -1ULL,
7353 1.1 alnsn -1ULL,
7354 1.1 alnsn -1ULL,
7355 1.1 alnsn -1ULL
7356 1.1 alnsn }
7357 1.1 alnsn #endif
7358 1.1 alnsn },
7359 1.1 alnsn { "v2avgs", TILEGX_OPC_V2AVGS, 0x1, 3, TREG_ZERO, 1,
7360 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7361 1.1 alnsn #ifndef DISASM_ONLY
7362 1.1 alnsn {
7363 1.1 alnsn 0xc00000007ffc0000ULL,
7364 1.1 alnsn 0ULL,
7365 1.1 alnsn 0ULL,
7366 1.1 alnsn 0ULL,
7367 1.1 alnsn 0ULL
7368 1.1 alnsn },
7369 1.1 alnsn {
7370 1.1 alnsn 0x0000000051d80000ULL,
7371 1.1 alnsn -1ULL,
7372 1.1 alnsn -1ULL,
7373 1.1 alnsn -1ULL,
7374 1.1 alnsn -1ULL
7375 1.1 alnsn }
7376 1.1 alnsn #endif
7377 1.1 alnsn },
7378 1.1 alnsn { "v2cmpeq", TILEGX_OPC_V2CMPEQ, 0x3, 3, TREG_ZERO, 1,
7379 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7380 1.1 alnsn #ifndef DISASM_ONLY
7381 1.1 alnsn {
7382 1.1 alnsn 0xc00000007ffc0000ULL,
7383 1.1 alnsn 0xfffe000000000000ULL,
7384 1.1 alnsn 0ULL,
7385 1.1 alnsn 0ULL,
7386 1.1 alnsn 0ULL
7387 1.1 alnsn },
7388 1.1 alnsn {
7389 1.1 alnsn 0x0000000051dc0000ULL,
7390 1.1 alnsn 0x2896000000000000ULL,
7391 1.1 alnsn -1ULL,
7392 1.1 alnsn -1ULL,
7393 1.1 alnsn -1ULL
7394 1.1 alnsn }
7395 1.1 alnsn #endif
7396 1.1 alnsn },
7397 1.1 alnsn { "v2cmpeqi", TILEGX_OPC_V2CMPEQI, 0x3, 3, TREG_ZERO, 1,
7398 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
7399 1.1 alnsn #ifndef DISASM_ONLY
7400 1.1 alnsn {
7401 1.1 alnsn 0xc00000007ff00000ULL,
7402 1.1 alnsn 0xfff8000000000000ULL,
7403 1.1 alnsn 0ULL,
7404 1.1 alnsn 0ULL,
7405 1.1 alnsn 0ULL
7406 1.1 alnsn },
7407 1.1 alnsn {
7408 1.1 alnsn 0x0000000040f00000ULL,
7409 1.1 alnsn 0x1940000000000000ULL,
7410 1.1 alnsn -1ULL,
7411 1.1 alnsn -1ULL,
7412 1.1 alnsn -1ULL
7413 1.1 alnsn }
7414 1.1 alnsn #endif
7415 1.1 alnsn },
7416 1.1 alnsn { "v2cmples", TILEGX_OPC_V2CMPLES, 0x3, 3, TREG_ZERO, 1,
7417 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7418 1.1 alnsn #ifndef DISASM_ONLY
7419 1.1 alnsn {
7420 1.1 alnsn 0xc00000007ffc0000ULL,
7421 1.1 alnsn 0xfffe000000000000ULL,
7422 1.1 alnsn 0ULL,
7423 1.1 alnsn 0ULL,
7424 1.1 alnsn 0ULL
7425 1.1 alnsn },
7426 1.1 alnsn {
7427 1.1 alnsn 0x0000000051e00000ULL,
7428 1.1 alnsn 0x2898000000000000ULL,
7429 1.1 alnsn -1ULL,
7430 1.1 alnsn -1ULL,
7431 1.1 alnsn -1ULL
7432 1.1 alnsn }
7433 1.1 alnsn #endif
7434 1.1 alnsn },
7435 1.1 alnsn { "v2cmpleu", TILEGX_OPC_V2CMPLEU, 0x3, 3, TREG_ZERO, 1,
7436 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7437 1.1 alnsn #ifndef DISASM_ONLY
7438 1.1 alnsn {
7439 1.1 alnsn 0xc00000007ffc0000ULL,
7440 1.1 alnsn 0xfffe000000000000ULL,
7441 1.1 alnsn 0ULL,
7442 1.1 alnsn 0ULL,
7443 1.1 alnsn 0ULL
7444 1.1 alnsn },
7445 1.1 alnsn {
7446 1.1 alnsn 0x0000000051e40000ULL,
7447 1.1 alnsn 0x289a000000000000ULL,
7448 1.1 alnsn -1ULL,
7449 1.1 alnsn -1ULL,
7450 1.1 alnsn -1ULL
7451 1.1 alnsn }
7452 1.1 alnsn #endif
7453 1.1 alnsn },
7454 1.1 alnsn { "v2cmplts", TILEGX_OPC_V2CMPLTS, 0x3, 3, TREG_ZERO, 1,
7455 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7456 1.1 alnsn #ifndef DISASM_ONLY
7457 1.1 alnsn {
7458 1.1 alnsn 0xc00000007ffc0000ULL,
7459 1.1 alnsn 0xfffe000000000000ULL,
7460 1.1 alnsn 0ULL,
7461 1.1 alnsn 0ULL,
7462 1.1 alnsn 0ULL
7463 1.1 alnsn },
7464 1.1 alnsn {
7465 1.1 alnsn 0x0000000051e80000ULL,
7466 1.1 alnsn 0x289c000000000000ULL,
7467 1.1 alnsn -1ULL,
7468 1.1 alnsn -1ULL,
7469 1.1 alnsn -1ULL
7470 1.1 alnsn }
7471 1.1 alnsn #endif
7472 1.1 alnsn },
7473 1.1 alnsn { "v2cmpltsi", TILEGX_OPC_V2CMPLTSI, 0x3, 3, TREG_ZERO, 1,
7474 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
7475 1.1 alnsn #ifndef DISASM_ONLY
7476 1.1 alnsn {
7477 1.1 alnsn 0xc00000007ff00000ULL,
7478 1.1 alnsn 0xfff8000000000000ULL,
7479 1.1 alnsn 0ULL,
7480 1.1 alnsn 0ULL,
7481 1.1 alnsn 0ULL
7482 1.1 alnsn },
7483 1.1 alnsn {
7484 1.1 alnsn 0x0000000041000000ULL,
7485 1.1 alnsn 0x1948000000000000ULL,
7486 1.1 alnsn -1ULL,
7487 1.1 alnsn -1ULL,
7488 1.1 alnsn -1ULL
7489 1.1 alnsn }
7490 1.1 alnsn #endif
7491 1.1 alnsn },
7492 1.1 alnsn { "v2cmpltu", TILEGX_OPC_V2CMPLTU, 0x3, 3, TREG_ZERO, 1,
7493 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7494 1.1 alnsn #ifndef DISASM_ONLY
7495 1.1 alnsn {
7496 1.1 alnsn 0xc00000007ffc0000ULL,
7497 1.1 alnsn 0xfffe000000000000ULL,
7498 1.1 alnsn 0ULL,
7499 1.1 alnsn 0ULL,
7500 1.1 alnsn 0ULL
7501 1.1 alnsn },
7502 1.1 alnsn {
7503 1.1 alnsn 0x0000000051ec0000ULL,
7504 1.1 alnsn 0x289e000000000000ULL,
7505 1.1 alnsn -1ULL,
7506 1.1 alnsn -1ULL,
7507 1.1 alnsn -1ULL
7508 1.1 alnsn }
7509 1.1 alnsn #endif
7510 1.1 alnsn },
7511 1.1 alnsn { "v2cmpltui", TILEGX_OPC_V2CMPLTUI, 0x3, 3, TREG_ZERO, 1,
7512 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
7513 1.1 alnsn #ifndef DISASM_ONLY
7514 1.1 alnsn {
7515 1.1 alnsn 0xc00000007ff00000ULL,
7516 1.1 alnsn 0xfff8000000000000ULL,
7517 1.1 alnsn 0ULL,
7518 1.1 alnsn 0ULL,
7519 1.1 alnsn 0ULL
7520 1.1 alnsn },
7521 1.1 alnsn {
7522 1.1 alnsn 0x0000000041100000ULL,
7523 1.1 alnsn 0x1950000000000000ULL,
7524 1.1 alnsn -1ULL,
7525 1.1 alnsn -1ULL,
7526 1.1 alnsn -1ULL
7527 1.1 alnsn }
7528 1.1 alnsn #endif
7529 1.1 alnsn },
7530 1.1 alnsn { "v2cmpne", TILEGX_OPC_V2CMPNE, 0x3, 3, TREG_ZERO, 1,
7531 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7532 1.1 alnsn #ifndef DISASM_ONLY
7533 1.1 alnsn {
7534 1.1 alnsn 0xc00000007ffc0000ULL,
7535 1.1 alnsn 0xfffe000000000000ULL,
7536 1.1 alnsn 0ULL,
7537 1.1 alnsn 0ULL,
7538 1.1 alnsn 0ULL
7539 1.1 alnsn },
7540 1.1 alnsn {
7541 1.1 alnsn 0x0000000051f00000ULL,
7542 1.1 alnsn 0x28a0000000000000ULL,
7543 1.1 alnsn -1ULL,
7544 1.1 alnsn -1ULL,
7545 1.1 alnsn -1ULL
7546 1.1 alnsn }
7547 1.1 alnsn #endif
7548 1.1 alnsn },
7549 1.1 alnsn { "v2dotp", TILEGX_OPC_V2DOTP, 0x1, 3, TREG_ZERO, 1,
7550 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7551 1.1 alnsn #ifndef DISASM_ONLY
7552 1.1 alnsn {
7553 1.1 alnsn 0xc00000007ffc0000ULL,
7554 1.1 alnsn 0ULL,
7555 1.1 alnsn 0ULL,
7556 1.1 alnsn 0ULL,
7557 1.1 alnsn 0ULL
7558 1.1 alnsn },
7559 1.1 alnsn {
7560 1.1 alnsn 0x0000000051f80000ULL,
7561 1.1 alnsn -1ULL,
7562 1.1 alnsn -1ULL,
7563 1.1 alnsn -1ULL,
7564 1.1 alnsn -1ULL
7565 1.1 alnsn }
7566 1.1 alnsn #endif
7567 1.1 alnsn },
7568 1.1 alnsn { "v2dotpa", TILEGX_OPC_V2DOTPA, 0x1, 3, TREG_ZERO, 1,
7569 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7570 1.1 alnsn #ifndef DISASM_ONLY
7571 1.1 alnsn {
7572 1.1 alnsn 0xc00000007ffc0000ULL,
7573 1.1 alnsn 0ULL,
7574 1.1 alnsn 0ULL,
7575 1.1 alnsn 0ULL,
7576 1.1 alnsn 0ULL
7577 1.1 alnsn },
7578 1.1 alnsn {
7579 1.1 alnsn 0x0000000051f40000ULL,
7580 1.1 alnsn -1ULL,
7581 1.1 alnsn -1ULL,
7582 1.1 alnsn -1ULL,
7583 1.1 alnsn -1ULL
7584 1.1 alnsn }
7585 1.1 alnsn #endif
7586 1.1 alnsn },
7587 1.1 alnsn { "v2int_h", TILEGX_OPC_V2INT_H, 0x3, 3, TREG_ZERO, 1,
7588 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7589 1.1 alnsn #ifndef DISASM_ONLY
7590 1.1 alnsn {
7591 1.1 alnsn 0xc00000007ffc0000ULL,
7592 1.1 alnsn 0xfffe000000000000ULL,
7593 1.1 alnsn 0ULL,
7594 1.1 alnsn 0ULL,
7595 1.1 alnsn 0ULL
7596 1.1 alnsn },
7597 1.1 alnsn {
7598 1.1 alnsn 0x0000000051fc0000ULL,
7599 1.1 alnsn 0x28a2000000000000ULL,
7600 1.1 alnsn -1ULL,
7601 1.1 alnsn -1ULL,
7602 1.1 alnsn -1ULL
7603 1.1 alnsn }
7604 1.1 alnsn #endif
7605 1.1 alnsn },
7606 1.1 alnsn { "v2int_l", TILEGX_OPC_V2INT_L, 0x3, 3, TREG_ZERO, 1,
7607 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7608 1.1 alnsn #ifndef DISASM_ONLY
7609 1.1 alnsn {
7610 1.1 alnsn 0xc00000007ffc0000ULL,
7611 1.1 alnsn 0xfffe000000000000ULL,
7612 1.1 alnsn 0ULL,
7613 1.1 alnsn 0ULL,
7614 1.1 alnsn 0ULL
7615 1.1 alnsn },
7616 1.1 alnsn {
7617 1.1 alnsn 0x0000000052000000ULL,
7618 1.1 alnsn 0x28a4000000000000ULL,
7619 1.1 alnsn -1ULL,
7620 1.1 alnsn -1ULL,
7621 1.1 alnsn -1ULL
7622 1.1 alnsn }
7623 1.1 alnsn #endif
7624 1.1 alnsn },
7625 1.1 alnsn { "v2maxs", TILEGX_OPC_V2MAXS, 0x3, 3, TREG_ZERO, 1,
7626 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7627 1.1 alnsn #ifndef DISASM_ONLY
7628 1.1 alnsn {
7629 1.1 alnsn 0xc00000007ffc0000ULL,
7630 1.1 alnsn 0xfffe000000000000ULL,
7631 1.1 alnsn 0ULL,
7632 1.1 alnsn 0ULL,
7633 1.1 alnsn 0ULL
7634 1.1 alnsn },
7635 1.1 alnsn {
7636 1.1 alnsn 0x0000000052040000ULL,
7637 1.1 alnsn 0x28a6000000000000ULL,
7638 1.1 alnsn -1ULL,
7639 1.1 alnsn -1ULL,
7640 1.1 alnsn -1ULL
7641 1.1 alnsn }
7642 1.1 alnsn #endif
7643 1.1 alnsn },
7644 1.1 alnsn { "v2maxsi", TILEGX_OPC_V2MAXSI, 0x3, 3, TREG_ZERO, 1,
7645 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
7646 1.1 alnsn #ifndef DISASM_ONLY
7647 1.1 alnsn {
7648 1.1 alnsn 0xc00000007ff00000ULL,
7649 1.1 alnsn 0xfff8000000000000ULL,
7650 1.1 alnsn 0ULL,
7651 1.1 alnsn 0ULL,
7652 1.1 alnsn 0ULL
7653 1.1 alnsn },
7654 1.1 alnsn {
7655 1.1 alnsn 0x0000000041200000ULL,
7656 1.1 alnsn 0x1958000000000000ULL,
7657 1.1 alnsn -1ULL,
7658 1.1 alnsn -1ULL,
7659 1.1 alnsn -1ULL
7660 1.1 alnsn }
7661 1.1 alnsn #endif
7662 1.1 alnsn },
7663 1.1 alnsn { "v2mins", TILEGX_OPC_V2MINS, 0x3, 3, TREG_ZERO, 1,
7664 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7665 1.1 alnsn #ifndef DISASM_ONLY
7666 1.1 alnsn {
7667 1.1 alnsn 0xc00000007ffc0000ULL,
7668 1.1 alnsn 0xfffe000000000000ULL,
7669 1.1 alnsn 0ULL,
7670 1.1 alnsn 0ULL,
7671 1.1 alnsn 0ULL
7672 1.1 alnsn },
7673 1.1 alnsn {
7674 1.1 alnsn 0x0000000052080000ULL,
7675 1.1 alnsn 0x28a8000000000000ULL,
7676 1.1 alnsn -1ULL,
7677 1.1 alnsn -1ULL,
7678 1.1 alnsn -1ULL
7679 1.1 alnsn }
7680 1.1 alnsn #endif
7681 1.1 alnsn },
7682 1.1 alnsn { "v2minsi", TILEGX_OPC_V2MINSI, 0x3, 3, TREG_ZERO, 1,
7683 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
7684 1.1 alnsn #ifndef DISASM_ONLY
7685 1.1 alnsn {
7686 1.1 alnsn 0xc00000007ff00000ULL,
7687 1.1 alnsn 0xfff8000000000000ULL,
7688 1.1 alnsn 0ULL,
7689 1.1 alnsn 0ULL,
7690 1.1 alnsn 0ULL
7691 1.1 alnsn },
7692 1.1 alnsn {
7693 1.1 alnsn 0x0000000041300000ULL,
7694 1.1 alnsn 0x1960000000000000ULL,
7695 1.1 alnsn -1ULL,
7696 1.1 alnsn -1ULL,
7697 1.1 alnsn -1ULL
7698 1.1 alnsn }
7699 1.1 alnsn #endif
7700 1.1 alnsn },
7701 1.1 alnsn { "v2mnz", TILEGX_OPC_V2MNZ, 0x3, 3, TREG_ZERO, 1,
7702 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7703 1.1 alnsn #ifndef DISASM_ONLY
7704 1.1 alnsn {
7705 1.1 alnsn 0xc00000007ffc0000ULL,
7706 1.1 alnsn 0xfffe000000000000ULL,
7707 1.1 alnsn 0ULL,
7708 1.1 alnsn 0ULL,
7709 1.1 alnsn 0ULL
7710 1.1 alnsn },
7711 1.1 alnsn {
7712 1.1 alnsn 0x00000000520c0000ULL,
7713 1.1 alnsn 0x28aa000000000000ULL,
7714 1.1 alnsn -1ULL,
7715 1.1 alnsn -1ULL,
7716 1.1 alnsn -1ULL
7717 1.1 alnsn }
7718 1.1 alnsn #endif
7719 1.1 alnsn },
7720 1.1 alnsn { "v2mulfsc", TILEGX_OPC_V2MULFSC, 0x1, 3, TREG_ZERO, 1,
7721 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7722 1.1 alnsn #ifndef DISASM_ONLY
7723 1.1 alnsn {
7724 1.1 alnsn 0xc00000007ffc0000ULL,
7725 1.1 alnsn 0ULL,
7726 1.1 alnsn 0ULL,
7727 1.1 alnsn 0ULL,
7728 1.1 alnsn 0ULL
7729 1.1 alnsn },
7730 1.1 alnsn {
7731 1.1 alnsn 0x0000000052100000ULL,
7732 1.1 alnsn -1ULL,
7733 1.1 alnsn -1ULL,
7734 1.1 alnsn -1ULL,
7735 1.1 alnsn -1ULL
7736 1.1 alnsn }
7737 1.1 alnsn #endif
7738 1.1 alnsn },
7739 1.1 alnsn { "v2muls", TILEGX_OPC_V2MULS, 0x1, 3, TREG_ZERO, 1,
7740 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7741 1.1 alnsn #ifndef DISASM_ONLY
7742 1.1 alnsn {
7743 1.1 alnsn 0xc00000007ffc0000ULL,
7744 1.1 alnsn 0ULL,
7745 1.1 alnsn 0ULL,
7746 1.1 alnsn 0ULL,
7747 1.1 alnsn 0ULL
7748 1.1 alnsn },
7749 1.1 alnsn {
7750 1.1 alnsn 0x0000000052140000ULL,
7751 1.1 alnsn -1ULL,
7752 1.1 alnsn -1ULL,
7753 1.1 alnsn -1ULL,
7754 1.1 alnsn -1ULL
7755 1.1 alnsn }
7756 1.1 alnsn #endif
7757 1.1 alnsn },
7758 1.1 alnsn { "v2mults", TILEGX_OPC_V2MULTS, 0x1, 3, TREG_ZERO, 1,
7759 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7760 1.1 alnsn #ifndef DISASM_ONLY
7761 1.1 alnsn {
7762 1.1 alnsn 0xc00000007ffc0000ULL,
7763 1.1 alnsn 0ULL,
7764 1.1 alnsn 0ULL,
7765 1.1 alnsn 0ULL,
7766 1.1 alnsn 0ULL
7767 1.1 alnsn },
7768 1.1 alnsn {
7769 1.1 alnsn 0x0000000052180000ULL,
7770 1.1 alnsn -1ULL,
7771 1.1 alnsn -1ULL,
7772 1.1 alnsn -1ULL,
7773 1.1 alnsn -1ULL
7774 1.1 alnsn }
7775 1.1 alnsn #endif
7776 1.1 alnsn },
7777 1.1 alnsn { "v2mz", TILEGX_OPC_V2MZ, 0x3, 3, TREG_ZERO, 1,
7778 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7779 1.1 alnsn #ifndef DISASM_ONLY
7780 1.1 alnsn {
7781 1.1 alnsn 0xc00000007ffc0000ULL,
7782 1.1 alnsn 0xfffe000000000000ULL,
7783 1.1 alnsn 0ULL,
7784 1.1 alnsn 0ULL,
7785 1.1 alnsn 0ULL
7786 1.1 alnsn },
7787 1.1 alnsn {
7788 1.1 alnsn 0x00000000521c0000ULL,
7789 1.1 alnsn 0x28ac000000000000ULL,
7790 1.1 alnsn -1ULL,
7791 1.1 alnsn -1ULL,
7792 1.1 alnsn -1ULL
7793 1.1 alnsn }
7794 1.1 alnsn #endif
7795 1.1 alnsn },
7796 1.1 alnsn { "v2packh", TILEGX_OPC_V2PACKH, 0x3, 3, TREG_ZERO, 1,
7797 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7798 1.1 alnsn #ifndef DISASM_ONLY
7799 1.1 alnsn {
7800 1.1 alnsn 0xc00000007ffc0000ULL,
7801 1.1 alnsn 0xfffe000000000000ULL,
7802 1.1 alnsn 0ULL,
7803 1.1 alnsn 0ULL,
7804 1.1 alnsn 0ULL
7805 1.1 alnsn },
7806 1.1 alnsn {
7807 1.1 alnsn 0x0000000052200000ULL,
7808 1.1 alnsn 0x28ae000000000000ULL,
7809 1.1 alnsn -1ULL,
7810 1.1 alnsn -1ULL,
7811 1.1 alnsn -1ULL
7812 1.1 alnsn }
7813 1.1 alnsn #endif
7814 1.1 alnsn },
7815 1.1 alnsn { "v2packl", TILEGX_OPC_V2PACKL, 0x3, 3, TREG_ZERO, 1,
7816 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7817 1.1 alnsn #ifndef DISASM_ONLY
7818 1.1 alnsn {
7819 1.1 alnsn 0xc00000007ffc0000ULL,
7820 1.1 alnsn 0xfffe000000000000ULL,
7821 1.1 alnsn 0ULL,
7822 1.1 alnsn 0ULL,
7823 1.1 alnsn 0ULL
7824 1.1 alnsn },
7825 1.1 alnsn {
7826 1.1 alnsn 0x0000000052240000ULL,
7827 1.1 alnsn 0x28b0000000000000ULL,
7828 1.1 alnsn -1ULL,
7829 1.1 alnsn -1ULL,
7830 1.1 alnsn -1ULL
7831 1.1 alnsn }
7832 1.1 alnsn #endif
7833 1.1 alnsn },
7834 1.1 alnsn { "v2packuc", TILEGX_OPC_V2PACKUC, 0x3, 3, TREG_ZERO, 1,
7835 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7836 1.1 alnsn #ifndef DISASM_ONLY
7837 1.1 alnsn {
7838 1.1 alnsn 0xc00000007ffc0000ULL,
7839 1.1 alnsn 0xfffe000000000000ULL,
7840 1.1 alnsn 0ULL,
7841 1.1 alnsn 0ULL,
7842 1.1 alnsn 0ULL
7843 1.1 alnsn },
7844 1.1 alnsn {
7845 1.1 alnsn 0x0000000052280000ULL,
7846 1.1 alnsn 0x28b2000000000000ULL,
7847 1.1 alnsn -1ULL,
7848 1.1 alnsn -1ULL,
7849 1.1 alnsn -1ULL
7850 1.1 alnsn }
7851 1.1 alnsn #endif
7852 1.1 alnsn },
7853 1.1 alnsn { "v2sadas", TILEGX_OPC_V2SADAS, 0x1, 3, TREG_ZERO, 1,
7854 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7855 1.1 alnsn #ifndef DISASM_ONLY
7856 1.1 alnsn {
7857 1.1 alnsn 0xc00000007ffc0000ULL,
7858 1.1 alnsn 0ULL,
7859 1.1 alnsn 0ULL,
7860 1.1 alnsn 0ULL,
7861 1.1 alnsn 0ULL
7862 1.1 alnsn },
7863 1.1 alnsn {
7864 1.1 alnsn 0x00000000522c0000ULL,
7865 1.1 alnsn -1ULL,
7866 1.1 alnsn -1ULL,
7867 1.1 alnsn -1ULL,
7868 1.1 alnsn -1ULL
7869 1.1 alnsn }
7870 1.1 alnsn #endif
7871 1.1 alnsn },
7872 1.1 alnsn { "v2sadau", TILEGX_OPC_V2SADAU, 0x1, 3, TREG_ZERO, 1,
7873 1.1 alnsn { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7874 1.1 alnsn #ifndef DISASM_ONLY
7875 1.1 alnsn {
7876 1.1 alnsn 0xc00000007ffc0000ULL,
7877 1.1 alnsn 0ULL,
7878 1.1 alnsn 0ULL,
7879 1.1 alnsn 0ULL,
7880 1.1 alnsn 0ULL
7881 1.1 alnsn },
7882 1.1 alnsn {
7883 1.1 alnsn 0x0000000052300000ULL,
7884 1.1 alnsn -1ULL,
7885 1.1 alnsn -1ULL,
7886 1.1 alnsn -1ULL,
7887 1.1 alnsn -1ULL
7888 1.1 alnsn }
7889 1.1 alnsn #endif
7890 1.1 alnsn },
7891 1.1 alnsn { "v2sads", TILEGX_OPC_V2SADS, 0x1, 3, TREG_ZERO, 1,
7892 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7893 1.1 alnsn #ifndef DISASM_ONLY
7894 1.1 alnsn {
7895 1.1 alnsn 0xc00000007ffc0000ULL,
7896 1.1 alnsn 0ULL,
7897 1.1 alnsn 0ULL,
7898 1.1 alnsn 0ULL,
7899 1.1 alnsn 0ULL
7900 1.1 alnsn },
7901 1.1 alnsn {
7902 1.1 alnsn 0x0000000052340000ULL,
7903 1.1 alnsn -1ULL,
7904 1.1 alnsn -1ULL,
7905 1.1 alnsn -1ULL,
7906 1.1 alnsn -1ULL
7907 1.1 alnsn }
7908 1.1 alnsn #endif
7909 1.1 alnsn },
7910 1.1 alnsn { "v2sadu", TILEGX_OPC_V2SADU, 0x1, 3, TREG_ZERO, 1,
7911 1.1 alnsn { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } },
7912 1.1 alnsn #ifndef DISASM_ONLY
7913 1.1 alnsn {
7914 1.1 alnsn 0xc00000007ffc0000ULL,
7915 1.1 alnsn 0ULL,
7916 1.1 alnsn 0ULL,
7917 1.1 alnsn 0ULL,
7918 1.1 alnsn 0ULL
7919 1.1 alnsn },
7920 1.1 alnsn {
7921 1.1 alnsn 0x0000000052380000ULL,
7922 1.1 alnsn -1ULL,
7923 1.1 alnsn -1ULL,
7924 1.1 alnsn -1ULL,
7925 1.1 alnsn -1ULL
7926 1.1 alnsn }
7927 1.1 alnsn #endif
7928 1.1 alnsn },
7929 1.1 alnsn { "v2shl", TILEGX_OPC_V2SHL, 0x3, 3, TREG_ZERO, 1,
7930 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7931 1.1 alnsn #ifndef DISASM_ONLY
7932 1.1 alnsn {
7933 1.1 alnsn 0xc00000007ffc0000ULL,
7934 1.1 alnsn 0xfffe000000000000ULL,
7935 1.1 alnsn 0ULL,
7936 1.1 alnsn 0ULL,
7937 1.1 alnsn 0ULL
7938 1.1 alnsn },
7939 1.1 alnsn {
7940 1.1 alnsn 0x0000000052400000ULL,
7941 1.1 alnsn 0x28b6000000000000ULL,
7942 1.1 alnsn -1ULL,
7943 1.1 alnsn -1ULL,
7944 1.1 alnsn -1ULL
7945 1.1 alnsn }
7946 1.1 alnsn #endif
7947 1.1 alnsn },
7948 1.1 alnsn { "v2shli", TILEGX_OPC_V2SHLI, 0x3, 3, TREG_ZERO, 1,
7949 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } },
7950 1.1 alnsn #ifndef DISASM_ONLY
7951 1.1 alnsn {
7952 1.1 alnsn 0xc00000007ffc0000ULL,
7953 1.1 alnsn 0xfffe000000000000ULL,
7954 1.1 alnsn 0ULL,
7955 1.1 alnsn 0ULL,
7956 1.1 alnsn 0ULL
7957 1.1 alnsn },
7958 1.1 alnsn {
7959 1.1 alnsn 0x0000000060280000ULL,
7960 1.1 alnsn 0x3014000000000000ULL,
7961 1.1 alnsn -1ULL,
7962 1.1 alnsn -1ULL,
7963 1.1 alnsn -1ULL
7964 1.1 alnsn }
7965 1.1 alnsn #endif
7966 1.1 alnsn },
7967 1.1 alnsn { "v2shlsc", TILEGX_OPC_V2SHLSC, 0x3, 3, TREG_ZERO, 1,
7968 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7969 1.1 alnsn #ifndef DISASM_ONLY
7970 1.1 alnsn {
7971 1.1 alnsn 0xc00000007ffc0000ULL,
7972 1.1 alnsn 0xfffe000000000000ULL,
7973 1.1 alnsn 0ULL,
7974 1.1 alnsn 0ULL,
7975 1.1 alnsn 0ULL
7976 1.1 alnsn },
7977 1.1 alnsn {
7978 1.1 alnsn 0x00000000523c0000ULL,
7979 1.1 alnsn 0x28b4000000000000ULL,
7980 1.1 alnsn -1ULL,
7981 1.1 alnsn -1ULL,
7982 1.1 alnsn -1ULL
7983 1.1 alnsn }
7984 1.1 alnsn #endif
7985 1.1 alnsn },
7986 1.1 alnsn { "v2shrs", TILEGX_OPC_V2SHRS, 0x3, 3, TREG_ZERO, 1,
7987 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
7988 1.1 alnsn #ifndef DISASM_ONLY
7989 1.1 alnsn {
7990 1.1 alnsn 0xc00000007ffc0000ULL,
7991 1.1 alnsn 0xfffe000000000000ULL,
7992 1.1 alnsn 0ULL,
7993 1.1 alnsn 0ULL,
7994 1.1 alnsn 0ULL
7995 1.1 alnsn },
7996 1.1 alnsn {
7997 1.1 alnsn 0x0000000052440000ULL,
7998 1.1 alnsn 0x28b8000000000000ULL,
7999 1.1 alnsn -1ULL,
8000 1.1 alnsn -1ULL,
8001 1.1 alnsn -1ULL
8002 1.1 alnsn }
8003 1.1 alnsn #endif
8004 1.1 alnsn },
8005 1.1 alnsn { "v2shrsi", TILEGX_OPC_V2SHRSI, 0x3, 3, TREG_ZERO, 1,
8006 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } },
8007 1.1 alnsn #ifndef DISASM_ONLY
8008 1.1 alnsn {
8009 1.1 alnsn 0xc00000007ffc0000ULL,
8010 1.1 alnsn 0xfffe000000000000ULL,
8011 1.1 alnsn 0ULL,
8012 1.1 alnsn 0ULL,
8013 1.1 alnsn 0ULL
8014 1.1 alnsn },
8015 1.1 alnsn {
8016 1.1 alnsn 0x00000000602c0000ULL,
8017 1.1 alnsn 0x3016000000000000ULL,
8018 1.1 alnsn -1ULL,
8019 1.1 alnsn -1ULL,
8020 1.1 alnsn -1ULL
8021 1.1 alnsn }
8022 1.1 alnsn #endif
8023 1.1 alnsn },
8024 1.1 alnsn { "v2shru", TILEGX_OPC_V2SHRU, 0x3, 3, TREG_ZERO, 1,
8025 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8026 1.1 alnsn #ifndef DISASM_ONLY
8027 1.1 alnsn {
8028 1.1 alnsn 0xc00000007ffc0000ULL,
8029 1.1 alnsn 0xfffe000000000000ULL,
8030 1.1 alnsn 0ULL,
8031 1.1 alnsn 0ULL,
8032 1.1 alnsn 0ULL
8033 1.1 alnsn },
8034 1.1 alnsn {
8035 1.1 alnsn 0x0000000052480000ULL,
8036 1.1 alnsn 0x28ba000000000000ULL,
8037 1.1 alnsn -1ULL,
8038 1.1 alnsn -1ULL,
8039 1.1 alnsn -1ULL
8040 1.1 alnsn }
8041 1.1 alnsn #endif
8042 1.1 alnsn },
8043 1.1 alnsn { "v2shrui", TILEGX_OPC_V2SHRUI, 0x3, 3, TREG_ZERO, 1,
8044 1.1 alnsn { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } },
8045 1.1 alnsn #ifndef DISASM_ONLY
8046 1.1 alnsn {
8047 1.1 alnsn 0xc00000007ffc0000ULL,
8048 1.1 alnsn 0xfffe000000000000ULL,
8049 1.1 alnsn 0ULL,
8050 1.1 alnsn 0ULL,
8051 1.1 alnsn 0ULL
8052 1.1 alnsn },
8053 1.1 alnsn {
8054 1.1 alnsn 0x0000000060300000ULL,
8055 1.1 alnsn 0x3018000000000000ULL,
8056 1.1 alnsn -1ULL,
8057 1.1 alnsn -1ULL,
8058 1.1 alnsn -1ULL
8059 1.1 alnsn }
8060 1.1 alnsn #endif
8061 1.1 alnsn },
8062 1.1 alnsn { "v2sub", TILEGX_OPC_V2SUB, 0x3, 3, TREG_ZERO, 1,
8063 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8064 1.1 alnsn #ifndef DISASM_ONLY
8065 1.1 alnsn {
8066 1.1 alnsn 0xc00000007ffc0000ULL,
8067 1.1 alnsn 0xfffe000000000000ULL,
8068 1.1 alnsn 0ULL,
8069 1.1 alnsn 0ULL,
8070 1.1 alnsn 0ULL
8071 1.1 alnsn },
8072 1.1 alnsn {
8073 1.1 alnsn 0x0000000052500000ULL,
8074 1.1 alnsn 0x28be000000000000ULL,
8075 1.1 alnsn -1ULL,
8076 1.1 alnsn -1ULL,
8077 1.1 alnsn -1ULL
8078 1.1 alnsn }
8079 1.1 alnsn #endif
8080 1.1 alnsn },
8081 1.1 alnsn { "v2subsc", TILEGX_OPC_V2SUBSC, 0x3, 3, TREG_ZERO, 1,
8082 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8083 1.1 alnsn #ifndef DISASM_ONLY
8084 1.1 alnsn {
8085 1.1 alnsn 0xc00000007ffc0000ULL,
8086 1.1 alnsn 0xfffe000000000000ULL,
8087 1.1 alnsn 0ULL,
8088 1.1 alnsn 0ULL,
8089 1.1 alnsn 0ULL
8090 1.1 alnsn },
8091 1.1 alnsn {
8092 1.1 alnsn 0x00000000524c0000ULL,
8093 1.1 alnsn 0x28bc000000000000ULL,
8094 1.1 alnsn -1ULL,
8095 1.1 alnsn -1ULL,
8096 1.1 alnsn -1ULL
8097 1.1 alnsn }
8098 1.1 alnsn #endif
8099 1.1 alnsn },
8100 1.1 alnsn { "v4add", TILEGX_OPC_V4ADD, 0x3, 3, TREG_ZERO, 1,
8101 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8102 1.1 alnsn #ifndef DISASM_ONLY
8103 1.1 alnsn {
8104 1.1 alnsn 0xc00000007ffc0000ULL,
8105 1.1 alnsn 0xfffe000000000000ULL,
8106 1.1 alnsn 0ULL,
8107 1.1 alnsn 0ULL,
8108 1.1 alnsn 0ULL
8109 1.1 alnsn },
8110 1.1 alnsn {
8111 1.1 alnsn 0x0000000052580000ULL,
8112 1.1 alnsn 0x28c2000000000000ULL,
8113 1.1 alnsn -1ULL,
8114 1.1 alnsn -1ULL,
8115 1.1 alnsn -1ULL
8116 1.1 alnsn }
8117 1.1 alnsn #endif
8118 1.1 alnsn },
8119 1.1 alnsn { "v4addsc", TILEGX_OPC_V4ADDSC, 0x3, 3, TREG_ZERO, 1,
8120 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8121 1.1 alnsn #ifndef DISASM_ONLY
8122 1.1 alnsn {
8123 1.1 alnsn 0xc00000007ffc0000ULL,
8124 1.1 alnsn 0xfffe000000000000ULL,
8125 1.1 alnsn 0ULL,
8126 1.1 alnsn 0ULL,
8127 1.1 alnsn 0ULL
8128 1.1 alnsn },
8129 1.1 alnsn {
8130 1.1 alnsn 0x0000000052540000ULL,
8131 1.1 alnsn 0x28c0000000000000ULL,
8132 1.1 alnsn -1ULL,
8133 1.1 alnsn -1ULL,
8134 1.1 alnsn -1ULL
8135 1.1 alnsn }
8136 1.1 alnsn #endif
8137 1.1 alnsn },
8138 1.1 alnsn { "v4int_h", TILEGX_OPC_V4INT_H, 0x3, 3, TREG_ZERO, 1,
8139 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8140 1.1 alnsn #ifndef DISASM_ONLY
8141 1.1 alnsn {
8142 1.1 alnsn 0xc00000007ffc0000ULL,
8143 1.1 alnsn 0xfffe000000000000ULL,
8144 1.1 alnsn 0ULL,
8145 1.1 alnsn 0ULL,
8146 1.1 alnsn 0ULL
8147 1.1 alnsn },
8148 1.1 alnsn {
8149 1.1 alnsn 0x00000000525c0000ULL,
8150 1.1 alnsn 0x28c4000000000000ULL,
8151 1.1 alnsn -1ULL,
8152 1.1 alnsn -1ULL,
8153 1.1 alnsn -1ULL
8154 1.1 alnsn }
8155 1.1 alnsn #endif
8156 1.1 alnsn },
8157 1.1 alnsn { "v4int_l", TILEGX_OPC_V4INT_L, 0x3, 3, TREG_ZERO, 1,
8158 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8159 1.1 alnsn #ifndef DISASM_ONLY
8160 1.1 alnsn {
8161 1.1 alnsn 0xc00000007ffc0000ULL,
8162 1.1 alnsn 0xfffe000000000000ULL,
8163 1.1 alnsn 0ULL,
8164 1.1 alnsn 0ULL,
8165 1.1 alnsn 0ULL
8166 1.1 alnsn },
8167 1.1 alnsn {
8168 1.1 alnsn 0x0000000052600000ULL,
8169 1.1 alnsn 0x28c6000000000000ULL,
8170 1.1 alnsn -1ULL,
8171 1.1 alnsn -1ULL,
8172 1.1 alnsn -1ULL
8173 1.1 alnsn }
8174 1.1 alnsn #endif
8175 1.1 alnsn },
8176 1.1 alnsn { "v4packsc", TILEGX_OPC_V4PACKSC, 0x3, 3, TREG_ZERO, 1,
8177 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8178 1.1 alnsn #ifndef DISASM_ONLY
8179 1.1 alnsn {
8180 1.1 alnsn 0xc00000007ffc0000ULL,
8181 1.1 alnsn 0xfffe000000000000ULL,
8182 1.1 alnsn 0ULL,
8183 1.1 alnsn 0ULL,
8184 1.1 alnsn 0ULL
8185 1.1 alnsn },
8186 1.1 alnsn {
8187 1.1 alnsn 0x0000000052640000ULL,
8188 1.1 alnsn 0x28c8000000000000ULL,
8189 1.1 alnsn -1ULL,
8190 1.1 alnsn -1ULL,
8191 1.1 alnsn -1ULL
8192 1.1 alnsn }
8193 1.1 alnsn #endif
8194 1.1 alnsn },
8195 1.1 alnsn { "v4shl", TILEGX_OPC_V4SHL, 0x3, 3, TREG_ZERO, 1,
8196 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8197 1.1 alnsn #ifndef DISASM_ONLY
8198 1.1 alnsn {
8199 1.1 alnsn 0xc00000007ffc0000ULL,
8200 1.1 alnsn 0xfffe000000000000ULL,
8201 1.1 alnsn 0ULL,
8202 1.1 alnsn 0ULL,
8203 1.1 alnsn 0ULL
8204 1.1 alnsn },
8205 1.1 alnsn {
8206 1.1 alnsn 0x00000000526c0000ULL,
8207 1.1 alnsn 0x28cc000000000000ULL,
8208 1.1 alnsn -1ULL,
8209 1.1 alnsn -1ULL,
8210 1.1 alnsn -1ULL
8211 1.1 alnsn }
8212 1.1 alnsn #endif
8213 1.1 alnsn },
8214 1.1 alnsn { "v4shlsc", TILEGX_OPC_V4SHLSC, 0x3, 3, TREG_ZERO, 1,
8215 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8216 1.1 alnsn #ifndef DISASM_ONLY
8217 1.1 alnsn {
8218 1.1 alnsn 0xc00000007ffc0000ULL,
8219 1.1 alnsn 0xfffe000000000000ULL,
8220 1.1 alnsn 0ULL,
8221 1.1 alnsn 0ULL,
8222 1.1 alnsn 0ULL
8223 1.1 alnsn },
8224 1.1 alnsn {
8225 1.1 alnsn 0x0000000052680000ULL,
8226 1.1 alnsn 0x28ca000000000000ULL,
8227 1.1 alnsn -1ULL,
8228 1.1 alnsn -1ULL,
8229 1.1 alnsn -1ULL
8230 1.1 alnsn }
8231 1.1 alnsn #endif
8232 1.1 alnsn },
8233 1.1 alnsn { "v4shrs", TILEGX_OPC_V4SHRS, 0x3, 3, TREG_ZERO, 1,
8234 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8235 1.1 alnsn #ifndef DISASM_ONLY
8236 1.1 alnsn {
8237 1.1 alnsn 0xc00000007ffc0000ULL,
8238 1.1 alnsn 0xfffe000000000000ULL,
8239 1.1 alnsn 0ULL,
8240 1.1 alnsn 0ULL,
8241 1.1 alnsn 0ULL
8242 1.1 alnsn },
8243 1.1 alnsn {
8244 1.1 alnsn 0x0000000052700000ULL,
8245 1.1 alnsn 0x28ce000000000000ULL,
8246 1.1 alnsn -1ULL,
8247 1.1 alnsn -1ULL,
8248 1.1 alnsn -1ULL
8249 1.1 alnsn }
8250 1.1 alnsn #endif
8251 1.1 alnsn },
8252 1.1 alnsn { "v4shru", TILEGX_OPC_V4SHRU, 0x3, 3, TREG_ZERO, 1,
8253 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8254 1.1 alnsn #ifndef DISASM_ONLY
8255 1.1 alnsn {
8256 1.1 alnsn 0xc00000007ffc0000ULL,
8257 1.1 alnsn 0xfffe000000000000ULL,
8258 1.1 alnsn 0ULL,
8259 1.1 alnsn 0ULL,
8260 1.1 alnsn 0ULL
8261 1.1 alnsn },
8262 1.1 alnsn {
8263 1.1 alnsn 0x0000000052740000ULL,
8264 1.1 alnsn 0x28d0000000000000ULL,
8265 1.1 alnsn -1ULL,
8266 1.1 alnsn -1ULL,
8267 1.1 alnsn -1ULL
8268 1.1 alnsn }
8269 1.1 alnsn #endif
8270 1.1 alnsn },
8271 1.1 alnsn { "v4sub", TILEGX_OPC_V4SUB, 0x3, 3, TREG_ZERO, 1,
8272 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8273 1.1 alnsn #ifndef DISASM_ONLY
8274 1.1 alnsn {
8275 1.1 alnsn 0xc00000007ffc0000ULL,
8276 1.1 alnsn 0xfffe000000000000ULL,
8277 1.1 alnsn 0ULL,
8278 1.1 alnsn 0ULL,
8279 1.1 alnsn 0ULL
8280 1.1 alnsn },
8281 1.1 alnsn {
8282 1.1 alnsn 0x00000000527c0000ULL,
8283 1.1 alnsn 0x28d4000000000000ULL,
8284 1.1 alnsn -1ULL,
8285 1.1 alnsn -1ULL,
8286 1.1 alnsn -1ULL
8287 1.1 alnsn }
8288 1.1 alnsn #endif
8289 1.1 alnsn },
8290 1.1 alnsn { "v4subsc", TILEGX_OPC_V4SUBSC, 0x3, 3, TREG_ZERO, 1,
8291 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } },
8292 1.1 alnsn #ifndef DISASM_ONLY
8293 1.1 alnsn {
8294 1.1 alnsn 0xc00000007ffc0000ULL,
8295 1.1 alnsn 0xfffe000000000000ULL,
8296 1.1 alnsn 0ULL,
8297 1.1 alnsn 0ULL,
8298 1.1 alnsn 0ULL
8299 1.1 alnsn },
8300 1.1 alnsn {
8301 1.1 alnsn 0x0000000052780000ULL,
8302 1.1 alnsn 0x28d2000000000000ULL,
8303 1.1 alnsn -1ULL,
8304 1.1 alnsn -1ULL,
8305 1.1 alnsn -1ULL
8306 1.1 alnsn }
8307 1.1 alnsn #endif
8308 1.1 alnsn },
8309 1.1 alnsn { "wh64", TILEGX_OPC_WH64, 0x2, 1, TREG_ZERO, 1,
8310 1.1 alnsn { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } },
8311 1.1 alnsn #ifndef DISASM_ONLY
8312 1.1 alnsn {
8313 1.1 alnsn 0ULL,
8314 1.1 alnsn 0xfffff80000000000ULL,
8315 1.1 alnsn 0ULL,
8316 1.1 alnsn 0ULL,
8317 1.1 alnsn 0ULL
8318 1.1 alnsn },
8319 1.1 alnsn {
8320 1.1 alnsn -1ULL,
8321 1.1 alnsn 0x286b300000000000ULL,
8322 1.1 alnsn -1ULL,
8323 1.1 alnsn -1ULL,
8324 1.1 alnsn -1ULL
8325 1.1 alnsn }
8326 1.1 alnsn #endif
8327 1.1 alnsn },
8328 1.1 alnsn { "xor", TILEGX_OPC_XOR, 0xf, 3, TREG_ZERO, 1,
8329 1.1 alnsn { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } },
8330 1.1 alnsn #ifndef DISASM_ONLY
8331 1.1 alnsn {
8332 1.1 alnsn 0xc00000007ffc0000ULL,
8333 1.1 alnsn 0xfffe000000000000ULL,
8334 1.1 alnsn 0x00000000780c0000ULL,
8335 1.1 alnsn 0x3c06000000000000ULL,
8336 1.1 alnsn 0ULL
8337 1.1 alnsn },
8338 1.1 alnsn {
8339 1.1 alnsn 0x0000000052800000ULL,
8340 1.1 alnsn 0x28d6000000000000ULL,
8341 1.1 alnsn 0x00000000500c0000ULL,
8342 1.1 alnsn 0x2c06000000000000ULL,
8343 1.1 alnsn -1ULL
8344 1.1 alnsn }
8345 1.1 alnsn #endif
8346 1.1 alnsn },
8347 1.1 alnsn { "xori", TILEGX_OPC_XORI, 0x3, 3, TREG_ZERO, 1,
8348 1.1 alnsn { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } },
8349 1.1 alnsn #ifndef DISASM_ONLY
8350 1.1 alnsn {
8351 1.1 alnsn 0xc00000007ff00000ULL,
8352 1.1 alnsn 0xfff8000000000000ULL,
8353 1.1 alnsn 0ULL,
8354 1.1 alnsn 0ULL,
8355 1.1 alnsn 0ULL
8356 1.1 alnsn },
8357 1.1 alnsn {
8358 1.1 alnsn 0x0000000041400000ULL,
8359 1.1 alnsn 0x1968000000000000ULL,
8360 1.1 alnsn -1ULL,
8361 1.1 alnsn -1ULL,
8362 1.1 alnsn -1ULL
8363 1.1 alnsn }
8364 1.1 alnsn #endif
8365 1.1 alnsn },
8366 1.1 alnsn { NULL, TILEGX_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } },
8367 1.1 alnsn #ifndef DISASM_ONLY
8368 1.1 alnsn { 0, }, { 0, }
8369 1.1 alnsn #endif
8370 1.1 alnsn }
8371 1.1 alnsn };
8372 1.1 alnsn
8373 1.1 alnsn #define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6))
8374 1.1 alnsn #define CHILD(array_index) (TILEGX_OPC_NONE + (array_index))
8375 1.1 alnsn
8376 1.1 alnsn static const unsigned short decode_X0_fsm[936] =
8377 1.1 alnsn {
8378 1.1 alnsn BITFIELD(22, 9) /* index 0 */,
8379 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8380 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8381 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8382 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8383 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8384 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8385 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8386 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8387 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8388 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8389 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8390 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8391 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8392 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8393 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8394 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8395 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8396 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8397 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8398 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8399 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8400 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8401 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8402 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8403 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8404 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8405 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), TILEGX_OPC_ADDXLI,
8406 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8407 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8408 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8409 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8410 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8411 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8412 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8413 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8414 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8415 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8416 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8417 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8418 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8419 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8420 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8421 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_NONE,
8422 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8423 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8424 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8425 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_BFEXTS,
8426 1.1 alnsn TILEGX_OPC_BFEXTS, TILEGX_OPC_BFEXTS, TILEGX_OPC_BFEXTS, TILEGX_OPC_BFEXTU,
8427 1.1 alnsn TILEGX_OPC_BFEXTU, TILEGX_OPC_BFEXTU, TILEGX_OPC_BFEXTU, TILEGX_OPC_BFINS,
8428 1.1 alnsn TILEGX_OPC_BFINS, TILEGX_OPC_BFINS, TILEGX_OPC_BFINS, TILEGX_OPC_MM,
8429 1.1 alnsn TILEGX_OPC_MM, TILEGX_OPC_MM, TILEGX_OPC_MM, TILEGX_OPC_NONE,
8430 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8431 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8432 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8433 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8434 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8435 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8436 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8437 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, CHILD(528), CHILD(578),
8438 1.1 alnsn CHILD(583), CHILD(588), CHILD(593), CHILD(598), TILEGX_OPC_NONE,
8439 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8440 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8441 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8442 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8443 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8444 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8445 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8446 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8447 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8448 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8449 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8450 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8451 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8452 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8453 1.1 alnsn TILEGX_OPC_NONE, CHILD(603), CHILD(620), CHILD(637), CHILD(654), CHILD(671),
8454 1.1 alnsn CHILD(703), CHILD(797), CHILD(814), CHILD(831), CHILD(848), CHILD(865),
8455 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8456 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8457 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8458 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8459 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8460 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8461 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8462 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8463 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8464 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8465 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8466 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8467 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8468 1.1 alnsn TILEGX_OPC_NONE, CHILD(889), TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8469 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8470 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8471 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8472 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8473 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8474 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8475 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8476 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8477 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8478 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8479 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8480 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8481 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8482 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8483 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8484 1.1 alnsn TILEGX_OPC_NONE, CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8485 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8486 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8487 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8488 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8489 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8490 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8491 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8492 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8493 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8494 1.1 alnsn CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906),
8495 1.1 alnsn BITFIELD(6, 2) /* index 513 */,
8496 1.1 alnsn TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, CHILD(518),
8497 1.1 alnsn BITFIELD(8, 2) /* index 518 */,
8498 1.1 alnsn TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, CHILD(523),
8499 1.1 alnsn BITFIELD(10, 2) /* index 523 */,
8500 1.1 alnsn TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_MOVELI,
8501 1.1 alnsn BITFIELD(20, 2) /* index 528 */,
8502 1.1 alnsn TILEGX_OPC_NONE, CHILD(533), TILEGX_OPC_ADDXI, CHILD(548),
8503 1.1 alnsn BITFIELD(6, 2) /* index 533 */,
8504 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(538),
8505 1.1 alnsn BITFIELD(8, 2) /* index 538 */,
8506 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(543),
8507 1.1 alnsn BITFIELD(10, 2) /* index 543 */,
8508 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_MOVEI,
8509 1.1 alnsn BITFIELD(0, 2) /* index 548 */,
8510 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(553),
8511 1.1 alnsn BITFIELD(2, 2) /* index 553 */,
8512 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(558),
8513 1.1 alnsn BITFIELD(4, 2) /* index 558 */,
8514 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(563),
8515 1.1 alnsn BITFIELD(6, 2) /* index 563 */,
8516 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(568),
8517 1.1 alnsn BITFIELD(8, 2) /* index 568 */,
8518 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(573),
8519 1.1 alnsn BITFIELD(10, 2) /* index 573 */,
8520 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_INFO,
8521 1.1 alnsn BITFIELD(20, 2) /* index 578 */,
8522 1.1 alnsn TILEGX_OPC_CMPEQI, TILEGX_OPC_CMPLTSI, TILEGX_OPC_CMPLTUI, TILEGX_OPC_ORI,
8523 1.1 alnsn BITFIELD(20, 2) /* index 583 */,
8524 1.1 alnsn TILEGX_OPC_V1ADDI, TILEGX_OPC_V1CMPEQI, TILEGX_OPC_V1CMPLTSI,
8525 1.1 alnsn TILEGX_OPC_V1CMPLTUI,
8526 1.1 alnsn BITFIELD(20, 2) /* index 588 */,
8527 1.1 alnsn TILEGX_OPC_V1MAXUI, TILEGX_OPC_V1MINUI, TILEGX_OPC_V2ADDI,
8528 1.1 alnsn TILEGX_OPC_V2CMPEQI,
8529 1.1 alnsn BITFIELD(20, 2) /* index 593 */,
8530 1.1 alnsn TILEGX_OPC_V2CMPLTSI, TILEGX_OPC_V2CMPLTUI, TILEGX_OPC_V2MAXSI,
8531 1.1 alnsn TILEGX_OPC_V2MINSI,
8532 1.1 alnsn BITFIELD(20, 2) /* index 598 */,
8533 1.1 alnsn TILEGX_OPC_XORI, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8534 1.1 alnsn BITFIELD(18, 4) /* index 603 */,
8535 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_ADDXSC, TILEGX_OPC_ADDX, TILEGX_OPC_ADD,
8536 1.1 alnsn TILEGX_OPC_AND, TILEGX_OPC_CMOVEQZ, TILEGX_OPC_CMOVNEZ, TILEGX_OPC_CMPEQ,
8537 1.1 alnsn TILEGX_OPC_CMPLES, TILEGX_OPC_CMPLEU, TILEGX_OPC_CMPLTS, TILEGX_OPC_CMPLTU,
8538 1.1 alnsn TILEGX_OPC_CMPNE, TILEGX_OPC_CMULAF, TILEGX_OPC_CMULA, TILEGX_OPC_CMULFR,
8539 1.1 alnsn BITFIELD(18, 4) /* index 620 */,
8540 1.1 alnsn TILEGX_OPC_CMULF, TILEGX_OPC_CMULHR, TILEGX_OPC_CMULH, TILEGX_OPC_CMUL,
8541 1.1 alnsn TILEGX_OPC_CRC32_32, TILEGX_OPC_CRC32_8, TILEGX_OPC_DBLALIGN2,
8542 1.1 alnsn TILEGX_OPC_DBLALIGN4, TILEGX_OPC_DBLALIGN6, TILEGX_OPC_DBLALIGN,
8543 1.1 alnsn TILEGX_OPC_FDOUBLE_ADDSUB, TILEGX_OPC_FDOUBLE_ADD_FLAGS,
8544 1.1 alnsn TILEGX_OPC_FDOUBLE_MUL_FLAGS, TILEGX_OPC_FDOUBLE_PACK1,
8545 1.1 alnsn TILEGX_OPC_FDOUBLE_PACK2, TILEGX_OPC_FDOUBLE_SUB_FLAGS,
8546 1.1 alnsn BITFIELD(18, 4) /* index 637 */,
8547 1.1 alnsn TILEGX_OPC_FDOUBLE_UNPACK_MAX, TILEGX_OPC_FDOUBLE_UNPACK_MIN,
8548 1.1 alnsn TILEGX_OPC_FSINGLE_ADD1, TILEGX_OPC_FSINGLE_ADDSUB2,
8549 1.1 alnsn TILEGX_OPC_FSINGLE_MUL1, TILEGX_OPC_FSINGLE_MUL2, TILEGX_OPC_FSINGLE_PACK2,
8550 1.1 alnsn TILEGX_OPC_FSINGLE_SUB1, TILEGX_OPC_MNZ, TILEGX_OPC_MULAX,
8551 1.1 alnsn TILEGX_OPC_MULA_HS_HS, TILEGX_OPC_MULA_HS_HU, TILEGX_OPC_MULA_HS_LS,
8552 1.1 alnsn TILEGX_OPC_MULA_HS_LU, TILEGX_OPC_MULA_HU_HU, TILEGX_OPC_MULA_HU_LS,
8553 1.1 alnsn BITFIELD(18, 4) /* index 654 */,
8554 1.1 alnsn TILEGX_OPC_MULA_HU_LU, TILEGX_OPC_MULA_LS_LS, TILEGX_OPC_MULA_LS_LU,
8555 1.1 alnsn TILEGX_OPC_MULA_LU_LU, TILEGX_OPC_MULX, TILEGX_OPC_MUL_HS_HS,
8556 1.1 alnsn TILEGX_OPC_MUL_HS_HU, TILEGX_OPC_MUL_HS_LS, TILEGX_OPC_MUL_HS_LU,
8557 1.1 alnsn TILEGX_OPC_MUL_HU_HU, TILEGX_OPC_MUL_HU_LS, TILEGX_OPC_MUL_HU_LU,
8558 1.1 alnsn TILEGX_OPC_MUL_LS_LS, TILEGX_OPC_MUL_LS_LU, TILEGX_OPC_MUL_LU_LU,
8559 1.1 alnsn TILEGX_OPC_MZ,
8560 1.1 alnsn BITFIELD(18, 4) /* index 671 */,
8561 1.1 alnsn TILEGX_OPC_NOR, CHILD(688), TILEGX_OPC_ROTL, TILEGX_OPC_SHL1ADDX,
8562 1.1 alnsn TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL2ADDX, TILEGX_OPC_SHL2ADD,
8563 1.1 alnsn TILEGX_OPC_SHL3ADDX, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHLX, TILEGX_OPC_SHL,
8564 1.1 alnsn TILEGX_OPC_SHRS, TILEGX_OPC_SHRUX, TILEGX_OPC_SHRU, TILEGX_OPC_SHUFFLEBYTES,
8565 1.1 alnsn TILEGX_OPC_SUBXSC,
8566 1.1 alnsn BITFIELD(12, 2) /* index 688 */,
8567 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(693),
8568 1.1 alnsn BITFIELD(14, 2) /* index 693 */,
8569 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(698),
8570 1.1 alnsn BITFIELD(16, 2) /* index 698 */,
8571 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_MOVE,
8572 1.1 alnsn BITFIELD(18, 4) /* index 703 */,
8573 1.1 alnsn TILEGX_OPC_SUBX, TILEGX_OPC_SUB, CHILD(720), TILEGX_OPC_V1ADDUC,
8574 1.1 alnsn TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADIFFU, TILEGX_OPC_V1AVGU,
8575 1.1 alnsn TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLEU,
8576 1.1 alnsn TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPNE,
8577 1.1 alnsn TILEGX_OPC_V1DDOTPUSA, TILEGX_OPC_V1DDOTPUS, TILEGX_OPC_V1DOTPA,
8578 1.1 alnsn BITFIELD(12, 4) /* index 720 */,
8579 1.1 alnsn TILEGX_OPC_NONE, CHILD(737), CHILD(742), CHILD(747), CHILD(752), CHILD(757),
8580 1.1 alnsn CHILD(762), CHILD(767), CHILD(772), CHILD(777), CHILD(782), CHILD(787),
8581 1.1 alnsn CHILD(792), TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8582 1.1 alnsn BITFIELD(16, 2) /* index 737 */,
8583 1.1 alnsn TILEGX_OPC_CLZ, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8584 1.1 alnsn BITFIELD(16, 2) /* index 742 */,
8585 1.1 alnsn TILEGX_OPC_CTZ, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8586 1.1 alnsn BITFIELD(16, 2) /* index 747 */,
8587 1.1 alnsn TILEGX_OPC_FNOP, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8588 1.1 alnsn BITFIELD(16, 2) /* index 752 */,
8589 1.1 alnsn TILEGX_OPC_FSINGLE_PACK1, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8590 1.1 alnsn BITFIELD(16, 2) /* index 757 */,
8591 1.1 alnsn TILEGX_OPC_NOP, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8592 1.1 alnsn BITFIELD(16, 2) /* index 762 */,
8593 1.1 alnsn TILEGX_OPC_PCNT, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8594 1.1 alnsn BITFIELD(16, 2) /* index 767 */,
8595 1.1 alnsn TILEGX_OPC_REVBITS, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8596 1.1 alnsn BITFIELD(16, 2) /* index 772 */,
8597 1.1 alnsn TILEGX_OPC_REVBYTES, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8598 1.1 alnsn BITFIELD(16, 2) /* index 777 */,
8599 1.1 alnsn TILEGX_OPC_TBLIDXB0, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8600 1.1 alnsn BITFIELD(16, 2) /* index 782 */,
8601 1.1 alnsn TILEGX_OPC_TBLIDXB1, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8602 1.1 alnsn BITFIELD(16, 2) /* index 787 */,
8603 1.1 alnsn TILEGX_OPC_TBLIDXB2, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8604 1.1 alnsn BITFIELD(16, 2) /* index 792 */,
8605 1.1 alnsn TILEGX_OPC_TBLIDXB3, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8606 1.1 alnsn BITFIELD(18, 4) /* index 797 */,
8607 1.1 alnsn TILEGX_OPC_V1DOTPUSA, TILEGX_OPC_V1DOTPUS, TILEGX_OPC_V1DOTP,
8608 1.1 alnsn TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_L, TILEGX_OPC_V1MAXU,
8609 1.1 alnsn TILEGX_OPC_V1MINU, TILEGX_OPC_V1MNZ, TILEGX_OPC_V1MULTU, TILEGX_OPC_V1MULUS,
8610 1.1 alnsn TILEGX_OPC_V1MULU, TILEGX_OPC_V1MZ, TILEGX_OPC_V1SADAU, TILEGX_OPC_V1SADU,
8611 1.1 alnsn TILEGX_OPC_V1SHL, TILEGX_OPC_V1SHRS,
8612 1.1 alnsn BITFIELD(18, 4) /* index 814 */,
8613 1.1 alnsn TILEGX_OPC_V1SHRU, TILEGX_OPC_V1SUBUC, TILEGX_OPC_V1SUB, TILEGX_OPC_V2ADDSC,
8614 1.1 alnsn TILEGX_OPC_V2ADD, TILEGX_OPC_V2ADIFFS, TILEGX_OPC_V2AVGS,
8615 1.1 alnsn TILEGX_OPC_V2CMPEQ, TILEGX_OPC_V2CMPLES, TILEGX_OPC_V2CMPLEU,
8616 1.1 alnsn TILEGX_OPC_V2CMPLTS, TILEGX_OPC_V2CMPLTU, TILEGX_OPC_V2CMPNE,
8617 1.1 alnsn TILEGX_OPC_V2DOTPA, TILEGX_OPC_V2DOTP, TILEGX_OPC_V2INT_H,
8618 1.1 alnsn BITFIELD(18, 4) /* index 831 */,
8619 1.1 alnsn TILEGX_OPC_V2INT_L, TILEGX_OPC_V2MAXS, TILEGX_OPC_V2MINS, TILEGX_OPC_V2MNZ,
8620 1.1 alnsn TILEGX_OPC_V2MULFSC, TILEGX_OPC_V2MULS, TILEGX_OPC_V2MULTS, TILEGX_OPC_V2MZ,
8621 1.1 alnsn TILEGX_OPC_V2PACKH, TILEGX_OPC_V2PACKL, TILEGX_OPC_V2PACKUC,
8622 1.1 alnsn TILEGX_OPC_V2SADAS, TILEGX_OPC_V2SADAU, TILEGX_OPC_V2SADS,
8623 1.1 alnsn TILEGX_OPC_V2SADU, TILEGX_OPC_V2SHLSC,
8624 1.1 alnsn BITFIELD(18, 4) /* index 848 */,
8625 1.1 alnsn TILEGX_OPC_V2SHL, TILEGX_OPC_V2SHRS, TILEGX_OPC_V2SHRU, TILEGX_OPC_V2SUBSC,
8626 1.1 alnsn TILEGX_OPC_V2SUB, TILEGX_OPC_V4ADDSC, TILEGX_OPC_V4ADD, TILEGX_OPC_V4INT_H,
8627 1.1 alnsn TILEGX_OPC_V4INT_L, TILEGX_OPC_V4PACKSC, TILEGX_OPC_V4SHLSC,
8628 1.1 alnsn TILEGX_OPC_V4SHL, TILEGX_OPC_V4SHRS, TILEGX_OPC_V4SHRU, TILEGX_OPC_V4SUBSC,
8629 1.1 alnsn TILEGX_OPC_V4SUB,
8630 1.1 alnsn BITFIELD(18, 3) /* index 865 */,
8631 1.1 alnsn CHILD(874), CHILD(877), CHILD(880), CHILD(883), CHILD(886), TILEGX_OPC_NONE,
8632 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8633 1.1 alnsn BITFIELD(21, 1) /* index 874 */,
8634 1.1 alnsn TILEGX_OPC_XOR, TILEGX_OPC_NONE,
8635 1.1 alnsn BITFIELD(21, 1) /* index 877 */,
8636 1.1 alnsn TILEGX_OPC_V1DDOTPUA, TILEGX_OPC_NONE,
8637 1.1 alnsn BITFIELD(21, 1) /* index 880 */,
8638 1.1 alnsn TILEGX_OPC_V1DDOTPU, TILEGX_OPC_NONE,
8639 1.1 alnsn BITFIELD(21, 1) /* index 883 */,
8640 1.1 alnsn TILEGX_OPC_V1DOTPUA, TILEGX_OPC_NONE,
8641 1.1 alnsn BITFIELD(21, 1) /* index 886 */,
8642 1.1 alnsn TILEGX_OPC_V1DOTPU, TILEGX_OPC_NONE,
8643 1.1 alnsn BITFIELD(18, 4) /* index 889 */,
8644 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_ROTLI, TILEGX_OPC_SHLI, TILEGX_OPC_SHLXI,
8645 1.1 alnsn TILEGX_OPC_SHRSI, TILEGX_OPC_SHRUI, TILEGX_OPC_SHRUXI, TILEGX_OPC_V1SHLI,
8646 1.1 alnsn TILEGX_OPC_V1SHRSI, TILEGX_OPC_V1SHRUI, TILEGX_OPC_V2SHLI,
8647 1.1 alnsn TILEGX_OPC_V2SHRSI, TILEGX_OPC_V2SHRUI, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8648 1.1 alnsn TILEGX_OPC_NONE,
8649 1.1 alnsn BITFIELD(0, 2) /* index 906 */,
8650 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
8651 1.1 alnsn CHILD(911),
8652 1.1 alnsn BITFIELD(2, 2) /* index 911 */,
8653 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
8654 1.1 alnsn CHILD(916),
8655 1.1 alnsn BITFIELD(4, 2) /* index 916 */,
8656 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
8657 1.1 alnsn CHILD(921),
8658 1.1 alnsn BITFIELD(6, 2) /* index 921 */,
8659 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
8660 1.1 alnsn CHILD(926),
8661 1.1 alnsn BITFIELD(8, 2) /* index 926 */,
8662 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
8663 1.1 alnsn CHILD(931),
8664 1.1 alnsn BITFIELD(10, 2) /* index 931 */,
8665 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
8666 1.1 alnsn TILEGX_OPC_INFOL,
8667 1.1 alnsn };
8668 1.1 alnsn
8669 1.1 alnsn static const unsigned short decode_X1_fsm[1266] =
8670 1.1 alnsn {
8671 1.1 alnsn BITFIELD(53, 9) /* index 0 */,
8672 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8673 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8674 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8675 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8676 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8677 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8678 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8679 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8680 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8681 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513),
8682 1.1 alnsn CHILD(513), CHILD(513), CHILD(513), CHILD(513), TILEGX_OPC_ADDXLI,
8683 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8684 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8685 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8686 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8687 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8688 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8689 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8690 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8691 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8692 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8693 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8694 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8695 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8696 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8697 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI,
8698 1.1 alnsn TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_NONE,
8699 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8700 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8701 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8702 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8703 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8704 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8705 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8706 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_BEQZT,
8707 1.1 alnsn TILEGX_OPC_BEQZT, TILEGX_OPC_BEQZ, TILEGX_OPC_BEQZ, TILEGX_OPC_BGEZT,
8708 1.1 alnsn TILEGX_OPC_BGEZT, TILEGX_OPC_BGEZ, TILEGX_OPC_BGEZ, TILEGX_OPC_BGTZT,
8709 1.1 alnsn TILEGX_OPC_BGTZT, TILEGX_OPC_BGTZ, TILEGX_OPC_BGTZ, TILEGX_OPC_BLBCT,
8710 1.1 alnsn TILEGX_OPC_BLBCT, TILEGX_OPC_BLBC, TILEGX_OPC_BLBC, TILEGX_OPC_BLBST,
8711 1.1 alnsn TILEGX_OPC_BLBST, TILEGX_OPC_BLBS, TILEGX_OPC_BLBS, TILEGX_OPC_BLEZT,
8712 1.1 alnsn TILEGX_OPC_BLEZT, TILEGX_OPC_BLEZ, TILEGX_OPC_BLEZ, TILEGX_OPC_BLTZT,
8713 1.1 alnsn TILEGX_OPC_BLTZT, TILEGX_OPC_BLTZ, TILEGX_OPC_BLTZ, TILEGX_OPC_BNEZT,
8714 1.1 alnsn TILEGX_OPC_BNEZT, TILEGX_OPC_BNEZ, TILEGX_OPC_BNEZ, CHILD(528), CHILD(578),
8715 1.1 alnsn CHILD(598), CHILD(703), CHILD(723), CHILD(728), CHILD(753), CHILD(758),
8716 1.1 alnsn CHILD(763), CHILD(768), CHILD(773), CHILD(778), TILEGX_OPC_NONE,
8717 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8718 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8719 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8720 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8721 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8722 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8723 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8724 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8725 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8726 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8727 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8728 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8729 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_JAL,
8730 1.1 alnsn TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL,
8731 1.1 alnsn TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL,
8732 1.1 alnsn TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL,
8733 1.1 alnsn TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL,
8734 1.1 alnsn TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL,
8735 1.1 alnsn TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL,
8736 1.1 alnsn TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL,
8737 1.1 alnsn TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_J, TILEGX_OPC_J,
8738 1.1 alnsn TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J,
8739 1.1 alnsn TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J,
8740 1.1 alnsn TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J,
8741 1.1 alnsn TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J,
8742 1.1 alnsn TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J,
8743 1.1 alnsn TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J,
8744 1.1 alnsn CHILD(783), CHILD(800), CHILD(832), CHILD(849), CHILD(1168), CHILD(1185),
8745 1.1 alnsn CHILD(1202), TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8746 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8747 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8748 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8749 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8750 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8751 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8752 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8753 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8754 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8755 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8756 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8757 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8758 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8759 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, CHILD(1219), TILEGX_OPC_NONE,
8760 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8761 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8762 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8763 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8764 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8765 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8766 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8767 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8768 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8769 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8770 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8771 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8772 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8773 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8774 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8775 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, CHILD(1236), CHILD(1236), CHILD(1236),
8776 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8777 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8778 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8779 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8780 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8781 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8782 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8783 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8784 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8785 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8786 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8787 1.1 alnsn CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236),
8788 1.1 alnsn CHILD(1236),
8789 1.1 alnsn BITFIELD(37, 2) /* index 513 */,
8790 1.1 alnsn TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, CHILD(518),
8791 1.1 alnsn BITFIELD(39, 2) /* index 518 */,
8792 1.1 alnsn TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, CHILD(523),
8793 1.1 alnsn BITFIELD(41, 2) /* index 523 */,
8794 1.1 alnsn TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_MOVELI,
8795 1.1 alnsn BITFIELD(51, 2) /* index 528 */,
8796 1.1 alnsn TILEGX_OPC_NONE, CHILD(533), TILEGX_OPC_ADDXI, CHILD(548),
8797 1.1 alnsn BITFIELD(37, 2) /* index 533 */,
8798 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(538),
8799 1.1 alnsn BITFIELD(39, 2) /* index 538 */,
8800 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(543),
8801 1.1 alnsn BITFIELD(41, 2) /* index 543 */,
8802 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_MOVEI,
8803 1.1 alnsn BITFIELD(31, 2) /* index 548 */,
8804 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(553),
8805 1.1 alnsn BITFIELD(33, 2) /* index 553 */,
8806 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(558),
8807 1.1 alnsn BITFIELD(35, 2) /* index 558 */,
8808 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(563),
8809 1.1 alnsn BITFIELD(37, 2) /* index 563 */,
8810 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(568),
8811 1.1 alnsn BITFIELD(39, 2) /* index 568 */,
8812 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(573),
8813 1.1 alnsn BITFIELD(41, 2) /* index 573 */,
8814 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_INFO,
8815 1.1 alnsn BITFIELD(51, 2) /* index 578 */,
8816 1.1 alnsn TILEGX_OPC_CMPEQI, TILEGX_OPC_CMPLTSI, TILEGX_OPC_CMPLTUI, CHILD(583),
8817 1.1 alnsn BITFIELD(31, 2) /* index 583 */,
8818 1.1 alnsn TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, CHILD(588),
8819 1.1 alnsn BITFIELD(33, 2) /* index 588 */,
8820 1.1 alnsn TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, CHILD(593),
8821 1.1 alnsn BITFIELD(35, 2) /* index 593 */,
8822 1.1 alnsn TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD,
8823 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L1_FAULT,
8824 1.1 alnsn BITFIELD(51, 2) /* index 598 */,
8825 1.1 alnsn CHILD(603), CHILD(618), CHILD(633), CHILD(648),
8826 1.1 alnsn BITFIELD(31, 2) /* index 603 */,
8827 1.1 alnsn TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, CHILD(608),
8828 1.1 alnsn BITFIELD(33, 2) /* index 608 */,
8829 1.1 alnsn TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, CHILD(613),
8830 1.1 alnsn BITFIELD(35, 2) /* index 613 */,
8831 1.1 alnsn TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD,
8832 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L1,
8833 1.1 alnsn BITFIELD(31, 2) /* index 618 */,
8834 1.1 alnsn TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, CHILD(623),
8835 1.1 alnsn BITFIELD(33, 2) /* index 623 */,
8836 1.1 alnsn TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, CHILD(628),
8837 1.1 alnsn BITFIELD(35, 2) /* index 628 */,
8838 1.1 alnsn TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD,
8839 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L2_FAULT,
8840 1.1 alnsn BITFIELD(31, 2) /* index 633 */,
8841 1.1 alnsn TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, CHILD(638),
8842 1.1 alnsn BITFIELD(33, 2) /* index 638 */,
8843 1.1 alnsn TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, CHILD(643),
8844 1.1 alnsn BITFIELD(35, 2) /* index 643 */,
8845 1.1 alnsn TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD,
8846 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L2,
8847 1.1 alnsn BITFIELD(31, 2) /* index 648 */,
8848 1.1 alnsn CHILD(653), CHILD(653), CHILD(653), CHILD(673),
8849 1.1 alnsn BITFIELD(43, 2) /* index 653 */,
8850 1.1 alnsn CHILD(658), TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD,
8851 1.1 alnsn BITFIELD(45, 2) /* index 658 */,
8852 1.1 alnsn CHILD(663), TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD,
8853 1.1 alnsn BITFIELD(47, 2) /* index 663 */,
8854 1.1 alnsn CHILD(668), TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD,
8855 1.1 alnsn BITFIELD(49, 2) /* index 668 */,
8856 1.1 alnsn TILEGX_OPC_LD4S_TLS, TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD,
8857 1.1 alnsn TILEGX_OPC_LD4S_ADD,
8858 1.1 alnsn BITFIELD(33, 2) /* index 673 */,
8859 1.1 alnsn CHILD(653), CHILD(653), CHILD(653), CHILD(678),
8860 1.1 alnsn BITFIELD(35, 2) /* index 678 */,
8861 1.1 alnsn CHILD(653), CHILD(653), CHILD(653), CHILD(683),
8862 1.1 alnsn BITFIELD(43, 2) /* index 683 */,
8863 1.1 alnsn CHILD(688), TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
8864 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L3_FAULT, TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
8865 1.1 alnsn BITFIELD(45, 2) /* index 688 */,
8866 1.1 alnsn CHILD(693), TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
8867 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L3_FAULT, TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
8868 1.1 alnsn BITFIELD(47, 2) /* index 693 */,
8869 1.1 alnsn CHILD(698), TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
8870 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L3_FAULT, TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
8871 1.1 alnsn BITFIELD(49, 2) /* index 698 */,
8872 1.1 alnsn TILEGX_OPC_LD4S_TLS, TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
8873 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L3_FAULT, TILEGX_OPC_PREFETCH_ADD_L3_FAULT,
8874 1.1 alnsn BITFIELD(51, 2) /* index 703 */,
8875 1.1 alnsn CHILD(708), TILEGX_OPC_LDNT1S_ADD, TILEGX_OPC_LDNT1U_ADD,
8876 1.1 alnsn TILEGX_OPC_LDNT2S_ADD,
8877 1.1 alnsn BITFIELD(31, 2) /* index 708 */,
8878 1.1 alnsn TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, CHILD(713),
8879 1.1 alnsn BITFIELD(33, 2) /* index 713 */,
8880 1.1 alnsn TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, CHILD(718),
8881 1.1 alnsn BITFIELD(35, 2) /* index 718 */,
8882 1.1 alnsn TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD,
8883 1.1 alnsn TILEGX_OPC_PREFETCH_ADD_L3,
8884 1.1 alnsn BITFIELD(51, 2) /* index 723 */,
8885 1.1 alnsn TILEGX_OPC_LDNT2U_ADD, TILEGX_OPC_LDNT4S_ADD, TILEGX_OPC_LDNT4U_ADD,
8886 1.1 alnsn TILEGX_OPC_LDNT_ADD,
8887 1.1 alnsn BITFIELD(51, 2) /* index 728 */,
8888 1.1 alnsn CHILD(733), TILEGX_OPC_LDNA_ADD, TILEGX_OPC_MFSPR, TILEGX_OPC_MTSPR,
8889 1.1 alnsn BITFIELD(43, 2) /* index 733 */,
8890 1.1 alnsn CHILD(738), TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD,
8891 1.1 alnsn BITFIELD(45, 2) /* index 738 */,
8892 1.1 alnsn CHILD(743), TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD,
8893 1.1 alnsn BITFIELD(47, 2) /* index 743 */,
8894 1.1 alnsn CHILD(748), TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD,
8895 1.1 alnsn BITFIELD(49, 2) /* index 748 */,
8896 1.1 alnsn TILEGX_OPC_LD_TLS, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD,
8897 1.1 alnsn BITFIELD(51, 2) /* index 753 */,
8898 1.1 alnsn TILEGX_OPC_ORI, TILEGX_OPC_ST1_ADD, TILEGX_OPC_ST2_ADD, TILEGX_OPC_ST4_ADD,
8899 1.1 alnsn BITFIELD(51, 2) /* index 758 */,
8900 1.1 alnsn TILEGX_OPC_STNT1_ADD, TILEGX_OPC_STNT2_ADD, TILEGX_OPC_STNT4_ADD,
8901 1.1 alnsn TILEGX_OPC_STNT_ADD,
8902 1.1 alnsn BITFIELD(51, 2) /* index 763 */,
8903 1.1 alnsn TILEGX_OPC_ST_ADD, TILEGX_OPC_V1ADDI, TILEGX_OPC_V1CMPEQI,
8904 1.1 alnsn TILEGX_OPC_V1CMPLTSI,
8905 1.1 alnsn BITFIELD(51, 2) /* index 768 */,
8906 1.1 alnsn TILEGX_OPC_V1CMPLTUI, TILEGX_OPC_V1MAXUI, TILEGX_OPC_V1MINUI,
8907 1.1 alnsn TILEGX_OPC_V2ADDI,
8908 1.1 alnsn BITFIELD(51, 2) /* index 773 */,
8909 1.1 alnsn TILEGX_OPC_V2CMPEQI, TILEGX_OPC_V2CMPLTSI, TILEGX_OPC_V2CMPLTUI,
8910 1.1 alnsn TILEGX_OPC_V2MAXSI,
8911 1.1 alnsn BITFIELD(51, 2) /* index 778 */,
8912 1.1 alnsn TILEGX_OPC_V2MINSI, TILEGX_OPC_XORI, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8913 1.1 alnsn BITFIELD(49, 4) /* index 783 */,
8914 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_ADDXSC, TILEGX_OPC_ADDX, TILEGX_OPC_ADD,
8915 1.1 alnsn TILEGX_OPC_AND, TILEGX_OPC_CMPEQ, TILEGX_OPC_CMPEXCH4, TILEGX_OPC_CMPEXCH,
8916 1.1 alnsn TILEGX_OPC_CMPLES, TILEGX_OPC_CMPLEU, TILEGX_OPC_CMPLTS, TILEGX_OPC_CMPLTU,
8917 1.1 alnsn TILEGX_OPC_CMPNE, TILEGX_OPC_DBLALIGN2, TILEGX_OPC_DBLALIGN4,
8918 1.1 alnsn TILEGX_OPC_DBLALIGN6,
8919 1.1 alnsn BITFIELD(49, 4) /* index 800 */,
8920 1.1 alnsn TILEGX_OPC_EXCH4, TILEGX_OPC_EXCH, TILEGX_OPC_FETCHADD4,
8921 1.1 alnsn TILEGX_OPC_FETCHADDGEZ4, TILEGX_OPC_FETCHADDGEZ, TILEGX_OPC_FETCHADD,
8922 1.1 alnsn TILEGX_OPC_FETCHAND4, TILEGX_OPC_FETCHAND, TILEGX_OPC_FETCHOR4,
8923 1.1 alnsn TILEGX_OPC_FETCHOR, TILEGX_OPC_MNZ, TILEGX_OPC_MZ, TILEGX_OPC_NOR,
8924 1.1 alnsn CHILD(817), TILEGX_OPC_ROTL, TILEGX_OPC_SHL1ADDX,
8925 1.1 alnsn BITFIELD(43, 2) /* index 817 */,
8926 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(822),
8927 1.1 alnsn BITFIELD(45, 2) /* index 822 */,
8928 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(827),
8929 1.1 alnsn BITFIELD(47, 2) /* index 827 */,
8930 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_MOVE,
8931 1.1 alnsn BITFIELD(49, 4) /* index 832 */,
8932 1.1 alnsn TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL2ADDX, TILEGX_OPC_SHL2ADD,
8933 1.1 alnsn TILEGX_OPC_SHL3ADDX, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHLX, TILEGX_OPC_SHL,
8934 1.1 alnsn TILEGX_OPC_SHRS, TILEGX_OPC_SHRUX, TILEGX_OPC_SHRU, TILEGX_OPC_ST1,
8935 1.1 alnsn TILEGX_OPC_ST2, TILEGX_OPC_ST4, TILEGX_OPC_STNT1, TILEGX_OPC_STNT2,
8936 1.1 alnsn TILEGX_OPC_STNT4,
8937 1.1 alnsn BITFIELD(46, 7) /* index 849 */,
8938 1.1 alnsn TILEGX_OPC_STNT, TILEGX_OPC_STNT, TILEGX_OPC_STNT, TILEGX_OPC_STNT,
8939 1.1 alnsn TILEGX_OPC_STNT, TILEGX_OPC_STNT, TILEGX_OPC_STNT, TILEGX_OPC_STNT,
8940 1.1 alnsn TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_ST,
8941 1.1 alnsn TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_SUBXSC,
8942 1.1 alnsn TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC,
8943 1.1 alnsn TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBX,
8944 1.1 alnsn TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, TILEGX_OPC_SUBX,
8945 1.1 alnsn TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, TILEGX_OPC_SUB,
8946 1.1 alnsn TILEGX_OPC_SUB, TILEGX_OPC_SUB, TILEGX_OPC_SUB, TILEGX_OPC_SUB,
8947 1.1 alnsn TILEGX_OPC_SUB, TILEGX_OPC_SUB, TILEGX_OPC_SUB, CHILD(978), CHILD(987),
8948 1.1 alnsn CHILD(1066), CHILD(1150), CHILD(1159), TILEGX_OPC_NONE, TILEGX_OPC_NONE,
8949 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC,
8950 1.1 alnsn TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC,
8951 1.1 alnsn TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD,
8952 1.1 alnsn TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD,
8953 1.1 alnsn TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD, TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ,
8954 1.1 alnsn TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ,
8955 1.1 alnsn TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ,
8956 1.1 alnsn TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES,
8957 1.1 alnsn TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES,
8958 1.1 alnsn TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLEU,
8959 1.1 alnsn TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLEU,
8960 1.1 alnsn TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLEU,
8961 1.1 alnsn TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS,
8962 1.1 alnsn TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS,
8963 1.1 alnsn TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS,
8964 1.1 alnsn TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU,
8965 1.1 alnsn TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU,
8966 1.1 alnsn TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPNE,
8967 1.1 alnsn TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1CMPNE,
8968 1.1 alnsn TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1CMPNE,
8969 1.1 alnsn TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H,
8970 1.1 alnsn TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H,
8971 1.1 alnsn TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H,
8972 1.1 alnsn TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L,
8973 1.1 alnsn TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L,
8974 1.1 alnsn TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L,
8975 1.1 alnsn BITFIELD(43, 3) /* index 978 */,
8976 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_DRAIN, TILEGX_OPC_DTLBPR, TILEGX_OPC_FINV,
8977 1.1 alnsn TILEGX_OPC_FLUSHWB, TILEGX_OPC_FLUSH, TILEGX_OPC_FNOP, TILEGX_OPC_ICOH,
8978 1.1 alnsn BITFIELD(43, 3) /* index 987 */,
8979 1.1 alnsn CHILD(996), TILEGX_OPC_INV, TILEGX_OPC_IRET, TILEGX_OPC_JALRP,
8980 1.1 alnsn TILEGX_OPC_JALR, TILEGX_OPC_JRP, TILEGX_OPC_JR, CHILD(1051),
8981 1.1 alnsn BITFIELD(31, 2) /* index 996 */,
8982 1.1 alnsn CHILD(1001), CHILD(1026), TILEGX_OPC_ILL, TILEGX_OPC_ILL,
8983 1.1 alnsn BITFIELD(33, 2) /* index 1001 */,
8984 1.1 alnsn TILEGX_OPC_ILL, TILEGX_OPC_ILL, TILEGX_OPC_ILL, CHILD(1006),
8985 1.1 alnsn BITFIELD(35, 2) /* index 1006 */,
8986 1.1 alnsn TILEGX_OPC_ILL, CHILD(1011), TILEGX_OPC_ILL, TILEGX_OPC_ILL,
8987 1.1 alnsn BITFIELD(37, 2) /* index 1011 */,
8988 1.1 alnsn TILEGX_OPC_ILL, CHILD(1016), TILEGX_OPC_ILL, TILEGX_OPC_ILL,
8989 1.1 alnsn BITFIELD(39, 2) /* index 1016 */,
8990 1.1 alnsn TILEGX_OPC_ILL, CHILD(1021), TILEGX_OPC_ILL, TILEGX_OPC_ILL,
8991 1.1 alnsn BITFIELD(41, 2) /* index 1021 */,
8992 1.1 alnsn TILEGX_OPC_ILL, TILEGX_OPC_ILL, TILEGX_OPC_BPT, TILEGX_OPC_ILL,
8993 1.1 alnsn BITFIELD(33, 2) /* index 1026 */,
8994 1.1 alnsn TILEGX_OPC_ILL, TILEGX_OPC_ILL, TILEGX_OPC_ILL, CHILD(1031),
8995 1.1 alnsn BITFIELD(35, 2) /* index 1031 */,
8996 1.1 alnsn TILEGX_OPC_ILL, CHILD(1036), TILEGX_OPC_ILL, TILEGX_OPC_ILL,
8997 1.1 alnsn BITFIELD(37, 2) /* index 1036 */,
8998 1.1 alnsn TILEGX_OPC_ILL, CHILD(1041), TILEGX_OPC_ILL, TILEGX_OPC_ILL,
8999 1.1 alnsn BITFIELD(39, 2) /* index 1041 */,
9000 1.1 alnsn TILEGX_OPC_ILL, CHILD(1046), TILEGX_OPC_ILL, TILEGX_OPC_ILL,
9001 1.1 alnsn BITFIELD(41, 2) /* index 1046 */,
9002 1.1 alnsn TILEGX_OPC_ILL, TILEGX_OPC_ILL, TILEGX_OPC_RAISE, TILEGX_OPC_ILL,
9003 1.1 alnsn BITFIELD(31, 2) /* index 1051 */,
9004 1.1 alnsn TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, CHILD(1056),
9005 1.1 alnsn BITFIELD(33, 2) /* index 1056 */,
9006 1.1 alnsn TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, CHILD(1061),
9007 1.1 alnsn BITFIELD(35, 2) /* index 1061 */,
9008 1.1 alnsn TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S,
9009 1.1 alnsn TILEGX_OPC_PREFETCH_L1_FAULT,
9010 1.1 alnsn BITFIELD(43, 3) /* index 1066 */,
9011 1.1 alnsn CHILD(1075), CHILD(1090), CHILD(1105), CHILD(1120), CHILD(1135),
9012 1.1 alnsn TILEGX_OPC_LDNA, TILEGX_OPC_LDNT1S, TILEGX_OPC_LDNT1U,
9013 1.1 alnsn BITFIELD(31, 2) /* index 1075 */,
9014 1.1 alnsn TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, CHILD(1080),
9015 1.1 alnsn BITFIELD(33, 2) /* index 1080 */,
9016 1.1 alnsn TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, CHILD(1085),
9017 1.1 alnsn BITFIELD(35, 2) /* index 1085 */,
9018 1.1 alnsn TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_PREFETCH,
9019 1.1 alnsn BITFIELD(31, 2) /* index 1090 */,
9020 1.1 alnsn TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, CHILD(1095),
9021 1.1 alnsn BITFIELD(33, 2) /* index 1095 */,
9022 1.1 alnsn TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, CHILD(1100),
9023 1.1 alnsn BITFIELD(35, 2) /* index 1100 */,
9024 1.1 alnsn TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S,
9025 1.1 alnsn TILEGX_OPC_PREFETCH_L2_FAULT,
9026 1.1 alnsn BITFIELD(31, 2) /* index 1105 */,
9027 1.1 alnsn TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, CHILD(1110),
9028 1.1 alnsn BITFIELD(33, 2) /* index 1110 */,
9029 1.1 alnsn TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, CHILD(1115),
9030 1.1 alnsn BITFIELD(35, 2) /* index 1115 */,
9031 1.1 alnsn TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_PREFETCH_L2,
9032 1.1 alnsn BITFIELD(31, 2) /* index 1120 */,
9033 1.1 alnsn TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, CHILD(1125),
9034 1.1 alnsn BITFIELD(33, 2) /* index 1125 */,
9035 1.1 alnsn TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, CHILD(1130),
9036 1.1 alnsn BITFIELD(35, 2) /* index 1130 */,
9037 1.1 alnsn TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S,
9038 1.1 alnsn TILEGX_OPC_PREFETCH_L3_FAULT,
9039 1.1 alnsn BITFIELD(31, 2) /* index 1135 */,
9040 1.1 alnsn TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, CHILD(1140),
9041 1.1 alnsn BITFIELD(33, 2) /* index 1140 */,
9042 1.1 alnsn TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, CHILD(1145),
9043 1.1 alnsn BITFIELD(35, 2) /* index 1145 */,
9044 1.1 alnsn TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_PREFETCH_L3,
9045 1.1 alnsn BITFIELD(43, 3) /* index 1150 */,
9046 1.1 alnsn TILEGX_OPC_LDNT2S, TILEGX_OPC_LDNT2U, TILEGX_OPC_LDNT4S, TILEGX_OPC_LDNT4U,
9047 1.1 alnsn TILEGX_OPC_LDNT, TILEGX_OPC_LD, TILEGX_OPC_LNK, TILEGX_OPC_MF,
9048 1.1 alnsn BITFIELD(43, 3) /* index 1159 */,
9049 1.1 alnsn TILEGX_OPC_NAP, TILEGX_OPC_NOP, TILEGX_OPC_SWINT0, TILEGX_OPC_SWINT1,
9050 1.1 alnsn TILEGX_OPC_SWINT2, TILEGX_OPC_SWINT3, TILEGX_OPC_WH64, TILEGX_OPC_NONE,
9051 1.1 alnsn BITFIELD(49, 4) /* index 1168 */,
9052 1.1 alnsn TILEGX_OPC_V1MAXU, TILEGX_OPC_V1MINU, TILEGX_OPC_V1MNZ, TILEGX_OPC_V1MZ,
9053 1.1 alnsn TILEGX_OPC_V1SHL, TILEGX_OPC_V1SHRS, TILEGX_OPC_V1SHRU, TILEGX_OPC_V1SUBUC,
9054 1.1 alnsn TILEGX_OPC_V1SUB, TILEGX_OPC_V2ADDSC, TILEGX_OPC_V2ADD, TILEGX_OPC_V2CMPEQ,
9055 1.1 alnsn TILEGX_OPC_V2CMPLES, TILEGX_OPC_V2CMPLEU, TILEGX_OPC_V2CMPLTS,
9056 1.1 alnsn TILEGX_OPC_V2CMPLTU,
9057 1.1 alnsn BITFIELD(49, 4) /* index 1185 */,
9058 1.1 alnsn TILEGX_OPC_V2CMPNE, TILEGX_OPC_V2INT_H, TILEGX_OPC_V2INT_L,
9059 1.1 alnsn TILEGX_OPC_V2MAXS, TILEGX_OPC_V2MINS, TILEGX_OPC_V2MNZ, TILEGX_OPC_V2MZ,
9060 1.1 alnsn TILEGX_OPC_V2PACKH, TILEGX_OPC_V2PACKL, TILEGX_OPC_V2PACKUC,
9061 1.1 alnsn TILEGX_OPC_V2SHLSC, TILEGX_OPC_V2SHL, TILEGX_OPC_V2SHRS, TILEGX_OPC_V2SHRU,
9062 1.1 alnsn TILEGX_OPC_V2SUBSC, TILEGX_OPC_V2SUB,
9063 1.1 alnsn BITFIELD(49, 4) /* index 1202 */,
9064 1.1 alnsn TILEGX_OPC_V4ADDSC, TILEGX_OPC_V4ADD, TILEGX_OPC_V4INT_H,
9065 1.1 alnsn TILEGX_OPC_V4INT_L, TILEGX_OPC_V4PACKSC, TILEGX_OPC_V4SHLSC,
9066 1.1 alnsn TILEGX_OPC_V4SHL, TILEGX_OPC_V4SHRS, TILEGX_OPC_V4SHRU, TILEGX_OPC_V4SUBSC,
9067 1.1 alnsn TILEGX_OPC_V4SUB, TILEGX_OPC_XOR, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
9068 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE,
9069 1.1 alnsn BITFIELD(49, 4) /* index 1219 */,
9070 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_ROTLI, TILEGX_OPC_SHLI, TILEGX_OPC_SHLXI,
9071 1.1 alnsn TILEGX_OPC_SHRSI, TILEGX_OPC_SHRUI, TILEGX_OPC_SHRUXI, TILEGX_OPC_V1SHLI,
9072 1.1 alnsn TILEGX_OPC_V1SHRSI, TILEGX_OPC_V1SHRUI, TILEGX_OPC_V2SHLI,
9073 1.1 alnsn TILEGX_OPC_V2SHRSI, TILEGX_OPC_V2SHRUI, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
9074 1.1 alnsn TILEGX_OPC_NONE,
9075 1.1 alnsn BITFIELD(31, 2) /* index 1236 */,
9076 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
9077 1.1 alnsn CHILD(1241),
9078 1.1 alnsn BITFIELD(33, 2) /* index 1241 */,
9079 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
9080 1.1 alnsn CHILD(1246),
9081 1.1 alnsn BITFIELD(35, 2) /* index 1246 */,
9082 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
9083 1.1 alnsn CHILD(1251),
9084 1.1 alnsn BITFIELD(37, 2) /* index 1251 */,
9085 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
9086 1.1 alnsn CHILD(1256),
9087 1.1 alnsn BITFIELD(39, 2) /* index 1256 */,
9088 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
9089 1.1 alnsn CHILD(1261),
9090 1.1 alnsn BITFIELD(41, 2) /* index 1261 */,
9091 1.1 alnsn TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI,
9092 1.1 alnsn TILEGX_OPC_INFOL,
9093 1.1 alnsn };
9094 1.1 alnsn
9095 1.1 alnsn static const unsigned short decode_Y0_fsm[178] =
9096 1.1 alnsn {
9097 1.1 alnsn BITFIELD(27, 4) /* index 0 */,
9098 1.1 alnsn CHILD(17), TILEGX_OPC_ADDXI, CHILD(32), TILEGX_OPC_CMPEQI,
9099 1.1 alnsn TILEGX_OPC_CMPLTSI, CHILD(62), CHILD(67), CHILD(118), CHILD(123),
9100 1.1 alnsn CHILD(128), CHILD(133), CHILD(153), CHILD(158), CHILD(163), CHILD(168),
9101 1.1 alnsn CHILD(173),
9102 1.1 alnsn BITFIELD(6, 2) /* index 17 */,
9103 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(22),
9104 1.1 alnsn BITFIELD(8, 2) /* index 22 */,
9105 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(27),
9106 1.1 alnsn BITFIELD(10, 2) /* index 27 */,
9107 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_MOVEI,
9108 1.1 alnsn BITFIELD(0, 2) /* index 32 */,
9109 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(37),
9110 1.1 alnsn BITFIELD(2, 2) /* index 37 */,
9111 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(42),
9112 1.1 alnsn BITFIELD(4, 2) /* index 42 */,
9113 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(47),
9114 1.1 alnsn BITFIELD(6, 2) /* index 47 */,
9115 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(52),
9116 1.1 alnsn BITFIELD(8, 2) /* index 52 */,
9117 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(57),
9118 1.1 alnsn BITFIELD(10, 2) /* index 57 */,
9119 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_INFO,
9120 1.1 alnsn BITFIELD(18, 2) /* index 62 */,
9121 1.1 alnsn TILEGX_OPC_ADDX, TILEGX_OPC_ADD, TILEGX_OPC_SUBX, TILEGX_OPC_SUB,
9122 1.1 alnsn BITFIELD(15, 5) /* index 67 */,
9123 1.1 alnsn TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD,
9124 1.1 alnsn TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD,
9125 1.1 alnsn TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL2ADD,
9126 1.1 alnsn TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD,
9127 1.1 alnsn TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD,
9128 1.1 alnsn TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD,
9129 1.1 alnsn TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD,
9130 1.1 alnsn TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, CHILD(100),
9131 1.1 alnsn CHILD(109), TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
9132 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
9133 1.1 alnsn BITFIELD(12, 3) /* index 100 */,
9134 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_CLZ, TILEGX_OPC_CTZ, TILEGX_OPC_FNOP,
9135 1.1 alnsn TILEGX_OPC_FSINGLE_PACK1, TILEGX_OPC_NOP, TILEGX_OPC_PCNT,
9136 1.1 alnsn TILEGX_OPC_REVBITS,
9137 1.1 alnsn BITFIELD(12, 3) /* index 109 */,
9138 1.1 alnsn TILEGX_OPC_REVBYTES, TILEGX_OPC_TBLIDXB0, TILEGX_OPC_TBLIDXB1,
9139 1.1 alnsn TILEGX_OPC_TBLIDXB2, TILEGX_OPC_TBLIDXB3, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
9140 1.1 alnsn TILEGX_OPC_NONE,
9141 1.1 alnsn BITFIELD(18, 2) /* index 118 */,
9142 1.1 alnsn TILEGX_OPC_CMPLES, TILEGX_OPC_CMPLEU, TILEGX_OPC_CMPLTS, TILEGX_OPC_CMPLTU,
9143 1.1 alnsn BITFIELD(18, 2) /* index 123 */,
9144 1.1 alnsn TILEGX_OPC_CMPEQ, TILEGX_OPC_CMPNE, TILEGX_OPC_MULAX, TILEGX_OPC_MULX,
9145 1.1 alnsn BITFIELD(18, 2) /* index 128 */,
9146 1.1 alnsn TILEGX_OPC_CMOVEQZ, TILEGX_OPC_CMOVNEZ, TILEGX_OPC_MNZ, TILEGX_OPC_MZ,
9147 1.1 alnsn BITFIELD(18, 2) /* index 133 */,
9148 1.1 alnsn TILEGX_OPC_AND, TILEGX_OPC_NOR, CHILD(138), TILEGX_OPC_XOR,
9149 1.1 alnsn BITFIELD(12, 2) /* index 138 */,
9150 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(143),
9151 1.1 alnsn BITFIELD(14, 2) /* index 143 */,
9152 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(148),
9153 1.1 alnsn BITFIELD(16, 2) /* index 148 */,
9154 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_MOVE,
9155 1.1 alnsn BITFIELD(18, 2) /* index 153 */,
9156 1.1 alnsn TILEGX_OPC_ROTL, TILEGX_OPC_SHL, TILEGX_OPC_SHRS, TILEGX_OPC_SHRU,
9157 1.1 alnsn BITFIELD(18, 2) /* index 158 */,
9158 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_SHL1ADDX, TILEGX_OPC_SHL2ADDX,
9159 1.1 alnsn TILEGX_OPC_SHL3ADDX,
9160 1.1 alnsn BITFIELD(18, 2) /* index 163 */,
9161 1.1 alnsn TILEGX_OPC_MUL_HS_HS, TILEGX_OPC_MUL_HU_HU, TILEGX_OPC_MUL_LS_LS,
9162 1.1 alnsn TILEGX_OPC_MUL_LU_LU,
9163 1.1 alnsn BITFIELD(18, 2) /* index 168 */,
9164 1.1 alnsn TILEGX_OPC_MULA_HS_HS, TILEGX_OPC_MULA_HU_HU, TILEGX_OPC_MULA_LS_LS,
9165 1.1 alnsn TILEGX_OPC_MULA_LU_LU,
9166 1.1 alnsn BITFIELD(18, 2) /* index 173 */,
9167 1.1 alnsn TILEGX_OPC_ROTLI, TILEGX_OPC_SHLI, TILEGX_OPC_SHRSI, TILEGX_OPC_SHRUI,
9168 1.1 alnsn };
9169 1.1 alnsn
9170 1.1 alnsn static const unsigned short decode_Y1_fsm[167] =
9171 1.1 alnsn {
9172 1.1 alnsn BITFIELD(58, 4) /* index 0 */,
9173 1.1 alnsn TILEGX_OPC_NONE, CHILD(17), TILEGX_OPC_ADDXI, CHILD(32), TILEGX_OPC_CMPEQI,
9174 1.1 alnsn TILEGX_OPC_CMPLTSI, CHILD(62), CHILD(67), CHILD(117), CHILD(122),
9175 1.1 alnsn CHILD(127), CHILD(132), CHILD(152), CHILD(157), CHILD(162), TILEGX_OPC_NONE,
9176 1.1 alnsn BITFIELD(37, 2) /* index 17 */,
9177 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(22),
9178 1.1 alnsn BITFIELD(39, 2) /* index 22 */,
9179 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(27),
9180 1.1 alnsn BITFIELD(41, 2) /* index 27 */,
9181 1.1 alnsn TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_MOVEI,
9182 1.1 alnsn BITFIELD(31, 2) /* index 32 */,
9183 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(37),
9184 1.1 alnsn BITFIELD(33, 2) /* index 37 */,
9185 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(42),
9186 1.1 alnsn BITFIELD(35, 2) /* index 42 */,
9187 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(47),
9188 1.1 alnsn BITFIELD(37, 2) /* index 47 */,
9189 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(52),
9190 1.1 alnsn BITFIELD(39, 2) /* index 52 */,
9191 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(57),
9192 1.1 alnsn BITFIELD(41, 2) /* index 57 */,
9193 1.1 alnsn TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_INFO,
9194 1.1 alnsn BITFIELD(49, 2) /* index 62 */,
9195 1.1 alnsn TILEGX_OPC_ADDX, TILEGX_OPC_ADD, TILEGX_OPC_SUBX, TILEGX_OPC_SUB,
9196 1.1 alnsn BITFIELD(47, 4) /* index 67 */,
9197 1.1 alnsn TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD,
9198 1.1 alnsn TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD,
9199 1.1 alnsn TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL3ADD,
9200 1.1 alnsn TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, CHILD(84),
9201 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE,
9202 1.1 alnsn BITFIELD(43, 3) /* index 84 */,
9203 1.1 alnsn CHILD(93), CHILD(96), CHILD(99), CHILD(102), CHILD(105), CHILD(108),
9204 1.1 alnsn CHILD(111), CHILD(114),
9205 1.1 alnsn BITFIELD(46, 1) /* index 93 */,
9206 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_FNOP,
9207 1.1 alnsn BITFIELD(46, 1) /* index 96 */,
9208 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_ILL,
9209 1.1 alnsn BITFIELD(46, 1) /* index 99 */,
9210 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_JALRP,
9211 1.1 alnsn BITFIELD(46, 1) /* index 102 */,
9212 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_JALR,
9213 1.1 alnsn BITFIELD(46, 1) /* index 105 */,
9214 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_JRP,
9215 1.1 alnsn BITFIELD(46, 1) /* index 108 */,
9216 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_JR,
9217 1.1 alnsn BITFIELD(46, 1) /* index 111 */,
9218 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_LNK,
9219 1.1 alnsn BITFIELD(46, 1) /* index 114 */,
9220 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NOP,
9221 1.1 alnsn BITFIELD(49, 2) /* index 117 */,
9222 1.1 alnsn TILEGX_OPC_CMPLES, TILEGX_OPC_CMPLEU, TILEGX_OPC_CMPLTS, TILEGX_OPC_CMPLTU,
9223 1.1 alnsn BITFIELD(49, 2) /* index 122 */,
9224 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_CMPEQ, TILEGX_OPC_CMPNE,
9225 1.1 alnsn BITFIELD(49, 2) /* index 127 */,
9226 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_MNZ, TILEGX_OPC_MZ,
9227 1.1 alnsn BITFIELD(49, 2) /* index 132 */,
9228 1.1 alnsn TILEGX_OPC_AND, TILEGX_OPC_NOR, CHILD(137), TILEGX_OPC_XOR,
9229 1.1 alnsn BITFIELD(43, 2) /* index 137 */,
9230 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(142),
9231 1.1 alnsn BITFIELD(45, 2) /* index 142 */,
9232 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(147),
9233 1.1 alnsn BITFIELD(47, 2) /* index 147 */,
9234 1.1 alnsn TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_MOVE,
9235 1.1 alnsn BITFIELD(49, 2) /* index 152 */,
9236 1.1 alnsn TILEGX_OPC_ROTL, TILEGX_OPC_SHL, TILEGX_OPC_SHRS, TILEGX_OPC_SHRU,
9237 1.1 alnsn BITFIELD(49, 2) /* index 157 */,
9238 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_SHL1ADDX, TILEGX_OPC_SHL2ADDX,
9239 1.1 alnsn TILEGX_OPC_SHL3ADDX,
9240 1.1 alnsn BITFIELD(49, 2) /* index 162 */,
9241 1.1 alnsn TILEGX_OPC_ROTLI, TILEGX_OPC_SHLI, TILEGX_OPC_SHRSI, TILEGX_OPC_SHRUI,
9242 1.1 alnsn };
9243 1.1 alnsn
9244 1.1 alnsn static const unsigned short decode_Y2_fsm[118] =
9245 1.1 alnsn {
9246 1.1 alnsn BITFIELD(62, 2) /* index 0 */,
9247 1.1 alnsn TILEGX_OPC_NONE, CHILD(5), CHILD(66), CHILD(109),
9248 1.1 alnsn BITFIELD(55, 3) /* index 5 */,
9249 1.1 alnsn CHILD(14), CHILD(14), CHILD(14), CHILD(17), CHILD(40), CHILD(40), CHILD(40),
9250 1.1 alnsn CHILD(43),
9251 1.1 alnsn BITFIELD(26, 1) /* index 14 */,
9252 1.1 alnsn TILEGX_OPC_LD1S, TILEGX_OPC_LD1U,
9253 1.1 alnsn BITFIELD(26, 1) /* index 17 */,
9254 1.1 alnsn CHILD(20), CHILD(30),
9255 1.1 alnsn BITFIELD(51, 2) /* index 20 */,
9256 1.1 alnsn TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, CHILD(25),
9257 1.1 alnsn BITFIELD(53, 2) /* index 25 */,
9258 1.1 alnsn TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S,
9259 1.1 alnsn TILEGX_OPC_PREFETCH_L1_FAULT,
9260 1.1 alnsn BITFIELD(51, 2) /* index 30 */,
9261 1.1 alnsn TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, CHILD(35),
9262 1.1 alnsn BITFIELD(53, 2) /* index 35 */,
9263 1.1 alnsn TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_PREFETCH,
9264 1.1 alnsn BITFIELD(26, 1) /* index 40 */,
9265 1.1 alnsn TILEGX_OPC_LD2S, TILEGX_OPC_LD2U,
9266 1.1 alnsn BITFIELD(26, 1) /* index 43 */,
9267 1.1 alnsn CHILD(46), CHILD(56),
9268 1.1 alnsn BITFIELD(51, 2) /* index 46 */,
9269 1.1 alnsn TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, CHILD(51),
9270 1.1 alnsn BITFIELD(53, 2) /* index 51 */,
9271 1.1 alnsn TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S,
9272 1.1 alnsn TILEGX_OPC_PREFETCH_L2_FAULT,
9273 1.1 alnsn BITFIELD(51, 2) /* index 56 */,
9274 1.1 alnsn TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, CHILD(61),
9275 1.1 alnsn BITFIELD(53, 2) /* index 61 */,
9276 1.1 alnsn TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_PREFETCH_L2,
9277 1.1 alnsn BITFIELD(56, 2) /* index 66 */,
9278 1.1 alnsn CHILD(71), CHILD(74), CHILD(90), CHILD(93),
9279 1.1 alnsn BITFIELD(26, 1) /* index 71 */,
9280 1.1 alnsn TILEGX_OPC_NONE, TILEGX_OPC_LD4S,
9281 1.1 alnsn BITFIELD(26, 1) /* index 74 */,
9282 1.1 alnsn TILEGX_OPC_NONE, CHILD(77),
9283 1.1 alnsn BITFIELD(51, 2) /* index 77 */,
9284 1.1 alnsn TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, CHILD(82),
9285 1.1 alnsn BITFIELD(53, 2) /* index 82 */,
9286 1.1 alnsn TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, CHILD(87),
9287 1.1 alnsn BITFIELD(55, 1) /* index 87 */,
9288 1.1 alnsn TILEGX_OPC_LD4S, TILEGX_OPC_PREFETCH_L3_FAULT,
9289 1.1 alnsn BITFIELD(26, 1) /* index 90 */,
9290 1.1 alnsn TILEGX_OPC_LD4U, TILEGX_OPC_LD,
9291 1.1 alnsn BITFIELD(26, 1) /* index 93 */,
9292 1.1 alnsn CHILD(96), TILEGX_OPC_LD,
9293 1.1 alnsn BITFIELD(51, 2) /* index 96 */,
9294 1.1 alnsn TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, CHILD(101),
9295 1.1 alnsn BITFIELD(53, 2) /* index 101 */,
9296 1.1 alnsn TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, CHILD(106),
9297 1.1 alnsn BITFIELD(55, 1) /* index 106 */,
9298 1.1 alnsn TILEGX_OPC_LD4U, TILEGX_OPC_PREFETCH_L3,
9299 1.1 alnsn BITFIELD(26, 1) /* index 109 */,
9300 1.1 alnsn CHILD(112), CHILD(115),
9301 1.1 alnsn BITFIELD(57, 1) /* index 112 */,
9302 1.1 alnsn TILEGX_OPC_ST1, TILEGX_OPC_ST4,
9303 1.1 alnsn BITFIELD(57, 1) /* index 115 */,
9304 1.1 alnsn TILEGX_OPC_ST2, TILEGX_OPC_ST,
9305 1.1 alnsn };
9306 1.1 alnsn
9307 1.1 alnsn #undef BITFIELD
9308 1.1 alnsn #undef CHILD
9309 1.1 alnsn
9310 1.1 alnsn const unsigned short * const
9311 1.1 alnsn tilegx_bundle_decoder_fsms[TILEGX_NUM_PIPELINE_ENCODINGS] =
9312 1.1 alnsn {
9313 1.1 alnsn decode_X0_fsm,
9314 1.1 alnsn decode_X1_fsm,
9315 1.1 alnsn decode_Y0_fsm,
9316 1.1 alnsn decode_Y1_fsm,
9317 1.1 alnsn decode_Y2_fsm
9318 1.1 alnsn };
9319 1.1 alnsn
9320 1.1 alnsn const struct tilegx_operand tilegx_operands[35] =
9321 1.1 alnsn {
9322 1.1 alnsn {
9323 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM8_X0),
9324 1.1 alnsn 8, 1, 0, 0, 0, 0,
9325 1.1 alnsn create_Imm8_X0, get_Imm8_X0
9326 1.1 alnsn },
9327 1.1 alnsn {
9328 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM8_X1),
9329 1.1 alnsn 8, 1, 0, 0, 0, 0,
9330 1.1 alnsn create_Imm8_X1, get_Imm8_X1
9331 1.1 alnsn },
9332 1.1 alnsn {
9333 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM8_Y0),
9334 1.1 alnsn 8, 1, 0, 0, 0, 0,
9335 1.1 alnsn create_Imm8_Y0, get_Imm8_Y0
9336 1.1 alnsn },
9337 1.1 alnsn {
9338 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM8_Y1),
9339 1.1 alnsn 8, 1, 0, 0, 0, 0,
9340 1.1 alnsn create_Imm8_Y1, get_Imm8_Y1
9341 1.1 alnsn },
9342 1.1 alnsn {
9343 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM16_X0_HW0_LAST),
9344 1.1 alnsn 16, 1, 0, 0, 0, 0,
9345 1.1 alnsn create_Imm16_X0, get_Imm16_X0
9346 1.1 alnsn },
9347 1.1 alnsn {
9348 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM16_X1_HW0_LAST),
9349 1.1 alnsn 16, 1, 0, 0, 0, 0,
9350 1.1 alnsn create_Imm16_X1, get_Imm16_X1
9351 1.1 alnsn },
9352 1.1 alnsn {
9353 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9354 1.1 alnsn 6, 0, 0, 1, 0, 0,
9355 1.1 alnsn create_Dest_X1, get_Dest_X1
9356 1.1 alnsn },
9357 1.1 alnsn {
9358 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9359 1.1 alnsn 6, 0, 1, 0, 0, 0,
9360 1.1 alnsn create_SrcA_X1, get_SrcA_X1
9361 1.1 alnsn },
9362 1.1 alnsn {
9363 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9364 1.1 alnsn 6, 0, 0, 1, 0, 0,
9365 1.1 alnsn create_Dest_X0, get_Dest_X0
9366 1.1 alnsn },
9367 1.1 alnsn {
9368 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9369 1.1 alnsn 6, 0, 1, 0, 0, 0,
9370 1.1 alnsn create_SrcA_X0, get_SrcA_X0
9371 1.1 alnsn },
9372 1.1 alnsn {
9373 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9374 1.1 alnsn 6, 0, 0, 1, 0, 0,
9375 1.1 alnsn create_Dest_Y0, get_Dest_Y0
9376 1.1 alnsn },
9377 1.1 alnsn {
9378 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9379 1.1 alnsn 6, 0, 1, 0, 0, 0,
9380 1.1 alnsn create_SrcA_Y0, get_SrcA_Y0
9381 1.1 alnsn },
9382 1.1 alnsn {
9383 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9384 1.1 alnsn 6, 0, 0, 1, 0, 0,
9385 1.1 alnsn create_Dest_Y1, get_Dest_Y1
9386 1.1 alnsn },
9387 1.1 alnsn {
9388 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9389 1.1 alnsn 6, 0, 1, 0, 0, 0,
9390 1.1 alnsn create_SrcA_Y1, get_SrcA_Y1
9391 1.1 alnsn },
9392 1.1 alnsn {
9393 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9394 1.1 alnsn 6, 0, 1, 0, 0, 0,
9395 1.1 alnsn create_SrcA_Y2, get_SrcA_Y2
9396 1.1 alnsn },
9397 1.1 alnsn {
9398 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9399 1.1 alnsn 6, 0, 1, 1, 0, 0,
9400 1.1 alnsn create_SrcA_X1, get_SrcA_X1
9401 1.1 alnsn },
9402 1.1 alnsn {
9403 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9404 1.1 alnsn 6, 0, 1, 0, 0, 0,
9405 1.1 alnsn create_SrcB_X0, get_SrcB_X0
9406 1.1 alnsn },
9407 1.1 alnsn {
9408 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9409 1.1 alnsn 6, 0, 1, 0, 0, 0,
9410 1.1 alnsn create_SrcB_X1, get_SrcB_X1
9411 1.1 alnsn },
9412 1.1 alnsn {
9413 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9414 1.1 alnsn 6, 0, 1, 0, 0, 0,
9415 1.1 alnsn create_SrcB_Y0, get_SrcB_Y0
9416 1.1 alnsn },
9417 1.1 alnsn {
9418 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9419 1.1 alnsn 6, 0, 1, 0, 0, 0,
9420 1.1 alnsn create_SrcB_Y1, get_SrcB_Y1
9421 1.1 alnsn },
9422 1.1 alnsn {
9423 1.1 alnsn TILEGX_OP_TYPE_ADDRESS, BFD_RELOC(TILEGX_BROFF_X1),
9424 1.1 alnsn 17, 1, 0, 0, 1, TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
9425 1.1 alnsn create_BrOff_X1, get_BrOff_X1
9426 1.1 alnsn },
9427 1.1 alnsn {
9428 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_MMSTART_X0),
9429 1.1 alnsn 6, 0, 0, 0, 0, 0,
9430 1.1 alnsn create_BFStart_X0, get_BFStart_X0
9431 1.1 alnsn },
9432 1.1 alnsn {
9433 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_MMEND_X0),
9434 1.1 alnsn 6, 0, 0, 0, 0, 0,
9435 1.1 alnsn create_BFEnd_X0, get_BFEnd_X0
9436 1.1 alnsn },
9437 1.1 alnsn {
9438 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9439 1.1 alnsn 6, 0, 1, 1, 0, 0,
9440 1.1 alnsn create_Dest_X0, get_Dest_X0
9441 1.1 alnsn },
9442 1.1 alnsn {
9443 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9444 1.1 alnsn 6, 0, 1, 1, 0, 0,
9445 1.1 alnsn create_Dest_Y0, get_Dest_Y0
9446 1.1 alnsn },
9447 1.1 alnsn {
9448 1.1 alnsn TILEGX_OP_TYPE_ADDRESS, BFD_RELOC(TILEGX_JUMPOFF_X1),
9449 1.1 alnsn 27, 1, 0, 0, 1, TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES,
9450 1.1 alnsn create_JumpOff_X1, get_JumpOff_X1
9451 1.1 alnsn },
9452 1.1 alnsn {
9453 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9454 1.1 alnsn 6, 0, 0, 1, 0, 0,
9455 1.1 alnsn create_SrcBDest_Y2, get_SrcBDest_Y2
9456 1.1 alnsn },
9457 1.1 alnsn {
9458 1.1 alnsn TILEGX_OP_TYPE_SPR, BFD_RELOC(TILEGX_MF_IMM14_X1),
9459 1.1 alnsn 14, 0, 0, 0, 0, 0,
9460 1.1 alnsn create_MF_Imm14_X1, get_MF_Imm14_X1
9461 1.1 alnsn },
9462 1.1 alnsn {
9463 1.1 alnsn TILEGX_OP_TYPE_SPR, BFD_RELOC(TILEGX_MT_IMM14_X1),
9464 1.1 alnsn 14, 0, 0, 0, 0, 0,
9465 1.1 alnsn create_MT_Imm14_X1, get_MT_Imm14_X1
9466 1.1 alnsn },
9467 1.1 alnsn {
9468 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_SHAMT_X0),
9469 1.1 alnsn 6, 0, 0, 0, 0, 0,
9470 1.1 alnsn create_ShAmt_X0, get_ShAmt_X0
9471 1.1 alnsn },
9472 1.1 alnsn {
9473 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_SHAMT_X1),
9474 1.1 alnsn 6, 0, 0, 0, 0, 0,
9475 1.1 alnsn create_ShAmt_X1, get_ShAmt_X1
9476 1.1 alnsn },
9477 1.1 alnsn {
9478 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_SHAMT_Y0),
9479 1.1 alnsn 6, 0, 0, 0, 0, 0,
9480 1.1 alnsn create_ShAmt_Y0, get_ShAmt_Y0
9481 1.1 alnsn },
9482 1.1 alnsn {
9483 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_SHAMT_Y1),
9484 1.1 alnsn 6, 0, 0, 0, 0, 0,
9485 1.1 alnsn create_ShAmt_Y1, get_ShAmt_Y1
9486 1.1 alnsn },
9487 1.1 alnsn {
9488 1.1 alnsn TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE),
9489 1.1 alnsn 6, 0, 1, 0, 0, 0,
9490 1.1 alnsn create_SrcBDest_Y2, get_SrcBDest_Y2
9491 1.1 alnsn },
9492 1.1 alnsn {
9493 1.1 alnsn TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_DEST_IMM8_X1),
9494 1.1 alnsn 8, 1, 0, 0, 0, 0,
9495 1.1 alnsn create_Dest_Imm8_X1, get_Dest_Imm8_X1
9496 1.1 alnsn }
9497 1.1 alnsn };
9498 1.1 alnsn
9499 1.1 alnsn /* Given a set of bundle bits and a specific pipe, returns which
9500 1.1 alnsn * instruction the bundle contains in that pipe.
9501 1.1 alnsn */
9502 1.1 alnsn const struct tilegx_opcode *
9503 1.1 alnsn find_opcode(tilegx_bundle_bits bits, tilegx_pipeline pipe)
9504 1.1 alnsn {
9505 1.1 alnsn const unsigned short *table = tilegx_bundle_decoder_fsms[pipe];
9506 1.1 alnsn int index = 0;
9507 1.1 alnsn
9508 1.1 alnsn while (1)
9509 1.1 alnsn {
9510 1.1 alnsn unsigned short bitspec = table[index];
9511 1.1 alnsn unsigned int bitfield =
9512 1.1 alnsn ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6);
9513 1.1 alnsn
9514 1.1 alnsn unsigned short next = table[index + 1 + bitfield];
9515 1.1 alnsn if (next <= TILEGX_OPC_NONE)
9516 1.1 alnsn return &tilegx_opcodes[next];
9517 1.1 alnsn
9518 1.1 alnsn index = next - TILEGX_OPC_NONE;
9519 1.1 alnsn }
9520 1.1 alnsn }
9521 1.1 alnsn
9522 1.1 alnsn int
9523 1.1 alnsn parse_insn_tilegx(tilegx_bundle_bits bits,
9524 1.1 alnsn unsigned long long pc,
9525 1.1 alnsn struct tilegx_decoded_instruction
9526 1.1 alnsn decoded[TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE])
9527 1.1 alnsn {
9528 1.1 alnsn int num_instructions = 0;
9529 1.1 alnsn int pipe;
9530 1.1 alnsn
9531 1.1 alnsn int min_pipe, max_pipe;
9532 1.1 alnsn if ((bits & TILEGX_BUNDLE_MODE_MASK) == 0)
9533 1.1 alnsn {
9534 1.1 alnsn min_pipe = TILEGX_PIPELINE_X0;
9535 1.1 alnsn max_pipe = TILEGX_PIPELINE_X1;
9536 1.1 alnsn }
9537 1.1 alnsn else
9538 1.1 alnsn {
9539 1.1 alnsn min_pipe = TILEGX_PIPELINE_Y0;
9540 1.1 alnsn max_pipe = TILEGX_PIPELINE_Y2;
9541 1.1 alnsn }
9542 1.1 alnsn
9543 1.1 alnsn /* For each pipe, find an instruction that fits. */
9544 1.1 alnsn for (pipe = min_pipe; pipe <= max_pipe; pipe++)
9545 1.1 alnsn {
9546 1.1 alnsn const struct tilegx_opcode *opc;
9547 1.1 alnsn struct tilegx_decoded_instruction *d;
9548 1.1 alnsn int i;
9549 1.1 alnsn
9550 1.1 alnsn d = &decoded[num_instructions++];
9551 1.1 alnsn opc = find_opcode (bits, (tilegx_pipeline)pipe);
9552 1.1 alnsn d->opcode = opc;
9553 1.1 alnsn
9554 1.1 alnsn /* Decode each operand, sign extending, etc. as appropriate. */
9555 1.1 alnsn for (i = 0; i < opc->num_operands; i++)
9556 1.1 alnsn {
9557 1.1 alnsn const struct tilegx_operand *op =
9558 1.1 alnsn &tilegx_operands[opc->operands[pipe][i]];
9559 1.1 alnsn int raw_opval = op->extract (bits);
9560 1.1 alnsn long long opval;
9561 1.1 alnsn
9562 1.1 alnsn if (op->is_signed)
9563 1.1 alnsn {
9564 1.1 alnsn /* Sign-extend the operand. */
9565 1.1 alnsn int shift = (int)((sizeof(int) * 8) - op->num_bits);
9566 1.1 alnsn raw_opval = (raw_opval << shift) >> shift;
9567 1.1 alnsn }
9568 1.1 alnsn
9569 1.1 alnsn /* Adjust PC-relative scaled branch offsets. */
9570 1.1 alnsn if (op->type == TILEGX_OP_TYPE_ADDRESS)
9571 1.1 alnsn opval = (raw_opval * TILEGX_BUNDLE_SIZE_IN_BYTES) + pc;
9572 1.1 alnsn else
9573 1.1 alnsn opval = raw_opval;
9574 1.1 alnsn
9575 1.1 alnsn /* Record the final value. */
9576 1.1 alnsn d->operands[i] = op;
9577 1.1 alnsn d->operand_values[i] = opval;
9578 1.1 alnsn }
9579 1.1 alnsn }
9580 1.1 alnsn
9581 1.1 alnsn return num_instructions;
9582 1.1 alnsn }
9583 1.1 alnsn
9584 1.1 alnsn struct tilegx_spr
9585 1.1 alnsn {
9586 1.1 alnsn /* The number */
9587 1.1 alnsn int number;
9588 1.1 alnsn
9589 1.1 alnsn /* The name */
9590 1.1 alnsn const char *name;
9591 1.1 alnsn };
9592 1.1 alnsn
9593 1.1 alnsn static int
9594 1.1 alnsn tilegx_spr_compare (const void *a_ptr, const void *b_ptr)
9595 1.1 alnsn {
9596 1.1 alnsn const struct tilegx_spr *a = (const struct tilegx_spr *) a_ptr;
9597 1.1 alnsn const struct tilegx_spr *b = (const struct tilegx_spr *) b_ptr;
9598 1.1 alnsn return (a->number - b->number);
9599 1.1 alnsn }
9600 1.1 alnsn
9601 1.1 alnsn const struct tilegx_spr tilegx_sprs[] = {
9602 1.1 alnsn { 0, "MPL_MEM_ERROR_SET_0" },
9603 1.1 alnsn { 1, "MPL_MEM_ERROR_SET_1" },
9604 1.1 alnsn { 2, "MPL_MEM_ERROR_SET_2" },
9605 1.1 alnsn { 3, "MPL_MEM_ERROR_SET_3" },
9606 1.1 alnsn { 4, "MPL_MEM_ERROR" },
9607 1.1 alnsn { 5, "MEM_ERROR_CBOX_ADDR" },
9608 1.1 alnsn { 6, "MEM_ERROR_CBOX_STATUS" },
9609 1.1 alnsn { 7, "MEM_ERROR_ENABLE" },
9610 1.1 alnsn { 8, "MEM_ERROR_MBOX_ADDR" },
9611 1.1 alnsn { 9, "MEM_ERROR_MBOX_STATUS" },
9612 1.1 alnsn { 10, "SBOX_ERROR" },
9613 1.1 alnsn { 11, "XDN_DEMUX_ERROR" },
9614 1.1 alnsn { 256, "MPL_SINGLE_STEP_3_SET_0" },
9615 1.1 alnsn { 257, "MPL_SINGLE_STEP_3_SET_1" },
9616 1.1 alnsn { 258, "MPL_SINGLE_STEP_3_SET_2" },
9617 1.1 alnsn { 259, "MPL_SINGLE_STEP_3_SET_3" },
9618 1.1 alnsn { 260, "MPL_SINGLE_STEP_3" },
9619 1.1 alnsn { 261, "SINGLE_STEP_CONTROL_3" },
9620 1.1 alnsn { 512, "MPL_SINGLE_STEP_2_SET_0" },
9621 1.1 alnsn { 513, "MPL_SINGLE_STEP_2_SET_1" },
9622 1.1 alnsn { 514, "MPL_SINGLE_STEP_2_SET_2" },
9623 1.1 alnsn { 515, "MPL_SINGLE_STEP_2_SET_3" },
9624 1.1 alnsn { 516, "MPL_SINGLE_STEP_2" },
9625 1.1 alnsn { 517, "SINGLE_STEP_CONTROL_2" },
9626 1.1 alnsn { 768, "MPL_SINGLE_STEP_1_SET_0" },
9627 1.1 alnsn { 769, "MPL_SINGLE_STEP_1_SET_1" },
9628 1.1 alnsn { 770, "MPL_SINGLE_STEP_1_SET_2" },
9629 1.1 alnsn { 771, "MPL_SINGLE_STEP_1_SET_3" },
9630 1.1 alnsn { 772, "MPL_SINGLE_STEP_1" },
9631 1.1 alnsn { 773, "SINGLE_STEP_CONTROL_1" },
9632 1.1 alnsn { 1024, "MPL_SINGLE_STEP_0_SET_0" },
9633 1.1 alnsn { 1025, "MPL_SINGLE_STEP_0_SET_1" },
9634 1.1 alnsn { 1026, "MPL_SINGLE_STEP_0_SET_2" },
9635 1.1 alnsn { 1027, "MPL_SINGLE_STEP_0_SET_3" },
9636 1.1 alnsn { 1028, "MPL_SINGLE_STEP_0" },
9637 1.1 alnsn { 1029, "SINGLE_STEP_CONTROL_0" },
9638 1.1 alnsn { 1280, "MPL_IDN_COMPLETE_SET_0" },
9639 1.1 alnsn { 1281, "MPL_IDN_COMPLETE_SET_1" },
9640 1.1 alnsn { 1282, "MPL_IDN_COMPLETE_SET_2" },
9641 1.1 alnsn { 1283, "MPL_IDN_COMPLETE_SET_3" },
9642 1.1 alnsn { 1284, "MPL_IDN_COMPLETE" },
9643 1.1 alnsn { 1285, "IDN_COMPLETE_PENDING" },
9644 1.1 alnsn { 1536, "MPL_UDN_COMPLETE_SET_0" },
9645 1.1 alnsn { 1537, "MPL_UDN_COMPLETE_SET_1" },
9646 1.1 alnsn { 1538, "MPL_UDN_COMPLETE_SET_2" },
9647 1.1 alnsn { 1539, "MPL_UDN_COMPLETE_SET_3" },
9648 1.1 alnsn { 1540, "MPL_UDN_COMPLETE" },
9649 1.1 alnsn { 1541, "UDN_COMPLETE_PENDING" },
9650 1.1 alnsn { 1792, "MPL_ITLB_MISS_SET_0" },
9651 1.1 alnsn { 1793, "MPL_ITLB_MISS_SET_1" },
9652 1.1 alnsn { 1794, "MPL_ITLB_MISS_SET_2" },
9653 1.1 alnsn { 1795, "MPL_ITLB_MISS_SET_3" },
9654 1.1 alnsn { 1796, "MPL_ITLB_MISS" },
9655 1.1 alnsn { 1797, "ITLB_TSB_BASE_ADDR_0" },
9656 1.1 alnsn { 1798, "ITLB_TSB_BASE_ADDR_1" },
9657 1.1 alnsn { 1920, "ITLB_CURRENT_ATTR" },
9658 1.1 alnsn { 1921, "ITLB_CURRENT_PA" },
9659 1.1 alnsn { 1922, "ITLB_CURRENT_VA" },
9660 1.1 alnsn { 1923, "ITLB_INDEX" },
9661 1.1 alnsn { 1924, "ITLB_MATCH_0" },
9662 1.1 alnsn { 1925, "ITLB_PERF" },
9663 1.1 alnsn { 1926, "ITLB_PR" },
9664 1.1 alnsn { 1927, "ITLB_TSB_ADDR_0" },
9665 1.1 alnsn { 1928, "ITLB_TSB_ADDR_1" },
9666 1.1 alnsn { 1929, "ITLB_TSB_FILL_CURRENT_ATTR" },
9667 1.1 alnsn { 1930, "ITLB_TSB_FILL_MATCH" },
9668 1.1 alnsn { 1931, "NUMBER_ITLB" },
9669 1.1 alnsn { 1932, "REPLACEMENT_ITLB" },
9670 1.1 alnsn { 1933, "WIRED_ITLB" },
9671 1.1 alnsn { 2048, "MPL_ILL_SET_0" },
9672 1.1 alnsn { 2049, "MPL_ILL_SET_1" },
9673 1.1 alnsn { 2050, "MPL_ILL_SET_2" },
9674 1.1 alnsn { 2051, "MPL_ILL_SET_3" },
9675 1.1 alnsn { 2052, "MPL_ILL" },
9676 1.1 alnsn { 2304, "MPL_GPV_SET_0" },
9677 1.1 alnsn { 2305, "MPL_GPV_SET_1" },
9678 1.1 alnsn { 2306, "MPL_GPV_SET_2" },
9679 1.1 alnsn { 2307, "MPL_GPV_SET_3" },
9680 1.1 alnsn { 2308, "MPL_GPV" },
9681 1.1 alnsn { 2309, "GPV_REASON" },
9682 1.1 alnsn { 2560, "MPL_IDN_ACCESS_SET_0" },
9683 1.1 alnsn { 2561, "MPL_IDN_ACCESS_SET_1" },
9684 1.1 alnsn { 2562, "MPL_IDN_ACCESS_SET_2" },
9685 1.1 alnsn { 2563, "MPL_IDN_ACCESS_SET_3" },
9686 1.1 alnsn { 2564, "MPL_IDN_ACCESS" },
9687 1.1 alnsn { 2565, "IDN_DEMUX_COUNT_0" },
9688 1.1 alnsn { 2566, "IDN_DEMUX_COUNT_1" },
9689 1.1 alnsn { 2567, "IDN_FLUSH_EGRESS" },
9690 1.1 alnsn { 2568, "IDN_PENDING" },
9691 1.1 alnsn { 2569, "IDN_ROUTE_ORDER" },
9692 1.1 alnsn { 2570, "IDN_SP_FIFO_CNT" },
9693 1.1 alnsn { 2688, "IDN_DATA_AVAIL" },
9694 1.1 alnsn { 2816, "MPL_UDN_ACCESS_SET_0" },
9695 1.1 alnsn { 2817, "MPL_UDN_ACCESS_SET_1" },
9696 1.1 alnsn { 2818, "MPL_UDN_ACCESS_SET_2" },
9697 1.1 alnsn { 2819, "MPL_UDN_ACCESS_SET_3" },
9698 1.1 alnsn { 2820, "MPL_UDN_ACCESS" },
9699 1.1 alnsn { 2821, "UDN_DEMUX_COUNT_0" },
9700 1.1 alnsn { 2822, "UDN_DEMUX_COUNT_1" },
9701 1.1 alnsn { 2823, "UDN_DEMUX_COUNT_2" },
9702 1.1 alnsn { 2824, "UDN_DEMUX_COUNT_3" },
9703 1.1 alnsn { 2825, "UDN_FLUSH_EGRESS" },
9704 1.1 alnsn { 2826, "UDN_PENDING" },
9705 1.1 alnsn { 2827, "UDN_ROUTE_ORDER" },
9706 1.1 alnsn { 2828, "UDN_SP_FIFO_CNT" },
9707 1.1 alnsn { 2944, "UDN_DATA_AVAIL" },
9708 1.1 alnsn { 3072, "MPL_SWINT_3_SET_0" },
9709 1.1 alnsn { 3073, "MPL_SWINT_3_SET_1" },
9710 1.1 alnsn { 3074, "MPL_SWINT_3_SET_2" },
9711 1.1 alnsn { 3075, "MPL_SWINT_3_SET_3" },
9712 1.1 alnsn { 3076, "MPL_SWINT_3" },
9713 1.1 alnsn { 3328, "MPL_SWINT_2_SET_0" },
9714 1.1 alnsn { 3329, "MPL_SWINT_2_SET_1" },
9715 1.1 alnsn { 3330, "MPL_SWINT_2_SET_2" },
9716 1.1 alnsn { 3331, "MPL_SWINT_2_SET_3" },
9717 1.1 alnsn { 3332, "MPL_SWINT_2" },
9718 1.1 alnsn { 3584, "MPL_SWINT_1_SET_0" },
9719 1.1 alnsn { 3585, "MPL_SWINT_1_SET_1" },
9720 1.1 alnsn { 3586, "MPL_SWINT_1_SET_2" },
9721 1.1 alnsn { 3587, "MPL_SWINT_1_SET_3" },
9722 1.1 alnsn { 3588, "MPL_SWINT_1" },
9723 1.1 alnsn { 3840, "MPL_SWINT_0_SET_0" },
9724 1.1 alnsn { 3841, "MPL_SWINT_0_SET_1" },
9725 1.1 alnsn { 3842, "MPL_SWINT_0_SET_2" },
9726 1.1 alnsn { 3843, "MPL_SWINT_0_SET_3" },
9727 1.1 alnsn { 3844, "MPL_SWINT_0" },
9728 1.1 alnsn { 4096, "MPL_ILL_TRANS_SET_0" },
9729 1.1 alnsn { 4097, "MPL_ILL_TRANS_SET_1" },
9730 1.1 alnsn { 4098, "MPL_ILL_TRANS_SET_2" },
9731 1.1 alnsn { 4099, "MPL_ILL_TRANS_SET_3" },
9732 1.1 alnsn { 4100, "MPL_ILL_TRANS" },
9733 1.1 alnsn { 4101, "ILL_TRANS_REASON" },
9734 1.1 alnsn { 4102, "ILL_VA_PC" },
9735 1.1 alnsn { 4352, "MPL_UNALIGN_DATA_SET_0" },
9736 1.1 alnsn { 4353, "MPL_UNALIGN_DATA_SET_1" },
9737 1.1 alnsn { 4354, "MPL_UNALIGN_DATA_SET_2" },
9738 1.1 alnsn { 4355, "MPL_UNALIGN_DATA_SET_3" },
9739 1.1 alnsn { 4356, "MPL_UNALIGN_DATA" },
9740 1.1 alnsn { 4608, "MPL_DTLB_MISS_SET_0" },
9741 1.1 alnsn { 4609, "MPL_DTLB_MISS_SET_1" },
9742 1.1 alnsn { 4610, "MPL_DTLB_MISS_SET_2" },
9743 1.1 alnsn { 4611, "MPL_DTLB_MISS_SET_3" },
9744 1.1 alnsn { 4612, "MPL_DTLB_MISS" },
9745 1.1 alnsn { 4613, "DTLB_TSB_BASE_ADDR_0" },
9746 1.1 alnsn { 4614, "DTLB_TSB_BASE_ADDR_1" },
9747 1.1 alnsn { 4736, "AAR" },
9748 1.1 alnsn { 4737, "CACHE_PINNED_WAYS" },
9749 1.1 alnsn { 4738, "DTLB_BAD_ADDR" },
9750 1.1 alnsn { 4739, "DTLB_BAD_ADDR_REASON" },
9751 1.1 alnsn { 4740, "DTLB_CURRENT_ATTR" },
9752 1.1 alnsn { 4741, "DTLB_CURRENT_PA" },
9753 1.1 alnsn { 4742, "DTLB_CURRENT_VA" },
9754 1.1 alnsn { 4743, "DTLB_INDEX" },
9755 1.1 alnsn { 4744, "DTLB_MATCH_0" },
9756 1.1 alnsn { 4745, "DTLB_PERF" },
9757 1.1 alnsn { 4746, "DTLB_TSB_ADDR_0" },
9758 1.1 alnsn { 4747, "DTLB_TSB_ADDR_1" },
9759 1.1 alnsn { 4748, "DTLB_TSB_FILL_CURRENT_ATTR" },
9760 1.1 alnsn { 4749, "DTLB_TSB_FILL_MATCH" },
9761 1.1 alnsn { 4750, "NUMBER_DTLB" },
9762 1.1 alnsn { 4751, "REPLACEMENT_DTLB" },
9763 1.1 alnsn { 4752, "WIRED_DTLB" },
9764 1.1 alnsn { 4864, "MPL_DTLB_ACCESS_SET_0" },
9765 1.1 alnsn { 4865, "MPL_DTLB_ACCESS_SET_1" },
9766 1.1 alnsn { 4866, "MPL_DTLB_ACCESS_SET_2" },
9767 1.1 alnsn { 4867, "MPL_DTLB_ACCESS_SET_3" },
9768 1.1 alnsn { 4868, "MPL_DTLB_ACCESS" },
9769 1.1 alnsn { 5120, "MPL_IDN_FIREWALL_SET_0" },
9770 1.1 alnsn { 5121, "MPL_IDN_FIREWALL_SET_1" },
9771 1.1 alnsn { 5122, "MPL_IDN_FIREWALL_SET_2" },
9772 1.1 alnsn { 5123, "MPL_IDN_FIREWALL_SET_3" },
9773 1.1 alnsn { 5124, "MPL_IDN_FIREWALL" },
9774 1.1 alnsn { 5125, "IDN_DIRECTION_PROTECT" },
9775 1.1 alnsn { 5376, "MPL_UDN_FIREWALL_SET_0" },
9776 1.1 alnsn { 5377, "MPL_UDN_FIREWALL_SET_1" },
9777 1.1 alnsn { 5378, "MPL_UDN_FIREWALL_SET_2" },
9778 1.1 alnsn { 5379, "MPL_UDN_FIREWALL_SET_3" },
9779 1.1 alnsn { 5380, "MPL_UDN_FIREWALL" },
9780 1.1 alnsn { 5381, "UDN_DIRECTION_PROTECT" },
9781 1.1 alnsn { 5632, "MPL_TILE_TIMER_SET_0" },
9782 1.1 alnsn { 5633, "MPL_TILE_TIMER_SET_1" },
9783 1.1 alnsn { 5634, "MPL_TILE_TIMER_SET_2" },
9784 1.1 alnsn { 5635, "MPL_TILE_TIMER_SET_3" },
9785 1.1 alnsn { 5636, "MPL_TILE_TIMER" },
9786 1.1 alnsn { 5637, "TILE_TIMER_CONTROL" },
9787 1.1 alnsn { 5888, "MPL_AUX_TILE_TIMER_SET_0" },
9788 1.1 alnsn { 5889, "MPL_AUX_TILE_TIMER_SET_1" },
9789 1.1 alnsn { 5890, "MPL_AUX_TILE_TIMER_SET_2" },
9790 1.1 alnsn { 5891, "MPL_AUX_TILE_TIMER_SET_3" },
9791 1.1 alnsn { 5892, "MPL_AUX_TILE_TIMER" },
9792 1.1 alnsn { 5893, "AUX_TILE_TIMER_CONTROL" },
9793 1.1 alnsn { 6144, "MPL_IDN_TIMER_SET_0" },
9794 1.1 alnsn { 6145, "MPL_IDN_TIMER_SET_1" },
9795 1.1 alnsn { 6146, "MPL_IDN_TIMER_SET_2" },
9796 1.1 alnsn { 6147, "MPL_IDN_TIMER_SET_3" },
9797 1.1 alnsn { 6148, "MPL_IDN_TIMER" },
9798 1.1 alnsn { 6149, "IDN_DEADLOCK_COUNT" },
9799 1.1 alnsn { 6150, "IDN_DEADLOCK_TIMEOUT" },
9800 1.1 alnsn { 6400, "MPL_UDN_TIMER_SET_0" },
9801 1.1 alnsn { 6401, "MPL_UDN_TIMER_SET_1" },
9802 1.1 alnsn { 6402, "MPL_UDN_TIMER_SET_2" },
9803 1.1 alnsn { 6403, "MPL_UDN_TIMER_SET_3" },
9804 1.1 alnsn { 6404, "MPL_UDN_TIMER" },
9805 1.1 alnsn { 6405, "UDN_DEADLOCK_COUNT" },
9806 1.1 alnsn { 6406, "UDN_DEADLOCK_TIMEOUT" },
9807 1.1 alnsn { 6656, "MPL_IDN_AVAIL_SET_0" },
9808 1.1 alnsn { 6657, "MPL_IDN_AVAIL_SET_1" },
9809 1.1 alnsn { 6658, "MPL_IDN_AVAIL_SET_2" },
9810 1.1 alnsn { 6659, "MPL_IDN_AVAIL_SET_3" },
9811 1.1 alnsn { 6660, "MPL_IDN_AVAIL" },
9812 1.1 alnsn { 6661, "IDN_AVAIL_EN" },
9813 1.1 alnsn { 6912, "MPL_UDN_AVAIL_SET_0" },
9814 1.1 alnsn { 6913, "MPL_UDN_AVAIL_SET_1" },
9815 1.1 alnsn { 6914, "MPL_UDN_AVAIL_SET_2" },
9816 1.1 alnsn { 6915, "MPL_UDN_AVAIL_SET_3" },
9817 1.1 alnsn { 6916, "MPL_UDN_AVAIL" },
9818 1.1 alnsn { 6917, "UDN_AVAIL_EN" },
9819 1.1 alnsn { 7168, "MPL_IPI_3_SET_0" },
9820 1.1 alnsn { 7169, "MPL_IPI_3_SET_1" },
9821 1.1 alnsn { 7170, "MPL_IPI_3_SET_2" },
9822 1.1 alnsn { 7171, "MPL_IPI_3_SET_3" },
9823 1.1 alnsn { 7172, "MPL_IPI_3" },
9824 1.1 alnsn { 7173, "IPI_EVENT_3" },
9825 1.1 alnsn { 7174, "IPI_EVENT_RESET_3" },
9826 1.1 alnsn { 7175, "IPI_EVENT_SET_3" },
9827 1.1 alnsn { 7176, "IPI_MASK_3" },
9828 1.1 alnsn { 7177, "IPI_MASK_RESET_3" },
9829 1.1 alnsn { 7178, "IPI_MASK_SET_3" },
9830 1.1 alnsn { 7424, "MPL_IPI_2_SET_0" },
9831 1.1 alnsn { 7425, "MPL_IPI_2_SET_1" },
9832 1.1 alnsn { 7426, "MPL_IPI_2_SET_2" },
9833 1.1 alnsn { 7427, "MPL_IPI_2_SET_3" },
9834 1.1 alnsn { 7428, "MPL_IPI_2" },
9835 1.1 alnsn { 7429, "IPI_EVENT_2" },
9836 1.1 alnsn { 7430, "IPI_EVENT_RESET_2" },
9837 1.1 alnsn { 7431, "IPI_EVENT_SET_2" },
9838 1.1 alnsn { 7432, "IPI_MASK_2" },
9839 1.1 alnsn { 7433, "IPI_MASK_RESET_2" },
9840 1.1 alnsn { 7434, "IPI_MASK_SET_2" },
9841 1.1 alnsn { 7680, "MPL_IPI_1_SET_0" },
9842 1.1 alnsn { 7681, "MPL_IPI_1_SET_1" },
9843 1.1 alnsn { 7682, "MPL_IPI_1_SET_2" },
9844 1.1 alnsn { 7683, "MPL_IPI_1_SET_3" },
9845 1.1 alnsn { 7684, "MPL_IPI_1" },
9846 1.1 alnsn { 7685, "IPI_EVENT_1" },
9847 1.1 alnsn { 7686, "IPI_EVENT_RESET_1" },
9848 1.1 alnsn { 7687, "IPI_EVENT_SET_1" },
9849 1.1 alnsn { 7688, "IPI_MASK_1" },
9850 1.1 alnsn { 7689, "IPI_MASK_RESET_1" },
9851 1.1 alnsn { 7690, "IPI_MASK_SET_1" },
9852 1.1 alnsn { 7936, "MPL_IPI_0_SET_0" },
9853 1.1 alnsn { 7937, "MPL_IPI_0_SET_1" },
9854 1.1 alnsn { 7938, "MPL_IPI_0_SET_2" },
9855 1.1 alnsn { 7939, "MPL_IPI_0_SET_3" },
9856 1.1 alnsn { 7940, "MPL_IPI_0" },
9857 1.1 alnsn { 7941, "IPI_EVENT_0" },
9858 1.1 alnsn { 7942, "IPI_EVENT_RESET_0" },
9859 1.1 alnsn { 7943, "IPI_EVENT_SET_0" },
9860 1.1 alnsn { 7944, "IPI_MASK_0" },
9861 1.1 alnsn { 7945, "IPI_MASK_RESET_0" },
9862 1.1 alnsn { 7946, "IPI_MASK_SET_0" },
9863 1.1 alnsn { 8192, "MPL_PERF_COUNT_SET_0" },
9864 1.1 alnsn { 8193, "MPL_PERF_COUNT_SET_1" },
9865 1.1 alnsn { 8194, "MPL_PERF_COUNT_SET_2" },
9866 1.1 alnsn { 8195, "MPL_PERF_COUNT_SET_3" },
9867 1.1 alnsn { 8196, "MPL_PERF_COUNT" },
9868 1.1 alnsn { 8197, "PERF_COUNT_0" },
9869 1.1 alnsn { 8198, "PERF_COUNT_1" },
9870 1.1 alnsn { 8199, "PERF_COUNT_CTL" },
9871 1.1 alnsn { 8200, "PERF_COUNT_DN_CTL" },
9872 1.1 alnsn { 8201, "PERF_COUNT_STS" },
9873 1.1 alnsn { 8202, "WATCH_MASK" },
9874 1.1 alnsn { 8203, "WATCH_VAL" },
9875 1.1 alnsn { 8448, "MPL_AUX_PERF_COUNT_SET_0" },
9876 1.1 alnsn { 8449, "MPL_AUX_PERF_COUNT_SET_1" },
9877 1.1 alnsn { 8450, "MPL_AUX_PERF_COUNT_SET_2" },
9878 1.1 alnsn { 8451, "MPL_AUX_PERF_COUNT_SET_3" },
9879 1.1 alnsn { 8452, "MPL_AUX_PERF_COUNT" },
9880 1.1 alnsn { 8453, "AUX_PERF_COUNT_0" },
9881 1.1 alnsn { 8454, "AUX_PERF_COUNT_1" },
9882 1.1 alnsn { 8455, "AUX_PERF_COUNT_CTL" },
9883 1.1 alnsn { 8456, "AUX_PERF_COUNT_STS" },
9884 1.1 alnsn { 8704, "MPL_INTCTRL_3_SET_0" },
9885 1.1 alnsn { 8705, "MPL_INTCTRL_3_SET_1" },
9886 1.1 alnsn { 8706, "MPL_INTCTRL_3_SET_2" },
9887 1.1 alnsn { 8707, "MPL_INTCTRL_3_SET_3" },
9888 1.1 alnsn { 8708, "MPL_INTCTRL_3" },
9889 1.1 alnsn { 8709, "INTCTRL_3_STATUS" },
9890 1.1 alnsn { 8710, "INTERRUPT_MASK_3" },
9891 1.1 alnsn { 8711, "INTERRUPT_MASK_RESET_3" },
9892 1.1 alnsn { 8712, "INTERRUPT_MASK_SET_3" },
9893 1.1 alnsn { 8713, "INTERRUPT_VECTOR_BASE_3" },
9894 1.1 alnsn { 8714, "SINGLE_STEP_EN_0_3" },
9895 1.1 alnsn { 8715, "SINGLE_STEP_EN_1_3" },
9896 1.1 alnsn { 8716, "SINGLE_STEP_EN_2_3" },
9897 1.1 alnsn { 8717, "SINGLE_STEP_EN_3_3" },
9898 1.1 alnsn { 8832, "EX_CONTEXT_3_0" },
9899 1.1 alnsn { 8833, "EX_CONTEXT_3_1" },
9900 1.1 alnsn { 8834, "SYSTEM_SAVE_3_0" },
9901 1.1 alnsn { 8835, "SYSTEM_SAVE_3_1" },
9902 1.1 alnsn { 8836, "SYSTEM_SAVE_3_2" },
9903 1.1 alnsn { 8837, "SYSTEM_SAVE_3_3" },
9904 1.1 alnsn { 8960, "MPL_INTCTRL_2_SET_0" },
9905 1.1 alnsn { 8961, "MPL_INTCTRL_2_SET_1" },
9906 1.1 alnsn { 8962, "MPL_INTCTRL_2_SET_2" },
9907 1.1 alnsn { 8963, "MPL_INTCTRL_2_SET_3" },
9908 1.1 alnsn { 8964, "MPL_INTCTRL_2" },
9909 1.1 alnsn { 8965, "INTCTRL_2_STATUS" },
9910 1.1 alnsn { 8966, "INTERRUPT_MASK_2" },
9911 1.1 alnsn { 8967, "INTERRUPT_MASK_RESET_2" },
9912 1.1 alnsn { 8968, "INTERRUPT_MASK_SET_2" },
9913 1.1 alnsn { 8969, "INTERRUPT_VECTOR_BASE_2" },
9914 1.1 alnsn { 8970, "SINGLE_STEP_EN_0_2" },
9915 1.1 alnsn { 8971, "SINGLE_STEP_EN_1_2" },
9916 1.1 alnsn { 8972, "SINGLE_STEP_EN_2_2" },
9917 1.1 alnsn { 8973, "SINGLE_STEP_EN_3_2" },
9918 1.1 alnsn { 9088, "EX_CONTEXT_2_0" },
9919 1.1 alnsn { 9089, "EX_CONTEXT_2_1" },
9920 1.1 alnsn { 9090, "SYSTEM_SAVE_2_0" },
9921 1.1 alnsn { 9091, "SYSTEM_SAVE_2_1" },
9922 1.1 alnsn { 9092, "SYSTEM_SAVE_2_2" },
9923 1.1 alnsn { 9093, "SYSTEM_SAVE_2_3" },
9924 1.1 alnsn { 9216, "MPL_INTCTRL_1_SET_0" },
9925 1.1 alnsn { 9217, "MPL_INTCTRL_1_SET_1" },
9926 1.1 alnsn { 9218, "MPL_INTCTRL_1_SET_2" },
9927 1.1 alnsn { 9219, "MPL_INTCTRL_1_SET_3" },
9928 1.1 alnsn { 9220, "MPL_INTCTRL_1" },
9929 1.1 alnsn { 9221, "INTCTRL_1_STATUS" },
9930 1.1 alnsn { 9222, "INTERRUPT_MASK_1" },
9931 1.1 alnsn { 9223, "INTERRUPT_MASK_RESET_1" },
9932 1.1 alnsn { 9224, "INTERRUPT_MASK_SET_1" },
9933 1.1 alnsn { 9225, "INTERRUPT_VECTOR_BASE_1" },
9934 1.1 alnsn { 9226, "SINGLE_STEP_EN_0_1" },
9935 1.1 alnsn { 9227, "SINGLE_STEP_EN_1_1" },
9936 1.1 alnsn { 9228, "SINGLE_STEP_EN_2_1" },
9937 1.1 alnsn { 9229, "SINGLE_STEP_EN_3_1" },
9938 1.1 alnsn { 9344, "EX_CONTEXT_1_0" },
9939 1.1 alnsn { 9345, "EX_CONTEXT_1_1" },
9940 1.1 alnsn { 9346, "SYSTEM_SAVE_1_0" },
9941 1.1 alnsn { 9347, "SYSTEM_SAVE_1_1" },
9942 1.1 alnsn { 9348, "SYSTEM_SAVE_1_2" },
9943 1.1 alnsn { 9349, "SYSTEM_SAVE_1_3" },
9944 1.1 alnsn { 9472, "MPL_INTCTRL_0_SET_0" },
9945 1.1 alnsn { 9473, "MPL_INTCTRL_0_SET_1" },
9946 1.1 alnsn { 9474, "MPL_INTCTRL_0_SET_2" },
9947 1.1 alnsn { 9475, "MPL_INTCTRL_0_SET_3" },
9948 1.1 alnsn { 9476, "MPL_INTCTRL_0" },
9949 1.1 alnsn { 9477, "INTCTRL_0_STATUS" },
9950 1.1 alnsn { 9478, "INTERRUPT_MASK_0" },
9951 1.1 alnsn { 9479, "INTERRUPT_MASK_RESET_0" },
9952 1.1 alnsn { 9480, "INTERRUPT_MASK_SET_0" },
9953 1.1 alnsn { 9481, "INTERRUPT_VECTOR_BASE_0" },
9954 1.1 alnsn { 9482, "SINGLE_STEP_EN_0_0" },
9955 1.1 alnsn { 9483, "SINGLE_STEP_EN_1_0" },
9956 1.1 alnsn { 9484, "SINGLE_STEP_EN_2_0" },
9957 1.1 alnsn { 9485, "SINGLE_STEP_EN_3_0" },
9958 1.1 alnsn { 9600, "EX_CONTEXT_0_0" },
9959 1.1 alnsn { 9601, "EX_CONTEXT_0_1" },
9960 1.1 alnsn { 9602, "SYSTEM_SAVE_0_0" },
9961 1.1 alnsn { 9603, "SYSTEM_SAVE_0_1" },
9962 1.1 alnsn { 9604, "SYSTEM_SAVE_0_2" },
9963 1.1 alnsn { 9605, "SYSTEM_SAVE_0_3" },
9964 1.1 alnsn { 9728, "MPL_BOOT_ACCESS_SET_0" },
9965 1.1 alnsn { 9729, "MPL_BOOT_ACCESS_SET_1" },
9966 1.1 alnsn { 9730, "MPL_BOOT_ACCESS_SET_2" },
9967 1.1 alnsn { 9731, "MPL_BOOT_ACCESS_SET_3" },
9968 1.1 alnsn { 9732, "MPL_BOOT_ACCESS" },
9969 1.1 alnsn { 9733, "BIG_ENDIAN_CONFIG" },
9970 1.1 alnsn { 9734, "CACHE_INVALIDATION_COMPRESSION_MODE" },
9971 1.1 alnsn { 9735, "CACHE_INVALIDATION_MASK_0" },
9972 1.1 alnsn { 9736, "CACHE_INVALIDATION_MASK_1" },
9973 1.1 alnsn { 9737, "CACHE_INVALIDATION_MASK_2" },
9974 1.1 alnsn { 9738, "CBOX_CACHEASRAM_CONFIG" },
9975 1.1 alnsn { 9739, "CBOX_CACHE_CONFIG" },
9976 1.1 alnsn { 9740, "CBOX_HOME_MAP_ADDR" },
9977 1.1 alnsn { 9741, "CBOX_HOME_MAP_DATA" },
9978 1.1 alnsn { 9742, "CBOX_MMAP_0" },
9979 1.1 alnsn { 9743, "CBOX_MMAP_1" },
9980 1.1 alnsn { 9744, "CBOX_MMAP_2" },
9981 1.1 alnsn { 9745, "CBOX_MMAP_3" },
9982 1.1 alnsn { 9746, "CBOX_MSR" },
9983 1.1 alnsn { 9747, "DIAG_BCST_CTL" },
9984 1.1 alnsn { 9748, "DIAG_BCST_MASK" },
9985 1.1 alnsn { 9749, "DIAG_BCST_TRIGGER" },
9986 1.1 alnsn { 9750, "DIAG_MUX_CTL" },
9987 1.1 alnsn { 9751, "DIAG_TRACE_CTL" },
9988 1.1 alnsn { 9752, "DIAG_TRACE_DATA" },
9989 1.1 alnsn { 9753, "DIAG_TRACE_STS" },
9990 1.1 alnsn { 9754, "IDN_DEMUX_BUF_THRESH" },
9991 1.1 alnsn { 9755, "L1_I_PIN_WAY_0" },
9992 1.1 alnsn { 9756, "MEM_ROUTE_ORDER" },
9993 1.1 alnsn { 9757, "MEM_STRIPE_CONFIG" },
9994 1.1 alnsn { 9758, "PERF_COUNT_PLS" },
9995 1.1 alnsn { 9759, "PSEUDO_RANDOM_NUMBER_MODIFY" },
9996 1.1 alnsn { 9760, "QUIESCE_CTL" },
9997 1.1 alnsn { 9761, "RSHIM_COORD" },
9998 1.1 alnsn { 9762, "SBOX_CONFIG" },
9999 1.1 alnsn { 9763, "UDN_DEMUX_BUF_THRESH" },
10000 1.1 alnsn { 9764, "XDN_CORE_STARVATION_COUNT" },
10001 1.1 alnsn { 9765, "XDN_ROUND_ROBIN_ARB_CTL" },
10002 1.1 alnsn { 9856, "CYCLE_MODIFY" },
10003 1.1 alnsn { 9857, "I_AAR" },
10004 1.1 alnsn { 9984, "MPL_WORLD_ACCESS_SET_0" },
10005 1.1 alnsn { 9985, "MPL_WORLD_ACCESS_SET_1" },
10006 1.1 alnsn { 9986, "MPL_WORLD_ACCESS_SET_2" },
10007 1.1 alnsn { 9987, "MPL_WORLD_ACCESS_SET_3" },
10008 1.1 alnsn { 9988, "MPL_WORLD_ACCESS" },
10009 1.1 alnsn { 9989, "DONE" },
10010 1.1 alnsn { 9990, "DSTREAM_PF" },
10011 1.1 alnsn { 9991, "FAIL" },
10012 1.1 alnsn { 9992, "INTERRUPT_CRITICAL_SECTION" },
10013 1.1 alnsn { 9993, "PASS" },
10014 1.1 alnsn { 9994, "PSEUDO_RANDOM_NUMBER" },
10015 1.1 alnsn { 9995, "TILE_COORD" },
10016 1.1 alnsn { 9996, "TILE_RTF_HWM" },
10017 1.1 alnsn { 10112, "CMPEXCH_VALUE" },
10018 1.1 alnsn { 10113, "CYCLE" },
10019 1.1 alnsn { 10114, "EVENT_BEGIN" },
10020 1.1 alnsn { 10115, "EVENT_END" },
10021 1.1 alnsn { 10116, "PROC_STATUS" },
10022 1.1 alnsn { 10117, "SIM_CONTROL" },
10023 1.1 alnsn { 10118, "SIM_SOCKET" },
10024 1.1 alnsn { 10119, "STATUS_SATURATE" },
10025 1.1 alnsn { 10240, "MPL_I_ASID_SET_0" },
10026 1.1 alnsn { 10241, "MPL_I_ASID_SET_1" },
10027 1.1 alnsn { 10242, "MPL_I_ASID_SET_2" },
10028 1.1 alnsn { 10243, "MPL_I_ASID_SET_3" },
10029 1.1 alnsn { 10244, "MPL_I_ASID" },
10030 1.1 alnsn { 10245, "I_ASID" },
10031 1.1 alnsn { 10496, "MPL_D_ASID_SET_0" },
10032 1.1 alnsn { 10497, "MPL_D_ASID_SET_1" },
10033 1.1 alnsn { 10498, "MPL_D_ASID_SET_2" },
10034 1.1 alnsn { 10499, "MPL_D_ASID_SET_3" },
10035 1.1 alnsn { 10500, "MPL_D_ASID" },
10036 1.1 alnsn { 10501, "D_ASID" },
10037 1.1 alnsn { 10752, "MPL_DOUBLE_FAULT_SET_0" },
10038 1.1 alnsn { 10753, "MPL_DOUBLE_FAULT_SET_1" },
10039 1.1 alnsn { 10754, "MPL_DOUBLE_FAULT_SET_2" },
10040 1.1 alnsn { 10755, "MPL_DOUBLE_FAULT_SET_3" },
10041 1.1 alnsn { 10756, "MPL_DOUBLE_FAULT" },
10042 1.1 alnsn { 10757, "LAST_INTERRUPT_REASON" },
10043 1.1 alnsn };
10044 1.1 alnsn
10045 1.1 alnsn const int tilegx_num_sprs = 441;
10046 1.1 alnsn
10047 1.1 alnsn const char *
10048 1.1 alnsn get_tilegx_spr_name (int num)
10049 1.1 alnsn {
10050 1.1 alnsn void *result;
10051 1.1 alnsn struct tilegx_spr key;
10052 1.1 alnsn
10053 1.1 alnsn key.number = num;
10054 1.1 alnsn result = bsearch((const void *) &key, (const void *) tilegx_sprs,
10055 1.1 alnsn tilegx_num_sprs, sizeof (struct tilegx_spr),
10056 1.1 alnsn tilegx_spr_compare);
10057 1.1 alnsn
10058 1.1 alnsn if (result == NULL)
10059 1.1 alnsn {
10060 1.1 alnsn return (NULL);
10061 1.1 alnsn }
10062 1.1 alnsn else
10063 1.1 alnsn {
10064 1.1 alnsn struct tilegx_spr *result_ptr = (struct tilegx_spr *) result;
10065 1.1 alnsn return (result_ptr->name);
10066 1.1 alnsn }
10067 1.1 alnsn }
10068 1.1 alnsn
10069 1.1 alnsn int
10070 1.1 alnsn print_insn_tilegx (unsigned char * memaddr)
10071 1.1 alnsn {
10072 1.1 alnsn struct tilegx_decoded_instruction
10073 1.1 alnsn decoded[TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE];
10074 1.1 alnsn unsigned char opbuf[TILEGX_BUNDLE_SIZE_IN_BYTES];
10075 1.1 alnsn int i, num_instructions, num_printed;
10076 1.1 alnsn tilegx_mnemonic padding_mnemonic;
10077 1.1 alnsn
10078 1.1 alnsn memcpy((void *)opbuf, (void *)memaddr, TILEGX_BUNDLE_SIZE_IN_BYTES);
10079 1.1 alnsn
10080 1.1 alnsn /* Parse the instructions in the bundle. */
10081 1.1 alnsn num_instructions =
10082 1.1 alnsn parse_insn_tilegx (*(unsigned long long *)opbuf, (unsigned long long)memaddr, decoded);
10083 1.1 alnsn
10084 1.1 alnsn /* Print the instructions in the bundle. */
10085 1.1 alnsn printf("{ ");
10086 1.1 alnsn num_printed = 0;
10087 1.1 alnsn
10088 1.1 alnsn /* Determine which nop opcode is used for padding and should be skipped. */
10089 1.1 alnsn padding_mnemonic = TILEGX_OPC_FNOP;
10090 1.1 alnsn for (i = 0; i < num_instructions; i++)
10091 1.1 alnsn {
10092 1.1 alnsn if (!decoded[i].opcode->can_bundle)
10093 1.1 alnsn {
10094 1.1 alnsn /* Instructions that cannot be bundled are padded out with nops,
10095 1.1 alnsn rather than fnops. Displaying them is always clutter. */
10096 1.1 alnsn padding_mnemonic = TILEGX_OPC_NOP;
10097 1.1 alnsn break;
10098 1.1 alnsn }
10099 1.1 alnsn }
10100 1.1 alnsn
10101 1.1 alnsn for (i = 0; i < num_instructions; i++)
10102 1.1 alnsn {
10103 1.1 alnsn const struct tilegx_opcode *opcode = decoded[i].opcode;
10104 1.1 alnsn const char *name;
10105 1.1 alnsn int j;
10106 1.1 alnsn
10107 1.1 alnsn /* Do not print out fnops, unless everything is an fnop, in
10108 1.1 alnsn which case we will print out just the last one. */
10109 1.1 alnsn if (opcode->mnemonic == padding_mnemonic
10110 1.1 alnsn && (num_printed > 0 || i + 1 < num_instructions))
10111 1.1 alnsn continue;
10112 1.1 alnsn
10113 1.1 alnsn if (num_printed > 0)
10114 1.1 alnsn printf(" ; ");
10115 1.1 alnsn ++num_printed;
10116 1.1 alnsn
10117 1.1 alnsn name = opcode->name;
10118 1.1 alnsn if (name == NULL)
10119 1.1 alnsn name = "<invalid>";
10120 1.1 alnsn printf("%s", name);
10121 1.1 alnsn
10122 1.1 alnsn for (j = 0; j < opcode->num_operands; j++)
10123 1.1 alnsn {
10124 1.1 alnsn unsigned long long num;
10125 1.1 alnsn const struct tilegx_operand *op;
10126 1.1 alnsn const char *spr_name;
10127 1.1 alnsn
10128 1.1 alnsn if (j > 0)
10129 1.1 alnsn printf (",");
10130 1.1 alnsn printf (" ");
10131 1.1 alnsn
10132 1.1 alnsn num = decoded[i].operand_values[j];
10133 1.1 alnsn
10134 1.1 alnsn op = decoded[i].operands[j];
10135 1.1 alnsn switch (op->type)
10136 1.1 alnsn {
10137 1.1 alnsn case TILEGX_OP_TYPE_REGISTER:
10138 1.1 alnsn printf ("%s", tilegx_register_names[(int)num]);
10139 1.1 alnsn break;
10140 1.1 alnsn case TILEGX_OP_TYPE_SPR:
10141 1.1 alnsn spr_name = get_tilegx_spr_name(num);
10142 1.1 alnsn if (spr_name != NULL)
10143 1.1 alnsn printf ("%s", spr_name);
10144 1.1 alnsn else
10145 1.1 alnsn printf ("%d", (int)num);
10146 1.1 alnsn break;
10147 1.1 alnsn case TILEGX_OP_TYPE_IMMEDIATE:
10148 1.1 alnsn printf ("%d", (int)num);
10149 1.1 alnsn break;
10150 1.1 alnsn case TILEGX_OP_TYPE_ADDRESS:
10151 1.1 alnsn printf ("0x%016llx", num);
10152 1.1 alnsn break;
10153 1.1 alnsn default:
10154 1.1 alnsn abort ();
10155 1.1 alnsn }
10156 1.1 alnsn }
10157 1.1 alnsn }
10158 1.1 alnsn printf (" }\n");
10159 1.1 alnsn
10160 1.1 alnsn return TILEGX_BUNDLE_SIZE_IN_BYTES;
10161 1.1 alnsn }
10162