Line data Source code
1 : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2 : |* *|
3 : |* Machine Code Emitter *|
4 : |* *|
5 : |* Automatically generated file, do not edit! *|
6 : |* *|
7 : \*===----------------------------------------------------------------------===*/
8 :
9 : // Undef for HURD
10 : #ifdef EIEIO
11 : #undef EIEIO
12 : #endif
13 0 : uint64_t SparcMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
14 : SmallVectorImpl<MCFixup> &Fixups,
15 : const MCSubtargetInfo &STI) const {
16 : static const uint64_t InstBits[] = {
17 : UINT64_C(0),
18 : UINT64_C(0),
19 : UINT64_C(0),
20 : UINT64_C(0),
21 : UINT64_C(0),
22 : UINT64_C(0),
23 : UINT64_C(0),
24 : UINT64_C(0),
25 : UINT64_C(0),
26 : UINT64_C(0),
27 : UINT64_C(0),
28 : UINT64_C(0),
29 : UINT64_C(0),
30 : UINT64_C(0),
31 : UINT64_C(0),
32 : UINT64_C(0),
33 : UINT64_C(0),
34 : UINT64_C(0),
35 : UINT64_C(0),
36 : UINT64_C(0),
37 : UINT64_C(0),
38 : UINT64_C(0),
39 : UINT64_C(0),
40 : UINT64_C(0),
41 : UINT64_C(0),
42 : UINT64_C(0),
43 : UINT64_C(0),
44 : UINT64_C(0),
45 : UINT64_C(0),
46 : UINT64_C(0),
47 : UINT64_C(0),
48 : UINT64_C(0),
49 : UINT64_C(0),
50 : UINT64_C(0),
51 : UINT64_C(0),
52 : UINT64_C(0),
53 : UINT64_C(0),
54 : UINT64_C(0),
55 : UINT64_C(0),
56 : UINT64_C(0),
57 : UINT64_C(0),
58 : UINT64_C(0),
59 : UINT64_C(0),
60 : UINT64_C(0),
61 : UINT64_C(0),
62 : UINT64_C(0),
63 : UINT64_C(0),
64 : UINT64_C(0),
65 : UINT64_C(0),
66 : UINT64_C(0),
67 : UINT64_C(0),
68 : UINT64_C(0),
69 : UINT64_C(0),
70 : UINT64_C(0),
71 : UINT64_C(0),
72 : UINT64_C(0),
73 : UINT64_C(0),
74 : UINT64_C(0),
75 : UINT64_C(0),
76 : UINT64_C(0),
77 : UINT64_C(0),
78 : UINT64_C(0),
79 : UINT64_C(0),
80 : UINT64_C(0),
81 : UINT64_C(0),
82 : UINT64_C(0),
83 : UINT64_C(0),
84 : UINT64_C(0),
85 : UINT64_C(0),
86 : UINT64_C(0),
87 : UINT64_C(0),
88 : UINT64_C(0),
89 : UINT64_C(0),
90 : UINT64_C(0),
91 : UINT64_C(0),
92 : UINT64_C(0),
93 : UINT64_C(0),
94 : UINT64_C(0),
95 : UINT64_C(0),
96 : UINT64_C(0),
97 : UINT64_C(0),
98 : UINT64_C(0),
99 : UINT64_C(0),
100 : UINT64_C(0),
101 : UINT64_C(0),
102 : UINT64_C(0),
103 : UINT64_C(0),
104 : UINT64_C(0),
105 : UINT64_C(0),
106 : UINT64_C(0),
107 : UINT64_C(0),
108 : UINT64_C(0),
109 : UINT64_C(0),
110 : UINT64_C(0),
111 : UINT64_C(0),
112 : UINT64_C(0),
113 : UINT64_C(0),
114 : UINT64_C(0),
115 : UINT64_C(0),
116 : UINT64_C(0),
117 : UINT64_C(0),
118 : UINT64_C(0),
119 : UINT64_C(0),
120 : UINT64_C(0),
121 : UINT64_C(0),
122 : UINT64_C(0),
123 : UINT64_C(0),
124 : UINT64_C(0),
125 : UINT64_C(0),
126 : UINT64_C(0),
127 : UINT64_C(0),
128 : UINT64_C(0),
129 : UINT64_C(0),
130 : UINT64_C(0),
131 : UINT64_C(0),
132 : UINT64_C(0),
133 : UINT64_C(0),
134 : UINT64_C(0),
135 : UINT64_C(0),
136 : UINT64_C(0),
137 : UINT64_C(0),
138 : UINT64_C(0),
139 : UINT64_C(0),
140 : UINT64_C(0),
141 : UINT64_C(0),
142 : UINT64_C(0),
143 : UINT64_C(0),
144 : UINT64_C(0),
145 : UINT64_C(0),
146 : UINT64_C(0),
147 : UINT64_C(0),
148 : UINT64_C(0),
149 : UINT64_C(0),
150 : UINT64_C(0),
151 : UINT64_C(0),
152 : UINT64_C(0),
153 : UINT64_C(0),
154 : UINT64_C(0),
155 : UINT64_C(0),
156 : UINT64_C(0),
157 : UINT64_C(0),
158 : UINT64_C(0),
159 : UINT64_C(0),
160 : UINT64_C(0),
161 : UINT64_C(0),
162 : UINT64_C(0),
163 : UINT64_C(0),
164 : UINT64_C(0),
165 : UINT64_C(0),
166 : UINT64_C(2155880448), // ADDCCri
167 : UINT64_C(2155872256), // ADDCCrr
168 : UINT64_C(2151686144), // ADDCri
169 : UINT64_C(2151677952), // ADDCrr
170 : UINT64_C(2160074752), // ADDEri
171 : UINT64_C(2160066560), // ADDErr
172 : UINT64_C(2175795744), // ADDXC
173 : UINT64_C(2175795808), // ADDXCCC
174 : UINT64_C(2147491840), // ADDXri
175 : UINT64_C(2147483648), // ADDXrr
176 : UINT64_C(2147491840), // ADDri
177 : UINT64_C(2147483648), // ADDrr
178 : UINT64_C(2175795968), // ALIGNADDR
179 : UINT64_C(2175796032), // ALIGNADDRL
180 : UINT64_C(2156404736), // ANDCCri
181 : UINT64_C(2156396544), // ANDCCrr
182 : UINT64_C(2158501888), // ANDNCCri
183 : UINT64_C(2158493696), // ANDNCCrr
184 : UINT64_C(2150113280), // ANDNri
185 : UINT64_C(2150105088), // ANDNrr
186 : UINT64_C(2150105088), // ANDXNrr
187 : UINT64_C(2148016128), // ANDXri
188 : UINT64_C(2148007936), // ANDXrr
189 : UINT64_C(2148016128), // ANDri
190 : UINT64_C(2148007936), // ANDrr
191 : UINT64_C(2175795776), // ARRAY16
192 : UINT64_C(2175795840), // ARRAY32
193 : UINT64_C(2175795712), // ARRAY8
194 : UINT64_C(276824064), // BA
195 : UINT64_C(8388608), // BCOND
196 : UINT64_C(545259520), // BCONDA
197 : UINT64_C(2176851968), // BINDri
198 : UINT64_C(2176843776), // BINDrr
199 : UINT64_C(2175796000), // BMASK
200 : UINT64_C(21495808), // BPFCC
201 : UINT64_C(558366720), // BPFCCA
202 : UINT64_C(557842432), // BPFCCANT
203 : UINT64_C(20971520), // BPFCCNT
204 : UINT64_C(784334848), // BPGEZapn
205 : UINT64_C(784859136), // BPGEZapt
206 : UINT64_C(247463936), // BPGEZnapn
207 : UINT64_C(247988224), // BPGEZnapt
208 : UINT64_C(750780416), // BPGZapn
209 : UINT64_C(751304704), // BPGZapt
210 : UINT64_C(213909504), // BPGZnapn
211 : UINT64_C(214433792), // BPGZnapt
212 : UINT64_C(4718592), // BPICC
213 : UINT64_C(541589504), // BPICCA
214 : UINT64_C(541065216), // BPICCANT
215 : UINT64_C(4194304), // BPICCNT
216 : UINT64_C(616562688), // BPLEZapn
217 : UINT64_C(617086976), // BPLEZapt
218 : UINT64_C(79691776), // BPLEZnapn
219 : UINT64_C(80216064), // BPLEZnapt
220 : UINT64_C(650117120), // BPLZapn
221 : UINT64_C(650641408), // BPLZapt
222 : UINT64_C(113246208), // BPLZnapn
223 : UINT64_C(113770496), // BPLZnapt
224 : UINT64_C(717225984), // BPNZapn
225 : UINT64_C(717750272), // BPNZapt
226 : UINT64_C(180355072), // BPNZnapn
227 : UINT64_C(180879360), // BPNZnapt
228 : UINT64_C(6815744), // BPXCC
229 : UINT64_C(543686656), // BPXCCA
230 : UINT64_C(543162368), // BPXCCANT
231 : UINT64_C(6291456), // BPXCCNT
232 : UINT64_C(583008256), // BPZapn
233 : UINT64_C(583532544), // BPZapt
234 : UINT64_C(46137344), // BPZnapn
235 : UINT64_C(46661632), // BPZnapt
236 : UINT64_C(2175796096), // BSHUFFLE
237 : UINT64_C(1073741824), // CALL
238 : UINT64_C(2680168448), // CALLri
239 : UINT64_C(2680160256), // CALLrr
240 : UINT64_C(3252683072), // CASAasi10
241 : UINT64_C(3252682752), // CASArr
242 : UINT64_C(3253735424), // CASXrr
243 : UINT64_C(3252686848), // CASrr
244 : UINT64_C(29360128), // CBCOND
245 : UINT64_C(566231040), // CBCONDA
246 : UINT64_C(2175796128), // CMASK16
247 : UINT64_C(2175796192), // CMASK32
248 : UINT64_C(2175796064), // CMASK8
249 : UINT64_C(2157977600), // CMPri
250 : UINT64_C(2157969408), // CMPrr
251 : UINT64_C(2175795328), // EDGE16
252 : UINT64_C(2175795392), // EDGE16L
253 : UINT64_C(2175795424), // EDGE16LN
254 : UINT64_C(2175795360), // EDGE16N
255 : UINT64_C(2175795456), // EDGE32
256 : UINT64_C(2175795520), // EDGE32L
257 : UINT64_C(2175795552), // EDGE32LN
258 : UINT64_C(2175795488), // EDGE32N
259 : UINT64_C(2175795200), // EDGE8
260 : UINT64_C(2175795264), // EDGE8L
261 : UINT64_C(2175795296), // EDGE8LN
262 : UINT64_C(2175795232), // EDGE8N
263 : UINT64_C(2174746944), // FABSD
264 : UINT64_C(2174746976), // FABSQ
265 : UINT64_C(2174746912), // FABSS
266 : UINT64_C(2174748736), // FADDD
267 : UINT64_C(2174748768), // FADDQ
268 : UINT64_C(2174748704), // FADDS
269 : UINT64_C(2175797504), // FALIGNADATA
270 : UINT64_C(2175798784), // FAND
271 : UINT64_C(2175798528), // FANDNOT1
272 : UINT64_C(2175798560), // FANDNOT1S
273 : UINT64_C(2175798400), // FANDNOT2
274 : UINT64_C(2175798432), // FANDNOT2S
275 : UINT64_C(2175798816), // FANDS
276 : UINT64_C(25165824), // FBCOND
277 : UINT64_C(562036736), // FBCONDA
278 : UINT64_C(2175797376), // FCHKSM16
279 : UINT64_C(2175273536), // FCMPD
280 : UINT64_C(2175796544), // FCMPEQ16
281 : UINT64_C(2175796672), // FCMPEQ32
282 : UINT64_C(2175796480), // FCMPGT16
283 : UINT64_C(2175796608), // FCMPGT32
284 : UINT64_C(2175796224), // FCMPLE16
285 : UINT64_C(2175796352), // FCMPLE32
286 : UINT64_C(2175796288), // FCMPNE16
287 : UINT64_C(2175796416), // FCMPNE32
288 : UINT64_C(2175273568), // FCMPQ
289 : UINT64_C(2175273504), // FCMPS
290 : UINT64_C(2174749120), // FDIVD
291 : UINT64_C(2174749152), // FDIVQ
292 : UINT64_C(2174749088), // FDIVS
293 : UINT64_C(2174750144), // FDMULQ
294 : UINT64_C(2174753344), // FDTOI
295 : UINT64_C(2174753216), // FDTOQ
296 : UINT64_C(2174752960), // FDTOS
297 : UINT64_C(2174750784), // FDTOX
298 : UINT64_C(2175797664), // FEXPAND
299 : UINT64_C(2174749760), // FHADDD
300 : UINT64_C(2174749728), // FHADDS
301 : UINT64_C(2174749888), // FHSUBD
302 : UINT64_C(2174749856), // FHSUBS
303 : UINT64_C(2174753024), // FITOD
304 : UINT64_C(2174753152), // FITOQ
305 : UINT64_C(2174752896), // FITOS
306 : UINT64_C(2175806016), // FLCMPD
307 : UINT64_C(2175805984), // FLCMPS
308 : UINT64_C(2178416640), // FLUSH
309 : UINT64_C(2170028032), // FLUSHW
310 : UINT64_C(2178424832), // FLUSHri
311 : UINT64_C(2178416640), // FLUSHrr
312 : UINT64_C(2175797248), // FMEAN16
313 : UINT64_C(2174746688), // FMOVD
314 : UINT64_C(2175270976), // FMOVD_FCC
315 : UINT64_C(2175279168), // FMOVD_ICC
316 : UINT64_C(2175283264), // FMOVD_XCC
317 : UINT64_C(2174746720), // FMOVQ
318 : UINT64_C(2175271008), // FMOVQ_FCC
319 : UINT64_C(2175279200), // FMOVQ_ICC
320 : UINT64_C(2175283296), // FMOVQ_XCC
321 : UINT64_C(2175278272), // FMOVRGEZD
322 : UINT64_C(2175278304), // FMOVRGEZQ
323 : UINT64_C(2175278240), // FMOVRGEZS
324 : UINT64_C(2175277248), // FMOVRGZD
325 : UINT64_C(2175277280), // FMOVRGZQ
326 : UINT64_C(2175277216), // FMOVRGZS
327 : UINT64_C(2175273152), // FMOVRLEZD
328 : UINT64_C(2175273184), // FMOVRLEZQ
329 : UINT64_C(2175273120), // FMOVRLEZS
330 : UINT64_C(2175274176), // FMOVRLZD
331 : UINT64_C(2175274208), // FMOVRLZQ
332 : UINT64_C(2175274144), // FMOVRLZS
333 : UINT64_C(2175276224), // FMOVRNZD
334 : UINT64_C(2175276256), // FMOVRNZQ
335 : UINT64_C(2175276192), // FMOVRNZS
336 : UINT64_C(2175272128), // FMOVRZD
337 : UINT64_C(2175272160), // FMOVRZQ
338 : UINT64_C(2175272096), // FMOVRZS
339 : UINT64_C(2174746656), // FMOVS
340 : UINT64_C(2175270944), // FMOVS_FCC
341 : UINT64_C(2175279136), // FMOVS_ICC
342 : UINT64_C(2175283232), // FMOVS_XCC
343 : UINT64_C(2175796928), // FMUL8SUX16
344 : UINT64_C(2175796960), // FMUL8ULX16
345 : UINT64_C(2175796768), // FMUL8X16
346 : UINT64_C(2175796896), // FMUL8X16AL
347 : UINT64_C(2175796832), // FMUL8X16AU
348 : UINT64_C(2174748992), // FMULD
349 : UINT64_C(2175796992), // FMULD8SUX16
350 : UINT64_C(2175797024), // FMULD8ULX16
351 : UINT64_C(2174749024), // FMULQ
352 : UINT64_C(2174748960), // FMULS
353 : UINT64_C(2174749248), // FNADDD
354 : UINT64_C(2174749216), // FNADDS
355 : UINT64_C(2175798720), // FNAND
356 : UINT64_C(2175798752), // FNANDS
357 : UINT64_C(2174746816), // FNEGD
358 : UINT64_C(2174746848), // FNEGQ
359 : UINT64_C(2174746784), // FNEGS
360 : UINT64_C(2174750272), // FNHADDD
361 : UINT64_C(2174750240), // FNHADDS
362 : UINT64_C(2174749504), // FNMULD
363 : UINT64_C(2174749472), // FNMULS
364 : UINT64_C(2175798336), // FNOR
365 : UINT64_C(2175798368), // FNORS
366 : UINT64_C(2175798592), // FNOT1
367 : UINT64_C(2175798624), // FNOT1S
368 : UINT64_C(2175798464), // FNOT2
369 : UINT64_C(2175798496), // FNOT2S
370 : UINT64_C(2174750496), // FNSMULD
371 : UINT64_C(2175799232), // FONE
372 : UINT64_C(2175799264), // FONES
373 : UINT64_C(2175799168), // FOR
374 : UINT64_C(2175799104), // FORNOT1
375 : UINT64_C(2175799136), // FORNOT1S
376 : UINT64_C(2175798976), // FORNOT2
377 : UINT64_C(2175799008), // FORNOT2S
378 : UINT64_C(2175799200), // FORS
379 : UINT64_C(2175797088), // FPACK16
380 : UINT64_C(2175797056), // FPACK32
381 : UINT64_C(2175797152), // FPACKFIX
382 : UINT64_C(2175797760), // FPADD16
383 : UINT64_C(2175797792), // FPADD16S
384 : UINT64_C(2175797824), // FPADD32
385 : UINT64_C(2175797856), // FPADD32S
386 : UINT64_C(2175797312), // FPADD64
387 : UINT64_C(2175797600), // FPMERGE
388 : UINT64_C(2175797888), // FPSUB16
389 : UINT64_C(2175797920), // FPSUB16S
390 : UINT64_C(2175797952), // FPSUB32
391 : UINT64_C(2175797984), // FPSUB32S
392 : UINT64_C(2174753120), // FQTOD
393 : UINT64_C(2174753376), // FQTOI
394 : UINT64_C(2174752992), // FQTOS
395 : UINT64_C(2174750816), // FQTOX
396 : UINT64_C(2175796512), // FSLAS16
397 : UINT64_C(2175796640), // FSLAS32
398 : UINT64_C(2175796256), // FSLL16
399 : UINT64_C(2175796384), // FSLL32
400 : UINT64_C(2174749984), // FSMULD
401 : UINT64_C(2174747968), // FSQRTD
402 : UINT64_C(2174748000), // FSQRTQ
403 : UINT64_C(2174747936), // FSQRTS
404 : UINT64_C(2175796576), // FSRA16
405 : UINT64_C(2175796704), // FSRA32
406 : UINT64_C(2175798912), // FSRC1
407 : UINT64_C(2175798944), // FSRC1S
408 : UINT64_C(2175799040), // FSRC2
409 : UINT64_C(2175799072), // FSRC2S
410 : UINT64_C(2175796320), // FSRL16
411 : UINT64_C(2175796448), // FSRL32
412 : UINT64_C(2174753056), // FSTOD
413 : UINT64_C(2174753312), // FSTOI
414 : UINT64_C(2174753184), // FSTOQ
415 : UINT64_C(2174750752), // FSTOX
416 : UINT64_C(2174748864), // FSUBD
417 : UINT64_C(2174748896), // FSUBQ
418 : UINT64_C(2174748832), // FSUBS
419 : UINT64_C(2175798848), // FXNOR
420 : UINT64_C(2175798880), // FXNORS
421 : UINT64_C(2175798656), // FXOR
422 : UINT64_C(2175798688), // FXORS
423 : UINT64_C(2174750976), // FXTOD
424 : UINT64_C(2174751104), // FXTOQ
425 : UINT64_C(2174750848), // FXTOS
426 : UINT64_C(2175798272), // FZERO
427 : UINT64_C(2175798304), // FZEROS
428 : UINT64_C(2176851968), // JMPLri
429 : UINT64_C(2176843776), // JMPLrr
430 : UINT64_C(3229614080), // LDArr
431 : UINT64_C(3246923776), // LDCSRri
432 : UINT64_C(3246915584), // LDCSRrr
433 : UINT64_C(3246399488), // LDCri
434 : UINT64_C(3246391296), // LDCrr
435 : UINT64_C(3231186944), // LDDArr
436 : UINT64_C(3247972352), // LDDCri
437 : UINT64_C(3247964160), // LDDCrr
438 : UINT64_C(3247964160), // LDDFArr
439 : UINT64_C(3239583744), // LDDFri
440 : UINT64_C(3239575552), // LDDFrr
441 : UINT64_C(3222806528), // LDDri
442 : UINT64_C(3222798336), // LDDrr
443 : UINT64_C(3246391296), // LDFArr
444 : UINT64_C(3238535168), // LDFSRri
445 : UINT64_C(3238526976), // LDFSRrr
446 : UINT64_C(3238010880), // LDFri
447 : UINT64_C(3238002688), // LDFrr
448 : UINT64_C(3247439872), // LDQFArr
449 : UINT64_C(3239059456), // LDQFri
450 : UINT64_C(3239051264), // LDQFrr
451 : UINT64_C(3234332672), // LDSBArr
452 : UINT64_C(3225952256), // LDSBri
453 : UINT64_C(3225944064), // LDSBrr
454 : UINT64_C(3234856960), // LDSHArr
455 : UINT64_C(3226476544), // LDSHri
456 : UINT64_C(3226468352), // LDSHrr
457 : UINT64_C(3236429824), // LDSTUBArr
458 : UINT64_C(3228049408), // LDSTUBri
459 : UINT64_C(3228041216), // LDSTUBrr
460 : UINT64_C(3225427968), // LDSWri
461 : UINT64_C(3225419776), // LDSWrr
462 : UINT64_C(3230138368), // LDUBArr
463 : UINT64_C(3221757952), // LDUBri
464 : UINT64_C(3221749760), // LDUBrr
465 : UINT64_C(3230662656), // LDUHArr
466 : UINT64_C(3222282240), // LDUHri
467 : UINT64_C(3222274048), // LDUHrr
468 : UINT64_C(3272089600), // LDXFSRri
469 : UINT64_C(3272081408), // LDXFSRrr
470 : UINT64_C(3227000832), // LDXri
471 : UINT64_C(3226992640), // LDXrr
472 : UINT64_C(3221233664), // LDri
473 : UINT64_C(3221225472), // LDrr
474 : UINT64_C(2147491840), // LEAX_ADDri
475 : UINT64_C(2147491840), // LEA_ADDri
476 : UINT64_C(2175795936), // LZCNT
477 : UINT64_C(2168709120), // MEMBARi
478 : UINT64_C(2175803904), // MOVDTOX
479 : UINT64_C(2170560512), // MOVFCCri
480 : UINT64_C(2170552320), // MOVFCCrr
481 : UINT64_C(2170822656), // MOVICCri
482 : UINT64_C(2170814464), // MOVICCrr
483 : UINT64_C(2172140544), // MOVRGEZri
484 : UINT64_C(2172132352), // MOVRGEZrr
485 : UINT64_C(2172139520), // MOVRGZri
486 : UINT64_C(2172131328), // MOVRGZrr
487 : UINT64_C(2172135424), // MOVRLEZri
488 : UINT64_C(2172127232), // MOVRLEZrr
489 : UINT64_C(2172136448), // MOVRLZri
490 : UINT64_C(2172128256), // MOVRLZrr
491 : UINT64_C(2172138496), // MOVRNZri
492 : UINT64_C(2172130304), // MOVRNZrr
493 : UINT64_C(2172134400), // MOVRRZri
494 : UINT64_C(2172126208), // MOVRRZrr
495 : UINT64_C(2175804000), // MOVSTOSW
496 : UINT64_C(2175803936), // MOVSTOUW
497 : UINT64_C(2175804192), // MOVWTOS
498 : UINT64_C(2170826752), // MOVXCCri
499 : UINT64_C(2170818560), // MOVXCCrr
500 : UINT64_C(2175804160), // MOVXTOD
501 : UINT64_C(2166366208), // MULSCCri
502 : UINT64_C(2166358016), // MULSCCrr
503 : UINT64_C(2152210432), // MULXri
504 : UINT64_C(2152202240), // MULXrr
505 : UINT64_C(16777216), // NOP
506 : UINT64_C(2156929024), // ORCCri
507 : UINT64_C(2156920832), // ORCCrr
508 : UINT64_C(2159026176), // ORNCCri
509 : UINT64_C(2159017984), // ORNCCrr
510 : UINT64_C(2150637568), // ORNri
511 : UINT64_C(2150629376), // ORNrr
512 : UINT64_C(2150629376), // ORXNrr
513 : UINT64_C(2148540416), // ORXri
514 : UINT64_C(2148532224), // ORXrr
515 : UINT64_C(2148540416), // ORri
516 : UINT64_C(2148532224), // ORrr
517 : UINT64_C(2175797184), // PDIST
518 : UINT64_C(2175797216), // PDISTN
519 : UINT64_C(2171600896), // POPCrr
520 : UINT64_C(2206736384), // PWRPSRri
521 : UINT64_C(2206728192), // PWRPSRrr
522 : UINT64_C(2168455168), // RDASR
523 : UINT64_C(2169503744), // RDPR
524 : UINT64_C(2168979456), // RDPSR
525 : UINT64_C(2170028032), // RDTBR
526 : UINT64_C(2169503744), // RDWIM
527 : UINT64_C(2179473408), // RESTOREri
528 : UINT64_C(2179465216), // RESTORErr
529 : UINT64_C(2177359872), // RET
530 : UINT64_C(2177097728), // RETL
531 : UINT64_C(2177376256), // RETTri
532 : UINT64_C(2177368064), // RETTrr
533 : UINT64_C(2178949120), // SAVEri
534 : UINT64_C(2178940928), // SAVErr
535 : UINT64_C(2163744768), // SDIVCCri
536 : UINT64_C(2163736576), // SDIVCCrr
537 : UINT64_C(2171084800), // SDIVXri
538 : UINT64_C(2171076608), // SDIVXrr
539 : UINT64_C(2155356160), // SDIVri
540 : UINT64_C(2155347968), // SDIVrr
541 : UINT64_C(16777216), // SETHIXi
542 : UINT64_C(16777216), // SETHIi
543 : UINT64_C(2175799296), // SHUTDOWN
544 : UINT64_C(2175799328), // SIAM
545 : UINT64_C(2166894592), // SLLXri
546 : UINT64_C(2166886400), // SLLXrr
547 : UINT64_C(2166890496), // SLLri
548 : UINT64_C(2166882304), // SLLrr
549 : UINT64_C(2180521984), // SMACri
550 : UINT64_C(2180513792), // SMACrr
551 : UINT64_C(2161647616), // SMULCCri
552 : UINT64_C(2161639424), // SMULCCrr
553 : UINT64_C(2153259008), // SMULri
554 : UINT64_C(2153250816), // SMULrr
555 : UINT64_C(2167943168), // SRAXri
556 : UINT64_C(2167934976), // SRAXrr
557 : UINT64_C(2167939072), // SRAri
558 : UINT64_C(2167930880), // SRArr
559 : UINT64_C(2167418880), // SRLXri
560 : UINT64_C(2167410688), // SRLXrr
561 : UINT64_C(2167414784), // SRLri
562 : UINT64_C(2167406592), // SRLrr
563 : UINT64_C(3231711232), // STArr
564 : UINT64_C(2168700928), // STBAR
565 : UINT64_C(3232235520), // STBArr
566 : UINT64_C(3223855104), // STBri
567 : UINT64_C(3223846912), // STBrr
568 : UINT64_C(3249020928), // STCSRri
569 : UINT64_C(3249012736), // STCSRrr
570 : UINT64_C(3248496640), // STCri
571 : UINT64_C(3248488448), // STCrr
572 : UINT64_C(3233284096), // STDArr
573 : UINT64_C(3249545216), // STDCQri
574 : UINT64_C(3249537024), // STDCQrr
575 : UINT64_C(3250069504), // STDCri
576 : UINT64_C(3250061312), // STDCrr
577 : UINT64_C(3250061312), // STDFArr
578 : UINT64_C(3241156608), // STDFQri
579 : UINT64_C(3241148416), // STDFQrr
580 : UINT64_C(3241680896), // STDFri
581 : UINT64_C(3241672704), // STDFrr
582 : UINT64_C(3224903680), // STDri
583 : UINT64_C(3224895488), // STDrr
584 : UINT64_C(3248488448), // STFArr
585 : UINT64_C(3240632320), // STFSRri
586 : UINT64_C(3240624128), // STFSRrr
587 : UINT64_C(3240108032), // STFri
588 : UINT64_C(3240099840), // STFrr
589 : UINT64_C(3232759808), // STHArr
590 : UINT64_C(3224379392), // STHri
591 : UINT64_C(3224371200), // STHrr
592 : UINT64_C(3249537024), // STQFArr
593 : UINT64_C(3241156608), // STQFri
594 : UINT64_C(3241148416), // STQFrr
595 : UINT64_C(3274186752), // STXFSRri
596 : UINT64_C(3274178560), // STXFSRrr
597 : UINT64_C(3228573696), // STXri
598 : UINT64_C(3228565504), // STXrr
599 : UINT64_C(3223330816), // STri
600 : UINT64_C(3223322624), // STrr
601 : UINT64_C(2157977600), // SUBCCri
602 : UINT64_C(2157969408), // SUBCCrr
603 : UINT64_C(2153783296), // SUBCri
604 : UINT64_C(2153775104), // SUBCrr
605 : UINT64_C(2162171904), // SUBEri
606 : UINT64_C(2162163712), // SUBErr
607 : UINT64_C(2149588992), // SUBXri
608 : UINT64_C(2149580800), // SUBXrr
609 : UINT64_C(2149588992), // SUBri
610 : UINT64_C(2149580800), // SUBrr
611 : UINT64_C(3237478400), // SWAPArr
612 : UINT64_C(3229097984), // SWAPri
613 : UINT64_C(3229089792), // SWAPrr
614 : UINT64_C(2446336001), // TA1
615 : UINT64_C(2446336003), // TA3
616 : UINT64_C(2446336005), // TA5
617 : UINT64_C(2165317632), // TADDCCTVri
618 : UINT64_C(2165309440), // TADDCCTVrr
619 : UINT64_C(2164269056), // TADDCCri
620 : UINT64_C(2164260864), // TADDCCrr
621 : UINT64_C(2177900544), // TICCri
622 : UINT64_C(2177892352), // TICCrr
623 : UINT64_C(2147483648), // TLS_ADDXrr
624 : UINT64_C(2147483648), // TLS_ADDrr
625 : UINT64_C(1073741824), // TLS_CALL
626 : UINT64_C(3226992640), // TLS_LDXrr
627 : UINT64_C(3221225472), // TLS_LDrr
628 : UINT64_C(2177900544), // TRAPri
629 : UINT64_C(2177892352), // TRAPrr
630 : UINT64_C(2165841920), // TSUBCCTVri
631 : UINT64_C(2165833728), // TSUBCCTVrr
632 : UINT64_C(2164793344), // TSUBCCri
633 : UINT64_C(2164785152), // TSUBCCrr
634 : UINT64_C(2177904640), // TXCCri
635 : UINT64_C(2177896448), // TXCCrr
636 : UINT64_C(2163220480), // UDIVCCri
637 : UINT64_C(2163212288), // UDIVCCrr
638 : UINT64_C(2154307584), // UDIVXri
639 : UINT64_C(2154299392), // UDIVXrr
640 : UINT64_C(2154831872), // UDIVri
641 : UINT64_C(2154823680), // UDIVrr
642 : UINT64_C(2179997696), // UMACri
643 : UINT64_C(2179989504), // UMACrr
644 : UINT64_C(2161123328), // UMULCCri
645 : UINT64_C(2161115136), // UMULCCrr
646 : UINT64_C(2175795904), // UMULXHI
647 : UINT64_C(2152734720), // UMULri
648 : UINT64_C(2152726528), // UMULrr
649 : UINT64_C(0), // UNIMP
650 : UINT64_C(2175273536), // V9FCMPD
651 : UINT64_C(2175273664), // V9FCMPED
652 : UINT64_C(2175273696), // V9FCMPEQ
653 : UINT64_C(2175273632), // V9FCMPES
654 : UINT64_C(2175273568), // V9FCMPQ
655 : UINT64_C(2175273504), // V9FCMPS
656 : UINT64_C(2175270976), // V9FMOVD_FCC
657 : UINT64_C(2175271008), // V9FMOVQ_FCC
658 : UINT64_C(2175270944), // V9FMOVS_FCC
659 : UINT64_C(2170560512), // V9MOVFCCri
660 : UINT64_C(2170552320), // V9MOVFCCrr
661 : UINT64_C(2172657664), // WRASRri
662 : UINT64_C(2172649472), // WRASRrr
663 : UINT64_C(2173706240), // WRPRri
664 : UINT64_C(2173698048), // WRPRrr
665 : UINT64_C(2173181952), // WRPSRri
666 : UINT64_C(2173173760), // WRPSRrr
667 : UINT64_C(2174230528), // WRTBRri
668 : UINT64_C(2174222336), // WRTBRrr
669 : UINT64_C(2173706240), // WRWIMri
670 : UINT64_C(2173698048), // WRWIMrr
671 : UINT64_C(2175804064), // XMULX
672 : UINT64_C(2175804128), // XMULXHI
673 : UINT64_C(2159550464), // XNORCCri
674 : UINT64_C(2159542272), // XNORCCrr
675 : UINT64_C(2151153664), // XNORXrr
676 : UINT64_C(2151161856), // XNORri
677 : UINT64_C(2151153664), // XNORrr
678 : UINT64_C(2157453312), // XORCCri
679 : UINT64_C(2157445120), // XORCCrr
680 : UINT64_C(2149064704), // XORXri
681 : UINT64_C(2149056512), // XORXrr
682 : UINT64_C(2149064704), // XORri
683 : UINT64_C(2149056512), // XORrr
684 : UINT64_C(0)
685 : };
686 0 : const unsigned opcode = MI.getOpcode();
687 0 : uint64_t Value = InstBits[opcode];
688 : uint64_t op = 0;
689 : (void)op; // suppress warning
690 0 : switch (opcode) {
691 : case SP::FLUSH:
692 : case SP::FLUSHW:
693 : case SP::NOP:
694 : case SP::SHUTDOWN:
695 : case SP::SIAM:
696 : case SP::STBAR:
697 : case SP::TA1:
698 : case SP::TA3:
699 : case SP::TA5: {
700 : break;
701 : }
702 : case SP::BPFCC:
703 : case SP::BPFCCA:
704 : case SP::BPFCCANT:
705 : case SP::BPFCCNT: {
706 : // op: cc
707 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
708 0 : Value |= (op & UINT64_C(3)) << 20;
709 : // op: cond
710 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
711 0 : Value |= (op & UINT64_C(15)) << 25;
712 : // op: imm19
713 0 : op = getBranchPredTargetOpValue(MI, 0, Fixups, STI);
714 0 : Value |= op & UINT64_C(524287);
715 0 : break;
716 : }
717 : case SP::BPICC:
718 : case SP::BPICCA:
719 : case SP::BPICCANT:
720 : case SP::BPICCNT:
721 : case SP::BPXCC:
722 : case SP::BPXCCA:
723 : case SP::BPXCCANT:
724 : case SP::BPXCCNT: {
725 : // op: cond
726 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
727 0 : Value |= (op & UINT64_C(15)) << 25;
728 : // op: imm19
729 0 : op = getBranchPredTargetOpValue(MI, 0, Fixups, STI);
730 0 : Value |= op & UINT64_C(524287);
731 0 : break;
732 : }
733 0 : case SP::CALL:
734 : case SP::TLS_CALL: {
735 : // op: disp
736 0 : op = getCallTargetOpValue(MI, 0, Fixups, STI);
737 0 : Value |= op & UINT64_C(1073741823);
738 0 : break;
739 : }
740 0 : case SP::BPGEZapn:
741 : case SP::BPGEZapt:
742 : case SP::BPGEZnapn:
743 : case SP::BPGEZnapt:
744 : case SP::BPGZapn:
745 : case SP::BPGZapt:
746 : case SP::BPGZnapn:
747 : case SP::BPGZnapt:
748 : case SP::BPLEZapn:
749 : case SP::BPLEZapt:
750 : case SP::BPLEZnapn:
751 : case SP::BPLEZnapt:
752 : case SP::BPLZapn:
753 : case SP::BPLZapt:
754 : case SP::BPLZnapn:
755 : case SP::BPLZnapt:
756 : case SP::BPNZapn:
757 : case SP::BPNZapt:
758 : case SP::BPNZnapn:
759 : case SP::BPNZnapt:
760 : case SP::BPZapn:
761 : case SP::BPZapt:
762 : case SP::BPZnapn:
763 : case SP::BPZnapt: {
764 : // op: imm16
765 0 : op = getBranchOnRegTargetOpValue(MI, 1, Fixups, STI);
766 0 : Value |= (op & UINT64_C(49152)) << 6;
767 0 : Value |= op & UINT64_C(16383);
768 : // op: rs1
769 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
770 0 : Value |= (op & UINT64_C(31)) << 14;
771 0 : break;
772 : }
773 0 : case SP::BA: {
774 : // op: imm22
775 0 : op = getBranchTargetOpValue(MI, 0, Fixups, STI);
776 0 : Value |= op & UINT64_C(4194303);
777 0 : break;
778 : }
779 0 : case SP::BCOND:
780 : case SP::BCONDA:
781 : case SP::CBCOND:
782 : case SP::CBCONDA:
783 : case SP::FBCOND:
784 : case SP::FBCONDA: {
785 : // op: imm22
786 0 : op = getBranchTargetOpValue(MI, 0, Fixups, STI);
787 0 : Value |= op & UINT64_C(4194303);
788 : // op: cond
789 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
790 0 : Value |= (op & UINT64_C(15)) << 25;
791 0 : break;
792 : }
793 : case SP::UNIMP: {
794 : // op: imm22
795 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
796 0 : Value |= op & UINT64_C(4194303);
797 0 : break;
798 : }
799 : case SP::SETHIXi:
800 : case SP::SETHIi: {
801 : // op: imm22
802 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
803 0 : Value |= op & UINT64_C(4194303);
804 : // op: rd
805 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
806 0 : Value |= (op & UINT64_C(31)) << 25;
807 0 : break;
808 : }
809 : case SP::FONE:
810 : case SP::FONES:
811 : case SP::FZERO:
812 : case SP::FZEROS:
813 : case SP::RDPSR:
814 : case SP::RDTBR:
815 : case SP::RDWIM: {
816 : // op: rd
817 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
818 0 : Value |= (op & UINT64_C(31)) << 25;
819 0 : break;
820 : }
821 : case SP::V9MOVFCCrr: {
822 : // op: rd
823 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
824 0 : Value |= (op & UINT64_C(31)) << 25;
825 : // op: cc
826 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
827 0 : Value |= (op & UINT64_C(3)) << 11;
828 : // op: cond
829 0 : op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
830 0 : Value |= (op & UINT64_C(15)) << 14;
831 : // op: rs2
832 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
833 0 : Value |= op & UINT64_C(31);
834 0 : break;
835 : }
836 : case SP::V9MOVFCCri: {
837 : // op: rd
838 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
839 0 : Value |= (op & UINT64_C(31)) << 25;
840 : // op: cc
841 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
842 0 : Value |= (op & UINT64_C(3)) << 11;
843 : // op: cond
844 0 : op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
845 0 : Value |= (op & UINT64_C(15)) << 14;
846 : // op: simm11
847 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
848 0 : Value |= op & UINT64_C(2047);
849 0 : break;
850 : }
851 : case SP::FMOVD_FCC:
852 : case SP::FMOVD_ICC:
853 : case SP::FMOVD_XCC:
854 : case SP::FMOVQ_FCC:
855 : case SP::FMOVQ_ICC:
856 : case SP::FMOVQ_XCC:
857 : case SP::FMOVS_FCC:
858 : case SP::FMOVS_ICC:
859 : case SP::FMOVS_XCC:
860 : case SP::MOVFCCrr:
861 : case SP::MOVICCrr:
862 : case SP::MOVXCCrr: {
863 : // op: rd
864 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
865 0 : Value |= (op & UINT64_C(31)) << 25;
866 : // op: cond
867 0 : op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
868 0 : Value |= (op & UINT64_C(15)) << 14;
869 : // op: rs2
870 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
871 0 : Value |= op & UINT64_C(31);
872 0 : break;
873 : }
874 : case SP::MOVFCCri:
875 : case SP::MOVICCri:
876 : case SP::MOVXCCri: {
877 : // op: rd
878 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
879 0 : Value |= (op & UINT64_C(31)) << 25;
880 : // op: cond
881 0 : op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
882 0 : Value |= (op & UINT64_C(15)) << 14;
883 : // op: simm11
884 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
885 0 : Value |= op & UINT64_C(2047);
886 0 : break;
887 : }
888 : case SP::V9FMOVD_FCC:
889 : case SP::V9FMOVQ_FCC:
890 : case SP::V9FMOVS_FCC: {
891 : // op: rd
892 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
893 0 : Value |= (op & UINT64_C(31)) << 25;
894 : // op: cond
895 0 : op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
896 0 : Value |= (op & UINT64_C(15)) << 14;
897 : // op: opf_cc
898 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
899 0 : Value |= (op & UINT64_C(3)) << 11;
900 : // op: rs2
901 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
902 0 : Value |= op & UINT64_C(31);
903 0 : break;
904 : }
905 : case SP::FNOT1:
906 : case SP::FNOT1S:
907 : case SP::FSRC1:
908 : case SP::FSRC1S:
909 : case SP::RDASR:
910 : case SP::RDPR: {
911 : // op: rd
912 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
913 0 : Value |= (op & UINT64_C(31)) << 25;
914 : // op: rs1
915 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
916 0 : Value |= (op & UINT64_C(31)) << 14;
917 0 : break;
918 : }
919 : case SP::LDArr:
920 : case SP::LDDArr:
921 : case SP::LDDFArr:
922 : case SP::LDFArr:
923 : case SP::LDQFArr:
924 : case SP::LDSBArr:
925 : case SP::LDSHArr:
926 : case SP::LDSTUBArr:
927 : case SP::LDUBArr:
928 : case SP::LDUHArr:
929 : case SP::SWAPArr: {
930 : // op: rd
931 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
932 0 : Value |= (op & UINT64_C(31)) << 25;
933 : // op: rs1
934 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
935 0 : Value |= (op & UINT64_C(31)) << 14;
936 : // op: asi
937 0 : op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
938 0 : Value |= (op & UINT64_C(255)) << 5;
939 : // op: rs2
940 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
941 0 : Value |= op & UINT64_C(31);
942 0 : break;
943 : }
944 : case SP::CASArr: {
945 : // op: rd
946 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
947 0 : Value |= (op & UINT64_C(31)) << 25;
948 : // op: rs1
949 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
950 0 : Value |= (op & UINT64_C(31)) << 14;
951 : // op: asi
952 0 : op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
953 0 : Value |= (op & UINT64_C(255)) << 5;
954 : // op: rs2
955 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
956 0 : Value |= op & UINT64_C(31);
957 0 : break;
958 : }
959 : case SP::ADDCCrr:
960 : case SP::ADDCrr:
961 : case SP::ADDErr:
962 : case SP::ADDXC:
963 : case SP::ADDXCCC:
964 : case SP::ADDXrr:
965 : case SP::ADDrr:
966 : case SP::ALIGNADDR:
967 : case SP::ALIGNADDRL:
968 : case SP::ANDCCrr:
969 : case SP::ANDNCCrr:
970 : case SP::ANDNrr:
971 : case SP::ANDXNrr:
972 : case SP::ANDXrr:
973 : case SP::ANDrr:
974 : case SP::ARRAY16:
975 : case SP::ARRAY32:
976 : case SP::ARRAY8:
977 : case SP::BMASK:
978 : case SP::BSHUFFLE:
979 : case SP::CASAasi10:
980 : case SP::CASXrr:
981 : case SP::CASrr:
982 : case SP::EDGE16:
983 : case SP::EDGE16L:
984 : case SP::EDGE16LN:
985 : case SP::EDGE16N:
986 : case SP::EDGE32:
987 : case SP::EDGE32L:
988 : case SP::EDGE32LN:
989 : case SP::EDGE32N:
990 : case SP::EDGE8:
991 : case SP::EDGE8L:
992 : case SP::EDGE8LN:
993 : case SP::EDGE8N:
994 : case SP::FADDD:
995 : case SP::FADDQ:
996 : case SP::FADDS:
997 : case SP::FALIGNADATA:
998 : case SP::FAND:
999 : case SP::FANDNOT1:
1000 : case SP::FANDNOT1S:
1001 : case SP::FANDNOT2:
1002 : case SP::FANDNOT2S:
1003 : case SP::FANDS:
1004 : case SP::FCHKSM16:
1005 : case SP::FCMPEQ16:
1006 : case SP::FCMPEQ32:
1007 : case SP::FCMPGT16:
1008 : case SP::FCMPGT32:
1009 : case SP::FCMPLE16:
1010 : case SP::FCMPLE32:
1011 : case SP::FCMPNE16:
1012 : case SP::FCMPNE32:
1013 : case SP::FDIVD:
1014 : case SP::FDIVQ:
1015 : case SP::FDIVS:
1016 : case SP::FDMULQ:
1017 : case SP::FHADDD:
1018 : case SP::FHADDS:
1019 : case SP::FHSUBD:
1020 : case SP::FHSUBS:
1021 : case SP::FLCMPD:
1022 : case SP::FLCMPS:
1023 : case SP::FMEAN16:
1024 : case SP::FMOVRGEZD:
1025 : case SP::FMOVRGEZQ:
1026 : case SP::FMOVRGEZS:
1027 : case SP::FMOVRGZD:
1028 : case SP::FMOVRGZQ:
1029 : case SP::FMOVRGZS:
1030 : case SP::FMOVRLEZD:
1031 : case SP::FMOVRLEZQ:
1032 : case SP::FMOVRLEZS:
1033 : case SP::FMOVRLZD:
1034 : case SP::FMOVRLZQ:
1035 : case SP::FMOVRLZS:
1036 : case SP::FMOVRNZD:
1037 : case SP::FMOVRNZQ:
1038 : case SP::FMOVRNZS:
1039 : case SP::FMOVRZD:
1040 : case SP::FMOVRZQ:
1041 : case SP::FMOVRZS:
1042 : case SP::FMUL8SUX16:
1043 : case SP::FMUL8ULX16:
1044 : case SP::FMUL8X16:
1045 : case SP::FMUL8X16AL:
1046 : case SP::FMUL8X16AU:
1047 : case SP::FMULD:
1048 : case SP::FMULD8SUX16:
1049 : case SP::FMULD8ULX16:
1050 : case SP::FMULQ:
1051 : case SP::FMULS:
1052 : case SP::FNADDD:
1053 : case SP::FNADDS:
1054 : case SP::FNAND:
1055 : case SP::FNANDS:
1056 : case SP::FNHADDD:
1057 : case SP::FNHADDS:
1058 : case SP::FNMULD:
1059 : case SP::FNMULS:
1060 : case SP::FNOR:
1061 : case SP::FNORS:
1062 : case SP::FNSMULD:
1063 : case SP::FOR:
1064 : case SP::FORNOT1:
1065 : case SP::FORNOT1S:
1066 : case SP::FORNOT2:
1067 : case SP::FORNOT2S:
1068 : case SP::FORS:
1069 : case SP::FPACK32:
1070 : case SP::FPADD16:
1071 : case SP::FPADD16S:
1072 : case SP::FPADD32:
1073 : case SP::FPADD32S:
1074 : case SP::FPADD64:
1075 : case SP::FPMERGE:
1076 : case SP::FPSUB16:
1077 : case SP::FPSUB16S:
1078 : case SP::FPSUB32:
1079 : case SP::FPSUB32S:
1080 : case SP::FSLAS16:
1081 : case SP::FSLAS32:
1082 : case SP::FSLL16:
1083 : case SP::FSLL32:
1084 : case SP::FSMULD:
1085 : case SP::FSRA16:
1086 : case SP::FSRA32:
1087 : case SP::FSRL16:
1088 : case SP::FSRL32:
1089 : case SP::FSUBD:
1090 : case SP::FSUBQ:
1091 : case SP::FSUBS:
1092 : case SP::FXNOR:
1093 : case SP::FXNORS:
1094 : case SP::FXOR:
1095 : case SP::FXORS:
1096 : case SP::JMPLrr:
1097 : case SP::LDCrr:
1098 : case SP::LDDCrr:
1099 : case SP::LDDFrr:
1100 : case SP::LDDrr:
1101 : case SP::LDFrr:
1102 : case SP::LDQFrr:
1103 : case SP::LDSBrr:
1104 : case SP::LDSHrr:
1105 : case SP::LDSTUBrr:
1106 : case SP::LDSWrr:
1107 : case SP::LDUBrr:
1108 : case SP::LDUHrr:
1109 : case SP::LDXrr:
1110 : case SP::LDrr:
1111 : case SP::MOVRGEZrr:
1112 : case SP::MOVRGZrr:
1113 : case SP::MOVRLEZrr:
1114 : case SP::MOVRLZrr:
1115 : case SP::MOVRNZrr:
1116 : case SP::MOVRRZrr:
1117 : case SP::MULSCCrr:
1118 : case SP::MULXrr:
1119 : case SP::ORCCrr:
1120 : case SP::ORNCCrr:
1121 : case SP::ORNrr:
1122 : case SP::ORXNrr:
1123 : case SP::ORXrr:
1124 : case SP::ORrr:
1125 : case SP::PDIST:
1126 : case SP::PDISTN:
1127 : case SP::RESTORErr:
1128 : case SP::SAVErr:
1129 : case SP::SDIVCCrr:
1130 : case SP::SDIVXrr:
1131 : case SP::SDIVrr:
1132 : case SP::SLLXrr:
1133 : case SP::SLLrr:
1134 : case SP::SMACrr:
1135 : case SP::SMULCCrr:
1136 : case SP::SMULrr:
1137 : case SP::SRAXrr:
1138 : case SP::SRArr:
1139 : case SP::SRLXrr:
1140 : case SP::SRLrr:
1141 : case SP::SUBCCrr:
1142 : case SP::SUBCrr:
1143 : case SP::SUBErr:
1144 : case SP::SUBXrr:
1145 : case SP::SUBrr:
1146 : case SP::SWAPrr:
1147 : case SP::TADDCCTVrr:
1148 : case SP::TADDCCrr:
1149 : case SP::TLS_ADDXrr:
1150 : case SP::TLS_ADDrr:
1151 : case SP::TLS_LDXrr:
1152 : case SP::TLS_LDrr:
1153 : case SP::TSUBCCTVrr:
1154 : case SP::TSUBCCrr:
1155 : case SP::UDIVCCrr:
1156 : case SP::UDIVXrr:
1157 : case SP::UDIVrr:
1158 : case SP::UMACrr:
1159 : case SP::UMULCCrr:
1160 : case SP::UMULXHI:
1161 : case SP::UMULrr:
1162 : case SP::V9FCMPD:
1163 : case SP::V9FCMPED:
1164 : case SP::V9FCMPEQ:
1165 : case SP::V9FCMPES:
1166 : case SP::V9FCMPQ:
1167 : case SP::V9FCMPS:
1168 : case SP::WRASRrr:
1169 : case SP::WRPRrr:
1170 : case SP::XMULX:
1171 : case SP::XMULXHI:
1172 : case SP::XNORCCrr:
1173 : case SP::XNORXrr:
1174 : case SP::XNORrr:
1175 : case SP::XORCCrr:
1176 : case SP::XORXrr:
1177 : case SP::XORrr: {
1178 : // op: rd
1179 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1180 0 : Value |= (op & UINT64_C(31)) << 25;
1181 : // op: rs1
1182 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1183 0 : Value |= (op & UINT64_C(31)) << 14;
1184 : // op: rs2
1185 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1186 0 : Value |= op & UINT64_C(31);
1187 0 : break;
1188 : }
1189 : case SP::SLLXri:
1190 : case SP::SRAXri:
1191 : case SP::SRLXri: {
1192 : // op: rd
1193 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1194 0 : Value |= (op & UINT64_C(31)) << 25;
1195 : // op: rs1
1196 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1197 0 : Value |= (op & UINT64_C(31)) << 14;
1198 : // op: shcnt
1199 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1200 0 : Value |= op & UINT64_C(63);
1201 0 : break;
1202 : }
1203 : case SP::MOVRGEZri:
1204 : case SP::MOVRGZri:
1205 : case SP::MOVRLEZri:
1206 : case SP::MOVRLZri:
1207 : case SP::MOVRNZri:
1208 : case SP::MOVRRZri: {
1209 : // op: rd
1210 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1211 0 : Value |= (op & UINT64_C(31)) << 25;
1212 : // op: rs1
1213 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1214 0 : Value |= (op & UINT64_C(31)) << 14;
1215 : // op: simm10
1216 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1217 0 : Value |= op & UINT64_C(1023);
1218 0 : break;
1219 : }
1220 : case SP::ADDCCri:
1221 : case SP::ADDCri:
1222 : case SP::ADDEri:
1223 : case SP::ADDXri:
1224 : case SP::ADDri:
1225 : case SP::ANDCCri:
1226 : case SP::ANDNCCri:
1227 : case SP::ANDNri:
1228 : case SP::ANDXri:
1229 : case SP::ANDri:
1230 : case SP::JMPLri:
1231 : case SP::LDCri:
1232 : case SP::LDDCri:
1233 : case SP::LDDFri:
1234 : case SP::LDDri:
1235 : case SP::LDFri:
1236 : case SP::LDQFri:
1237 : case SP::LDSBri:
1238 : case SP::LDSHri:
1239 : case SP::LDSTUBri:
1240 : case SP::LDSWri:
1241 : case SP::LDUBri:
1242 : case SP::LDUHri:
1243 : case SP::LDXri:
1244 : case SP::LDri:
1245 : case SP::LEAX_ADDri:
1246 : case SP::LEA_ADDri:
1247 : case SP::MULSCCri:
1248 : case SP::MULXri:
1249 : case SP::ORCCri:
1250 : case SP::ORNCCri:
1251 : case SP::ORNri:
1252 : case SP::ORXri:
1253 : case SP::ORri:
1254 : case SP::RESTOREri:
1255 : case SP::SAVEri:
1256 : case SP::SDIVCCri:
1257 : case SP::SDIVXri:
1258 : case SP::SDIVri:
1259 : case SP::SLLri:
1260 : case SP::SMACri:
1261 : case SP::SMULCCri:
1262 : case SP::SMULri:
1263 : case SP::SRAri:
1264 : case SP::SRLri:
1265 : case SP::SUBCCri:
1266 : case SP::SUBCri:
1267 : case SP::SUBEri:
1268 : case SP::SUBXri:
1269 : case SP::SUBri:
1270 : case SP::SWAPri:
1271 : case SP::TADDCCTVri:
1272 : case SP::TADDCCri:
1273 : case SP::TSUBCCTVri:
1274 : case SP::TSUBCCri:
1275 : case SP::UDIVCCri:
1276 : case SP::UDIVXri:
1277 : case SP::UDIVri:
1278 : case SP::UMACri:
1279 : case SP::UMULCCri:
1280 : case SP::UMULri:
1281 : case SP::WRASRri:
1282 : case SP::WRPRri:
1283 : case SP::XNORCCri:
1284 : case SP::XNORri:
1285 : case SP::XORCCri:
1286 : case SP::XORXri:
1287 : case SP::XORri: {
1288 : // op: rd
1289 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1290 0 : Value |= (op & UINT64_C(31)) << 25;
1291 : // op: rs1
1292 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1293 0 : Value |= (op & UINT64_C(31)) << 14;
1294 : // op: simm13
1295 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1296 0 : Value |= op & UINT64_C(8191);
1297 0 : break;
1298 : }
1299 : case SP::FABSD:
1300 : case SP::FABSQ:
1301 : case SP::FABSS:
1302 : case SP::FDTOI:
1303 : case SP::FDTOQ:
1304 : case SP::FDTOS:
1305 : case SP::FDTOX:
1306 : case SP::FEXPAND:
1307 : case SP::FITOD:
1308 : case SP::FITOQ:
1309 : case SP::FITOS:
1310 : case SP::FMOVD:
1311 : case SP::FMOVQ:
1312 : case SP::FMOVS:
1313 : case SP::FNEGD:
1314 : case SP::FNEGQ:
1315 : case SP::FNEGS:
1316 : case SP::FNOT2:
1317 : case SP::FNOT2S:
1318 : case SP::FPACK16:
1319 : case SP::FPACKFIX:
1320 : case SP::FQTOD:
1321 : case SP::FQTOI:
1322 : case SP::FQTOS:
1323 : case SP::FQTOX:
1324 : case SP::FSQRTD:
1325 : case SP::FSQRTQ:
1326 : case SP::FSQRTS:
1327 : case SP::FSRC2:
1328 : case SP::FSRC2S:
1329 : case SP::FSTOD:
1330 : case SP::FSTOI:
1331 : case SP::FSTOQ:
1332 : case SP::FSTOX:
1333 : case SP::FXTOD:
1334 : case SP::FXTOQ:
1335 : case SP::FXTOS:
1336 : case SP::LZCNT:
1337 : case SP::MOVDTOX:
1338 : case SP::MOVSTOSW:
1339 : case SP::MOVSTOUW:
1340 : case SP::MOVWTOS:
1341 : case SP::MOVXTOD:
1342 : case SP::POPCrr: {
1343 : // op: rd
1344 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1345 0 : Value |= (op & UINT64_C(31)) << 25;
1346 : // op: rs2
1347 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1348 0 : Value |= op & UINT64_C(31);
1349 0 : break;
1350 : }
1351 : case SP::STArr:
1352 : case SP::STBArr:
1353 : case SP::STDArr:
1354 : case SP::STDFArr:
1355 : case SP::STFArr:
1356 : case SP::STHArr:
1357 : case SP::STQFArr: {
1358 : // op: rd
1359 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1360 0 : Value |= (op & UINT64_C(31)) << 25;
1361 : // op: rs1
1362 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1363 0 : Value |= (op & UINT64_C(31)) << 14;
1364 : // op: asi
1365 0 : op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
1366 0 : Value |= (op & UINT64_C(255)) << 5;
1367 : // op: rs2
1368 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1369 0 : Value |= op & UINT64_C(31);
1370 0 : break;
1371 : }
1372 : case SP::STBrr:
1373 : case SP::STCrr:
1374 : case SP::STDCrr:
1375 : case SP::STDFrr:
1376 : case SP::STDrr:
1377 : case SP::STFrr:
1378 : case SP::STHrr:
1379 : case SP::STQFrr:
1380 : case SP::STXrr:
1381 : case SP::STrr: {
1382 : // op: rd
1383 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1384 0 : Value |= (op & UINT64_C(31)) << 25;
1385 : // op: rs1
1386 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1387 0 : Value |= (op & UINT64_C(31)) << 14;
1388 : // op: rs2
1389 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1390 0 : Value |= op & UINT64_C(31);
1391 0 : break;
1392 : }
1393 : case SP::STBri:
1394 : case SP::STCri:
1395 : case SP::STDCri:
1396 : case SP::STDFri:
1397 : case SP::STDri:
1398 : case SP::STFri:
1399 : case SP::STHri:
1400 : case SP::STQFri:
1401 : case SP::STXri:
1402 : case SP::STri: {
1403 : // op: rd
1404 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1405 0 : Value |= (op & UINT64_C(31)) << 25;
1406 : // op: rs1
1407 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1408 0 : Value |= (op & UINT64_C(31)) << 14;
1409 : // op: simm13
1410 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1411 0 : Value |= op & UINT64_C(8191);
1412 0 : break;
1413 : }
1414 : case SP::TICCri:
1415 : case SP::TRAPri:
1416 : case SP::TXCCri: {
1417 : // op: rs1
1418 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1419 0 : Value |= (op & UINT64_C(31)) << 14;
1420 : // op: cond
1421 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1422 0 : Value |= (op & UINT64_C(15)) << 25;
1423 : // op: imm
1424 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1425 0 : Value |= op & UINT64_C(255);
1426 0 : break;
1427 : }
1428 : case SP::TICCrr:
1429 : case SP::TRAPrr:
1430 : case SP::TXCCrr: {
1431 : // op: rs1
1432 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1433 0 : Value |= (op & UINT64_C(31)) << 14;
1434 : // op: cond
1435 0 : op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
1436 0 : Value |= (op & UINT64_C(15)) << 25;
1437 : // op: rs2
1438 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1439 0 : Value |= op & UINT64_C(31);
1440 0 : break;
1441 : }
1442 : case SP::BINDrr:
1443 : case SP::CALLrr:
1444 : case SP::CMPrr:
1445 : case SP::FCMPD:
1446 : case SP::FCMPQ:
1447 : case SP::FCMPS:
1448 : case SP::FLUSHrr:
1449 : case SP::LDCSRrr:
1450 : case SP::LDFSRrr:
1451 : case SP::LDXFSRrr:
1452 : case SP::PWRPSRrr:
1453 : case SP::RETTrr:
1454 : case SP::STCSRrr:
1455 : case SP::STDCQrr:
1456 : case SP::STDFQrr:
1457 : case SP::STFSRrr:
1458 : case SP::STXFSRrr:
1459 : case SP::WRPSRrr:
1460 : case SP::WRTBRrr:
1461 : case SP::WRWIMrr: {
1462 : // op: rs1
1463 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1464 0 : Value |= (op & UINT64_C(31)) << 14;
1465 : // op: rs2
1466 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1467 0 : Value |= op & UINT64_C(31);
1468 0 : break;
1469 : }
1470 : case SP::BINDri:
1471 : case SP::CALLri:
1472 : case SP::CMPri:
1473 : case SP::FLUSHri:
1474 : case SP::LDCSRri:
1475 : case SP::LDFSRri:
1476 : case SP::LDXFSRri:
1477 : case SP::PWRPSRri:
1478 : case SP::RETTri:
1479 : case SP::STCSRri:
1480 : case SP::STDCQri:
1481 : case SP::STDFQri:
1482 : case SP::STFSRri:
1483 : case SP::STXFSRri:
1484 : case SP::WRPSRri:
1485 : case SP::WRTBRri:
1486 : case SP::WRWIMri: {
1487 : // op: rs1
1488 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1489 0 : Value |= (op & UINT64_C(31)) << 14;
1490 : // op: simm13
1491 0 : op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
1492 0 : Value |= op & UINT64_C(8191);
1493 0 : break;
1494 : }
1495 : case SP::CMASK16:
1496 : case SP::CMASK32:
1497 : case SP::CMASK8: {
1498 : // op: rs2
1499 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1500 0 : Value |= op & UINT64_C(31);
1501 0 : break;
1502 : }
1503 : case SP::MEMBARi:
1504 : case SP::RET:
1505 : case SP::RETL: {
1506 : // op: simm13
1507 0 : op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
1508 0 : Value |= op & UINT64_C(8191);
1509 0 : break;
1510 : }
1511 : default:
1512 : std::string msg;
1513 : raw_string_ostream Msg(msg);
1514 0 : Msg << "Not supported instr: " << MI;
1515 0 : report_fatal_error(Msg.str());
1516 : }
1517 0 : return Value;
1518 : }
1519 :
1520 : #ifdef ENABLE_INSTR_PREDICATE_VERIFIER
1521 : #undef ENABLE_INSTR_PREDICATE_VERIFIER
1522 : #include <sstream>
1523 :
1524 : // Flags for subtarget features that participate in instruction matching.
1525 : enum SubtargetFeatureFlag : uint8_t {
1526 : Feature_UseSoftMulDiv = (1ULL << 5),
1527 : Feature_HasV9 = (1ULL << 1),
1528 : Feature_HasVIS = (1ULL << 2),
1529 : Feature_HasVIS2 = (1ULL << 3),
1530 : Feature_HasVIS3 = (1ULL << 4),
1531 : Feature_HasPWRPSR = (1ULL << 0),
1532 : Feature_None = 0
1533 : };
1534 :
1535 : #ifndef NDEBUG
1536 : static const char *SubtargetFeatureNames[] = {
1537 : "Feature_HasPWRPSR",
1538 : "Feature_HasV9",
1539 : "Feature_HasVIS",
1540 : "Feature_HasVIS2",
1541 : "Feature_HasVIS3",
1542 : "Feature_UseSoftMulDiv",
1543 : nullptr
1544 : };
1545 :
1546 : #endif // NDEBUG
1547 0 : uint64_t SparcMCCodeEmitter::
1548 : computeAvailableFeatures(const FeatureBitset& FB) const {
1549 : uint64_t Features = 0;
1550 0 : if ((FB[Sparc::FeatureSoftMulDiv]))
1551 : Features |= Feature_UseSoftMulDiv;
1552 0 : if ((FB[Sparc::FeatureV9]))
1553 0 : Features |= Feature_HasV9;
1554 0 : if ((FB[Sparc::FeatureVIS]))
1555 0 : Features |= Feature_HasVIS;
1556 0 : if ((FB[Sparc::FeatureVIS2]))
1557 0 : Features |= Feature_HasVIS2;
1558 0 : if ((FB[Sparc::FeatureVIS3]))
1559 0 : Features |= Feature_HasVIS3;
1560 0 : if ((FB[Sparc::FeaturePWRPSR]))
1561 0 : Features |= Feature_HasPWRPSR;
1562 0 : return Features;
1563 : }
1564 :
1565 0 : void SparcMCCodeEmitter::verifyInstructionPredicates(
1566 : const MCInst &Inst, uint64_t AvailableFeatures) const {
1567 : #ifndef NDEBUG
1568 : static uint64_t RequiredFeatures[] = {
1569 : 0, // PHI = 0
1570 : 0, // INLINEASM = 1
1571 : 0, // CFI_INSTRUCTION = 2
1572 : 0, // EH_LABEL = 3
1573 : 0, // GC_LABEL = 4
1574 : 0, // ANNOTATION_LABEL = 5
1575 : 0, // KILL = 6
1576 : 0, // EXTRACT_SUBREG = 7
1577 : 0, // INSERT_SUBREG = 8
1578 : 0, // IMPLICIT_DEF = 9
1579 : 0, // SUBREG_TO_REG = 10
1580 : 0, // COPY_TO_REGCLASS = 11
1581 : 0, // DBG_VALUE = 12
1582 : 0, // DBG_LABEL = 13
1583 : 0, // REG_SEQUENCE = 14
1584 : 0, // COPY = 15
1585 : 0, // BUNDLE = 16
1586 : 0, // LIFETIME_START = 17
1587 : 0, // LIFETIME_END = 18
1588 : 0, // STACKMAP = 19
1589 : 0, // FENTRY_CALL = 20
1590 : 0, // PATCHPOINT = 21
1591 : 0, // LOAD_STACK_GUARD = 22
1592 : 0, // STATEPOINT = 23
1593 : 0, // LOCAL_ESCAPE = 24
1594 : 0, // FAULTING_OP = 25
1595 : 0, // PATCHABLE_OP = 26
1596 : 0, // PATCHABLE_FUNCTION_ENTER = 27
1597 : 0, // PATCHABLE_RET = 28
1598 : 0, // PATCHABLE_FUNCTION_EXIT = 29
1599 : 0, // PATCHABLE_TAIL_CALL = 30
1600 : 0, // PATCHABLE_EVENT_CALL = 31
1601 : 0, // PATCHABLE_TYPED_EVENT_CALL = 32
1602 : 0, // ICALL_BRANCH_FUNNEL = 33
1603 : 0, // G_ADD = 34
1604 : 0, // G_SUB = 35
1605 : 0, // G_MUL = 36
1606 : 0, // G_SDIV = 37
1607 : 0, // G_UDIV = 38
1608 : 0, // G_SREM = 39
1609 : 0, // G_UREM = 40
1610 : 0, // G_AND = 41
1611 : 0, // G_OR = 42
1612 : 0, // G_XOR = 43
1613 : 0, // G_IMPLICIT_DEF = 44
1614 : 0, // G_PHI = 45
1615 : 0, // G_FRAME_INDEX = 46
1616 : 0, // G_GLOBAL_VALUE = 47
1617 : 0, // G_EXTRACT = 48
1618 : 0, // G_UNMERGE_VALUES = 49
1619 : 0, // G_INSERT = 50
1620 : 0, // G_MERGE_VALUES = 51
1621 : 0, // G_PTRTOINT = 52
1622 : 0, // G_INTTOPTR = 53
1623 : 0, // G_BITCAST = 54
1624 : 0, // G_INTRINSIC_TRUNC = 55
1625 : 0, // G_INTRINSIC_ROUND = 56
1626 : 0, // G_LOAD = 57
1627 : 0, // G_SEXTLOAD = 58
1628 : 0, // G_ZEXTLOAD = 59
1629 : 0, // G_STORE = 60
1630 : 0, // G_ATOMIC_CMPXCHG_WITH_SUCCESS = 61
1631 : 0, // G_ATOMIC_CMPXCHG = 62
1632 : 0, // G_ATOMICRMW_XCHG = 63
1633 : 0, // G_ATOMICRMW_ADD = 64
1634 : 0, // G_ATOMICRMW_SUB = 65
1635 : 0, // G_ATOMICRMW_AND = 66
1636 : 0, // G_ATOMICRMW_NAND = 67
1637 : 0, // G_ATOMICRMW_OR = 68
1638 : 0, // G_ATOMICRMW_XOR = 69
1639 : 0, // G_ATOMICRMW_MAX = 70
1640 : 0, // G_ATOMICRMW_MIN = 71
1641 : 0, // G_ATOMICRMW_UMAX = 72
1642 : 0, // G_ATOMICRMW_UMIN = 73
1643 : 0, // G_BRCOND = 74
1644 : 0, // G_BRINDIRECT = 75
1645 : 0, // G_INTRINSIC = 76
1646 : 0, // G_INTRINSIC_W_SIDE_EFFECTS = 77
1647 : 0, // G_ANYEXT = 78
1648 : 0, // G_TRUNC = 79
1649 : 0, // G_CONSTANT = 80
1650 : 0, // G_FCONSTANT = 81
1651 : 0, // G_VASTART = 82
1652 : 0, // G_VAARG = 83
1653 : 0, // G_SEXT = 84
1654 : 0, // G_ZEXT = 85
1655 : 0, // G_SHL = 86
1656 : 0, // G_LSHR = 87
1657 : 0, // G_ASHR = 88
1658 : 0, // G_ICMP = 89
1659 : 0, // G_FCMP = 90
1660 : 0, // G_SELECT = 91
1661 : 0, // G_UADDO = 92
1662 : 0, // G_UADDE = 93
1663 : 0, // G_USUBO = 94
1664 : 0, // G_USUBE = 95
1665 : 0, // G_SADDO = 96
1666 : 0, // G_SADDE = 97
1667 : 0, // G_SSUBO = 98
1668 : 0, // G_SSUBE = 99
1669 : 0, // G_UMULO = 100
1670 : 0, // G_SMULO = 101
1671 : 0, // G_UMULH = 102
1672 : 0, // G_SMULH = 103
1673 : 0, // G_FADD = 104
1674 : 0, // G_FSUB = 105
1675 : 0, // G_FMUL = 106
1676 : 0, // G_FMA = 107
1677 : 0, // G_FDIV = 108
1678 : 0, // G_FREM = 109
1679 : 0, // G_FPOW = 110
1680 : 0, // G_FEXP = 111
1681 : 0, // G_FEXP2 = 112
1682 : 0, // G_FLOG = 113
1683 : 0, // G_FLOG2 = 114
1684 : 0, // G_FNEG = 115
1685 : 0, // G_FPEXT = 116
1686 : 0, // G_FPTRUNC = 117
1687 : 0, // G_FPTOSI = 118
1688 : 0, // G_FPTOUI = 119
1689 : 0, // G_SITOFP = 120
1690 : 0, // G_UITOFP = 121
1691 : 0, // G_FABS = 122
1692 : 0, // G_GEP = 123
1693 : 0, // G_PTR_MASK = 124
1694 : 0, // G_BR = 125
1695 : 0, // G_INSERT_VECTOR_ELT = 126
1696 : 0, // G_EXTRACT_VECTOR_ELT = 127
1697 : 0, // G_SHUFFLE_VECTOR = 128
1698 : 0, // G_CTTZ = 129
1699 : 0, // G_CTTZ_ZERO_UNDEF = 130
1700 : 0, // G_CTLZ = 131
1701 : 0, // G_CTLZ_ZERO_UNDEF = 132
1702 : 0, // G_CTPOP = 133
1703 : 0, // G_BSWAP = 134
1704 : 0, // G_ADDRSPACE_CAST = 135
1705 : 0, // G_BLOCK_ADDR = 136
1706 : 0, // ADJCALLSTACKDOWN = 137
1707 : 0, // ADJCALLSTACKUP = 138
1708 : 0, // GETPCX = 139
1709 : 0, // SELECT_CC_DFP_FCC = 140
1710 : 0, // SELECT_CC_DFP_ICC = 141
1711 : 0, // SELECT_CC_FP_FCC = 142
1712 : 0, // SELECT_CC_FP_ICC = 143
1713 : 0, // SELECT_CC_Int_FCC = 144
1714 : 0, // SELECT_CC_Int_ICC = 145
1715 : 0, // SELECT_CC_QFP_FCC = 146
1716 : 0, // SELECT_CC_QFP_ICC = 147
1717 : 0, // SET = 148
1718 : 0, // ADDCCri = 149
1719 : 0, // ADDCCrr = 150
1720 : 0, // ADDCri = 151
1721 : 0, // ADDCrr = 152
1722 : 0, // ADDEri = 153
1723 : 0, // ADDErr = 154
1724 : Feature_HasVIS3 | 0, // ADDXC = 155
1725 : Feature_HasVIS3 | 0, // ADDXCCC = 156
1726 : 0, // ADDXri = 157
1727 : 0, // ADDXrr = 158
1728 : 0, // ADDri = 159
1729 : 0, // ADDrr = 160
1730 : Feature_HasVIS | 0, // ALIGNADDR = 161
1731 : Feature_HasVIS | 0, // ALIGNADDRL = 162
1732 : 0, // ANDCCri = 163
1733 : 0, // ANDCCrr = 164
1734 : 0, // ANDNCCri = 165
1735 : 0, // ANDNCCrr = 166
1736 : 0, // ANDNri = 167
1737 : 0, // ANDNrr = 168
1738 : 0, // ANDXNrr = 169
1739 : 0, // ANDXri = 170
1740 : 0, // ANDXrr = 171
1741 : 0, // ANDri = 172
1742 : 0, // ANDrr = 173
1743 : Feature_HasVIS | 0, // ARRAY16 = 174
1744 : Feature_HasVIS | 0, // ARRAY32 = 175
1745 : Feature_HasVIS | 0, // ARRAY8 = 176
1746 : 0, // BA = 177
1747 : 0, // BCOND = 178
1748 : 0, // BCONDA = 179
1749 : 0, // BINDri = 180
1750 : 0, // BINDrr = 181
1751 : Feature_HasVIS2 | 0, // BMASK = 182
1752 : Feature_HasV9 | 0, // BPFCC = 183
1753 : Feature_HasV9 | 0, // BPFCCA = 184
1754 : Feature_HasV9 | 0, // BPFCCANT = 185
1755 : Feature_HasV9 | 0, // BPFCCNT = 186
1756 : 0, // BPGEZapn = 187
1757 : 0, // BPGEZapt = 188
1758 : 0, // BPGEZnapn = 189
1759 : 0, // BPGEZnapt = 190
1760 : 0, // BPGZapn = 191
1761 : 0, // BPGZapt = 192
1762 : 0, // BPGZnapn = 193
1763 : 0, // BPGZnapt = 194
1764 : Feature_HasV9 | 0, // BPICC = 195
1765 : Feature_HasV9 | 0, // BPICCA = 196
1766 : Feature_HasV9 | 0, // BPICCANT = 197
1767 : Feature_HasV9 | 0, // BPICCNT = 198
1768 : 0, // BPLEZapn = 199
1769 : 0, // BPLEZapt = 200
1770 : 0, // BPLEZnapn = 201
1771 : 0, // BPLEZnapt = 202
1772 : 0, // BPLZapn = 203
1773 : 0, // BPLZapt = 204
1774 : 0, // BPLZnapn = 205
1775 : 0, // BPLZnapt = 206
1776 : 0, // BPNZapn = 207
1777 : 0, // BPNZapt = 208
1778 : 0, // BPNZnapn = 209
1779 : 0, // BPNZnapt = 210
1780 : 0, // BPXCC = 211
1781 : 0, // BPXCCA = 212
1782 : 0, // BPXCCANT = 213
1783 : 0, // BPXCCNT = 214
1784 : 0, // BPZapn = 215
1785 : 0, // BPZapt = 216
1786 : 0, // BPZnapn = 217
1787 : 0, // BPZnapt = 218
1788 : Feature_HasVIS2 | 0, // BSHUFFLE = 219
1789 : 0, // CALL = 220
1790 : 0, // CALLri = 221
1791 : 0, // CALLrr = 222
1792 : 0, // CASAasi10 = 223
1793 : 0, // CASArr = 224
1794 : 0, // CASXrr = 225
1795 : Feature_HasV9 | 0, // CASrr = 226
1796 : 0, // CBCOND = 227
1797 : 0, // CBCONDA = 228
1798 : Feature_HasVIS3 | 0, // CMASK16 = 229
1799 : Feature_HasVIS3 | 0, // CMASK32 = 230
1800 : Feature_HasVIS3 | 0, // CMASK8 = 231
1801 : 0, // CMPri = 232
1802 : 0, // CMPrr = 233
1803 : Feature_HasVIS | 0, // EDGE16 = 234
1804 : Feature_HasVIS | 0, // EDGE16L = 235
1805 : Feature_HasVIS2 | 0, // EDGE16LN = 236
1806 : Feature_HasVIS2 | 0, // EDGE16N = 237
1807 : Feature_HasVIS | 0, // EDGE32 = 238
1808 : Feature_HasVIS | 0, // EDGE32L = 239
1809 : Feature_HasVIS2 | 0, // EDGE32LN = 240
1810 : Feature_HasVIS2 | 0, // EDGE32N = 241
1811 : Feature_HasVIS | 0, // EDGE8 = 242
1812 : Feature_HasVIS | 0, // EDGE8L = 243
1813 : Feature_HasVIS2 | 0, // EDGE8LN = 244
1814 : Feature_HasVIS2 | 0, // EDGE8N = 245
1815 : Feature_HasV9 | 0, // FABSD = 246
1816 : Feature_HasV9 | 0, // FABSQ = 247
1817 : 0, // FABSS = 248
1818 : 0, // FADDD = 249
1819 : 0, // FADDQ = 250
1820 : 0, // FADDS = 251
1821 : Feature_HasVIS | 0, // FALIGNADATA = 252
1822 : Feature_HasVIS | 0, // FAND = 253
1823 : Feature_HasVIS | 0, // FANDNOT1 = 254
1824 : Feature_HasVIS | 0, // FANDNOT1S = 255
1825 : Feature_HasVIS | 0, // FANDNOT2 = 256
1826 : Feature_HasVIS | 0, // FANDNOT2S = 257
1827 : Feature_HasVIS | 0, // FANDS = 258
1828 : 0, // FBCOND = 259
1829 : 0, // FBCONDA = 260
1830 : Feature_HasVIS3 | 0, // FCHKSM16 = 261
1831 : 0, // FCMPD = 262
1832 : Feature_HasVIS | 0, // FCMPEQ16 = 263
1833 : Feature_HasVIS | 0, // FCMPEQ32 = 264
1834 : Feature_HasVIS | 0, // FCMPGT16 = 265
1835 : Feature_HasVIS | 0, // FCMPGT32 = 266
1836 : Feature_HasVIS | 0, // FCMPLE16 = 267
1837 : Feature_HasVIS | 0, // FCMPLE32 = 268
1838 : Feature_HasVIS | 0, // FCMPNE16 = 269
1839 : Feature_HasVIS | 0, // FCMPNE32 = 270
1840 : 0, // FCMPQ = 271
1841 : 0, // FCMPS = 272
1842 : 0, // FDIVD = 273
1843 : 0, // FDIVQ = 274
1844 : 0, // FDIVS = 275
1845 : 0, // FDMULQ = 276
1846 : 0, // FDTOI = 277
1847 : 0, // FDTOQ = 278
1848 : 0, // FDTOS = 279
1849 : 0, // FDTOX = 280
1850 : Feature_HasVIS | 0, // FEXPAND = 281
1851 : Feature_HasVIS3 | 0, // FHADDD = 282
1852 : Feature_HasVIS3 | 0, // FHADDS = 283
1853 : Feature_HasVIS3 | 0, // FHSUBD = 284
1854 : Feature_HasVIS3 | 0, // FHSUBS = 285
1855 : 0, // FITOD = 286
1856 : 0, // FITOQ = 287
1857 : 0, // FITOS = 288
1858 : Feature_HasVIS3 | 0, // FLCMPD = 289
1859 : Feature_HasVIS3 | 0, // FLCMPS = 290
1860 : 0, // FLUSH = 291
1861 : Feature_HasV9 | 0, // FLUSHW = 292
1862 : 0, // FLUSHri = 293
1863 : 0, // FLUSHrr = 294
1864 : Feature_HasVIS3 | 0, // FMEAN16 = 295
1865 : Feature_HasV9 | 0, // FMOVD = 296
1866 : Feature_HasV9 | 0, // FMOVD_FCC = 297
1867 : Feature_HasV9 | 0, // FMOVD_ICC = 298
1868 : 0, // FMOVD_XCC = 299
1869 : Feature_HasV9 | 0, // FMOVQ = 300
1870 : Feature_HasV9 | 0, // FMOVQ_FCC = 301
1871 : Feature_HasV9 | 0, // FMOVQ_ICC = 302
1872 : 0, // FMOVQ_XCC = 303
1873 : Feature_HasV9 | 0, // FMOVRGEZD = 304
1874 : Feature_HasV9 | 0, // FMOVRGEZQ = 305
1875 : Feature_HasV9 | 0, // FMOVRGEZS = 306
1876 : Feature_HasV9 | 0, // FMOVRGZD = 307
1877 : Feature_HasV9 | 0, // FMOVRGZQ = 308
1878 : Feature_HasV9 | 0, // FMOVRGZS = 309
1879 : Feature_HasV9 | 0, // FMOVRLEZD = 310
1880 : Feature_HasV9 | 0, // FMOVRLEZQ = 311
1881 : Feature_HasV9 | 0, // FMOVRLEZS = 312
1882 : Feature_HasV9 | 0, // FMOVRLZD = 313
1883 : Feature_HasV9 | 0, // FMOVRLZQ = 314
1884 : Feature_HasV9 | 0, // FMOVRLZS = 315
1885 : Feature_HasV9 | 0, // FMOVRNZD = 316
1886 : Feature_HasV9 | 0, // FMOVRNZQ = 317
1887 : Feature_HasV9 | 0, // FMOVRNZS = 318
1888 : Feature_HasV9 | 0, // FMOVRZD = 319
1889 : Feature_HasV9 | 0, // FMOVRZQ = 320
1890 : Feature_HasV9 | 0, // FMOVRZS = 321
1891 : 0, // FMOVS = 322
1892 : Feature_HasV9 | 0, // FMOVS_FCC = 323
1893 : Feature_HasV9 | 0, // FMOVS_ICC = 324
1894 : 0, // FMOVS_XCC = 325
1895 : Feature_HasVIS | 0, // FMUL8SUX16 = 326
1896 : Feature_HasVIS | 0, // FMUL8ULX16 = 327
1897 : Feature_HasVIS | 0, // FMUL8X16 = 328
1898 : Feature_HasVIS | 0, // FMUL8X16AL = 329
1899 : Feature_HasVIS | 0, // FMUL8X16AU = 330
1900 : 0, // FMULD = 331
1901 : Feature_HasVIS | 0, // FMULD8SUX16 = 332
1902 : Feature_HasVIS | 0, // FMULD8ULX16 = 333
1903 : 0, // FMULQ = 334
1904 : 0, // FMULS = 335
1905 : Feature_HasVIS3 | 0, // FNADDD = 336
1906 : Feature_HasVIS3 | 0, // FNADDS = 337
1907 : Feature_HasVIS | 0, // FNAND = 338
1908 : Feature_HasVIS | 0, // FNANDS = 339
1909 : Feature_HasV9 | 0, // FNEGD = 340
1910 : Feature_HasV9 | 0, // FNEGQ = 341
1911 : 0, // FNEGS = 342
1912 : Feature_HasVIS3 | 0, // FNHADDD = 343
1913 : Feature_HasVIS3 | 0, // FNHADDS = 344
1914 : Feature_HasVIS3 | 0, // FNMULD = 345
1915 : Feature_HasVIS3 | 0, // FNMULS = 346
1916 : Feature_HasVIS | 0, // FNOR = 347
1917 : Feature_HasVIS | 0, // FNORS = 348
1918 : Feature_HasVIS | 0, // FNOT1 = 349
1919 : Feature_HasVIS | 0, // FNOT1S = 350
1920 : Feature_HasVIS | 0, // FNOT2 = 351
1921 : Feature_HasVIS | 0, // FNOT2S = 352
1922 : Feature_HasVIS3 | 0, // FNSMULD = 353
1923 : Feature_HasVIS | 0, // FONE = 354
1924 : Feature_HasVIS | 0, // FONES = 355
1925 : Feature_HasVIS | 0, // FOR = 356
1926 : Feature_HasVIS | 0, // FORNOT1 = 357
1927 : Feature_HasVIS | 0, // FORNOT1S = 358
1928 : Feature_HasVIS | 0, // FORNOT2 = 359
1929 : Feature_HasVIS | 0, // FORNOT2S = 360
1930 : Feature_HasVIS | 0, // FORS = 361
1931 : Feature_HasVIS | 0, // FPACK16 = 362
1932 : Feature_HasVIS | 0, // FPACK32 = 363
1933 : Feature_HasVIS | 0, // FPACKFIX = 364
1934 : Feature_HasVIS | 0, // FPADD16 = 365
1935 : Feature_HasVIS | 0, // FPADD16S = 366
1936 : Feature_HasVIS | 0, // FPADD32 = 367
1937 : Feature_HasVIS | 0, // FPADD32S = 368
1938 : Feature_HasVIS3 | 0, // FPADD64 = 369
1939 : Feature_HasVIS | 0, // FPMERGE = 370
1940 : Feature_HasVIS | 0, // FPSUB16 = 371
1941 : Feature_HasVIS | 0, // FPSUB16S = 372
1942 : Feature_HasVIS | 0, // FPSUB32 = 373
1943 : Feature_HasVIS | 0, // FPSUB32S = 374
1944 : 0, // FQTOD = 375
1945 : 0, // FQTOI = 376
1946 : 0, // FQTOS = 377
1947 : 0, // FQTOX = 378
1948 : Feature_HasVIS3 | 0, // FSLAS16 = 379
1949 : Feature_HasVIS3 | 0, // FSLAS32 = 380
1950 : Feature_HasVIS3 | 0, // FSLL16 = 381
1951 : Feature_HasVIS3 | 0, // FSLL32 = 382
1952 : 0, // FSMULD = 383
1953 : 0, // FSQRTD = 384
1954 : 0, // FSQRTQ = 385
1955 : 0, // FSQRTS = 386
1956 : Feature_HasVIS3 | 0, // FSRA16 = 387
1957 : Feature_HasVIS3 | 0, // FSRA32 = 388
1958 : Feature_HasVIS | 0, // FSRC1 = 389
1959 : Feature_HasVIS | 0, // FSRC1S = 390
1960 : Feature_HasVIS | 0, // FSRC2 = 391
1961 : Feature_HasVIS | 0, // FSRC2S = 392
1962 : Feature_HasVIS3 | 0, // FSRL16 = 393
1963 : Feature_HasVIS3 | 0, // FSRL32 = 394
1964 : 0, // FSTOD = 395
1965 : 0, // FSTOI = 396
1966 : 0, // FSTOQ = 397
1967 : 0, // FSTOX = 398
1968 : 0, // FSUBD = 399
1969 : 0, // FSUBQ = 400
1970 : 0, // FSUBS = 401
1971 : Feature_HasVIS | 0, // FXNOR = 402
1972 : Feature_HasVIS | 0, // FXNORS = 403
1973 : Feature_HasVIS | 0, // FXOR = 404
1974 : Feature_HasVIS | 0, // FXORS = 405
1975 : 0, // FXTOD = 406
1976 : 0, // FXTOQ = 407
1977 : 0, // FXTOS = 408
1978 : Feature_HasVIS | 0, // FZERO = 409
1979 : Feature_HasVIS | 0, // FZEROS = 410
1980 : 0, // JMPLri = 411
1981 : 0, // JMPLrr = 412
1982 : 0, // LDArr = 413
1983 : 0, // LDCSRri = 414
1984 : 0, // LDCSRrr = 415
1985 : 0, // LDCri = 416
1986 : 0, // LDCrr = 417
1987 : 0, // LDDArr = 418
1988 : 0, // LDDCri = 419
1989 : 0, // LDDCrr = 420
1990 : Feature_HasV9 | 0, // LDDFArr = 421
1991 : 0, // LDDFri = 422
1992 : 0, // LDDFrr = 423
1993 : 0, // LDDri = 424
1994 : 0, // LDDrr = 425
1995 : Feature_HasV9 | 0, // LDFArr = 426
1996 : 0, // LDFSRri = 427
1997 : 0, // LDFSRrr = 428
1998 : 0, // LDFri = 429
1999 : 0, // LDFrr = 430
2000 : Feature_HasV9 | 0, // LDQFArr = 431
2001 : Feature_HasV9 | 0, // LDQFri = 432
2002 : Feature_HasV9 | 0, // LDQFrr = 433
2003 : 0, // LDSBArr = 434
2004 : 0, // LDSBri = 435
2005 : 0, // LDSBrr = 436
2006 : 0, // LDSHArr = 437
2007 : 0, // LDSHri = 438
2008 : 0, // LDSHrr = 439
2009 : 0, // LDSTUBArr = 440
2010 : 0, // LDSTUBri = 441
2011 : 0, // LDSTUBrr = 442
2012 : 0, // LDSWri = 443
2013 : 0, // LDSWrr = 444
2014 : 0, // LDUBArr = 445
2015 : 0, // LDUBri = 446
2016 : 0, // LDUBrr = 447
2017 : 0, // LDUHArr = 448
2018 : 0, // LDUHri = 449
2019 : 0, // LDUHrr = 450
2020 : Feature_HasV9 | 0, // LDXFSRri = 451
2021 : Feature_HasV9 | 0, // LDXFSRrr = 452
2022 : 0, // LDXri = 453
2023 : 0, // LDXrr = 454
2024 : 0, // LDri = 455
2025 : 0, // LDrr = 456
2026 : 0, // LEAX_ADDri = 457
2027 : 0, // LEA_ADDri = 458
2028 : Feature_HasVIS3 | 0, // LZCNT = 459
2029 : Feature_HasV9 | 0, // MEMBARi = 460
2030 : Feature_HasVIS3 | 0, // MOVDTOX = 461
2031 : Feature_HasV9 | 0, // MOVFCCri = 462
2032 : Feature_HasV9 | 0, // MOVFCCrr = 463
2033 : Feature_HasV9 | 0, // MOVICCri = 464
2034 : Feature_HasV9 | 0, // MOVICCrr = 465
2035 : 0, // MOVRGEZri = 466
2036 : 0, // MOVRGEZrr = 467
2037 : 0, // MOVRGZri = 468
2038 : 0, // MOVRGZrr = 469
2039 : 0, // MOVRLEZri = 470
2040 : 0, // MOVRLEZrr = 471
2041 : 0, // MOVRLZri = 472
2042 : 0, // MOVRLZrr = 473
2043 : 0, // MOVRNZri = 474
2044 : 0, // MOVRNZrr = 475
2045 : 0, // MOVRRZri = 476
2046 : 0, // MOVRRZrr = 477
2047 : Feature_HasVIS3 | 0, // MOVSTOSW = 478
2048 : Feature_HasVIS3 | 0, // MOVSTOUW = 479
2049 : Feature_HasVIS3 | 0, // MOVWTOS = 480
2050 : 0, // MOVXCCri = 481
2051 : 0, // MOVXCCrr = 482
2052 : Feature_HasVIS3 | 0, // MOVXTOD = 483
2053 : 0, // MULSCCri = 484
2054 : 0, // MULSCCrr = 485
2055 : 0, // MULXri = 486
2056 : 0, // MULXrr = 487
2057 : 0, // NOP = 488
2058 : 0, // ORCCri = 489
2059 : 0, // ORCCrr = 490
2060 : 0, // ORNCCri = 491
2061 : 0, // ORNCCrr = 492
2062 : 0, // ORNri = 493
2063 : 0, // ORNrr = 494
2064 : 0, // ORXNrr = 495
2065 : 0, // ORXri = 496
2066 : 0, // ORXrr = 497
2067 : 0, // ORri = 498
2068 : 0, // ORrr = 499
2069 : Feature_HasVIS | 0, // PDIST = 500
2070 : Feature_HasVIS3 | 0, // PDISTN = 501
2071 : Feature_HasV9 | 0, // POPCrr = 502
2072 : Feature_HasPWRPSR | 0, // PWRPSRri = 503
2073 : Feature_HasPWRPSR | 0, // PWRPSRrr = 504
2074 : 0, // RDASR = 505
2075 : Feature_HasV9 | 0, // RDPR = 506
2076 : 0, // RDPSR = 507
2077 : 0, // RDTBR = 508
2078 : 0, // RDWIM = 509
2079 : 0, // RESTOREri = 510
2080 : 0, // RESTORErr = 511
2081 : 0, // RET = 512
2082 : 0, // RETL = 513
2083 : 0, // RETTri = 514
2084 : 0, // RETTrr = 515
2085 : 0, // SAVEri = 516
2086 : 0, // SAVErr = 517
2087 : 0, // SDIVCCri = 518
2088 : 0, // SDIVCCrr = 519
2089 : 0, // SDIVXri = 520
2090 : 0, // SDIVXrr = 521
2091 : 0, // SDIVri = 522
2092 : 0, // SDIVrr = 523
2093 : 0, // SETHIXi = 524
2094 : 0, // SETHIi = 525
2095 : Feature_HasVIS | 0, // SHUTDOWN = 526
2096 : Feature_HasVIS2 | 0, // SIAM = 527
2097 : 0, // SLLXri = 528
2098 : 0, // SLLXrr = 529
2099 : 0, // SLLri = 530
2100 : 0, // SLLrr = 531
2101 : 0, // SMACri = 532
2102 : 0, // SMACrr = 533
2103 : 0, // SMULCCri = 534
2104 : 0, // SMULCCrr = 535
2105 : 0, // SMULri = 536
2106 : 0, // SMULrr = 537
2107 : 0, // SRAXri = 538
2108 : 0, // SRAXrr = 539
2109 : 0, // SRAri = 540
2110 : 0, // SRArr = 541
2111 : 0, // SRLXri = 542
2112 : 0, // SRLXrr = 543
2113 : 0, // SRLri = 544
2114 : 0, // SRLrr = 545
2115 : 0, // STArr = 546
2116 : 0, // STBAR = 547
2117 : 0, // STBArr = 548
2118 : 0, // STBri = 549
2119 : 0, // STBrr = 550
2120 : 0, // STCSRri = 551
2121 : 0, // STCSRrr = 552
2122 : 0, // STCri = 553
2123 : 0, // STCrr = 554
2124 : 0, // STDArr = 555
2125 : 0, // STDCQri = 556
2126 : 0, // STDCQrr = 557
2127 : 0, // STDCri = 558
2128 : 0, // STDCrr = 559
2129 : Feature_HasV9 | 0, // STDFArr = 560
2130 : 0, // STDFQri = 561
2131 : 0, // STDFQrr = 562
2132 : 0, // STDFri = 563
2133 : 0, // STDFrr = 564
2134 : 0, // STDri = 565
2135 : 0, // STDrr = 566
2136 : Feature_HasV9 | 0, // STFArr = 567
2137 : 0, // STFSRri = 568
2138 : 0, // STFSRrr = 569
2139 : 0, // STFri = 570
2140 : 0, // STFrr = 571
2141 : 0, // STHArr = 572
2142 : 0, // STHri = 573
2143 : 0, // STHrr = 574
2144 : Feature_HasV9 | 0, // STQFArr = 575
2145 : Feature_HasV9 | 0, // STQFri = 576
2146 : Feature_HasV9 | 0, // STQFrr = 577
2147 : Feature_HasV9 | 0, // STXFSRri = 578
2148 : Feature_HasV9 | 0, // STXFSRrr = 579
2149 : 0, // STXri = 580
2150 : 0, // STXrr = 581
2151 : 0, // STri = 582
2152 : 0, // STrr = 583
2153 : 0, // SUBCCri = 584
2154 : 0, // SUBCCrr = 585
2155 : 0, // SUBCri = 586
2156 : 0, // SUBCrr = 587
2157 : 0, // SUBEri = 588
2158 : 0, // SUBErr = 589
2159 : 0, // SUBXri = 590
2160 : 0, // SUBXrr = 591
2161 : 0, // SUBri = 592
2162 : 0, // SUBrr = 593
2163 : 0, // SWAPArr = 594
2164 : 0, // SWAPri = 595
2165 : 0, // SWAPrr = 596
2166 : 0, // TA1 = 597
2167 : 0, // TA3 = 598
2168 : 0, // TA5 = 599
2169 : 0, // TADDCCTVri = 600
2170 : 0, // TADDCCTVrr = 601
2171 : 0, // TADDCCri = 602
2172 : 0, // TADDCCrr = 603
2173 : Feature_HasV9 | 0, // TICCri = 604
2174 : Feature_HasV9 | 0, // TICCrr = 605
2175 : 0, // TLS_ADDXrr = 606
2176 : 0, // TLS_ADDrr = 607
2177 : 0, // TLS_CALL = 608
2178 : 0, // TLS_LDXrr = 609
2179 : 0, // TLS_LDrr = 610
2180 : 0, // TRAPri = 611
2181 : 0, // TRAPrr = 612
2182 : 0, // TSUBCCTVri = 613
2183 : 0, // TSUBCCTVrr = 614
2184 : 0, // TSUBCCri = 615
2185 : 0, // TSUBCCrr = 616
2186 : 0, // TXCCri = 617
2187 : 0, // TXCCrr = 618
2188 : 0, // UDIVCCri = 619
2189 : 0, // UDIVCCrr = 620
2190 : 0, // UDIVXri = 621
2191 : 0, // UDIVXrr = 622
2192 : 0, // UDIVri = 623
2193 : 0, // UDIVrr = 624
2194 : 0, // UMACri = 625
2195 : 0, // UMACrr = 626
2196 : 0, // UMULCCri = 627
2197 : 0, // UMULCCrr = 628
2198 : Feature_HasVIS3 | 0, // UMULXHI = 629
2199 : 0, // UMULri = 630
2200 : 0, // UMULrr = 631
2201 : 0, // UNIMP = 632
2202 : 0, // V9FCMPD = 633
2203 : 0, // V9FCMPED = 634
2204 : 0, // V9FCMPEQ = 635
2205 : 0, // V9FCMPES = 636
2206 : 0, // V9FCMPQ = 637
2207 : 0, // V9FCMPS = 638
2208 : Feature_HasV9 | 0, // V9FMOVD_FCC = 639
2209 : Feature_HasV9 | 0, // V9FMOVQ_FCC = 640
2210 : Feature_HasV9 | 0, // V9FMOVS_FCC = 641
2211 : Feature_HasV9 | 0, // V9MOVFCCri = 642
2212 : Feature_HasV9 | 0, // V9MOVFCCrr = 643
2213 : 0, // WRASRri = 644
2214 : 0, // WRASRrr = 645
2215 : Feature_HasV9 | 0, // WRPRri = 646
2216 : Feature_HasV9 | 0, // WRPRrr = 647
2217 : 0, // WRPSRri = 648
2218 : 0, // WRPSRrr = 649
2219 : 0, // WRTBRri = 650
2220 : 0, // WRTBRrr = 651
2221 : 0, // WRWIMri = 652
2222 : 0, // WRWIMrr = 653
2223 : Feature_HasVIS3 | 0, // XMULX = 654
2224 : Feature_HasVIS3 | 0, // XMULXHI = 655
2225 : 0, // XNORCCri = 656
2226 : 0, // XNORCCrr = 657
2227 : 0, // XNORXrr = 658
2228 : 0, // XNORri = 659
2229 : 0, // XNORrr = 660
2230 : 0, // XORCCri = 661
2231 : 0, // XORCCrr = 662
2232 : 0, // XORXri = 663
2233 : 0, // XORXrr = 664
2234 : 0, // XORri = 665
2235 : 0, // XORrr = 666
2236 : };
2237 :
2238 : assert(Inst.getOpcode() < 667);
2239 : uint64_t MissingFeatures =
2240 : (AvailableFeatures & RequiredFeatures[Inst.getOpcode()]) ^
2241 : RequiredFeatures[Inst.getOpcode()];
2242 : if (MissingFeatures) {
2243 : std::ostringstream Msg;
2244 : Msg << "Attempting to emit " << MCII.getName(Inst.getOpcode()).str()
2245 : << " instruction but the ";
2246 : for (unsigned i = 0; i < 8 * sizeof(MissingFeatures); ++i)
2247 : if (MissingFeatures & (1ULL << i))
2248 : Msg << SubtargetFeatureNames[i] << " ";
2249 : Msg << "predicate(s) are not met";
2250 : report_fatal_error(Msg.str());
2251 : }
2252 : #else
2253 : // Silence unused variable warning on targets that don't use MCII for other purposes (e.g. BPF).
2254 : (void)MCII;
2255 : #endif // NDEBUG
2256 0 : }
2257 : #endif
|