Commit | Line | Data |
---|---|---|
863fbac6 CM |
1 | /* This define is BFD_RELOC_##x for real bfd, or -1 for everyone else. */ |
2 | #define BFD_RELOC(x) -1 | |
867e359b CM |
3 | |
4 | /* Special registers. */ | |
5 | #define TREG_LR 55 | |
6 | #define TREG_SN 56 | |
7 | #define TREG_ZERO 63 | |
8 | ||
9 | /* FIXME: Rename this. */ | |
10 | #include <asm/opcode-tile.h> | |
11 | ||
863fbac6 | 12 | #include <linux/stddef.h> |
867e359b | 13 | |
863fbac6 | 14 | const struct tile_opcode tile_opcodes[395] = |
867e359b | 15 | { |
863fbac6 CM |
16 | { "bpt", TILE_OPC_BPT, 0x2, 0, TREG_ZERO, 0, |
17 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
18 | }, | |
19 | { "info", TILE_OPC_INFO, 0xf, 1, TREG_ZERO, 1, | |
20 | { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } }, | |
21 | }, | |
22 | { "infol", TILE_OPC_INFOL, 0x3, 1, TREG_ZERO, 1, | |
23 | { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } }, | |
24 | }, | |
25 | { "j", TILE_OPC_J, 0x2, 1, TREG_ZERO, 1, | |
26 | { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } }, | |
27 | }, | |
28 | { "jal", TILE_OPC_JAL, 0x2, 1, TREG_LR, 1, | |
29 | { { 0, }, { 6 }, { 0, }, { 0, }, { 0, } }, | |
30 | }, | |
31 | { "move", TILE_OPC_MOVE, 0xf, 2, TREG_ZERO, 1, | |
32 | { { 7, 8 }, { 9, 10 }, { 11, 12 }, { 13, 14 }, { 0, } }, | |
33 | }, | |
34 | { "move.sn", TILE_OPC_MOVE_SN, 0x3, 2, TREG_SN, 1, | |
35 | { { 7, 8 }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
36 | }, | |
37 | { "movei", TILE_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1, | |
38 | { { 7, 0 }, { 9, 1 }, { 11, 2 }, { 13, 3 }, { 0, } }, | |
39 | }, | |
40 | { "movei.sn", TILE_OPC_MOVEI_SN, 0x3, 2, TREG_SN, 1, | |
41 | { { 7, 0 }, { 9, 1 }, { 0, }, { 0, }, { 0, } }, | |
42 | }, | |
43 | { "moveli", TILE_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1, | |
44 | { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } }, | |
45 | }, | |
46 | { "moveli.sn", TILE_OPC_MOVELI_SN, 0x3, 2, TREG_SN, 1, | |
47 | { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } }, | |
48 | }, | |
49 | { "movelis", TILE_OPC_MOVELIS, 0x3, 2, TREG_SN, 1, | |
50 | { { 7, 4 }, { 9, 5 }, { 0, }, { 0, }, { 0, } }, | |
51 | }, | |
52 | { "prefetch", TILE_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1, | |
53 | { { 0, }, { 10 }, { 0, }, { 0, }, { 15 } }, | |
54 | }, | |
55 | { "raise", TILE_OPC_RAISE, 0x2, 0, TREG_ZERO, 1, | |
56 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
57 | }, | |
58 | { "add", TILE_OPC_ADD, 0xf, 3, TREG_ZERO, 1, | |
59 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
60 | }, | |
61 | { "add.sn", TILE_OPC_ADD_SN, 0x3, 3, TREG_SN, 1, | |
62 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
63 | }, | |
64 | { "addb", TILE_OPC_ADDB, 0x3, 3, TREG_ZERO, 1, | |
65 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
66 | }, | |
67 | { "addb.sn", TILE_OPC_ADDB_SN, 0x3, 3, TREG_SN, 1, | |
68 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
69 | }, | |
70 | { "addbs_u", TILE_OPC_ADDBS_U, 0x3, 3, TREG_ZERO, 1, | |
71 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
72 | }, | |
73 | { "addbs_u.sn", TILE_OPC_ADDBS_U_SN, 0x3, 3, TREG_SN, 1, | |
74 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
75 | }, | |
76 | { "addh", TILE_OPC_ADDH, 0x3, 3, TREG_ZERO, 1, | |
77 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
78 | }, | |
79 | { "addh.sn", TILE_OPC_ADDH_SN, 0x3, 3, TREG_SN, 1, | |
80 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
81 | }, | |
82 | { "addhs", TILE_OPC_ADDHS, 0x3, 3, TREG_ZERO, 1, | |
83 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
84 | }, | |
85 | { "addhs.sn", TILE_OPC_ADDHS_SN, 0x3, 3, TREG_SN, 1, | |
86 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
87 | }, | |
88 | { "addi", TILE_OPC_ADDI, 0xf, 3, TREG_ZERO, 1, | |
89 | { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } }, | |
90 | }, | |
91 | { "addi.sn", TILE_OPC_ADDI_SN, 0x3, 3, TREG_SN, 1, | |
92 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
93 | }, | |
94 | { "addib", TILE_OPC_ADDIB, 0x3, 3, TREG_ZERO, 1, | |
95 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
96 | }, | |
97 | { "addib.sn", TILE_OPC_ADDIB_SN, 0x3, 3, TREG_SN, 1, | |
98 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
99 | }, | |
100 | { "addih", TILE_OPC_ADDIH, 0x3, 3, TREG_ZERO, 1, | |
101 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
102 | }, | |
103 | { "addih.sn", TILE_OPC_ADDIH_SN, 0x3, 3, TREG_SN, 1, | |
104 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
105 | }, | |
106 | { "addli", TILE_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1, | |
107 | { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } }, | |
108 | }, | |
109 | { "addli.sn", TILE_OPC_ADDLI_SN, 0x3, 3, TREG_SN, 1, | |
110 | { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } }, | |
111 | }, | |
112 | { "addlis", TILE_OPC_ADDLIS, 0x3, 3, TREG_SN, 1, | |
113 | { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } }, | |
114 | }, | |
115 | { "adds", TILE_OPC_ADDS, 0x3, 3, TREG_ZERO, 1, | |
116 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
117 | }, | |
118 | { "adds.sn", TILE_OPC_ADDS_SN, 0x3, 3, TREG_SN, 1, | |
119 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
120 | }, | |
121 | { "adiffb_u", TILE_OPC_ADIFFB_U, 0x1, 3, TREG_ZERO, 1, | |
122 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
123 | }, | |
124 | { "adiffb_u.sn", TILE_OPC_ADIFFB_U_SN, 0x1, 3, TREG_SN, 1, | |
125 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
126 | }, | |
127 | { "adiffh", TILE_OPC_ADIFFH, 0x1, 3, TREG_ZERO, 1, | |
128 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
129 | }, | |
130 | { "adiffh.sn", TILE_OPC_ADIFFH_SN, 0x1, 3, TREG_SN, 1, | |
131 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
132 | }, | |
133 | { "and", TILE_OPC_AND, 0xf, 3, TREG_ZERO, 1, | |
134 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
135 | }, | |
136 | { "and.sn", TILE_OPC_AND_SN, 0x3, 3, TREG_SN, 1, | |
137 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
138 | }, | |
139 | { "andi", TILE_OPC_ANDI, 0xf, 3, TREG_ZERO, 1, | |
140 | { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } }, | |
141 | }, | |
142 | { "andi.sn", TILE_OPC_ANDI_SN, 0x3, 3, TREG_SN, 1, | |
143 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
144 | }, | |
145 | { "auli", TILE_OPC_AULI, 0x3, 3, TREG_ZERO, 1, | |
146 | { { 7, 8, 4 }, { 9, 10, 5 }, { 0, }, { 0, }, { 0, } }, | |
147 | }, | |
148 | { "avgb_u", TILE_OPC_AVGB_U, 0x1, 3, TREG_ZERO, 1, | |
149 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
150 | }, | |
151 | { "avgb_u.sn", TILE_OPC_AVGB_U_SN, 0x1, 3, TREG_SN, 1, | |
152 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
153 | }, | |
154 | { "avgh", TILE_OPC_AVGH, 0x1, 3, TREG_ZERO, 1, | |
155 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
156 | }, | |
157 | { "avgh.sn", TILE_OPC_AVGH_SN, 0x1, 3, TREG_SN, 1, | |
158 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
159 | }, | |
160 | { "bbns", TILE_OPC_BBNS, 0x2, 2, TREG_ZERO, 1, | |
161 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
162 | }, | |
163 | { "bbns.sn", TILE_OPC_BBNS_SN, 0x2, 2, TREG_SN, 1, | |
164 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
165 | }, | |
166 | { "bbnst", TILE_OPC_BBNST, 0x2, 2, TREG_ZERO, 1, | |
167 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
168 | }, | |
169 | { "bbnst.sn", TILE_OPC_BBNST_SN, 0x2, 2, TREG_SN, 1, | |
170 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
171 | }, | |
172 | { "bbs", TILE_OPC_BBS, 0x2, 2, TREG_ZERO, 1, | |
173 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
174 | }, | |
175 | { "bbs.sn", TILE_OPC_BBS_SN, 0x2, 2, TREG_SN, 1, | |
176 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
177 | }, | |
178 | { "bbst", TILE_OPC_BBST, 0x2, 2, TREG_ZERO, 1, | |
179 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
180 | }, | |
181 | { "bbst.sn", TILE_OPC_BBST_SN, 0x2, 2, TREG_SN, 1, | |
182 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
183 | }, | |
184 | { "bgez", TILE_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1, | |
185 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
186 | }, | |
187 | { "bgez.sn", TILE_OPC_BGEZ_SN, 0x2, 2, TREG_SN, 1, | |
188 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
189 | }, | |
190 | { "bgezt", TILE_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1, | |
191 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
192 | }, | |
193 | { "bgezt.sn", TILE_OPC_BGEZT_SN, 0x2, 2, TREG_SN, 1, | |
194 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
195 | }, | |
196 | { "bgz", TILE_OPC_BGZ, 0x2, 2, TREG_ZERO, 1, | |
197 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
198 | }, | |
199 | { "bgz.sn", TILE_OPC_BGZ_SN, 0x2, 2, TREG_SN, 1, | |
200 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
201 | }, | |
202 | { "bgzt", TILE_OPC_BGZT, 0x2, 2, TREG_ZERO, 1, | |
203 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
204 | }, | |
205 | { "bgzt.sn", TILE_OPC_BGZT_SN, 0x2, 2, TREG_SN, 1, | |
206 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
207 | }, | |
208 | { "bitx", TILE_OPC_BITX, 0x5, 2, TREG_ZERO, 1, | |
209 | { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } }, | |
210 | }, | |
211 | { "bitx.sn", TILE_OPC_BITX_SN, 0x1, 2, TREG_SN, 1, | |
212 | { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
213 | }, | |
214 | { "blez", TILE_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1, | |
215 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
216 | }, | |
217 | { "blez.sn", TILE_OPC_BLEZ_SN, 0x2, 2, TREG_SN, 1, | |
218 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
219 | }, | |
220 | { "blezt", TILE_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1, | |
221 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
222 | }, | |
223 | { "blezt.sn", TILE_OPC_BLEZT_SN, 0x2, 2, TREG_SN, 1, | |
224 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
225 | }, | |
226 | { "blz", TILE_OPC_BLZ, 0x2, 2, TREG_ZERO, 1, | |
227 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
228 | }, | |
229 | { "blz.sn", TILE_OPC_BLZ_SN, 0x2, 2, TREG_SN, 1, | |
230 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
231 | }, | |
232 | { "blzt", TILE_OPC_BLZT, 0x2, 2, TREG_ZERO, 1, | |
233 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
234 | }, | |
235 | { "blzt.sn", TILE_OPC_BLZT_SN, 0x2, 2, TREG_SN, 1, | |
236 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
237 | }, | |
238 | { "bnz", TILE_OPC_BNZ, 0x2, 2, TREG_ZERO, 1, | |
239 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
240 | }, | |
241 | { "bnz.sn", TILE_OPC_BNZ_SN, 0x2, 2, TREG_SN, 1, | |
242 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
243 | }, | |
244 | { "bnzt", TILE_OPC_BNZT, 0x2, 2, TREG_ZERO, 1, | |
245 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
246 | }, | |
247 | { "bnzt.sn", TILE_OPC_BNZT_SN, 0x2, 2, TREG_SN, 1, | |
248 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
249 | }, | |
250 | { "bytex", TILE_OPC_BYTEX, 0x5, 2, TREG_ZERO, 1, | |
251 | { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } }, | |
252 | }, | |
253 | { "bytex.sn", TILE_OPC_BYTEX_SN, 0x1, 2, TREG_SN, 1, | |
254 | { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
255 | }, | |
256 | { "bz", TILE_OPC_BZ, 0x2, 2, TREG_ZERO, 1, | |
257 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
258 | }, | |
259 | { "bz.sn", TILE_OPC_BZ_SN, 0x2, 2, TREG_SN, 1, | |
260 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
261 | }, | |
262 | { "bzt", TILE_OPC_BZT, 0x2, 2, TREG_ZERO, 1, | |
263 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
264 | }, | |
265 | { "bzt.sn", TILE_OPC_BZT_SN, 0x2, 2, TREG_SN, 1, | |
266 | { { 0, }, { 10, 20 }, { 0, }, { 0, }, { 0, } }, | |
267 | }, | |
268 | { "clz", TILE_OPC_CLZ, 0x5, 2, TREG_ZERO, 1, | |
269 | { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } }, | |
270 | }, | |
271 | { "clz.sn", TILE_OPC_CLZ_SN, 0x1, 2, TREG_SN, 1, | |
272 | { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
273 | }, | |
274 | { "crc32_32", TILE_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1, | |
275 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
276 | }, | |
277 | { "crc32_32.sn", TILE_OPC_CRC32_32_SN, 0x1, 3, TREG_SN, 1, | |
278 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
279 | }, | |
280 | { "crc32_8", TILE_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1, | |
281 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
282 | }, | |
283 | { "crc32_8.sn", TILE_OPC_CRC32_8_SN, 0x1, 3, TREG_SN, 1, | |
284 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
285 | }, | |
286 | { "ctz", TILE_OPC_CTZ, 0x5, 2, TREG_ZERO, 1, | |
287 | { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } }, | |
288 | }, | |
289 | { "ctz.sn", TILE_OPC_CTZ_SN, 0x1, 2, TREG_SN, 1, | |
290 | { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
291 | }, | |
292 | { "drain", TILE_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0, | |
293 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
294 | }, | |
295 | { "dtlbpr", TILE_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1, | |
296 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
297 | }, | |
298 | { "dword_align", TILE_OPC_DWORD_ALIGN, 0x1, 3, TREG_ZERO, 1, | |
299 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
300 | }, | |
301 | { "dword_align.sn", TILE_OPC_DWORD_ALIGN_SN, 0x1, 3, TREG_SN, 1, | |
302 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
303 | }, | |
304 | { "finv", TILE_OPC_FINV, 0x2, 1, TREG_ZERO, 1, | |
305 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
306 | }, | |
307 | { "flush", TILE_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1, | |
308 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
309 | }, | |
310 | { "fnop", TILE_OPC_FNOP, 0xf, 0, TREG_ZERO, 1, | |
311 | { { }, { }, { }, { }, { 0, } }, | |
312 | }, | |
313 | { "icoh", TILE_OPC_ICOH, 0x2, 1, TREG_ZERO, 1, | |
314 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
315 | }, | |
316 | { "ill", TILE_OPC_ILL, 0xa, 0, TREG_ZERO, 1, | |
317 | { { 0, }, { }, { 0, }, { }, { 0, } }, | |
318 | }, | |
319 | { "inthb", TILE_OPC_INTHB, 0x3, 3, TREG_ZERO, 1, | |
320 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
321 | }, | |
322 | { "inthb.sn", TILE_OPC_INTHB_SN, 0x3, 3, TREG_SN, 1, | |
323 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
324 | }, | |
325 | { "inthh", TILE_OPC_INTHH, 0x3, 3, TREG_ZERO, 1, | |
326 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
327 | }, | |
328 | { "inthh.sn", TILE_OPC_INTHH_SN, 0x3, 3, TREG_SN, 1, | |
329 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
330 | }, | |
331 | { "intlb", TILE_OPC_INTLB, 0x3, 3, TREG_ZERO, 1, | |
332 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
333 | }, | |
334 | { "intlb.sn", TILE_OPC_INTLB_SN, 0x3, 3, TREG_SN, 1, | |
335 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
336 | }, | |
337 | { "intlh", TILE_OPC_INTLH, 0x3, 3, TREG_ZERO, 1, | |
338 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
339 | }, | |
340 | { "intlh.sn", TILE_OPC_INTLH_SN, 0x3, 3, TREG_SN, 1, | |
341 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
342 | }, | |
343 | { "inv", TILE_OPC_INV, 0x2, 1, TREG_ZERO, 1, | |
344 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
345 | }, | |
346 | { "iret", TILE_OPC_IRET, 0x2, 0, TREG_ZERO, 1, | |
347 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
348 | }, | |
349 | { "jalb", TILE_OPC_JALB, 0x2, 1, TREG_LR, 1, | |
350 | { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } }, | |
351 | }, | |
352 | { "jalf", TILE_OPC_JALF, 0x2, 1, TREG_LR, 1, | |
353 | { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } }, | |
354 | }, | |
355 | { "jalr", TILE_OPC_JALR, 0x2, 1, TREG_LR, 1, | |
356 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
357 | }, | |
358 | { "jalrp", TILE_OPC_JALRP, 0x2, 1, TREG_LR, 1, | |
359 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
360 | }, | |
361 | { "jb", TILE_OPC_JB, 0x2, 1, TREG_ZERO, 1, | |
362 | { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } }, | |
363 | }, | |
364 | { "jf", TILE_OPC_JF, 0x2, 1, TREG_ZERO, 1, | |
365 | { { 0, }, { 22 }, { 0, }, { 0, }, { 0, } }, | |
366 | }, | |
367 | { "jr", TILE_OPC_JR, 0x2, 1, TREG_ZERO, 1, | |
368 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
369 | }, | |
370 | { "jrp", TILE_OPC_JRP, 0x2, 1, TREG_ZERO, 1, | |
371 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
372 | }, | |
373 | { "lb", TILE_OPC_LB, 0x12, 2, TREG_ZERO, 1, | |
374 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } }, | |
375 | }, | |
376 | { "lb.sn", TILE_OPC_LB_SN, 0x2, 2, TREG_SN, 1, | |
377 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
378 | }, | |
379 | { "lb_u", TILE_OPC_LB_U, 0x12, 2, TREG_ZERO, 1, | |
380 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } }, | |
381 | }, | |
382 | { "lb_u.sn", TILE_OPC_LB_U_SN, 0x2, 2, TREG_SN, 1, | |
383 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
384 | }, | |
385 | { "lbadd", TILE_OPC_LBADD, 0x2, 3, TREG_ZERO, 1, | |
386 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
387 | }, | |
388 | { "lbadd.sn", TILE_OPC_LBADD_SN, 0x2, 3, TREG_SN, 1, | |
389 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
390 | }, | |
391 | { "lbadd_u", TILE_OPC_LBADD_U, 0x2, 3, TREG_ZERO, 1, | |
392 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
393 | }, | |
394 | { "lbadd_u.sn", TILE_OPC_LBADD_U_SN, 0x2, 3, TREG_SN, 1, | |
395 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
396 | }, | |
397 | { "lh", TILE_OPC_LH, 0x12, 2, TREG_ZERO, 1, | |
398 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } }, | |
399 | }, | |
400 | { "lh.sn", TILE_OPC_LH_SN, 0x2, 2, TREG_SN, 1, | |
401 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
402 | }, | |
403 | { "lh_u", TILE_OPC_LH_U, 0x12, 2, TREG_ZERO, 1, | |
404 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } }, | |
405 | }, | |
406 | { "lh_u.sn", TILE_OPC_LH_U_SN, 0x2, 2, TREG_SN, 1, | |
407 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
408 | }, | |
409 | { "lhadd", TILE_OPC_LHADD, 0x2, 3, TREG_ZERO, 1, | |
410 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
411 | }, | |
412 | { "lhadd.sn", TILE_OPC_LHADD_SN, 0x2, 3, TREG_SN, 1, | |
413 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
414 | }, | |
415 | { "lhadd_u", TILE_OPC_LHADD_U, 0x2, 3, TREG_ZERO, 1, | |
416 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
417 | }, | |
418 | { "lhadd_u.sn", TILE_OPC_LHADD_U_SN, 0x2, 3, TREG_SN, 1, | |
419 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
420 | }, | |
421 | { "lnk", TILE_OPC_LNK, 0x2, 1, TREG_ZERO, 1, | |
422 | { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } }, | |
423 | }, | |
424 | { "lnk.sn", TILE_OPC_LNK_SN, 0x2, 1, TREG_SN, 1, | |
425 | { { 0, }, { 9 }, { 0, }, { 0, }, { 0, } }, | |
426 | }, | |
427 | { "lw", TILE_OPC_LW, 0x12, 2, TREG_ZERO, 1, | |
428 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 23, 15 } }, | |
429 | }, | |
430 | { "lw.sn", TILE_OPC_LW_SN, 0x2, 2, TREG_SN, 1, | |
431 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
432 | }, | |
433 | { "lw_na", TILE_OPC_LW_NA, 0x2, 2, TREG_ZERO, 1, | |
434 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
435 | }, | |
436 | { "lw_na.sn", TILE_OPC_LW_NA_SN, 0x2, 2, TREG_SN, 1, | |
437 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
438 | }, | |
439 | { "lwadd", TILE_OPC_LWADD, 0x2, 3, TREG_ZERO, 1, | |
440 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
441 | }, | |
442 | { "lwadd.sn", TILE_OPC_LWADD_SN, 0x2, 3, TREG_SN, 1, | |
443 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
444 | }, | |
445 | { "lwadd_na", TILE_OPC_LWADD_NA, 0x2, 3, TREG_ZERO, 1, | |
446 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
447 | }, | |
448 | { "lwadd_na.sn", TILE_OPC_LWADD_NA_SN, 0x2, 3, TREG_SN, 1, | |
449 | { { 0, }, { 9, 24, 1 }, { 0, }, { 0, }, { 0, } }, | |
450 | }, | |
451 | { "maxb_u", TILE_OPC_MAXB_U, 0x3, 3, TREG_ZERO, 1, | |
452 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
453 | }, | |
454 | { "maxb_u.sn", TILE_OPC_MAXB_U_SN, 0x3, 3, TREG_SN, 1, | |
455 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
456 | }, | |
457 | { "maxh", TILE_OPC_MAXH, 0x3, 3, TREG_ZERO, 1, | |
458 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
459 | }, | |
460 | { "maxh.sn", TILE_OPC_MAXH_SN, 0x3, 3, TREG_SN, 1, | |
461 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
462 | }, | |
463 | { "maxib_u", TILE_OPC_MAXIB_U, 0x3, 3, TREG_ZERO, 1, | |
464 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
465 | }, | |
466 | { "maxib_u.sn", TILE_OPC_MAXIB_U_SN, 0x3, 3, TREG_SN, 1, | |
467 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
468 | }, | |
469 | { "maxih", TILE_OPC_MAXIH, 0x3, 3, TREG_ZERO, 1, | |
470 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
471 | }, | |
472 | { "maxih.sn", TILE_OPC_MAXIH_SN, 0x3, 3, TREG_SN, 1, | |
473 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
474 | }, | |
475 | { "mf", TILE_OPC_MF, 0x2, 0, TREG_ZERO, 1, | |
476 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
477 | }, | |
478 | { "mfspr", TILE_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1, | |
479 | { { 0, }, { 9, 25 }, { 0, }, { 0, }, { 0, } }, | |
480 | }, | |
481 | { "minb_u", TILE_OPC_MINB_U, 0x3, 3, TREG_ZERO, 1, | |
482 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
483 | }, | |
484 | { "minb_u.sn", TILE_OPC_MINB_U_SN, 0x3, 3, TREG_SN, 1, | |
485 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
486 | }, | |
487 | { "minh", TILE_OPC_MINH, 0x3, 3, TREG_ZERO, 1, | |
488 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
489 | }, | |
490 | { "minh.sn", TILE_OPC_MINH_SN, 0x3, 3, TREG_SN, 1, | |
491 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
492 | }, | |
493 | { "minib_u", TILE_OPC_MINIB_U, 0x3, 3, TREG_ZERO, 1, | |
494 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
495 | }, | |
496 | { "minib_u.sn", TILE_OPC_MINIB_U_SN, 0x3, 3, TREG_SN, 1, | |
497 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
498 | }, | |
499 | { "minih", TILE_OPC_MINIH, 0x3, 3, TREG_ZERO, 1, | |
500 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
501 | }, | |
502 | { "minih.sn", TILE_OPC_MINIH_SN, 0x3, 3, TREG_SN, 1, | |
503 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
504 | }, | |
505 | { "mm", TILE_OPC_MM, 0x3, 5, TREG_ZERO, 1, | |
506 | { { 7, 8, 16, 26, 27 }, { 9, 10, 17, 28, 29 }, { 0, }, { 0, }, { 0, } }, | |
507 | }, | |
508 | { "mnz", TILE_OPC_MNZ, 0xf, 3, TREG_ZERO, 1, | |
509 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
510 | }, | |
511 | { "mnz.sn", TILE_OPC_MNZ_SN, 0x3, 3, TREG_SN, 1, | |
512 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
513 | }, | |
514 | { "mnzb", TILE_OPC_MNZB, 0x3, 3, TREG_ZERO, 1, | |
515 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
516 | }, | |
517 | { "mnzb.sn", TILE_OPC_MNZB_SN, 0x3, 3, TREG_SN, 1, | |
518 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
519 | }, | |
520 | { "mnzh", TILE_OPC_MNZH, 0x3, 3, TREG_ZERO, 1, | |
521 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
522 | }, | |
523 | { "mnzh.sn", TILE_OPC_MNZH_SN, 0x3, 3, TREG_SN, 1, | |
524 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
525 | }, | |
526 | { "mtspr", TILE_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1, | |
527 | { { 0, }, { 30, 10 }, { 0, }, { 0, }, { 0, } }, | |
528 | }, | |
529 | { "mulhh_ss", TILE_OPC_MULHH_SS, 0x5, 3, TREG_ZERO, 1, | |
530 | { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } }, | |
531 | }, | |
532 | { "mulhh_ss.sn", TILE_OPC_MULHH_SS_SN, 0x1, 3, TREG_SN, 1, | |
533 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
534 | }, | |
535 | { "mulhh_su", TILE_OPC_MULHH_SU, 0x1, 3, TREG_ZERO, 1, | |
536 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
537 | }, | |
538 | { "mulhh_su.sn", TILE_OPC_MULHH_SU_SN, 0x1, 3, TREG_SN, 1, | |
539 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
540 | }, | |
541 | { "mulhh_uu", TILE_OPC_MULHH_UU, 0x5, 3, TREG_ZERO, 1, | |
542 | { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } }, | |
543 | }, | |
544 | { "mulhh_uu.sn", TILE_OPC_MULHH_UU_SN, 0x1, 3, TREG_SN, 1, | |
545 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
546 | }, | |
547 | { "mulhha_ss", TILE_OPC_MULHHA_SS, 0x5, 3, TREG_ZERO, 1, | |
548 | { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } }, | |
549 | }, | |
550 | { "mulhha_ss.sn", TILE_OPC_MULHHA_SS_SN, 0x1, 3, TREG_SN, 1, | |
551 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
552 | }, | |
553 | { "mulhha_su", TILE_OPC_MULHHA_SU, 0x1, 3, TREG_ZERO, 1, | |
554 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
555 | }, | |
556 | { "mulhha_su.sn", TILE_OPC_MULHHA_SU_SN, 0x1, 3, TREG_SN, 1, | |
557 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
558 | }, | |
559 | { "mulhha_uu", TILE_OPC_MULHHA_UU, 0x5, 3, TREG_ZERO, 1, | |
560 | { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } }, | |
561 | }, | |
562 | { "mulhha_uu.sn", TILE_OPC_MULHHA_UU_SN, 0x1, 3, TREG_SN, 1, | |
563 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
564 | }, | |
565 | { "mulhhsa_uu", TILE_OPC_MULHHSA_UU, 0x1, 3, TREG_ZERO, 1, | |
566 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
567 | }, | |
568 | { "mulhhsa_uu.sn", TILE_OPC_MULHHSA_UU_SN, 0x1, 3, TREG_SN, 1, | |
569 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
570 | }, | |
571 | { "mulhl_ss", TILE_OPC_MULHL_SS, 0x1, 3, TREG_ZERO, 1, | |
572 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
573 | }, | |
574 | { "mulhl_ss.sn", TILE_OPC_MULHL_SS_SN, 0x1, 3, TREG_SN, 1, | |
575 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
576 | }, | |
577 | { "mulhl_su", TILE_OPC_MULHL_SU, 0x1, 3, TREG_ZERO, 1, | |
578 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
579 | }, | |
580 | { "mulhl_su.sn", TILE_OPC_MULHL_SU_SN, 0x1, 3, TREG_SN, 1, | |
581 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
582 | }, | |
583 | { "mulhl_us", TILE_OPC_MULHL_US, 0x1, 3, TREG_ZERO, 1, | |
584 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
585 | }, | |
586 | { "mulhl_us.sn", TILE_OPC_MULHL_US_SN, 0x1, 3, TREG_SN, 1, | |
587 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
588 | }, | |
589 | { "mulhl_uu", TILE_OPC_MULHL_UU, 0x1, 3, TREG_ZERO, 1, | |
590 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
591 | }, | |
592 | { "mulhl_uu.sn", TILE_OPC_MULHL_UU_SN, 0x1, 3, TREG_SN, 1, | |
593 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
594 | }, | |
595 | { "mulhla_ss", TILE_OPC_MULHLA_SS, 0x1, 3, TREG_ZERO, 1, | |
596 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
597 | }, | |
598 | { "mulhla_ss.sn", TILE_OPC_MULHLA_SS_SN, 0x1, 3, TREG_SN, 1, | |
599 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
600 | }, | |
601 | { "mulhla_su", TILE_OPC_MULHLA_SU, 0x1, 3, TREG_ZERO, 1, | |
602 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
603 | }, | |
604 | { "mulhla_su.sn", TILE_OPC_MULHLA_SU_SN, 0x1, 3, TREG_SN, 1, | |
605 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
606 | }, | |
607 | { "mulhla_us", TILE_OPC_MULHLA_US, 0x1, 3, TREG_ZERO, 1, | |
608 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
609 | }, | |
610 | { "mulhla_us.sn", TILE_OPC_MULHLA_US_SN, 0x1, 3, TREG_SN, 1, | |
611 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
612 | }, | |
613 | { "mulhla_uu", TILE_OPC_MULHLA_UU, 0x1, 3, TREG_ZERO, 1, | |
614 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
615 | }, | |
616 | { "mulhla_uu.sn", TILE_OPC_MULHLA_UU_SN, 0x1, 3, TREG_SN, 1, | |
617 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
618 | }, | |
619 | { "mulhlsa_uu", TILE_OPC_MULHLSA_UU, 0x5, 3, TREG_ZERO, 1, | |
620 | { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } }, | |
621 | }, | |
622 | { "mulhlsa_uu.sn", TILE_OPC_MULHLSA_UU_SN, 0x1, 3, TREG_SN, 1, | |
623 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
624 | }, | |
625 | { "mulll_ss", TILE_OPC_MULLL_SS, 0x5, 3, TREG_ZERO, 1, | |
626 | { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } }, | |
627 | }, | |
628 | { "mulll_ss.sn", TILE_OPC_MULLL_SS_SN, 0x1, 3, TREG_SN, 1, | |
629 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
630 | }, | |
631 | { "mulll_su", TILE_OPC_MULLL_SU, 0x1, 3, TREG_ZERO, 1, | |
632 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
633 | }, | |
634 | { "mulll_su.sn", TILE_OPC_MULLL_SU_SN, 0x1, 3, TREG_SN, 1, | |
635 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
636 | }, | |
637 | { "mulll_uu", TILE_OPC_MULLL_UU, 0x5, 3, TREG_ZERO, 1, | |
638 | { { 7, 8, 16 }, { 0, }, { 11, 12, 18 }, { 0, }, { 0, } }, | |
639 | }, | |
640 | { "mulll_uu.sn", TILE_OPC_MULLL_UU_SN, 0x1, 3, TREG_SN, 1, | |
641 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
642 | }, | |
643 | { "mullla_ss", TILE_OPC_MULLLA_SS, 0x5, 3, TREG_ZERO, 1, | |
644 | { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } }, | |
645 | }, | |
646 | { "mullla_ss.sn", TILE_OPC_MULLLA_SS_SN, 0x1, 3, TREG_SN, 1, | |
647 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
648 | }, | |
649 | { "mullla_su", TILE_OPC_MULLLA_SU, 0x1, 3, TREG_ZERO, 1, | |
650 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
651 | }, | |
652 | { "mullla_su.sn", TILE_OPC_MULLLA_SU_SN, 0x1, 3, TREG_SN, 1, | |
653 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
654 | }, | |
655 | { "mullla_uu", TILE_OPC_MULLLA_UU, 0x5, 3, TREG_ZERO, 1, | |
656 | { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } }, | |
657 | }, | |
658 | { "mullla_uu.sn", TILE_OPC_MULLLA_UU_SN, 0x1, 3, TREG_SN, 1, | |
659 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
660 | }, | |
661 | { "mulllsa_uu", TILE_OPC_MULLLSA_UU, 0x1, 3, TREG_ZERO, 1, | |
662 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
663 | }, | |
664 | { "mulllsa_uu.sn", TILE_OPC_MULLLSA_UU_SN, 0x1, 3, TREG_SN, 1, | |
665 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
666 | }, | |
667 | { "mvnz", TILE_OPC_MVNZ, 0x5, 3, TREG_ZERO, 1, | |
668 | { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } }, | |
669 | }, | |
670 | { "mvnz.sn", TILE_OPC_MVNZ_SN, 0x1, 3, TREG_SN, 1, | |
671 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
672 | }, | |
673 | { "mvz", TILE_OPC_MVZ, 0x5, 3, TREG_ZERO, 1, | |
674 | { { 21, 8, 16 }, { 0, }, { 31, 12, 18 }, { 0, }, { 0, } }, | |
675 | }, | |
676 | { "mvz.sn", TILE_OPC_MVZ_SN, 0x1, 3, TREG_SN, 1, | |
677 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
678 | }, | |
679 | { "mz", TILE_OPC_MZ, 0xf, 3, TREG_ZERO, 1, | |
680 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
681 | }, | |
682 | { "mz.sn", TILE_OPC_MZ_SN, 0x3, 3, TREG_SN, 1, | |
683 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
684 | }, | |
685 | { "mzb", TILE_OPC_MZB, 0x3, 3, TREG_ZERO, 1, | |
686 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
687 | }, | |
688 | { "mzb.sn", TILE_OPC_MZB_SN, 0x3, 3, TREG_SN, 1, | |
689 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
690 | }, | |
691 | { "mzh", TILE_OPC_MZH, 0x3, 3, TREG_ZERO, 1, | |
692 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
693 | }, | |
694 | { "mzh.sn", TILE_OPC_MZH_SN, 0x3, 3, TREG_SN, 1, | |
695 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
696 | }, | |
697 | { "nap", TILE_OPC_NAP, 0x2, 0, TREG_ZERO, 0, | |
698 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
699 | }, | |
700 | { "nop", TILE_OPC_NOP, 0xf, 0, TREG_ZERO, 1, | |
701 | { { }, { }, { }, { }, { 0, } }, | |
702 | }, | |
703 | { "nor", TILE_OPC_NOR, 0xf, 3, TREG_ZERO, 1, | |
704 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
705 | }, | |
706 | { "nor.sn", TILE_OPC_NOR_SN, 0x3, 3, TREG_SN, 1, | |
707 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
708 | }, | |
709 | { "or", TILE_OPC_OR, 0xf, 3, TREG_ZERO, 1, | |
710 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
711 | }, | |
712 | { "or.sn", TILE_OPC_OR_SN, 0x3, 3, TREG_SN, 1, | |
713 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
714 | }, | |
715 | { "ori", TILE_OPC_ORI, 0xf, 3, TREG_ZERO, 1, | |
716 | { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } }, | |
717 | }, | |
718 | { "ori.sn", TILE_OPC_ORI_SN, 0x3, 3, TREG_SN, 1, | |
719 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
720 | }, | |
721 | { "packbs_u", TILE_OPC_PACKBS_U, 0x3, 3, TREG_ZERO, 1, | |
722 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
723 | }, | |
724 | { "packbs_u.sn", TILE_OPC_PACKBS_U_SN, 0x3, 3, TREG_SN, 1, | |
725 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
726 | }, | |
727 | { "packhb", TILE_OPC_PACKHB, 0x3, 3, TREG_ZERO, 1, | |
728 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
729 | }, | |
730 | { "packhb.sn", TILE_OPC_PACKHB_SN, 0x3, 3, TREG_SN, 1, | |
731 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
732 | }, | |
733 | { "packhs", TILE_OPC_PACKHS, 0x3, 3, TREG_ZERO, 1, | |
734 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
735 | }, | |
736 | { "packhs.sn", TILE_OPC_PACKHS_SN, 0x3, 3, TREG_SN, 1, | |
737 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
738 | }, | |
739 | { "packlb", TILE_OPC_PACKLB, 0x3, 3, TREG_ZERO, 1, | |
740 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
741 | }, | |
742 | { "packlb.sn", TILE_OPC_PACKLB_SN, 0x3, 3, TREG_SN, 1, | |
743 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
744 | }, | |
745 | { "pcnt", TILE_OPC_PCNT, 0x5, 2, TREG_ZERO, 1, | |
746 | { { 7, 8 }, { 0, }, { 11, 12 }, { 0, }, { 0, } }, | |
747 | }, | |
748 | { "pcnt.sn", TILE_OPC_PCNT_SN, 0x1, 2, TREG_SN, 1, | |
749 | { { 7, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
750 | }, | |
751 | { "rl", TILE_OPC_RL, 0xf, 3, TREG_ZERO, 1, | |
752 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
753 | }, | |
754 | { "rl.sn", TILE_OPC_RL_SN, 0x3, 3, TREG_SN, 1, | |
755 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
756 | }, | |
757 | { "rli", TILE_OPC_RLI, 0xf, 3, TREG_ZERO, 1, | |
758 | { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } }, | |
759 | }, | |
760 | { "rli.sn", TILE_OPC_RLI_SN, 0x3, 3, TREG_SN, 1, | |
761 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
762 | }, | |
763 | { "s1a", TILE_OPC_S1A, 0xf, 3, TREG_ZERO, 1, | |
764 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
765 | }, | |
766 | { "s1a.sn", TILE_OPC_S1A_SN, 0x3, 3, TREG_SN, 1, | |
767 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
768 | }, | |
769 | { "s2a", TILE_OPC_S2A, 0xf, 3, TREG_ZERO, 1, | |
770 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
771 | }, | |
772 | { "s2a.sn", TILE_OPC_S2A_SN, 0x3, 3, TREG_SN, 1, | |
773 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
774 | }, | |
775 | { "s3a", TILE_OPC_S3A, 0xf, 3, TREG_ZERO, 1, | |
776 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
777 | }, | |
778 | { "s3a.sn", TILE_OPC_S3A_SN, 0x3, 3, TREG_SN, 1, | |
779 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
780 | }, | |
781 | { "sadab_u", TILE_OPC_SADAB_U, 0x1, 3, TREG_ZERO, 1, | |
782 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
783 | }, | |
784 | { "sadab_u.sn", TILE_OPC_SADAB_U_SN, 0x1, 3, TREG_SN, 1, | |
785 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
786 | }, | |
787 | { "sadah", TILE_OPC_SADAH, 0x1, 3, TREG_ZERO, 1, | |
788 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
789 | }, | |
790 | { "sadah.sn", TILE_OPC_SADAH_SN, 0x1, 3, TREG_SN, 1, | |
791 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
792 | }, | |
793 | { "sadah_u", TILE_OPC_SADAH_U, 0x1, 3, TREG_ZERO, 1, | |
794 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
795 | }, | |
796 | { "sadah_u.sn", TILE_OPC_SADAH_U_SN, 0x1, 3, TREG_SN, 1, | |
797 | { { 21, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
798 | }, | |
799 | { "sadb_u", TILE_OPC_SADB_U, 0x1, 3, TREG_ZERO, 1, | |
800 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
801 | }, | |
802 | { "sadb_u.sn", TILE_OPC_SADB_U_SN, 0x1, 3, TREG_SN, 1, | |
803 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
804 | }, | |
805 | { "sadh", TILE_OPC_SADH, 0x1, 3, TREG_ZERO, 1, | |
806 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
807 | }, | |
808 | { "sadh.sn", TILE_OPC_SADH_SN, 0x1, 3, TREG_SN, 1, | |
809 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
810 | }, | |
811 | { "sadh_u", TILE_OPC_SADH_U, 0x1, 3, TREG_ZERO, 1, | |
812 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
813 | }, | |
814 | { "sadh_u.sn", TILE_OPC_SADH_U_SN, 0x1, 3, TREG_SN, 1, | |
815 | { { 7, 8, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
816 | }, | |
817 | { "sb", TILE_OPC_SB, 0x12, 2, TREG_ZERO, 1, | |
818 | { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } }, | |
819 | }, | |
820 | { "sbadd", TILE_OPC_SBADD, 0x2, 3, TREG_ZERO, 1, | |
821 | { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } }, | |
822 | }, | |
823 | { "seq", TILE_OPC_SEQ, 0xf, 3, TREG_ZERO, 1, | |
824 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
825 | }, | |
826 | { "seq.sn", TILE_OPC_SEQ_SN, 0x3, 3, TREG_SN, 1, | |
827 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
828 | }, | |
829 | { "seqb", TILE_OPC_SEQB, 0x3, 3, TREG_ZERO, 1, | |
830 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
831 | }, | |
832 | { "seqb.sn", TILE_OPC_SEQB_SN, 0x3, 3, TREG_SN, 1, | |
833 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
834 | }, | |
835 | { "seqh", TILE_OPC_SEQH, 0x3, 3, TREG_ZERO, 1, | |
836 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
837 | }, | |
838 | { "seqh.sn", TILE_OPC_SEQH_SN, 0x3, 3, TREG_SN, 1, | |
839 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
840 | }, | |
841 | { "seqi", TILE_OPC_SEQI, 0xf, 3, TREG_ZERO, 1, | |
842 | { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } }, | |
843 | }, | |
844 | { "seqi.sn", TILE_OPC_SEQI_SN, 0x3, 3, TREG_SN, 1, | |
845 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
846 | }, | |
847 | { "seqib", TILE_OPC_SEQIB, 0x3, 3, TREG_ZERO, 1, | |
848 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
849 | }, | |
850 | { "seqib.sn", TILE_OPC_SEQIB_SN, 0x3, 3, TREG_SN, 1, | |
851 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
852 | }, | |
853 | { "seqih", TILE_OPC_SEQIH, 0x3, 3, TREG_ZERO, 1, | |
854 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
855 | }, | |
856 | { "seqih.sn", TILE_OPC_SEQIH_SN, 0x3, 3, TREG_SN, 1, | |
857 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
858 | }, | |
859 | { "sh", TILE_OPC_SH, 0x12, 2, TREG_ZERO, 1, | |
860 | { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } }, | |
861 | }, | |
862 | { "shadd", TILE_OPC_SHADD, 0x2, 3, TREG_ZERO, 1, | |
863 | { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } }, | |
864 | }, | |
865 | { "shl", TILE_OPC_SHL, 0xf, 3, TREG_ZERO, 1, | |
866 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
867 | }, | |
868 | { "shl.sn", TILE_OPC_SHL_SN, 0x3, 3, TREG_SN, 1, | |
869 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
870 | }, | |
871 | { "shlb", TILE_OPC_SHLB, 0x3, 3, TREG_ZERO, 1, | |
872 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
873 | }, | |
874 | { "shlb.sn", TILE_OPC_SHLB_SN, 0x3, 3, TREG_SN, 1, | |
875 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
876 | }, | |
877 | { "shlh", TILE_OPC_SHLH, 0x3, 3, TREG_ZERO, 1, | |
878 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
879 | }, | |
880 | { "shlh.sn", TILE_OPC_SHLH_SN, 0x3, 3, TREG_SN, 1, | |
881 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
882 | }, | |
883 | { "shli", TILE_OPC_SHLI, 0xf, 3, TREG_ZERO, 1, | |
884 | { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } }, | |
885 | }, | |
886 | { "shli.sn", TILE_OPC_SHLI_SN, 0x3, 3, TREG_SN, 1, | |
887 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
888 | }, | |
889 | { "shlib", TILE_OPC_SHLIB, 0x3, 3, TREG_ZERO, 1, | |
890 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
891 | }, | |
892 | { "shlib.sn", TILE_OPC_SHLIB_SN, 0x3, 3, TREG_SN, 1, | |
893 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
894 | }, | |
895 | { "shlih", TILE_OPC_SHLIH, 0x3, 3, TREG_ZERO, 1, | |
896 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
897 | }, | |
898 | { "shlih.sn", TILE_OPC_SHLIH_SN, 0x3, 3, TREG_SN, 1, | |
899 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
900 | }, | |
901 | { "shr", TILE_OPC_SHR, 0xf, 3, TREG_ZERO, 1, | |
902 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
903 | }, | |
904 | { "shr.sn", TILE_OPC_SHR_SN, 0x3, 3, TREG_SN, 1, | |
905 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
906 | }, | |
907 | { "shrb", TILE_OPC_SHRB, 0x3, 3, TREG_ZERO, 1, | |
908 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
909 | }, | |
910 | { "shrb.sn", TILE_OPC_SHRB_SN, 0x3, 3, TREG_SN, 1, | |
911 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
912 | }, | |
913 | { "shrh", TILE_OPC_SHRH, 0x3, 3, TREG_ZERO, 1, | |
914 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
915 | }, | |
916 | { "shrh.sn", TILE_OPC_SHRH_SN, 0x3, 3, TREG_SN, 1, | |
917 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
918 | }, | |
919 | { "shri", TILE_OPC_SHRI, 0xf, 3, TREG_ZERO, 1, | |
920 | { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } }, | |
921 | }, | |
922 | { "shri.sn", TILE_OPC_SHRI_SN, 0x3, 3, TREG_SN, 1, | |
923 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
924 | }, | |
925 | { "shrib", TILE_OPC_SHRIB, 0x3, 3, TREG_ZERO, 1, | |
926 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
927 | }, | |
928 | { "shrib.sn", TILE_OPC_SHRIB_SN, 0x3, 3, TREG_SN, 1, | |
929 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
930 | }, | |
931 | { "shrih", TILE_OPC_SHRIH, 0x3, 3, TREG_ZERO, 1, | |
932 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
933 | }, | |
934 | { "shrih.sn", TILE_OPC_SHRIH_SN, 0x3, 3, TREG_SN, 1, | |
935 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
936 | }, | |
937 | { "slt", TILE_OPC_SLT, 0xf, 3, TREG_ZERO, 1, | |
938 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
939 | }, | |
940 | { "slt.sn", TILE_OPC_SLT_SN, 0x3, 3, TREG_SN, 1, | |
941 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
942 | }, | |
943 | { "slt_u", TILE_OPC_SLT_U, 0xf, 3, TREG_ZERO, 1, | |
944 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
945 | }, | |
946 | { "slt_u.sn", TILE_OPC_SLT_U_SN, 0x3, 3, TREG_SN, 1, | |
947 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
948 | }, | |
949 | { "sltb", TILE_OPC_SLTB, 0x3, 3, TREG_ZERO, 1, | |
950 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
951 | }, | |
952 | { "sltb.sn", TILE_OPC_SLTB_SN, 0x3, 3, TREG_SN, 1, | |
953 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
954 | }, | |
955 | { "sltb_u", TILE_OPC_SLTB_U, 0x3, 3, TREG_ZERO, 1, | |
956 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
957 | }, | |
958 | { "sltb_u.sn", TILE_OPC_SLTB_U_SN, 0x3, 3, TREG_SN, 1, | |
959 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
960 | }, | |
961 | { "slte", TILE_OPC_SLTE, 0xf, 3, TREG_ZERO, 1, | |
962 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
963 | }, | |
964 | { "slte.sn", TILE_OPC_SLTE_SN, 0x3, 3, TREG_SN, 1, | |
965 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
966 | }, | |
967 | { "slte_u", TILE_OPC_SLTE_U, 0xf, 3, TREG_ZERO, 1, | |
968 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
969 | }, | |
970 | { "slte_u.sn", TILE_OPC_SLTE_U_SN, 0x3, 3, TREG_SN, 1, | |
971 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
972 | }, | |
973 | { "slteb", TILE_OPC_SLTEB, 0x3, 3, TREG_ZERO, 1, | |
974 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
975 | }, | |
976 | { "slteb.sn", TILE_OPC_SLTEB_SN, 0x3, 3, TREG_SN, 1, | |
977 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
978 | }, | |
979 | { "slteb_u", TILE_OPC_SLTEB_U, 0x3, 3, TREG_ZERO, 1, | |
980 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
981 | }, | |
982 | { "slteb_u.sn", TILE_OPC_SLTEB_U_SN, 0x3, 3, TREG_SN, 1, | |
983 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
984 | }, | |
985 | { "slteh", TILE_OPC_SLTEH, 0x3, 3, TREG_ZERO, 1, | |
986 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
987 | }, | |
988 | { "slteh.sn", TILE_OPC_SLTEH_SN, 0x3, 3, TREG_SN, 1, | |
989 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
990 | }, | |
991 | { "slteh_u", TILE_OPC_SLTEH_U, 0x3, 3, TREG_ZERO, 1, | |
992 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
993 | }, | |
994 | { "slteh_u.sn", TILE_OPC_SLTEH_U_SN, 0x3, 3, TREG_SN, 1, | |
995 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
996 | }, | |
997 | { "slth", TILE_OPC_SLTH, 0x3, 3, TREG_ZERO, 1, | |
998 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
999 | }, | |
1000 | { "slth.sn", TILE_OPC_SLTH_SN, 0x3, 3, TREG_SN, 1, | |
1001 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1002 | }, | |
1003 | { "slth_u", TILE_OPC_SLTH_U, 0x3, 3, TREG_ZERO, 1, | |
1004 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1005 | }, | |
1006 | { "slth_u.sn", TILE_OPC_SLTH_U_SN, 0x3, 3, TREG_SN, 1, | |
1007 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1008 | }, | |
1009 | { "slti", TILE_OPC_SLTI, 0xf, 3, TREG_ZERO, 1, | |
1010 | { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } }, | |
1011 | }, | |
1012 | { "slti.sn", TILE_OPC_SLTI_SN, 0x3, 3, TREG_SN, 1, | |
1013 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1014 | }, | |
1015 | { "slti_u", TILE_OPC_SLTI_U, 0xf, 3, TREG_ZERO, 1, | |
1016 | { { 7, 8, 0 }, { 9, 10, 1 }, { 11, 12, 2 }, { 13, 14, 3 }, { 0, } }, | |
1017 | }, | |
1018 | { "slti_u.sn", TILE_OPC_SLTI_U_SN, 0x3, 3, TREG_SN, 1, | |
1019 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1020 | }, | |
1021 | { "sltib", TILE_OPC_SLTIB, 0x3, 3, TREG_ZERO, 1, | |
1022 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1023 | }, | |
1024 | { "sltib.sn", TILE_OPC_SLTIB_SN, 0x3, 3, TREG_SN, 1, | |
1025 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1026 | }, | |
1027 | { "sltib_u", TILE_OPC_SLTIB_U, 0x3, 3, TREG_ZERO, 1, | |
1028 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1029 | }, | |
1030 | { "sltib_u.sn", TILE_OPC_SLTIB_U_SN, 0x3, 3, TREG_SN, 1, | |
1031 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1032 | }, | |
1033 | { "sltih", TILE_OPC_SLTIH, 0x3, 3, TREG_ZERO, 1, | |
1034 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1035 | }, | |
1036 | { "sltih.sn", TILE_OPC_SLTIH_SN, 0x3, 3, TREG_SN, 1, | |
1037 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1038 | }, | |
1039 | { "sltih_u", TILE_OPC_SLTIH_U, 0x3, 3, TREG_ZERO, 1, | |
1040 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1041 | }, | |
1042 | { "sltih_u.sn", TILE_OPC_SLTIH_U_SN, 0x3, 3, TREG_SN, 1, | |
1043 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1044 | }, | |
1045 | { "sne", TILE_OPC_SNE, 0xf, 3, TREG_ZERO, 1, | |
1046 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
1047 | }, | |
1048 | { "sne.sn", TILE_OPC_SNE_SN, 0x3, 3, TREG_SN, 1, | |
1049 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1050 | }, | |
1051 | { "sneb", TILE_OPC_SNEB, 0x3, 3, TREG_ZERO, 1, | |
1052 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1053 | }, | |
1054 | { "sneb.sn", TILE_OPC_SNEB_SN, 0x3, 3, TREG_SN, 1, | |
1055 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1056 | }, | |
1057 | { "sneh", TILE_OPC_SNEH, 0x3, 3, TREG_ZERO, 1, | |
1058 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1059 | }, | |
1060 | { "sneh.sn", TILE_OPC_SNEH_SN, 0x3, 3, TREG_SN, 1, | |
1061 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1062 | }, | |
1063 | { "sra", TILE_OPC_SRA, 0xf, 3, TREG_ZERO, 1, | |
1064 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
1065 | }, | |
1066 | { "sra.sn", TILE_OPC_SRA_SN, 0x3, 3, TREG_SN, 1, | |
1067 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1068 | }, | |
1069 | { "srab", TILE_OPC_SRAB, 0x3, 3, TREG_ZERO, 1, | |
1070 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1071 | }, | |
1072 | { "srab.sn", TILE_OPC_SRAB_SN, 0x3, 3, TREG_SN, 1, | |
1073 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1074 | }, | |
1075 | { "srah", TILE_OPC_SRAH, 0x3, 3, TREG_ZERO, 1, | |
1076 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1077 | }, | |
1078 | { "srah.sn", TILE_OPC_SRAH_SN, 0x3, 3, TREG_SN, 1, | |
1079 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1080 | }, | |
1081 | { "srai", TILE_OPC_SRAI, 0xf, 3, TREG_ZERO, 1, | |
1082 | { { 7, 8, 32 }, { 9, 10, 33 }, { 11, 12, 34 }, { 13, 14, 35 }, { 0, } }, | |
1083 | }, | |
1084 | { "srai.sn", TILE_OPC_SRAI_SN, 0x3, 3, TREG_SN, 1, | |
1085 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
1086 | }, | |
1087 | { "sraib", TILE_OPC_SRAIB, 0x3, 3, TREG_ZERO, 1, | |
1088 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
1089 | }, | |
1090 | { "sraib.sn", TILE_OPC_SRAIB_SN, 0x3, 3, TREG_SN, 1, | |
1091 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
1092 | }, | |
1093 | { "sraih", TILE_OPC_SRAIH, 0x3, 3, TREG_ZERO, 1, | |
1094 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
1095 | }, | |
1096 | { "sraih.sn", TILE_OPC_SRAIH_SN, 0x3, 3, TREG_SN, 1, | |
1097 | { { 7, 8, 32 }, { 9, 10, 33 }, { 0, }, { 0, }, { 0, } }, | |
1098 | }, | |
1099 | { "sub", TILE_OPC_SUB, 0xf, 3, TREG_ZERO, 1, | |
1100 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
1101 | }, | |
1102 | { "sub.sn", TILE_OPC_SUB_SN, 0x3, 3, TREG_SN, 1, | |
1103 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1104 | }, | |
1105 | { "subb", TILE_OPC_SUBB, 0x3, 3, TREG_ZERO, 1, | |
1106 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1107 | }, | |
1108 | { "subb.sn", TILE_OPC_SUBB_SN, 0x3, 3, TREG_SN, 1, | |
1109 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1110 | }, | |
1111 | { "subbs_u", TILE_OPC_SUBBS_U, 0x3, 3, TREG_ZERO, 1, | |
1112 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1113 | }, | |
1114 | { "subbs_u.sn", TILE_OPC_SUBBS_U_SN, 0x3, 3, TREG_SN, 1, | |
1115 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1116 | }, | |
1117 | { "subh", TILE_OPC_SUBH, 0x3, 3, TREG_ZERO, 1, | |
1118 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1119 | }, | |
1120 | { "subh.sn", TILE_OPC_SUBH_SN, 0x3, 3, TREG_SN, 1, | |
1121 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1122 | }, | |
1123 | { "subhs", TILE_OPC_SUBHS, 0x3, 3, TREG_ZERO, 1, | |
1124 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1125 | }, | |
1126 | { "subhs.sn", TILE_OPC_SUBHS_SN, 0x3, 3, TREG_SN, 1, | |
1127 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1128 | }, | |
1129 | { "subs", TILE_OPC_SUBS, 0x3, 3, TREG_ZERO, 1, | |
1130 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1131 | }, | |
1132 | { "subs.sn", TILE_OPC_SUBS_SN, 0x3, 3, TREG_SN, 1, | |
1133 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1134 | }, | |
1135 | { "sw", TILE_OPC_SW, 0x12, 2, TREG_ZERO, 1, | |
1136 | { { 0, }, { 10, 17 }, { 0, }, { 0, }, { 15, 36 } }, | |
1137 | }, | |
1138 | { "swadd", TILE_OPC_SWADD, 0x2, 3, TREG_ZERO, 1, | |
1139 | { { 0, }, { 24, 17, 37 }, { 0, }, { 0, }, { 0, } }, | |
1140 | }, | |
1141 | { "swint0", TILE_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0, | |
1142 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
1143 | }, | |
1144 | { "swint1", TILE_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0, | |
1145 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
1146 | }, | |
1147 | { "swint2", TILE_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0, | |
1148 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
1149 | }, | |
1150 | { "swint3", TILE_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0, | |
1151 | { { 0, }, { }, { 0, }, { 0, }, { 0, } }, | |
1152 | }, | |
1153 | { "tblidxb0", TILE_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1, | |
1154 | { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } }, | |
1155 | }, | |
1156 | { "tblidxb0.sn", TILE_OPC_TBLIDXB0_SN, 0x1, 2, TREG_SN, 1, | |
1157 | { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
1158 | }, | |
1159 | { "tblidxb1", TILE_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1, | |
1160 | { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } }, | |
1161 | }, | |
1162 | { "tblidxb1.sn", TILE_OPC_TBLIDXB1_SN, 0x1, 2, TREG_SN, 1, | |
1163 | { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
1164 | }, | |
1165 | { "tblidxb2", TILE_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1, | |
1166 | { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } }, | |
1167 | }, | |
1168 | { "tblidxb2.sn", TILE_OPC_TBLIDXB2_SN, 0x1, 2, TREG_SN, 1, | |
1169 | { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
1170 | }, | |
1171 | { "tblidxb3", TILE_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1, | |
1172 | { { 21, 8 }, { 0, }, { 31, 12 }, { 0, }, { 0, } }, | |
1173 | }, | |
1174 | { "tblidxb3.sn", TILE_OPC_TBLIDXB3_SN, 0x1, 2, TREG_SN, 1, | |
1175 | { { 21, 8 }, { 0, }, { 0, }, { 0, }, { 0, } }, | |
1176 | }, | |
1177 | { "tns", TILE_OPC_TNS, 0x2, 2, TREG_ZERO, 1, | |
1178 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
1179 | }, | |
1180 | { "tns.sn", TILE_OPC_TNS_SN, 0x2, 2, TREG_SN, 1, | |
1181 | { { 0, }, { 9, 10 }, { 0, }, { 0, }, { 0, } }, | |
1182 | }, | |
1183 | { "wh64", TILE_OPC_WH64, 0x2, 1, TREG_ZERO, 1, | |
1184 | { { 0, }, { 10 }, { 0, }, { 0, }, { 0, } }, | |
1185 | }, | |
1186 | { "xor", TILE_OPC_XOR, 0xf, 3, TREG_ZERO, 1, | |
1187 | { { 7, 8, 16 }, { 9, 10, 17 }, { 11, 12, 18 }, { 13, 14, 19 }, { 0, } }, | |
1188 | }, | |
1189 | { "xor.sn", TILE_OPC_XOR_SN, 0x3, 3, TREG_SN, 1, | |
1190 | { { 7, 8, 16 }, { 9, 10, 17 }, { 0, }, { 0, }, { 0, } }, | |
1191 | }, | |
1192 | { "xori", TILE_OPC_XORI, 0x3, 3, TREG_ZERO, 1, | |
1193 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1194 | }, | |
1195 | { "xori.sn", TILE_OPC_XORI_SN, 0x3, 3, TREG_SN, 1, | |
1196 | { { 7, 8, 0 }, { 9, 10, 1 }, { 0, }, { 0, }, { 0, } }, | |
1197 | }, | |
1198 | { NULL, TILE_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } }, | |
867e359b CM |
1199 | } |
1200 | }; | |
1201 | #define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6)) | |
1202 | #define CHILD(array_index) (TILE_OPC_NONE + (array_index)) | |
1203 | ||
1204 | static const unsigned short decode_X0_fsm[1153] = | |
1205 | { | |
1206 | BITFIELD(22, 9) /* index 0 */, | |
1207 | CHILD(513), CHILD(530), CHILD(547), CHILD(564), CHILD(596), CHILD(613), | |
1208 | CHILD(630), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1209 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1210 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1211 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1212 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1213 | TILE_OPC_NONE, CHILD(663), CHILD(680), CHILD(697), CHILD(714), CHILD(746), | |
1214 | CHILD(763), CHILD(780), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1215 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1216 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1217 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1218 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1219 | TILE_OPC_NONE, TILE_OPC_NONE, CHILD(813), CHILD(813), CHILD(813), | |
1220 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1221 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1222 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1223 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1224 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1225 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1226 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1227 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1228 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1229 | CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), CHILD(813), | |
1230 | CHILD(813), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1231 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1232 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1233 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1234 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1235 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1236 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1237 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1238 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1239 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), | |
1240 | CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(828), CHILD(843), | |
1241 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1242 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1243 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1244 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1245 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1246 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1247 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1248 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1249 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1250 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1251 | CHILD(843), CHILD(843), CHILD(843), CHILD(873), CHILD(878), CHILD(883), | |
1252 | CHILD(903), CHILD(908), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1253 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1254 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1255 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1256 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1257 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(913), | |
1258 | CHILD(918), CHILD(923), CHILD(943), CHILD(948), TILE_OPC_NONE, | |
1259 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1260 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1261 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1262 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1263 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1264 | TILE_OPC_NONE, CHILD(953), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1265 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1266 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1267 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1268 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1269 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1270 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(988), TILE_OPC_NONE, | |
1271 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1272 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1273 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1274 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1275 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1276 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1277 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1278 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1279 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1280 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1281 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1282 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1283 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1284 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1285 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1286 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1287 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1288 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1289 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, CHILD(993), | |
1290 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1291 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1292 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1293 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1294 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1295 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1296 | TILE_OPC_NONE, CHILD(1076), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1297 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1298 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1299 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1300 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1301 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1302 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1303 | BITFIELD(18, 4) /* index 513 */, | |
1304 | TILE_OPC_NONE, TILE_OPC_ADDB, TILE_OPC_ADDH, TILE_OPC_ADD, | |
1305 | TILE_OPC_ADIFFB_U, TILE_OPC_ADIFFH, TILE_OPC_AND, TILE_OPC_AVGB_U, | |
1306 | TILE_OPC_AVGH, TILE_OPC_CRC32_32, TILE_OPC_CRC32_8, TILE_OPC_INTHB, | |
1307 | TILE_OPC_INTHH, TILE_OPC_INTLB, TILE_OPC_INTLH, TILE_OPC_MAXB_U, | |
1308 | BITFIELD(18, 4) /* index 530 */, | |
1309 | TILE_OPC_MAXH, TILE_OPC_MINB_U, TILE_OPC_MINH, TILE_OPC_MNZB, TILE_OPC_MNZH, | |
1310 | TILE_OPC_MNZ, TILE_OPC_MULHHA_SS, TILE_OPC_MULHHA_SU, TILE_OPC_MULHHA_UU, | |
1311 | TILE_OPC_MULHHSA_UU, TILE_OPC_MULHH_SS, TILE_OPC_MULHH_SU, | |
1312 | TILE_OPC_MULHH_UU, TILE_OPC_MULHLA_SS, TILE_OPC_MULHLA_SU, | |
1313 | TILE_OPC_MULHLA_US, | |
1314 | BITFIELD(18, 4) /* index 547 */, | |
1315 | TILE_OPC_MULHLA_UU, TILE_OPC_MULHLSA_UU, TILE_OPC_MULHL_SS, | |
1316 | TILE_OPC_MULHL_SU, TILE_OPC_MULHL_US, TILE_OPC_MULHL_UU, TILE_OPC_MULLLA_SS, | |
1317 | TILE_OPC_MULLLA_SU, TILE_OPC_MULLLA_UU, TILE_OPC_MULLLSA_UU, | |
1318 | TILE_OPC_MULLL_SS, TILE_OPC_MULLL_SU, TILE_OPC_MULLL_UU, TILE_OPC_MVNZ, | |
1319 | TILE_OPC_MVZ, TILE_OPC_MZB, | |
1320 | BITFIELD(18, 4) /* index 564 */, | |
1321 | TILE_OPC_MZH, TILE_OPC_MZ, TILE_OPC_NOR, CHILD(581), TILE_OPC_PACKHB, | |
1322 | TILE_OPC_PACKLB, TILE_OPC_RL, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_S3A, | |
1323 | TILE_OPC_SADAB_U, TILE_OPC_SADAH, TILE_OPC_SADAH_U, TILE_OPC_SADB_U, | |
1324 | TILE_OPC_SADH, TILE_OPC_SADH_U, | |
1325 | BITFIELD(12, 2) /* index 581 */, | |
1326 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(586), | |
1327 | BITFIELD(14, 2) /* index 586 */, | |
1328 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(591), | |
1329 | BITFIELD(16, 2) /* index 591 */, | |
1330 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE, | |
1331 | BITFIELD(18, 4) /* index 596 */, | |
1332 | TILE_OPC_SEQB, TILE_OPC_SEQH, TILE_OPC_SEQ, TILE_OPC_SHLB, TILE_OPC_SHLH, | |
1333 | TILE_OPC_SHL, TILE_OPC_SHRB, TILE_OPC_SHRH, TILE_OPC_SHR, TILE_OPC_SLTB, | |
1334 | TILE_OPC_SLTB_U, TILE_OPC_SLTEB, TILE_OPC_SLTEB_U, TILE_OPC_SLTEH, | |
1335 | TILE_OPC_SLTEH_U, TILE_OPC_SLTE, | |
1336 | BITFIELD(18, 4) /* index 613 */, | |
1337 | TILE_OPC_SLTE_U, TILE_OPC_SLTH, TILE_OPC_SLTH_U, TILE_OPC_SLT, | |
1338 | TILE_OPC_SLT_U, TILE_OPC_SNEB, TILE_OPC_SNEH, TILE_OPC_SNE, TILE_OPC_SRAB, | |
1339 | TILE_OPC_SRAH, TILE_OPC_SRA, TILE_OPC_SUBB, TILE_OPC_SUBH, TILE_OPC_SUB, | |
1340 | TILE_OPC_XOR, TILE_OPC_DWORD_ALIGN, | |
1341 | BITFIELD(18, 3) /* index 630 */, | |
1342 | CHILD(639), CHILD(642), CHILD(645), CHILD(648), CHILD(651), CHILD(654), | |
1343 | CHILD(657), CHILD(660), | |
1344 | BITFIELD(21, 1) /* index 639 */, | |
1345 | TILE_OPC_ADDS, TILE_OPC_NONE, | |
1346 | BITFIELD(21, 1) /* index 642 */, | |
1347 | TILE_OPC_SUBS, TILE_OPC_NONE, | |
1348 | BITFIELD(21, 1) /* index 645 */, | |
1349 | TILE_OPC_ADDBS_U, TILE_OPC_NONE, | |
1350 | BITFIELD(21, 1) /* index 648 */, | |
1351 | TILE_OPC_ADDHS, TILE_OPC_NONE, | |
1352 | BITFIELD(21, 1) /* index 651 */, | |
1353 | TILE_OPC_SUBBS_U, TILE_OPC_NONE, | |
1354 | BITFIELD(21, 1) /* index 654 */, | |
1355 | TILE_OPC_SUBHS, TILE_OPC_NONE, | |
1356 | BITFIELD(21, 1) /* index 657 */, | |
1357 | TILE_OPC_PACKHS, TILE_OPC_NONE, | |
1358 | BITFIELD(21, 1) /* index 660 */, | |
1359 | TILE_OPC_PACKBS_U, TILE_OPC_NONE, | |
1360 | BITFIELD(18, 4) /* index 663 */, | |
1361 | TILE_OPC_NONE, TILE_OPC_ADDB_SN, TILE_OPC_ADDH_SN, TILE_OPC_ADD_SN, | |
1362 | TILE_OPC_ADIFFB_U_SN, TILE_OPC_ADIFFH_SN, TILE_OPC_AND_SN, | |
1363 | TILE_OPC_AVGB_U_SN, TILE_OPC_AVGH_SN, TILE_OPC_CRC32_32_SN, | |
1364 | TILE_OPC_CRC32_8_SN, TILE_OPC_INTHB_SN, TILE_OPC_INTHH_SN, | |
1365 | TILE_OPC_INTLB_SN, TILE_OPC_INTLH_SN, TILE_OPC_MAXB_U_SN, | |
1366 | BITFIELD(18, 4) /* index 680 */, | |
1367 | TILE_OPC_MAXH_SN, TILE_OPC_MINB_U_SN, TILE_OPC_MINH_SN, TILE_OPC_MNZB_SN, | |
1368 | TILE_OPC_MNZH_SN, TILE_OPC_MNZ_SN, TILE_OPC_MULHHA_SS_SN, | |
1369 | TILE_OPC_MULHHA_SU_SN, TILE_OPC_MULHHA_UU_SN, TILE_OPC_MULHHSA_UU_SN, | |
1370 | TILE_OPC_MULHH_SS_SN, TILE_OPC_MULHH_SU_SN, TILE_OPC_MULHH_UU_SN, | |
1371 | TILE_OPC_MULHLA_SS_SN, TILE_OPC_MULHLA_SU_SN, TILE_OPC_MULHLA_US_SN, | |
1372 | BITFIELD(18, 4) /* index 697 */, | |
1373 | TILE_OPC_MULHLA_UU_SN, TILE_OPC_MULHLSA_UU_SN, TILE_OPC_MULHL_SS_SN, | |
1374 | TILE_OPC_MULHL_SU_SN, TILE_OPC_MULHL_US_SN, TILE_OPC_MULHL_UU_SN, | |
1375 | TILE_OPC_MULLLA_SS_SN, TILE_OPC_MULLLA_SU_SN, TILE_OPC_MULLLA_UU_SN, | |
1376 | TILE_OPC_MULLLSA_UU_SN, TILE_OPC_MULLL_SS_SN, TILE_OPC_MULLL_SU_SN, | |
1377 | TILE_OPC_MULLL_UU_SN, TILE_OPC_MVNZ_SN, TILE_OPC_MVZ_SN, TILE_OPC_MZB_SN, | |
1378 | BITFIELD(18, 4) /* index 714 */, | |
1379 | TILE_OPC_MZH_SN, TILE_OPC_MZ_SN, TILE_OPC_NOR_SN, CHILD(731), | |
1380 | TILE_OPC_PACKHB_SN, TILE_OPC_PACKLB_SN, TILE_OPC_RL_SN, TILE_OPC_S1A_SN, | |
1381 | TILE_OPC_S2A_SN, TILE_OPC_S3A_SN, TILE_OPC_SADAB_U_SN, TILE_OPC_SADAH_SN, | |
1382 | TILE_OPC_SADAH_U_SN, TILE_OPC_SADB_U_SN, TILE_OPC_SADH_SN, | |
1383 | TILE_OPC_SADH_U_SN, | |
1384 | BITFIELD(12, 2) /* index 731 */, | |
1385 | TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(736), | |
1386 | BITFIELD(14, 2) /* index 736 */, | |
1387 | TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(741), | |
1388 | BITFIELD(16, 2) /* index 741 */, | |
1389 | TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_MOVE_SN, | |
1390 | BITFIELD(18, 4) /* index 746 */, | |
1391 | TILE_OPC_SEQB_SN, TILE_OPC_SEQH_SN, TILE_OPC_SEQ_SN, TILE_OPC_SHLB_SN, | |
1392 | TILE_OPC_SHLH_SN, TILE_OPC_SHL_SN, TILE_OPC_SHRB_SN, TILE_OPC_SHRH_SN, | |
1393 | TILE_OPC_SHR_SN, TILE_OPC_SLTB_SN, TILE_OPC_SLTB_U_SN, TILE_OPC_SLTEB_SN, | |
1394 | TILE_OPC_SLTEB_U_SN, TILE_OPC_SLTEH_SN, TILE_OPC_SLTEH_U_SN, | |
1395 | TILE_OPC_SLTE_SN, | |
1396 | BITFIELD(18, 4) /* index 763 */, | |
1397 | TILE_OPC_SLTE_U_SN, TILE_OPC_SLTH_SN, TILE_OPC_SLTH_U_SN, TILE_OPC_SLT_SN, | |
1398 | TILE_OPC_SLT_U_SN, TILE_OPC_SNEB_SN, TILE_OPC_SNEH_SN, TILE_OPC_SNE_SN, | |
1399 | TILE_OPC_SRAB_SN, TILE_OPC_SRAH_SN, TILE_OPC_SRA_SN, TILE_OPC_SUBB_SN, | |
1400 | TILE_OPC_SUBH_SN, TILE_OPC_SUB_SN, TILE_OPC_XOR_SN, TILE_OPC_DWORD_ALIGN_SN, | |
1401 | BITFIELD(18, 3) /* index 780 */, | |
1402 | CHILD(789), CHILD(792), CHILD(795), CHILD(798), CHILD(801), CHILD(804), | |
1403 | CHILD(807), CHILD(810), | |
1404 | BITFIELD(21, 1) /* index 789 */, | |
1405 | TILE_OPC_ADDS_SN, TILE_OPC_NONE, | |
1406 | BITFIELD(21, 1) /* index 792 */, | |
1407 | TILE_OPC_SUBS_SN, TILE_OPC_NONE, | |
1408 | BITFIELD(21, 1) /* index 795 */, | |
1409 | TILE_OPC_ADDBS_U_SN, TILE_OPC_NONE, | |
1410 | BITFIELD(21, 1) /* index 798 */, | |
1411 | TILE_OPC_ADDHS_SN, TILE_OPC_NONE, | |
1412 | BITFIELD(21, 1) /* index 801 */, | |
1413 | TILE_OPC_SUBBS_U_SN, TILE_OPC_NONE, | |
1414 | BITFIELD(21, 1) /* index 804 */, | |
1415 | TILE_OPC_SUBHS_SN, TILE_OPC_NONE, | |
1416 | BITFIELD(21, 1) /* index 807 */, | |
1417 | TILE_OPC_PACKHS_SN, TILE_OPC_NONE, | |
1418 | BITFIELD(21, 1) /* index 810 */, | |
1419 | TILE_OPC_PACKBS_U_SN, TILE_OPC_NONE, | |
1420 | BITFIELD(6, 2) /* index 813 */, | |
1421 | TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(818), | |
1422 | BITFIELD(8, 2) /* index 818 */, | |
1423 | TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(823), | |
1424 | BITFIELD(10, 2) /* index 823 */, | |
1425 | TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_MOVELI_SN, | |
1426 | BITFIELD(6, 2) /* index 828 */, | |
1427 | TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(833), | |
1428 | BITFIELD(8, 2) /* index 833 */, | |
1429 | TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(838), | |
1430 | BITFIELD(10, 2) /* index 838 */, | |
1431 | TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_MOVELI, | |
1432 | BITFIELD(0, 2) /* index 843 */, | |
1433 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(848), | |
1434 | BITFIELD(2, 2) /* index 848 */, | |
1435 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(853), | |
1436 | BITFIELD(4, 2) /* index 853 */, | |
1437 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(858), | |
1438 | BITFIELD(6, 2) /* index 858 */, | |
1439 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(863), | |
1440 | BITFIELD(8, 2) /* index 863 */, | |
1441 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(868), | |
1442 | BITFIELD(10, 2) /* index 868 */, | |
1443 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_INFOL, | |
1444 | BITFIELD(20, 2) /* index 873 */, | |
1445 | TILE_OPC_NONE, TILE_OPC_ADDIB, TILE_OPC_ADDIH, TILE_OPC_ADDI, | |
1446 | BITFIELD(20, 2) /* index 878 */, | |
1447 | TILE_OPC_MAXIB_U, TILE_OPC_MAXIH, TILE_OPC_MINIB_U, TILE_OPC_MINIH, | |
1448 | BITFIELD(20, 2) /* index 883 */, | |
1449 | CHILD(888), TILE_OPC_SEQIB, TILE_OPC_SEQIH, TILE_OPC_SEQI, | |
1450 | BITFIELD(6, 2) /* index 888 */, | |
1451 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(893), | |
1452 | BITFIELD(8, 2) /* index 893 */, | |
1453 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(898), | |
1454 | BITFIELD(10, 2) /* index 898 */, | |
1455 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI, | |
1456 | BITFIELD(20, 2) /* index 903 */, | |
1457 | TILE_OPC_SLTIB, TILE_OPC_SLTIB_U, TILE_OPC_SLTIH, TILE_OPC_SLTIH_U, | |
1458 | BITFIELD(20, 2) /* index 908 */, | |
1459 | TILE_OPC_SLTI, TILE_OPC_SLTI_U, TILE_OPC_NONE, TILE_OPC_NONE, | |
1460 | BITFIELD(20, 2) /* index 913 */, | |
1461 | TILE_OPC_NONE, TILE_OPC_ADDIB_SN, TILE_OPC_ADDIH_SN, TILE_OPC_ADDI_SN, | |
1462 | BITFIELD(20, 2) /* index 918 */, | |
1463 | TILE_OPC_MAXIB_U_SN, TILE_OPC_MAXIH_SN, TILE_OPC_MINIB_U_SN, | |
1464 | TILE_OPC_MINIH_SN, | |
1465 | BITFIELD(20, 2) /* index 923 */, | |
1466 | CHILD(928), TILE_OPC_SEQIB_SN, TILE_OPC_SEQIH_SN, TILE_OPC_SEQI_SN, | |
1467 | BITFIELD(6, 2) /* index 928 */, | |
1468 | TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(933), | |
1469 | BITFIELD(8, 2) /* index 933 */, | |
1470 | TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(938), | |
1471 | BITFIELD(10, 2) /* index 938 */, | |
1472 | TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_MOVEI_SN, | |
1473 | BITFIELD(20, 2) /* index 943 */, | |
1474 | TILE_OPC_SLTIB_SN, TILE_OPC_SLTIB_U_SN, TILE_OPC_SLTIH_SN, | |
1475 | TILE_OPC_SLTIH_U_SN, | |
1476 | BITFIELD(20, 2) /* index 948 */, | |
1477 | TILE_OPC_SLTI_SN, TILE_OPC_SLTI_U_SN, TILE_OPC_NONE, TILE_OPC_NONE, | |
1478 | BITFIELD(20, 2) /* index 953 */, | |
1479 | TILE_OPC_NONE, CHILD(958), TILE_OPC_XORI, TILE_OPC_NONE, | |
1480 | BITFIELD(0, 2) /* index 958 */, | |
1481 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(963), | |
1482 | BITFIELD(2, 2) /* index 963 */, | |
1483 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(968), | |
1484 | BITFIELD(4, 2) /* index 968 */, | |
1485 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(973), | |
1486 | BITFIELD(6, 2) /* index 973 */, | |
1487 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(978), | |
1488 | BITFIELD(8, 2) /* index 978 */, | |
1489 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(983), | |
1490 | BITFIELD(10, 2) /* index 983 */, | |
1491 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO, | |
1492 | BITFIELD(20, 2) /* index 988 */, | |
1493 | TILE_OPC_NONE, TILE_OPC_ANDI_SN, TILE_OPC_XORI_SN, TILE_OPC_NONE, | |
1494 | BITFIELD(17, 5) /* index 993 */, | |
1495 | TILE_OPC_NONE, TILE_OPC_RLI, TILE_OPC_SHLIB, TILE_OPC_SHLIH, TILE_OPC_SHLI, | |
1496 | TILE_OPC_SHRIB, TILE_OPC_SHRIH, TILE_OPC_SHRI, TILE_OPC_SRAIB, | |
1497 | TILE_OPC_SRAIH, TILE_OPC_SRAI, CHILD(1026), TILE_OPC_NONE, TILE_OPC_NONE, | |
1498 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1499 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1500 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1501 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1502 | BITFIELD(12, 4) /* index 1026 */, | |
1503 | TILE_OPC_NONE, CHILD(1043), CHILD(1046), CHILD(1049), CHILD(1052), | |
1504 | CHILD(1055), CHILD(1058), CHILD(1061), CHILD(1064), CHILD(1067), | |
1505 | CHILD(1070), CHILD(1073), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1506 | TILE_OPC_NONE, | |
1507 | BITFIELD(16, 1) /* index 1043 */, | |
1508 | TILE_OPC_BITX, TILE_OPC_NONE, | |
1509 | BITFIELD(16, 1) /* index 1046 */, | |
1510 | TILE_OPC_BYTEX, TILE_OPC_NONE, | |
1511 | BITFIELD(16, 1) /* index 1049 */, | |
1512 | TILE_OPC_CLZ, TILE_OPC_NONE, | |
1513 | BITFIELD(16, 1) /* index 1052 */, | |
1514 | TILE_OPC_CTZ, TILE_OPC_NONE, | |
1515 | BITFIELD(16, 1) /* index 1055 */, | |
1516 | TILE_OPC_FNOP, TILE_OPC_NONE, | |
1517 | BITFIELD(16, 1) /* index 1058 */, | |
1518 | TILE_OPC_NOP, TILE_OPC_NONE, | |
1519 | BITFIELD(16, 1) /* index 1061 */, | |
1520 | TILE_OPC_PCNT, TILE_OPC_NONE, | |
1521 | BITFIELD(16, 1) /* index 1064 */, | |
1522 | TILE_OPC_TBLIDXB0, TILE_OPC_NONE, | |
1523 | BITFIELD(16, 1) /* index 1067 */, | |
1524 | TILE_OPC_TBLIDXB1, TILE_OPC_NONE, | |
1525 | BITFIELD(16, 1) /* index 1070 */, | |
1526 | TILE_OPC_TBLIDXB2, TILE_OPC_NONE, | |
1527 | BITFIELD(16, 1) /* index 1073 */, | |
1528 | TILE_OPC_TBLIDXB3, TILE_OPC_NONE, | |
1529 | BITFIELD(17, 5) /* index 1076 */, | |
1530 | TILE_OPC_NONE, TILE_OPC_RLI_SN, TILE_OPC_SHLIB_SN, TILE_OPC_SHLIH_SN, | |
1531 | TILE_OPC_SHLI_SN, TILE_OPC_SHRIB_SN, TILE_OPC_SHRIH_SN, TILE_OPC_SHRI_SN, | |
1532 | TILE_OPC_SRAIB_SN, TILE_OPC_SRAIH_SN, TILE_OPC_SRAI_SN, CHILD(1109), | |
1533 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1534 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1535 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1536 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1537 | BITFIELD(12, 4) /* index 1109 */, | |
1538 | TILE_OPC_NONE, CHILD(1126), CHILD(1129), CHILD(1132), CHILD(1135), | |
1539 | CHILD(1055), CHILD(1058), CHILD(1138), CHILD(1141), CHILD(1144), | |
1540 | CHILD(1147), CHILD(1150), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1541 | TILE_OPC_NONE, | |
1542 | BITFIELD(16, 1) /* index 1126 */, | |
1543 | TILE_OPC_BITX_SN, TILE_OPC_NONE, | |
1544 | BITFIELD(16, 1) /* index 1129 */, | |
1545 | TILE_OPC_BYTEX_SN, TILE_OPC_NONE, | |
1546 | BITFIELD(16, 1) /* index 1132 */, | |
1547 | TILE_OPC_CLZ_SN, TILE_OPC_NONE, | |
1548 | BITFIELD(16, 1) /* index 1135 */, | |
1549 | TILE_OPC_CTZ_SN, TILE_OPC_NONE, | |
1550 | BITFIELD(16, 1) /* index 1138 */, | |
1551 | TILE_OPC_PCNT_SN, TILE_OPC_NONE, | |
1552 | BITFIELD(16, 1) /* index 1141 */, | |
1553 | TILE_OPC_TBLIDXB0_SN, TILE_OPC_NONE, | |
1554 | BITFIELD(16, 1) /* index 1144 */, | |
1555 | TILE_OPC_TBLIDXB1_SN, TILE_OPC_NONE, | |
1556 | BITFIELD(16, 1) /* index 1147 */, | |
1557 | TILE_OPC_TBLIDXB2_SN, TILE_OPC_NONE, | |
1558 | BITFIELD(16, 1) /* index 1150 */, | |
1559 | TILE_OPC_TBLIDXB3_SN, TILE_OPC_NONE, | |
1560 | }; | |
1561 | ||
863fbac6 | 1562 | static const unsigned short decode_X1_fsm[1540] = |
867e359b CM |
1563 | { |
1564 | BITFIELD(54, 9) /* index 0 */, | |
1565 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1566 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1567 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1568 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1569 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1570 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1571 | TILE_OPC_NONE, TILE_OPC_NONE, CHILD(513), CHILD(561), CHILD(594), | |
1572 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1573 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1574 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(641), CHILD(689), | |
1575 | CHILD(722), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1576 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1577 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(766), | |
1578 | CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), | |
1579 | CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), | |
1580 | CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), | |
1581 | CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), | |
1582 | CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), CHILD(766), | |
1583 | CHILD(766), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), | |
1584 | CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), | |
1585 | CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), | |
1586 | CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), | |
1587 | CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), CHILD(781), | |
1588 | CHILD(781), CHILD(781), CHILD(781), CHILD(796), CHILD(796), CHILD(796), | |
1589 | CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), | |
1590 | CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), | |
1591 | CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), | |
1592 | CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), | |
1593 | CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(796), CHILD(826), | |
1594 | CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), | |
1595 | CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), CHILD(826), | |
1596 | CHILD(826), CHILD(826), CHILD(826), CHILD(843), CHILD(843), CHILD(843), | |
1597 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1598 | CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), CHILD(843), | |
1599 | CHILD(843), CHILD(860), CHILD(899), CHILD(923), CHILD(932), TILE_OPC_NONE, | |
1600 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1601 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1602 | TILE_OPC_NONE, CHILD(941), CHILD(950), CHILD(974), CHILD(983), | |
1603 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1604 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1605 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1606 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1607 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1608 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1609 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1610 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, | |
1611 | TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, TILE_OPC_MM, CHILD(992), | |
1612 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1613 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1614 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
863fbac6 | 1615 | CHILD(1334), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, |
867e359b CM |
1616 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, |
1617 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1618 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1619 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1620 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1621 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1622 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1623 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1624 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_J, TILE_OPC_J, | |
1625 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1626 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1627 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1628 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1629 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1630 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1631 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1632 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1633 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1634 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, TILE_OPC_J, | |
1635 | TILE_OPC_J, TILE_OPC_J, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1636 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1637 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1638 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1639 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1640 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1641 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1642 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1643 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1644 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1645 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1646 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1647 | TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, TILE_OPC_JAL, | |
1648 | TILE_OPC_JAL, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1649 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1650 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1651 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1652 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1653 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1654 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1655 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1656 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1657 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1658 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1659 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1660 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1661 | BITFIELD(49, 5) /* index 513 */, | |
1662 | TILE_OPC_NONE, TILE_OPC_ADDB, TILE_OPC_ADDH, TILE_OPC_ADD, TILE_OPC_AND, | |
1663 | TILE_OPC_INTHB, TILE_OPC_INTHH, TILE_OPC_INTLB, TILE_OPC_INTLH, | |
1664 | TILE_OPC_JALRP, TILE_OPC_JALR, TILE_OPC_JRP, TILE_OPC_JR, TILE_OPC_LNK, | |
1665 | TILE_OPC_MAXB_U, TILE_OPC_MAXH, TILE_OPC_MINB_U, TILE_OPC_MINH, | |
1666 | TILE_OPC_MNZB, TILE_OPC_MNZH, TILE_OPC_MNZ, TILE_OPC_MZB, TILE_OPC_MZH, | |
1667 | TILE_OPC_MZ, TILE_OPC_NOR, CHILD(546), TILE_OPC_PACKHB, TILE_OPC_PACKLB, | |
1668 | TILE_OPC_RL, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_S3A, | |
1669 | BITFIELD(43, 2) /* index 546 */, | |
1670 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(551), | |
1671 | BITFIELD(45, 2) /* index 551 */, | |
1672 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(556), | |
1673 | BITFIELD(47, 2) /* index 556 */, | |
1674 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE, | |
1675 | BITFIELD(49, 5) /* index 561 */, | |
1676 | TILE_OPC_SB, TILE_OPC_SEQB, TILE_OPC_SEQH, TILE_OPC_SEQ, TILE_OPC_SHLB, | |
1677 | TILE_OPC_SHLH, TILE_OPC_SHL, TILE_OPC_SHRB, TILE_OPC_SHRH, TILE_OPC_SHR, | |
1678 | TILE_OPC_SH, TILE_OPC_SLTB, TILE_OPC_SLTB_U, TILE_OPC_SLTEB, | |
1679 | TILE_OPC_SLTEB_U, TILE_OPC_SLTEH, TILE_OPC_SLTEH_U, TILE_OPC_SLTE, | |
1680 | TILE_OPC_SLTE_U, TILE_OPC_SLTH, TILE_OPC_SLTH_U, TILE_OPC_SLT, | |
1681 | TILE_OPC_SLT_U, TILE_OPC_SNEB, TILE_OPC_SNEH, TILE_OPC_SNE, TILE_OPC_SRAB, | |
1682 | TILE_OPC_SRAH, TILE_OPC_SRA, TILE_OPC_SUBB, TILE_OPC_SUBH, TILE_OPC_SUB, | |
1683 | BITFIELD(49, 4) /* index 594 */, | |
1684 | CHILD(611), CHILD(614), CHILD(617), CHILD(620), CHILD(623), CHILD(626), | |
1685 | CHILD(629), CHILD(632), CHILD(635), CHILD(638), TILE_OPC_NONE, | |
1686 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1687 | BITFIELD(53, 1) /* index 611 */, | |
1688 | TILE_OPC_SW, TILE_OPC_NONE, | |
1689 | BITFIELD(53, 1) /* index 614 */, | |
1690 | TILE_OPC_XOR, TILE_OPC_NONE, | |
1691 | BITFIELD(53, 1) /* index 617 */, | |
1692 | TILE_OPC_ADDS, TILE_OPC_NONE, | |
1693 | BITFIELD(53, 1) /* index 620 */, | |
1694 | TILE_OPC_SUBS, TILE_OPC_NONE, | |
1695 | BITFIELD(53, 1) /* index 623 */, | |
1696 | TILE_OPC_ADDBS_U, TILE_OPC_NONE, | |
1697 | BITFIELD(53, 1) /* index 626 */, | |
1698 | TILE_OPC_ADDHS, TILE_OPC_NONE, | |
1699 | BITFIELD(53, 1) /* index 629 */, | |
1700 | TILE_OPC_SUBBS_U, TILE_OPC_NONE, | |
1701 | BITFIELD(53, 1) /* index 632 */, | |
1702 | TILE_OPC_SUBHS, TILE_OPC_NONE, | |
1703 | BITFIELD(53, 1) /* index 635 */, | |
1704 | TILE_OPC_PACKHS, TILE_OPC_NONE, | |
1705 | BITFIELD(53, 1) /* index 638 */, | |
1706 | TILE_OPC_PACKBS_U, TILE_OPC_NONE, | |
1707 | BITFIELD(49, 5) /* index 641 */, | |
1708 | TILE_OPC_NONE, TILE_OPC_ADDB_SN, TILE_OPC_ADDH_SN, TILE_OPC_ADD_SN, | |
1709 | TILE_OPC_AND_SN, TILE_OPC_INTHB_SN, TILE_OPC_INTHH_SN, TILE_OPC_INTLB_SN, | |
1710 | TILE_OPC_INTLH_SN, TILE_OPC_JALRP, TILE_OPC_JALR, TILE_OPC_JRP, TILE_OPC_JR, | |
1711 | TILE_OPC_LNK_SN, TILE_OPC_MAXB_U_SN, TILE_OPC_MAXH_SN, TILE_OPC_MINB_U_SN, | |
1712 | TILE_OPC_MINH_SN, TILE_OPC_MNZB_SN, TILE_OPC_MNZH_SN, TILE_OPC_MNZ_SN, | |
1713 | TILE_OPC_MZB_SN, TILE_OPC_MZH_SN, TILE_OPC_MZ_SN, TILE_OPC_NOR_SN, | |
1714 | CHILD(674), TILE_OPC_PACKHB_SN, TILE_OPC_PACKLB_SN, TILE_OPC_RL_SN, | |
1715 | TILE_OPC_S1A_SN, TILE_OPC_S2A_SN, TILE_OPC_S3A_SN, | |
1716 | BITFIELD(43, 2) /* index 674 */, | |
1717 | TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(679), | |
1718 | BITFIELD(45, 2) /* index 679 */, | |
1719 | TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, CHILD(684), | |
1720 | BITFIELD(47, 2) /* index 684 */, | |
1721 | TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_OR_SN, TILE_OPC_MOVE_SN, | |
1722 | BITFIELD(49, 5) /* index 689 */, | |
1723 | TILE_OPC_SB, TILE_OPC_SEQB_SN, TILE_OPC_SEQH_SN, TILE_OPC_SEQ_SN, | |
1724 | TILE_OPC_SHLB_SN, TILE_OPC_SHLH_SN, TILE_OPC_SHL_SN, TILE_OPC_SHRB_SN, | |
1725 | TILE_OPC_SHRH_SN, TILE_OPC_SHR_SN, TILE_OPC_SH, TILE_OPC_SLTB_SN, | |
1726 | TILE_OPC_SLTB_U_SN, TILE_OPC_SLTEB_SN, TILE_OPC_SLTEB_U_SN, | |
1727 | TILE_OPC_SLTEH_SN, TILE_OPC_SLTEH_U_SN, TILE_OPC_SLTE_SN, | |
1728 | TILE_OPC_SLTE_U_SN, TILE_OPC_SLTH_SN, TILE_OPC_SLTH_U_SN, TILE_OPC_SLT_SN, | |
1729 | TILE_OPC_SLT_U_SN, TILE_OPC_SNEB_SN, TILE_OPC_SNEH_SN, TILE_OPC_SNE_SN, | |
1730 | TILE_OPC_SRAB_SN, TILE_OPC_SRAH_SN, TILE_OPC_SRA_SN, TILE_OPC_SUBB_SN, | |
1731 | TILE_OPC_SUBH_SN, TILE_OPC_SUB_SN, | |
1732 | BITFIELD(49, 4) /* index 722 */, | |
1733 | CHILD(611), CHILD(739), CHILD(742), CHILD(745), CHILD(748), CHILD(751), | |
1734 | CHILD(754), CHILD(757), CHILD(760), CHILD(763), TILE_OPC_NONE, | |
1735 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1736 | BITFIELD(53, 1) /* index 739 */, | |
1737 | TILE_OPC_XOR_SN, TILE_OPC_NONE, | |
1738 | BITFIELD(53, 1) /* index 742 */, | |
1739 | TILE_OPC_ADDS_SN, TILE_OPC_NONE, | |
1740 | BITFIELD(53, 1) /* index 745 */, | |
1741 | TILE_OPC_SUBS_SN, TILE_OPC_NONE, | |
1742 | BITFIELD(53, 1) /* index 748 */, | |
1743 | TILE_OPC_ADDBS_U_SN, TILE_OPC_NONE, | |
1744 | BITFIELD(53, 1) /* index 751 */, | |
1745 | TILE_OPC_ADDHS_SN, TILE_OPC_NONE, | |
1746 | BITFIELD(53, 1) /* index 754 */, | |
1747 | TILE_OPC_SUBBS_U_SN, TILE_OPC_NONE, | |
1748 | BITFIELD(53, 1) /* index 757 */, | |
1749 | TILE_OPC_SUBHS_SN, TILE_OPC_NONE, | |
1750 | BITFIELD(53, 1) /* index 760 */, | |
1751 | TILE_OPC_PACKHS_SN, TILE_OPC_NONE, | |
1752 | BITFIELD(53, 1) /* index 763 */, | |
1753 | TILE_OPC_PACKBS_U_SN, TILE_OPC_NONE, | |
1754 | BITFIELD(37, 2) /* index 766 */, | |
1755 | TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(771), | |
1756 | BITFIELD(39, 2) /* index 771 */, | |
1757 | TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, CHILD(776), | |
1758 | BITFIELD(41, 2) /* index 776 */, | |
1759 | TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_ADDLI_SN, TILE_OPC_MOVELI_SN, | |
1760 | BITFIELD(37, 2) /* index 781 */, | |
1761 | TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(786), | |
1762 | BITFIELD(39, 2) /* index 786 */, | |
1763 | TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, CHILD(791), | |
1764 | BITFIELD(41, 2) /* index 791 */, | |
1765 | TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_ADDLI, TILE_OPC_MOVELI, | |
1766 | BITFIELD(31, 2) /* index 796 */, | |
1767 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(801), | |
1768 | BITFIELD(33, 2) /* index 801 */, | |
1769 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(806), | |
1770 | BITFIELD(35, 2) /* index 806 */, | |
1771 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(811), | |
1772 | BITFIELD(37, 2) /* index 811 */, | |
1773 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(816), | |
1774 | BITFIELD(39, 2) /* index 816 */, | |
1775 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, CHILD(821), | |
1776 | BITFIELD(41, 2) /* index 821 */, | |
1777 | TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_AULI, TILE_OPC_INFOL, | |
1778 | BITFIELD(31, 4) /* index 826 */, | |
1779 | TILE_OPC_BZ, TILE_OPC_BZT, TILE_OPC_BNZ, TILE_OPC_BNZT, TILE_OPC_BGZ, | |
1780 | TILE_OPC_BGZT, TILE_OPC_BGEZ, TILE_OPC_BGEZT, TILE_OPC_BLZ, TILE_OPC_BLZT, | |
1781 | TILE_OPC_BLEZ, TILE_OPC_BLEZT, TILE_OPC_BBS, TILE_OPC_BBST, TILE_OPC_BBNS, | |
1782 | TILE_OPC_BBNST, | |
1783 | BITFIELD(31, 4) /* index 843 */, | |
1784 | TILE_OPC_BZ_SN, TILE_OPC_BZT_SN, TILE_OPC_BNZ_SN, TILE_OPC_BNZT_SN, | |
1785 | TILE_OPC_BGZ_SN, TILE_OPC_BGZT_SN, TILE_OPC_BGEZ_SN, TILE_OPC_BGEZT_SN, | |
1786 | TILE_OPC_BLZ_SN, TILE_OPC_BLZT_SN, TILE_OPC_BLEZ_SN, TILE_OPC_BLEZT_SN, | |
1787 | TILE_OPC_BBS_SN, TILE_OPC_BBST_SN, TILE_OPC_BBNS_SN, TILE_OPC_BBNST_SN, | |
1788 | BITFIELD(51, 3) /* index 860 */, | |
1789 | TILE_OPC_NONE, TILE_OPC_ADDIB, TILE_OPC_ADDIH, TILE_OPC_ADDI, CHILD(869), | |
1790 | TILE_OPC_MAXIB_U, TILE_OPC_MAXIH, TILE_OPC_MFSPR, | |
1791 | BITFIELD(31, 2) /* index 869 */, | |
1792 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(874), | |
1793 | BITFIELD(33, 2) /* index 874 */, | |
1794 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(879), | |
1795 | BITFIELD(35, 2) /* index 879 */, | |
1796 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(884), | |
1797 | BITFIELD(37, 2) /* index 884 */, | |
1798 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(889), | |
1799 | BITFIELD(39, 2) /* index 889 */, | |
1800 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(894), | |
1801 | BITFIELD(41, 2) /* index 894 */, | |
1802 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO, | |
1803 | BITFIELD(51, 3) /* index 899 */, | |
1804 | TILE_OPC_MINIB_U, TILE_OPC_MINIH, TILE_OPC_MTSPR, CHILD(908), | |
1805 | TILE_OPC_SEQIB, TILE_OPC_SEQIH, TILE_OPC_SEQI, TILE_OPC_SLTIB, | |
1806 | BITFIELD(37, 2) /* index 908 */, | |
1807 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(913), | |
1808 | BITFIELD(39, 2) /* index 913 */, | |
1809 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(918), | |
1810 | BITFIELD(41, 2) /* index 918 */, | |
1811 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI, | |
1812 | BITFIELD(51, 3) /* index 923 */, | |
1813 | TILE_OPC_SLTIB_U, TILE_OPC_SLTIH, TILE_OPC_SLTIH_U, TILE_OPC_SLTI, | |
1814 | TILE_OPC_SLTI_U, TILE_OPC_XORI, TILE_OPC_LBADD, TILE_OPC_LBADD_U, | |
1815 | BITFIELD(51, 3) /* index 932 */, | |
1816 | TILE_OPC_LHADD, TILE_OPC_LHADD_U, TILE_OPC_LWADD, TILE_OPC_LWADD_NA, | |
1817 | TILE_OPC_SBADD, TILE_OPC_SHADD, TILE_OPC_SWADD, TILE_OPC_NONE, | |
1818 | BITFIELD(51, 3) /* index 941 */, | |
1819 | TILE_OPC_NONE, TILE_OPC_ADDIB_SN, TILE_OPC_ADDIH_SN, TILE_OPC_ADDI_SN, | |
1820 | TILE_OPC_ANDI_SN, TILE_OPC_MAXIB_U_SN, TILE_OPC_MAXIH_SN, TILE_OPC_MFSPR, | |
1821 | BITFIELD(51, 3) /* index 950 */, | |
1822 | TILE_OPC_MINIB_U_SN, TILE_OPC_MINIH_SN, TILE_OPC_MTSPR, CHILD(959), | |
1823 | TILE_OPC_SEQIB_SN, TILE_OPC_SEQIH_SN, TILE_OPC_SEQI_SN, TILE_OPC_SLTIB_SN, | |
1824 | BITFIELD(37, 2) /* index 959 */, | |
1825 | TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(964), | |
1826 | BITFIELD(39, 2) /* index 964 */, | |
1827 | TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, CHILD(969), | |
1828 | BITFIELD(41, 2) /* index 969 */, | |
1829 | TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_ORI_SN, TILE_OPC_MOVEI_SN, | |
1830 | BITFIELD(51, 3) /* index 974 */, | |
1831 | TILE_OPC_SLTIB_U_SN, TILE_OPC_SLTIH_SN, TILE_OPC_SLTIH_U_SN, | |
1832 | TILE_OPC_SLTI_SN, TILE_OPC_SLTI_U_SN, TILE_OPC_XORI_SN, TILE_OPC_LBADD_SN, | |
1833 | TILE_OPC_LBADD_U_SN, | |
1834 | BITFIELD(51, 3) /* index 983 */, | |
1835 | TILE_OPC_LHADD_SN, TILE_OPC_LHADD_U_SN, TILE_OPC_LWADD_SN, | |
1836 | TILE_OPC_LWADD_NA_SN, TILE_OPC_SBADD, TILE_OPC_SHADD, TILE_OPC_SWADD, | |
1837 | TILE_OPC_NONE, | |
1838 | BITFIELD(46, 7) /* index 992 */, | |
1839 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(1121), | |
1840 | CHILD(1121), CHILD(1121), CHILD(1121), CHILD(1124), CHILD(1124), | |
1841 | CHILD(1124), CHILD(1124), CHILD(1127), CHILD(1127), CHILD(1127), | |
1842 | CHILD(1127), CHILD(1130), CHILD(1130), CHILD(1130), CHILD(1130), | |
1843 | CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1133), CHILD(1136), | |
1844 | CHILD(1136), CHILD(1136), CHILD(1136), CHILD(1139), CHILD(1139), | |
1845 | CHILD(1139), CHILD(1139), CHILD(1142), CHILD(1142), CHILD(1142), | |
1846 | CHILD(1142), CHILD(1145), CHILD(1145), CHILD(1145), CHILD(1145), | |
1847 | CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1148), CHILD(1151), | |
863fbac6 | 1848 | CHILD(1242), CHILD(1290), CHILD(1323), TILE_OPC_NONE, TILE_OPC_NONE, |
867e359b CM |
1849 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, |
1850 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1851 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1852 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1853 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1854 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1855 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1856 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1857 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1858 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1859 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1860 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1861 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1862 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1863 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1864 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1865 | BITFIELD(53, 1) /* index 1121 */, | |
1866 | TILE_OPC_RLI, TILE_OPC_NONE, | |
1867 | BITFIELD(53, 1) /* index 1124 */, | |
1868 | TILE_OPC_SHLIB, TILE_OPC_NONE, | |
1869 | BITFIELD(53, 1) /* index 1127 */, | |
1870 | TILE_OPC_SHLIH, TILE_OPC_NONE, | |
1871 | BITFIELD(53, 1) /* index 1130 */, | |
1872 | TILE_OPC_SHLI, TILE_OPC_NONE, | |
1873 | BITFIELD(53, 1) /* index 1133 */, | |
1874 | TILE_OPC_SHRIB, TILE_OPC_NONE, | |
1875 | BITFIELD(53, 1) /* index 1136 */, | |
1876 | TILE_OPC_SHRIH, TILE_OPC_NONE, | |
1877 | BITFIELD(53, 1) /* index 1139 */, | |
1878 | TILE_OPC_SHRI, TILE_OPC_NONE, | |
1879 | BITFIELD(53, 1) /* index 1142 */, | |
1880 | TILE_OPC_SRAIB, TILE_OPC_NONE, | |
1881 | BITFIELD(53, 1) /* index 1145 */, | |
1882 | TILE_OPC_SRAIH, TILE_OPC_NONE, | |
1883 | BITFIELD(53, 1) /* index 1148 */, | |
1884 | TILE_OPC_SRAI, TILE_OPC_NONE, | |
1885 | BITFIELD(43, 3) /* index 1151 */, | |
1886 | TILE_OPC_NONE, CHILD(1160), CHILD(1163), CHILD(1166), CHILD(1169), | |
1887 | CHILD(1172), CHILD(1175), CHILD(1178), | |
1888 | BITFIELD(53, 1) /* index 1160 */, | |
1889 | TILE_OPC_DRAIN, TILE_OPC_NONE, | |
1890 | BITFIELD(53, 1) /* index 1163 */, | |
1891 | TILE_OPC_DTLBPR, TILE_OPC_NONE, | |
1892 | BITFIELD(53, 1) /* index 1166 */, | |
1893 | TILE_OPC_FINV, TILE_OPC_NONE, | |
1894 | BITFIELD(53, 1) /* index 1169 */, | |
1895 | TILE_OPC_FLUSH, TILE_OPC_NONE, | |
1896 | BITFIELD(53, 1) /* index 1172 */, | |
1897 | TILE_OPC_FNOP, TILE_OPC_NONE, | |
1898 | BITFIELD(53, 1) /* index 1175 */, | |
1899 | TILE_OPC_ICOH, TILE_OPC_NONE, | |
863fbac6 CM |
1900 | BITFIELD(31, 2) /* index 1178 */, |
1901 | CHILD(1183), CHILD(1211), CHILD(1239), CHILD(1239), | |
1902 | BITFIELD(53, 1) /* index 1183 */, | |
1903 | CHILD(1186), TILE_OPC_NONE, | |
867e359b CM |
1904 | BITFIELD(33, 2) /* index 1186 */, |
1905 | TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_ILL, CHILD(1191), | |
1906 | BITFIELD(35, 2) /* index 1191 */, | |
1907 | TILE_OPC_ILL, CHILD(1196), TILE_OPC_ILL, TILE_OPC_ILL, | |
1908 | BITFIELD(37, 2) /* index 1196 */, | |
1909 | TILE_OPC_ILL, CHILD(1201), TILE_OPC_ILL, TILE_OPC_ILL, | |
1910 | BITFIELD(39, 2) /* index 1201 */, | |
1911 | TILE_OPC_ILL, CHILD(1206), TILE_OPC_ILL, TILE_OPC_ILL, | |
1912 | BITFIELD(41, 2) /* index 1206 */, | |
1913 | TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_BPT, TILE_OPC_ILL, | |
863fbac6 CM |
1914 | BITFIELD(53, 1) /* index 1211 */, |
1915 | CHILD(1214), TILE_OPC_NONE, | |
1916 | BITFIELD(33, 2) /* index 1214 */, | |
1917 | TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_ILL, CHILD(1219), | |
1918 | BITFIELD(35, 2) /* index 1219 */, | |
1919 | TILE_OPC_ILL, CHILD(1224), TILE_OPC_ILL, TILE_OPC_ILL, | |
1920 | BITFIELD(37, 2) /* index 1224 */, | |
1921 | TILE_OPC_ILL, CHILD(1229), TILE_OPC_ILL, TILE_OPC_ILL, | |
1922 | BITFIELD(39, 2) /* index 1229 */, | |
1923 | TILE_OPC_ILL, CHILD(1234), TILE_OPC_ILL, TILE_OPC_ILL, | |
1924 | BITFIELD(41, 2) /* index 1234 */, | |
1925 | TILE_OPC_ILL, TILE_OPC_ILL, TILE_OPC_RAISE, TILE_OPC_ILL, | |
1926 | BITFIELD(53, 1) /* index 1239 */, | |
1927 | TILE_OPC_ILL, TILE_OPC_NONE, | |
1928 | BITFIELD(43, 3) /* index 1242 */, | |
1929 | CHILD(1251), CHILD(1254), CHILD(1257), CHILD(1275), CHILD(1278), | |
1930 | CHILD(1281), CHILD(1284), CHILD(1287), | |
1931 | BITFIELD(53, 1) /* index 1251 */, | |
867e359b | 1932 | TILE_OPC_INV, TILE_OPC_NONE, |
863fbac6 | 1933 | BITFIELD(53, 1) /* index 1254 */, |
867e359b | 1934 | TILE_OPC_IRET, TILE_OPC_NONE, |
863fbac6 CM |
1935 | BITFIELD(53, 1) /* index 1257 */, |
1936 | CHILD(1260), TILE_OPC_NONE, | |
1937 | BITFIELD(31, 2) /* index 1260 */, | |
1938 | TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(1265), | |
1939 | BITFIELD(33, 2) /* index 1265 */, | |
1940 | TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(1270), | |
1941 | BITFIELD(35, 2) /* index 1270 */, | |
867e359b | 1942 | TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_PREFETCH, |
863fbac6 | 1943 | BITFIELD(53, 1) /* index 1275 */, |
867e359b | 1944 | TILE_OPC_LB_U, TILE_OPC_NONE, |
863fbac6 | 1945 | BITFIELD(53, 1) /* index 1278 */, |
867e359b | 1946 | TILE_OPC_LH, TILE_OPC_NONE, |
863fbac6 | 1947 | BITFIELD(53, 1) /* index 1281 */, |
867e359b | 1948 | TILE_OPC_LH_U, TILE_OPC_NONE, |
863fbac6 | 1949 | BITFIELD(53, 1) /* index 1284 */, |
867e359b | 1950 | TILE_OPC_LW, TILE_OPC_NONE, |
863fbac6 | 1951 | BITFIELD(53, 1) /* index 1287 */, |
867e359b | 1952 | TILE_OPC_MF, TILE_OPC_NONE, |
863fbac6 CM |
1953 | BITFIELD(43, 3) /* index 1290 */, |
1954 | CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311), | |
1955 | CHILD(1314), CHILD(1317), CHILD(1320), | |
1956 | BITFIELD(53, 1) /* index 1299 */, | |
867e359b | 1957 | TILE_OPC_NAP, TILE_OPC_NONE, |
863fbac6 | 1958 | BITFIELD(53, 1) /* index 1302 */, |
867e359b | 1959 | TILE_OPC_NOP, TILE_OPC_NONE, |
863fbac6 | 1960 | BITFIELD(53, 1) /* index 1305 */, |
867e359b | 1961 | TILE_OPC_SWINT0, TILE_OPC_NONE, |
863fbac6 | 1962 | BITFIELD(53, 1) /* index 1308 */, |
867e359b | 1963 | TILE_OPC_SWINT1, TILE_OPC_NONE, |
863fbac6 | 1964 | BITFIELD(53, 1) /* index 1311 */, |
867e359b | 1965 | TILE_OPC_SWINT2, TILE_OPC_NONE, |
863fbac6 | 1966 | BITFIELD(53, 1) /* index 1314 */, |
867e359b | 1967 | TILE_OPC_SWINT3, TILE_OPC_NONE, |
863fbac6 | 1968 | BITFIELD(53, 1) /* index 1317 */, |
867e359b | 1969 | TILE_OPC_TNS, TILE_OPC_NONE, |
863fbac6 | 1970 | BITFIELD(53, 1) /* index 1320 */, |
867e359b | 1971 | TILE_OPC_WH64, TILE_OPC_NONE, |
863fbac6 CM |
1972 | BITFIELD(43, 2) /* index 1323 */, |
1973 | CHILD(1328), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1974 | BITFIELD(45, 1) /* index 1328 */, | |
1975 | CHILD(1331), TILE_OPC_NONE, | |
1976 | BITFIELD(53, 1) /* index 1331 */, | |
867e359b | 1977 | TILE_OPC_LW_NA, TILE_OPC_NONE, |
863fbac6 CM |
1978 | BITFIELD(46, 7) /* index 1334 */, |
1979 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, CHILD(1463), | |
1980 | CHILD(1463), CHILD(1463), CHILD(1463), CHILD(1466), CHILD(1466), | |
1981 | CHILD(1466), CHILD(1466), CHILD(1469), CHILD(1469), CHILD(1469), | |
1982 | CHILD(1469), CHILD(1472), CHILD(1472), CHILD(1472), CHILD(1472), | |
1983 | CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1475), CHILD(1478), | |
1984 | CHILD(1478), CHILD(1478), CHILD(1478), CHILD(1481), CHILD(1481), | |
1985 | CHILD(1481), CHILD(1481), CHILD(1484), CHILD(1484), CHILD(1484), | |
1986 | CHILD(1484), CHILD(1487), CHILD(1487), CHILD(1487), CHILD(1487), | |
1987 | CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1490), CHILD(1151), | |
1988 | CHILD(1493), CHILD(1517), CHILD(1529), TILE_OPC_NONE, TILE_OPC_NONE, | |
867e359b CM |
1989 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, |
1990 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1991 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1992 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1993 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1994 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1995 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1996 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1997 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1998 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
1999 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2000 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2001 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2002 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2003 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2004 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
863fbac6 | 2005 | BITFIELD(53, 1) /* index 1463 */, |
867e359b | 2006 | TILE_OPC_RLI_SN, TILE_OPC_NONE, |
863fbac6 | 2007 | BITFIELD(53, 1) /* index 1466 */, |
867e359b | 2008 | TILE_OPC_SHLIB_SN, TILE_OPC_NONE, |
863fbac6 | 2009 | BITFIELD(53, 1) /* index 1469 */, |
867e359b | 2010 | TILE_OPC_SHLIH_SN, TILE_OPC_NONE, |
863fbac6 | 2011 | BITFIELD(53, 1) /* index 1472 */, |
867e359b | 2012 | TILE_OPC_SHLI_SN, TILE_OPC_NONE, |
863fbac6 | 2013 | BITFIELD(53, 1) /* index 1475 */, |
867e359b | 2014 | TILE_OPC_SHRIB_SN, TILE_OPC_NONE, |
863fbac6 | 2015 | BITFIELD(53, 1) /* index 1478 */, |
867e359b | 2016 | TILE_OPC_SHRIH_SN, TILE_OPC_NONE, |
863fbac6 | 2017 | BITFIELD(53, 1) /* index 1481 */, |
867e359b | 2018 | TILE_OPC_SHRI_SN, TILE_OPC_NONE, |
863fbac6 | 2019 | BITFIELD(53, 1) /* index 1484 */, |
867e359b | 2020 | TILE_OPC_SRAIB_SN, TILE_OPC_NONE, |
863fbac6 | 2021 | BITFIELD(53, 1) /* index 1487 */, |
867e359b | 2022 | TILE_OPC_SRAIH_SN, TILE_OPC_NONE, |
863fbac6 | 2023 | BITFIELD(53, 1) /* index 1490 */, |
867e359b | 2024 | TILE_OPC_SRAI_SN, TILE_OPC_NONE, |
863fbac6 CM |
2025 | BITFIELD(43, 3) /* index 1493 */, |
2026 | CHILD(1251), CHILD(1254), CHILD(1502), CHILD(1505), CHILD(1508), | |
2027 | CHILD(1511), CHILD(1514), CHILD(1287), | |
2028 | BITFIELD(53, 1) /* index 1502 */, | |
867e359b | 2029 | TILE_OPC_LB_SN, TILE_OPC_NONE, |
863fbac6 | 2030 | BITFIELD(53, 1) /* index 1505 */, |
867e359b | 2031 | TILE_OPC_LB_U_SN, TILE_OPC_NONE, |
863fbac6 | 2032 | BITFIELD(53, 1) /* index 1508 */, |
867e359b | 2033 | TILE_OPC_LH_SN, TILE_OPC_NONE, |
863fbac6 | 2034 | BITFIELD(53, 1) /* index 1511 */, |
867e359b | 2035 | TILE_OPC_LH_U_SN, TILE_OPC_NONE, |
863fbac6 | 2036 | BITFIELD(53, 1) /* index 1514 */, |
867e359b | 2037 | TILE_OPC_LW_SN, TILE_OPC_NONE, |
863fbac6 CM |
2038 | BITFIELD(43, 3) /* index 1517 */, |
2039 | CHILD(1299), CHILD(1302), CHILD(1305), CHILD(1308), CHILD(1311), | |
2040 | CHILD(1314), CHILD(1526), CHILD(1320), | |
2041 | BITFIELD(53, 1) /* index 1526 */, | |
867e359b | 2042 | TILE_OPC_TNS_SN, TILE_OPC_NONE, |
863fbac6 CM |
2043 | BITFIELD(43, 2) /* index 1529 */, |
2044 | CHILD(1534), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2045 | BITFIELD(45, 1) /* index 1534 */, | |
2046 | CHILD(1537), TILE_OPC_NONE, | |
2047 | BITFIELD(53, 1) /* index 1537 */, | |
867e359b CM |
2048 | TILE_OPC_LW_NA_SN, TILE_OPC_NONE, |
2049 | }; | |
2050 | ||
2051 | static const unsigned short decode_Y0_fsm[168] = | |
2052 | { | |
2053 | BITFIELD(27, 4) /* index 0 */, | |
2054 | TILE_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52), | |
2055 | CHILD(57), CHILD(62), CHILD(67), TILE_OPC_ADDI, CHILD(72), CHILD(102), | |
2056 | TILE_OPC_SEQI, CHILD(117), TILE_OPC_SLTI, TILE_OPC_SLTI_U, | |
2057 | BITFIELD(18, 2) /* index 17 */, | |
2058 | TILE_OPC_ADD, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_SUB, | |
2059 | BITFIELD(18, 2) /* index 22 */, | |
2060 | TILE_OPC_MNZ, TILE_OPC_MVNZ, TILE_OPC_MVZ, TILE_OPC_MZ, | |
2061 | BITFIELD(18, 2) /* index 27 */, | |
2062 | TILE_OPC_AND, TILE_OPC_NOR, CHILD(32), TILE_OPC_XOR, | |
2063 | BITFIELD(12, 2) /* index 32 */, | |
2064 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(37), | |
2065 | BITFIELD(14, 2) /* index 37 */, | |
2066 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(42), | |
2067 | BITFIELD(16, 2) /* index 42 */, | |
2068 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE, | |
2069 | BITFIELD(18, 2) /* index 47 */, | |
2070 | TILE_OPC_RL, TILE_OPC_SHL, TILE_OPC_SHR, TILE_OPC_SRA, | |
2071 | BITFIELD(18, 2) /* index 52 */, | |
2072 | TILE_OPC_SLTE, TILE_OPC_SLTE_U, TILE_OPC_SLT, TILE_OPC_SLT_U, | |
2073 | BITFIELD(18, 2) /* index 57 */, | |
2074 | TILE_OPC_MULHLSA_UU, TILE_OPC_S3A, TILE_OPC_SEQ, TILE_OPC_SNE, | |
2075 | BITFIELD(18, 2) /* index 62 */, | |
2076 | TILE_OPC_MULHH_SS, TILE_OPC_MULHH_UU, TILE_OPC_MULLL_SS, TILE_OPC_MULLL_UU, | |
2077 | BITFIELD(18, 2) /* index 67 */, | |
2078 | TILE_OPC_MULHHA_SS, TILE_OPC_MULHHA_UU, TILE_OPC_MULLLA_SS, | |
2079 | TILE_OPC_MULLLA_UU, | |
2080 | BITFIELD(0, 2) /* index 72 */, | |
2081 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(77), | |
2082 | BITFIELD(2, 2) /* index 77 */, | |
2083 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(82), | |
2084 | BITFIELD(4, 2) /* index 82 */, | |
2085 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(87), | |
2086 | BITFIELD(6, 2) /* index 87 */, | |
2087 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(92), | |
2088 | BITFIELD(8, 2) /* index 92 */, | |
2089 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(97), | |
2090 | BITFIELD(10, 2) /* index 97 */, | |
2091 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO, | |
2092 | BITFIELD(6, 2) /* index 102 */, | |
2093 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(107), | |
2094 | BITFIELD(8, 2) /* index 107 */, | |
2095 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(112), | |
2096 | BITFIELD(10, 2) /* index 112 */, | |
2097 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI, | |
2098 | BITFIELD(15, 5) /* index 117 */, | |
2099 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_RLI, | |
2100 | TILE_OPC_RLI, TILE_OPC_RLI, TILE_OPC_RLI, TILE_OPC_SHLI, TILE_OPC_SHLI, | |
2101 | TILE_OPC_SHLI, TILE_OPC_SHLI, TILE_OPC_SHRI, TILE_OPC_SHRI, TILE_OPC_SHRI, | |
2102 | TILE_OPC_SHRI, TILE_OPC_SRAI, TILE_OPC_SRAI, TILE_OPC_SRAI, TILE_OPC_SRAI, | |
2103 | CHILD(150), CHILD(159), TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2104 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2105 | TILE_OPC_NONE, TILE_OPC_NONE, | |
2106 | BITFIELD(12, 3) /* index 150 */, | |
2107 | TILE_OPC_NONE, TILE_OPC_BITX, TILE_OPC_BYTEX, TILE_OPC_CLZ, TILE_OPC_CTZ, | |
2108 | TILE_OPC_FNOP, TILE_OPC_NOP, TILE_OPC_PCNT, | |
2109 | BITFIELD(12, 3) /* index 159 */, | |
2110 | TILE_OPC_TBLIDXB0, TILE_OPC_TBLIDXB1, TILE_OPC_TBLIDXB2, TILE_OPC_TBLIDXB3, | |
2111 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2112 | }; | |
2113 | ||
2114 | static const unsigned short decode_Y1_fsm[140] = | |
2115 | { | |
2116 | BITFIELD(59, 4) /* index 0 */, | |
2117 | TILE_OPC_NONE, CHILD(17), CHILD(22), CHILD(27), CHILD(47), CHILD(52), | |
2118 | CHILD(57), TILE_OPC_ADDI, CHILD(62), CHILD(92), TILE_OPC_SEQI, CHILD(107), | |
2119 | TILE_OPC_SLTI, TILE_OPC_SLTI_U, TILE_OPC_NONE, TILE_OPC_NONE, | |
2120 | BITFIELD(49, 2) /* index 17 */, | |
2121 | TILE_OPC_ADD, TILE_OPC_S1A, TILE_OPC_S2A, TILE_OPC_SUB, | |
2122 | BITFIELD(49, 2) /* index 22 */, | |
2123 | TILE_OPC_NONE, TILE_OPC_MNZ, TILE_OPC_MZ, TILE_OPC_NONE, | |
2124 | BITFIELD(49, 2) /* index 27 */, | |
2125 | TILE_OPC_AND, TILE_OPC_NOR, CHILD(32), TILE_OPC_XOR, | |
2126 | BITFIELD(43, 2) /* index 32 */, | |
2127 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(37), | |
2128 | BITFIELD(45, 2) /* index 37 */, | |
2129 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, CHILD(42), | |
2130 | BITFIELD(47, 2) /* index 42 */, | |
2131 | TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_OR, TILE_OPC_MOVE, | |
2132 | BITFIELD(49, 2) /* index 47 */, | |
2133 | TILE_OPC_RL, TILE_OPC_SHL, TILE_OPC_SHR, TILE_OPC_SRA, | |
2134 | BITFIELD(49, 2) /* index 52 */, | |
2135 | TILE_OPC_SLTE, TILE_OPC_SLTE_U, TILE_OPC_SLT, TILE_OPC_SLT_U, | |
2136 | BITFIELD(49, 2) /* index 57 */, | |
2137 | TILE_OPC_NONE, TILE_OPC_S3A, TILE_OPC_SEQ, TILE_OPC_SNE, | |
2138 | BITFIELD(31, 2) /* index 62 */, | |
2139 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(67), | |
2140 | BITFIELD(33, 2) /* index 67 */, | |
2141 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(72), | |
2142 | BITFIELD(35, 2) /* index 72 */, | |
2143 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(77), | |
2144 | BITFIELD(37, 2) /* index 77 */, | |
2145 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(82), | |
2146 | BITFIELD(39, 2) /* index 82 */, | |
2147 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, CHILD(87), | |
2148 | BITFIELD(41, 2) /* index 87 */, | |
2149 | TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_ANDI, TILE_OPC_INFO, | |
2150 | BITFIELD(37, 2) /* index 92 */, | |
2151 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(97), | |
2152 | BITFIELD(39, 2) /* index 97 */, | |
2153 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, CHILD(102), | |
2154 | BITFIELD(41, 2) /* index 102 */, | |
2155 | TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_ORI, TILE_OPC_MOVEI, | |
2156 | BITFIELD(48, 3) /* index 107 */, | |
2157 | TILE_OPC_NONE, TILE_OPC_RLI, TILE_OPC_SHLI, TILE_OPC_SHRI, TILE_OPC_SRAI, | |
2158 | CHILD(116), TILE_OPC_NONE, TILE_OPC_NONE, | |
2159 | BITFIELD(43, 3) /* index 116 */, | |
2160 | TILE_OPC_NONE, CHILD(125), CHILD(130), CHILD(135), TILE_OPC_NONE, | |
2161 | TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2162 | BITFIELD(46, 2) /* index 125 */, | |
2163 | TILE_OPC_FNOP, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2164 | BITFIELD(46, 2) /* index 130 */, | |
2165 | TILE_OPC_ILL, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2166 | BITFIELD(46, 2) /* index 135 */, | |
2167 | TILE_OPC_NOP, TILE_OPC_NONE, TILE_OPC_NONE, TILE_OPC_NONE, | |
2168 | }; | |
2169 | ||
2170 | static const unsigned short decode_Y2_fsm[24] = | |
2171 | { | |
2172 | BITFIELD(56, 3) /* index 0 */, | |
2173 | CHILD(9), TILE_OPC_LB_U, TILE_OPC_LH, TILE_OPC_LH_U, TILE_OPC_LW, | |
2174 | TILE_OPC_SB, TILE_OPC_SH, TILE_OPC_SW, | |
2175 | BITFIELD(20, 2) /* index 9 */, | |
2176 | TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(14), | |
2177 | BITFIELD(22, 2) /* index 14 */, | |
2178 | TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, CHILD(19), | |
2179 | BITFIELD(24, 2) /* index 19 */, | |
2180 | TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_LB, TILE_OPC_PREFETCH, | |
2181 | }; | |
2182 | ||
2183 | #undef BITFIELD | |
2184 | #undef CHILD | |
2185 | const unsigned short * const | |
2186 | tile_bundle_decoder_fsms[TILE_NUM_PIPELINE_ENCODINGS] = | |
2187 | { | |
2188 | decode_X0_fsm, | |
2189 | decode_X1_fsm, | |
2190 | decode_Y0_fsm, | |
2191 | decode_Y1_fsm, | |
2192 | decode_Y2_fsm | |
2193 | }; | |
867e359b CM |
2194 | const struct tile_operand tile_operands[43] = |
2195 | { | |
2196 | { | |
863fbac6 CM |
2197 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_X0), |
2198 | 8, 1, 0, 0, 0, 0, | |
2199 | create_Imm8_X0, get_Imm8_X0 | |
867e359b CM |
2200 | }, |
2201 | { | |
863fbac6 CM |
2202 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_X1), |
2203 | 8, 1, 0, 0, 0, 0, | |
2204 | create_Imm8_X1, get_Imm8_X1 | |
867e359b CM |
2205 | }, |
2206 | { | |
863fbac6 CM |
2207 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_Y0), |
2208 | 8, 1, 0, 0, 0, 0, | |
2209 | create_Imm8_Y0, get_Imm8_Y0 | |
867e359b CM |
2210 | }, |
2211 | { | |
863fbac6 CM |
2212 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM8_Y1), |
2213 | 8, 1, 0, 0, 0, 0, | |
2214 | create_Imm8_Y1, get_Imm8_Y1 | |
867e359b CM |
2215 | }, |
2216 | { | |
863fbac6 CM |
2217 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM16_X0), |
2218 | 16, 1, 0, 0, 0, 0, | |
2219 | create_Imm16_X0, get_Imm16_X0 | |
867e359b CM |
2220 | }, |
2221 | { | |
863fbac6 CM |
2222 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_IMM16_X1), |
2223 | 16, 1, 0, 0, 0, 0, | |
2224 | create_Imm16_X1, get_Imm16_X1 | |
867e359b CM |
2225 | }, |
2226 | { | |
863fbac6 CM |
2227 | TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_JOFFLONG_X1), |
2228 | 29, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, | |
2229 | create_JOffLong_X1, get_JOffLong_X1 | |
867e359b CM |
2230 | }, |
2231 | { | |
863fbac6 CM |
2232 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2233 | 6, 0, 0, 1, 0, 0, | |
2234 | create_Dest_X0, get_Dest_X0 | |
867e359b CM |
2235 | }, |
2236 | { | |
863fbac6 CM |
2237 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2238 | 6, 0, 1, 0, 0, 0, | |
2239 | create_SrcA_X0, get_SrcA_X0 | |
867e359b CM |
2240 | }, |
2241 | { | |
863fbac6 CM |
2242 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2243 | 6, 0, 0, 1, 0, 0, | |
2244 | create_Dest_X1, get_Dest_X1 | |
867e359b CM |
2245 | }, |
2246 | { | |
863fbac6 CM |
2247 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2248 | 6, 0, 1, 0, 0, 0, | |
2249 | create_SrcA_X1, get_SrcA_X1 | |
867e359b CM |
2250 | }, |
2251 | { | |
863fbac6 CM |
2252 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2253 | 6, 0, 0, 1, 0, 0, | |
2254 | create_Dest_Y0, get_Dest_Y0 | |
867e359b CM |
2255 | }, |
2256 | { | |
863fbac6 CM |
2257 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2258 | 6, 0, 1, 0, 0, 0, | |
2259 | create_SrcA_Y0, get_SrcA_Y0 | |
867e359b CM |
2260 | }, |
2261 | { | |
863fbac6 CM |
2262 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2263 | 6, 0, 0, 1, 0, 0, | |
2264 | create_Dest_Y1, get_Dest_Y1 | |
867e359b CM |
2265 | }, |
2266 | { | |
863fbac6 CM |
2267 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2268 | 6, 0, 1, 0, 0, 0, | |
2269 | create_SrcA_Y1, get_SrcA_Y1 | |
867e359b CM |
2270 | }, |
2271 | { | |
863fbac6 CM |
2272 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2273 | 6, 0, 1, 0, 0, 0, | |
2274 | create_SrcA_Y2, get_SrcA_Y2 | |
867e359b CM |
2275 | }, |
2276 | { | |
863fbac6 CM |
2277 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2278 | 6, 0, 1, 0, 0, 0, | |
2279 | create_SrcB_X0, get_SrcB_X0 | |
867e359b CM |
2280 | }, |
2281 | { | |
863fbac6 CM |
2282 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2283 | 6, 0, 1, 0, 0, 0, | |
2284 | create_SrcB_X1, get_SrcB_X1 | |
867e359b CM |
2285 | }, |
2286 | { | |
863fbac6 CM |
2287 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2288 | 6, 0, 1, 0, 0, 0, | |
2289 | create_SrcB_Y0, get_SrcB_Y0 | |
867e359b CM |
2290 | }, |
2291 | { | |
863fbac6 CM |
2292 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2293 | 6, 0, 1, 0, 0, 0, | |
2294 | create_SrcB_Y1, get_SrcB_Y1 | |
867e359b CM |
2295 | }, |
2296 | { | |
863fbac6 CM |
2297 | TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_BROFF_X1), |
2298 | 17, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, | |
2299 | create_BrOff_X1, get_BrOff_X1 | |
867e359b CM |
2300 | }, |
2301 | { | |
863fbac6 CM |
2302 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2303 | 6, 0, 1, 1, 0, 0, | |
2304 | create_Dest_X0, get_Dest_X0 | |
867e359b CM |
2305 | }, |
2306 | { | |
863fbac6 CM |
2307 | TILE_OP_TYPE_ADDRESS, BFD_RELOC(NONE), |
2308 | 28, 1, 0, 0, 1, TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, | |
2309 | create_JOff_X1, get_JOff_X1 | |
867e359b CM |
2310 | }, |
2311 | { | |
863fbac6 CM |
2312 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2313 | 6, 0, 0, 1, 0, 0, | |
2314 | create_SrcBDest_Y2, get_SrcBDest_Y2 | |
867e359b CM |
2315 | }, |
2316 | { | |
863fbac6 CM |
2317 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2318 | 6, 0, 1, 1, 0, 0, | |
2319 | create_SrcA_X1, get_SrcA_X1 | |
867e359b CM |
2320 | }, |
2321 | { | |
863fbac6 CM |
2322 | TILE_OP_TYPE_SPR, BFD_RELOC(TILE_MF_IMM15_X1), |
2323 | 15, 0, 0, 0, 0, 0, | |
2324 | create_MF_Imm15_X1, get_MF_Imm15_X1 | |
867e359b CM |
2325 | }, |
2326 | { | |
863fbac6 CM |
2327 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMSTART_X0), |
2328 | 5, 0, 0, 0, 0, 0, | |
2329 | create_MMStart_X0, get_MMStart_X0 | |
867e359b CM |
2330 | }, |
2331 | { | |
863fbac6 CM |
2332 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMEND_X0), |
2333 | 5, 0, 0, 0, 0, 0, | |
2334 | create_MMEnd_X0, get_MMEnd_X0 | |
867e359b CM |
2335 | }, |
2336 | { | |
863fbac6 CM |
2337 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMSTART_X1), |
2338 | 5, 0, 0, 0, 0, 0, | |
2339 | create_MMStart_X1, get_MMStart_X1 | |
867e359b CM |
2340 | }, |
2341 | { | |
863fbac6 CM |
2342 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_MMEND_X1), |
2343 | 5, 0, 0, 0, 0, 0, | |
2344 | create_MMEnd_X1, get_MMEnd_X1 | |
867e359b CM |
2345 | }, |
2346 | { | |
863fbac6 CM |
2347 | TILE_OP_TYPE_SPR, BFD_RELOC(TILE_MT_IMM15_X1), |
2348 | 15, 0, 0, 0, 0, 0, | |
2349 | create_MT_Imm15_X1, get_MT_Imm15_X1 | |
867e359b CM |
2350 | }, |
2351 | { | |
863fbac6 CM |
2352 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2353 | 6, 0, 1, 1, 0, 0, | |
2354 | create_Dest_Y0, get_Dest_Y0 | |
867e359b CM |
2355 | }, |
2356 | { | |
863fbac6 CM |
2357 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_X0), |
2358 | 5, 0, 0, 0, 0, 0, | |
2359 | create_ShAmt_X0, get_ShAmt_X0 | |
867e359b CM |
2360 | }, |
2361 | { | |
863fbac6 CM |
2362 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_X1), |
2363 | 5, 0, 0, 0, 0, 0, | |
2364 | create_ShAmt_X1, get_ShAmt_X1 | |
867e359b CM |
2365 | }, |
2366 | { | |
863fbac6 CM |
2367 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_Y0), |
2368 | 5, 0, 0, 0, 0, 0, | |
2369 | create_ShAmt_Y0, get_ShAmt_Y0 | |
867e359b CM |
2370 | }, |
2371 | { | |
863fbac6 CM |
2372 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SHAMT_Y1), |
2373 | 5, 0, 0, 0, 0, 0, | |
2374 | create_ShAmt_Y1, get_ShAmt_Y1 | |
867e359b CM |
2375 | }, |
2376 | { | |
863fbac6 CM |
2377 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2378 | 6, 0, 1, 0, 0, 0, | |
2379 | create_SrcBDest_Y2, get_SrcBDest_Y2 | |
867e359b CM |
2380 | }, |
2381 | { | |
863fbac6 CM |
2382 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(NONE), |
2383 | 8, 1, 0, 0, 0, 0, | |
2384 | create_Dest_Imm8_X1, get_Dest_Imm8_X1 | |
867e359b CM |
2385 | }, |
2386 | { | |
863fbac6 CM |
2387 | TILE_OP_TYPE_ADDRESS, BFD_RELOC(TILE_SN_BROFF), |
2388 | 10, 1, 0, 0, 1, TILE_LOG2_SN_INSTRUCTION_SIZE_IN_BYTES, | |
2389 | create_BrOff_SN, get_BrOff_SN | |
867e359b CM |
2390 | }, |
2391 | { | |
863fbac6 CM |
2392 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SN_UIMM8), |
2393 | 8, 0, 0, 0, 0, 0, | |
2394 | create_Imm8_SN, get_Imm8_SN | |
867e359b CM |
2395 | }, |
2396 | { | |
863fbac6 CM |
2397 | TILE_OP_TYPE_IMMEDIATE, BFD_RELOC(TILE_SN_IMM8), |
2398 | 8, 1, 0, 0, 0, 0, | |
2399 | create_Imm8_SN, get_Imm8_SN | |
867e359b CM |
2400 | }, |
2401 | { | |
863fbac6 CM |
2402 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2403 | 2, 0, 0, 1, 0, 0, | |
2404 | create_Dest_SN, get_Dest_SN | |
867e359b CM |
2405 | }, |
2406 | { | |
863fbac6 CM |
2407 | TILE_OP_TYPE_REGISTER, BFD_RELOC(NONE), |
2408 | 2, 0, 1, 0, 0, 0, | |
2409 | create_Src_SN, get_Src_SN | |
867e359b CM |
2410 | } |
2411 | }; | |
2412 | ||
867e359b | 2413 | |
867e359b CM |
2414 | |
2415 | ||
93013a0f CM |
2416 | /* Given a set of bundle bits and a specific pipe, returns which |
2417 | * instruction the bundle contains in that pipe. | |
867e359b | 2418 | */ |
93013a0f CM |
2419 | const struct tile_opcode * |
2420 | find_opcode(tile_bundle_bits bits, tile_pipeline pipe) | |
867e359b | 2421 | { |
93013a0f | 2422 | const unsigned short *table = tile_bundle_decoder_fsms[pipe]; |
867e359b CM |
2423 | int index = 0; |
2424 | ||
2425 | while (1) | |
2426 | { | |
2427 | unsigned short bitspec = table[index]; | |
2428 | unsigned int bitfield = | |
2429 | ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6); | |
2430 | ||
2431 | unsigned short next = table[index + 1 + bitfield]; | |
2432 | if (next <= TILE_OPC_NONE) | |
2433 | return &tile_opcodes[next]; | |
2434 | ||
2435 | index = next - TILE_OPC_NONE; | |
2436 | } | |
2437 | } | |
2438 | ||
2439 | ||
2440 | int | |
2441 | parse_insn_tile(tile_bundle_bits bits, | |
2442 | unsigned int pc, | |
2443 | struct tile_decoded_instruction | |
2444 | decoded[TILE_MAX_INSTRUCTIONS_PER_BUNDLE]) | |
2445 | { | |
2446 | int num_instructions = 0; | |
2447 | int pipe; | |
2448 | ||
2449 | int min_pipe, max_pipe; | |
2450 | if ((bits & TILE_BUNDLE_Y_ENCODING_MASK) == 0) | |
2451 | { | |
2452 | min_pipe = TILE_PIPELINE_X0; | |
2453 | max_pipe = TILE_PIPELINE_X1; | |
2454 | } | |
2455 | else | |
2456 | { | |
2457 | min_pipe = TILE_PIPELINE_Y0; | |
2458 | max_pipe = TILE_PIPELINE_Y2; | |
2459 | } | |
2460 | ||
2461 | /* For each pipe, find an instruction that fits. */ | |
2462 | for (pipe = min_pipe; pipe <= max_pipe; pipe++) | |
2463 | { | |
2464 | const struct tile_opcode *opc; | |
2465 | struct tile_decoded_instruction *d; | |
2466 | int i; | |
2467 | ||
2468 | d = &decoded[num_instructions++]; | |
93013a0f | 2469 | opc = find_opcode (bits, (tile_pipeline)pipe); |
867e359b CM |
2470 | d->opcode = opc; |
2471 | ||
2472 | /* Decode each operand, sign extending, etc. as appropriate. */ | |
2473 | for (i = 0; i < opc->num_operands; i++) | |
2474 | { | |
2475 | const struct tile_operand *op = | |
2476 | &tile_operands[opc->operands[pipe][i]]; | |
2477 | int opval = op->extract (bits); | |
2478 | if (op->is_signed) | |
2479 | { | |
2480 | /* Sign-extend the operand. */ | |
2481 | int shift = (int)((sizeof(int) * 8) - op->num_bits); | |
2482 | opval = (opval << shift) >> shift; | |
2483 | } | |
2484 | ||
2485 | /* Adjust PC-relative scaled branch offsets. */ | |
2486 | if (op->type == TILE_OP_TYPE_ADDRESS) | |
2487 | { | |
2488 | opval *= TILE_BUNDLE_SIZE_IN_BYTES; | |
2489 | opval += (int)pc; | |
2490 | } | |
2491 | ||
2492 | /* Record the final value. */ | |
2493 | d->operands[i] = op; | |
2494 | d->operand_values[i] = opval; | |
2495 | } | |
2496 | } | |
2497 | ||
2498 | return num_instructions; | |
2499 | } |