• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|*                                                                            *|
3|* Machine Code Emitter                                                       *|
4|*                                                                            *|
5|* Automatically generated file, do not edit!                                 *|
6|*                                                                            *|
7\*===----------------------------------------------------------------------===*/
8
9uint64_t PPCMCCodeEmitter::getBinaryCodeForInstr(const MCInst &MI,
10    SmallVectorImpl<MCFixup> &Fixups,
11    const MCSubtargetInfo &STI) const {
12  static const uint64_t InstBits[] = {
13    UINT64_C(0),
14    UINT64_C(0),
15    UINT64_C(0),
16    UINT64_C(0),
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(0),
167    UINT64_C(0),
168    UINT64_C(0),
169    UINT64_C(0),
170    UINT64_C(0),
171    UINT64_C(0),
172    UINT64_C(0),
173    UINT64_C(0),
174    UINT64_C(0),
175    UINT64_C(0),
176    UINT64_C(0),
177    UINT64_C(0),
178    UINT64_C(0),
179    UINT64_C(0),
180    UINT64_C(0),
181    UINT64_C(0),
182    UINT64_C(0),
183    UINT64_C(0),
184    UINT64_C(0),
185    UINT64_C(0),
186    UINT64_C(0),
187    UINT64_C(0),
188    UINT64_C(0),
189    UINT64_C(0),
190    UINT64_C(0),
191    UINT64_C(0),
192    UINT64_C(0),
193    UINT64_C(0),
194    UINT64_C(0),
195    UINT64_C(0),
196    UINT64_C(0),
197    UINT64_C(0),
198    UINT64_C(0),
199    UINT64_C(0),
200    UINT64_C(0),
201    UINT64_C(0),
202    UINT64_C(0),
203    UINT64_C(0),
204    UINT64_C(0),
205    UINT64_C(0),
206    UINT64_C(0),
207    UINT64_C(0),
208    UINT64_C(0),
209    UINT64_C(0),
210    UINT64_C(0),
211    UINT64_C(0),
212    UINT64_C(0),
213    UINT64_C(0),
214    UINT64_C(0),
215    UINT64_C(0),
216    UINT64_C(0),
217    UINT64_C(0),
218    UINT64_C(0),
219    UINT64_C(0),
220    UINT64_C(0),
221    UINT64_C(0),
222    UINT64_C(0),
223    UINT64_C(0),
224    UINT64_C(0),
225    UINT64_C(0),
226    UINT64_C(0),
227    UINT64_C(0),
228    UINT64_C(0),
229    UINT64_C(0),
230    UINT64_C(0),
231    UINT64_C(0),
232    UINT64_C(0),
233    UINT64_C(0),
234    UINT64_C(0),
235    UINT64_C(0),
236    UINT64_C(0),
237    UINT64_C(0),
238    UINT64_C(0),
239    UINT64_C(0),
240    UINT64_C(0),
241    UINT64_C(0),
242    UINT64_C(0),
243    UINT64_C(0),
244    UINT64_C(0),
245    UINT64_C(0),
246    UINT64_C(0),
247    UINT64_C(0),
248    UINT64_C(0),
249    UINT64_C(0),
250    UINT64_C(0),
251    UINT64_C(0),
252    UINT64_C(0),
253    UINT64_C(0),
254    UINT64_C(0),
255    UINT64_C(0),
256    UINT64_C(0),
257    UINT64_C(0),
258    UINT64_C(0),
259    UINT64_C(0),
260    UINT64_C(0),
261    UINT64_C(0),
262    UINT64_C(0),
263    UINT64_C(0),
264    UINT64_C(0),
265    UINT64_C(0),
266    UINT64_C(0),
267    UINT64_C(0),
268    UINT64_C(0),
269    UINT64_C(0),
270    UINT64_C(0),
271    UINT64_C(0),
272    UINT64_C(0),
273    UINT64_C(0),
274    UINT64_C(0),
275    UINT64_C(0),
276    UINT64_C(0),
277    UINT64_C(0),
278    UINT64_C(0),
279    UINT64_C(0),
280    UINT64_C(0),
281    UINT64_C(0),
282    UINT64_C(0),
283    UINT64_C(0),
284    UINT64_C(0),
285    UINT64_C(0),
286    UINT64_C(0),
287    UINT64_C(0),
288    UINT64_C(0),
289    UINT64_C(0),
290    UINT64_C(0),
291    UINT64_C(0),
292    UINT64_C(0),
293    UINT64_C(0),
294    UINT64_C(0),
295    UINT64_C(0),
296    UINT64_C(0),
297    UINT64_C(0),
298    UINT64_C(0),
299    UINT64_C(0),
300    UINT64_C(0),
301    UINT64_C(0),
302    UINT64_C(0),
303    UINT64_C(0),
304    UINT64_C(0),
305    UINT64_C(0),
306    UINT64_C(0),
307    UINT64_C(0),
308    UINT64_C(0),
309    UINT64_C(0),
310    UINT64_C(0),
311    UINT64_C(0),
312    UINT64_C(0),
313    UINT64_C(0),
314    UINT64_C(0),
315    UINT64_C(0),
316    UINT64_C(0),
317    UINT64_C(0),
318    UINT64_C(0),
319    UINT64_C(0),
320    UINT64_C(0),
321    UINT64_C(0),
322    UINT64_C(0),
323    UINT64_C(0),
324    UINT64_C(0),
325    UINT64_C(0),
326    UINT64_C(0),
327    UINT64_C(0),
328    UINT64_C(0),
329    UINT64_C(0),
330    UINT64_C(0),
331    UINT64_C(0),
332    UINT64_C(0),
333    UINT64_C(0),
334    UINT64_C(0),
335    UINT64_C(0),
336    UINT64_C(0),
337    UINT64_C(0),
338    UINT64_C(0),
339    UINT64_C(0),
340    UINT64_C(0),
341    UINT64_C(0),
342    UINT64_C(0),
343    UINT64_C(0),
344    UINT64_C(0),
345    UINT64_C(0),
346    UINT64_C(0),
347    UINT64_C(0),
348    UINT64_C(0),
349    UINT64_C(0),
350    UINT64_C(2080375316),	// ADD4
351    UINT64_C(2080376340),	// ADD4O
352    UINT64_C(2080376341),	// ADD4O_rec
353    UINT64_C(2080375316),	// ADD4TLS
354    UINT64_C(2080375317),	// ADD4_rec
355    UINT64_C(2080375316),	// ADD8
356    UINT64_C(2080376340),	// ADD8O
357    UINT64_C(2080376341),	// ADD8O_rec
358    UINT64_C(2080375316),	// ADD8TLS
359    UINT64_C(2080375316),	// ADD8TLS_
360    UINT64_C(2080375317),	// ADD8_rec
361    UINT64_C(2080374804),	// ADDC
362    UINT64_C(2080374804),	// ADDC8
363    UINT64_C(2080375828),	// ADDC8O
364    UINT64_C(2080375829),	// ADDC8O_rec
365    UINT64_C(2080374805),	// ADDC8_rec
366    UINT64_C(2080375828),	// ADDCO
367    UINT64_C(2080375829),	// ADDCO_rec
368    UINT64_C(2080374805),	// ADDC_rec
369    UINT64_C(2080375060),	// ADDE
370    UINT64_C(2080375060),	// ADDE8
371    UINT64_C(2080376084),	// ADDE8O
372    UINT64_C(2080376085),	// ADDE8O_rec
373    UINT64_C(2080375061),	// ADDE8_rec
374    UINT64_C(2080376084),	// ADDEO
375    UINT64_C(2080376085),	// ADDEO_rec
376    UINT64_C(2080375124),	// ADDEX
377    UINT64_C(2080375124),	// ADDEX8
378    UINT64_C(2080375061),	// ADDE_rec
379    UINT64_C(939524096),	// ADDI
380    UINT64_C(939524096),	// ADDI8
381    UINT64_C(805306368),	// ADDIC
382    UINT64_C(805306368),	// ADDIC8
383    UINT64_C(872415232),	// ADDIC_rec
384    UINT64_C(1006632960),	// ADDIS
385    UINT64_C(1006632960),	// ADDIS8
386    UINT64_C(0),	// ADDISdtprelHA
387    UINT64_C(0),	// ADDISdtprelHA32
388    UINT64_C(0),	// ADDISgotTprelHA
389    UINT64_C(0),	// ADDIStlsgdHA
390    UINT64_C(0),	// ADDIStlsldHA
391    UINT64_C(0),	// ADDIStocHA
392    UINT64_C(0),	// ADDIStocHA8
393    UINT64_C(0),	// ADDIdtprelL
394    UINT64_C(0),	// ADDIdtprelL32
395    UINT64_C(0),	// ADDItlsgdL
396    UINT64_C(0),	// ADDItlsgdL32
397    UINT64_C(0),	// ADDItlsgdLADDR
398    UINT64_C(0),	// ADDItlsgdLADDR32
399    UINT64_C(0),	// ADDItlsldL
400    UINT64_C(0),	// ADDItlsldL32
401    UINT64_C(0),	// ADDItlsldLADDR
402    UINT64_C(0),	// ADDItlsldLADDR32
403    UINT64_C(0),	// ADDItoc
404    UINT64_C(0),	// ADDItoc8
405    UINT64_C(0),	// ADDItocL
406    UINT64_C(2080375252),	// ADDME
407    UINT64_C(2080375252),	// ADDME8
408    UINT64_C(2080376276),	// ADDME8O
409    UINT64_C(2080376277),	// ADDME8O_rec
410    UINT64_C(2080375253),	// ADDME8_rec
411    UINT64_C(2080376276),	// ADDMEO
412    UINT64_C(2080376277),	// ADDMEO_rec
413    UINT64_C(2080375253),	// ADDME_rec
414    UINT64_C(1275068420),	// ADDPCIS
415    UINT64_C(2080375188),	// ADDZE
416    UINT64_C(2080375188),	// ADDZE8
417    UINT64_C(2080376212),	// ADDZE8O
418    UINT64_C(2080376213),	// ADDZE8O_rec
419    UINT64_C(2080375189),	// ADDZE8_rec
420    UINT64_C(2080376212),	// ADDZEO
421    UINT64_C(2080376213),	// ADDZEO_rec
422    UINT64_C(2080375189),	// ADDZE_rec
423    UINT64_C(0),	// ADJCALLSTACKDOWN
424    UINT64_C(0),	// ADJCALLSTACKUP
425    UINT64_C(2080374840),	// AND
426    UINT64_C(2080374840),	// AND8
427    UINT64_C(2080374841),	// AND8_rec
428    UINT64_C(2080374904),	// ANDC
429    UINT64_C(2080374904),	// ANDC8
430    UINT64_C(2080374905),	// ANDC8_rec
431    UINT64_C(2080374905),	// ANDC_rec
432    UINT64_C(1879048192),	// ANDI8_rec
433    UINT64_C(1946157056),	// ANDIS8_rec
434    UINT64_C(1946157056),	// ANDIS_rec
435    UINT64_C(1879048192),	// ANDI_rec
436    UINT64_C(0),	// ANDI_rec_1_EQ_BIT
437    UINT64_C(0),	// ANDI_rec_1_EQ_BIT8
438    UINT64_C(0),	// ANDI_rec_1_GT_BIT
439    UINT64_C(0),	// ANDI_rec_1_GT_BIT8
440    UINT64_C(2080374841),	// AND_rec
441    UINT64_C(0),	// ATOMIC_CMP_SWAP_I16
442    UINT64_C(0),	// ATOMIC_CMP_SWAP_I32
443    UINT64_C(0),	// ATOMIC_CMP_SWAP_I64
444    UINT64_C(0),	// ATOMIC_CMP_SWAP_I8
445    UINT64_C(0),	// ATOMIC_LOAD_ADD_I16
446    UINT64_C(0),	// ATOMIC_LOAD_ADD_I32
447    UINT64_C(0),	// ATOMIC_LOAD_ADD_I64
448    UINT64_C(0),	// ATOMIC_LOAD_ADD_I8
449    UINT64_C(0),	// ATOMIC_LOAD_AND_I16
450    UINT64_C(0),	// ATOMIC_LOAD_AND_I32
451    UINT64_C(0),	// ATOMIC_LOAD_AND_I64
452    UINT64_C(0),	// ATOMIC_LOAD_AND_I8
453    UINT64_C(0),	// ATOMIC_LOAD_MAX_I16
454    UINT64_C(0),	// ATOMIC_LOAD_MAX_I32
455    UINT64_C(0),	// ATOMIC_LOAD_MAX_I64
456    UINT64_C(0),	// ATOMIC_LOAD_MAX_I8
457    UINT64_C(0),	// ATOMIC_LOAD_MIN_I16
458    UINT64_C(0),	// ATOMIC_LOAD_MIN_I32
459    UINT64_C(0),	// ATOMIC_LOAD_MIN_I64
460    UINT64_C(0),	// ATOMIC_LOAD_MIN_I8
461    UINT64_C(0),	// ATOMIC_LOAD_NAND_I16
462    UINT64_C(0),	// ATOMIC_LOAD_NAND_I32
463    UINT64_C(0),	// ATOMIC_LOAD_NAND_I64
464    UINT64_C(0),	// ATOMIC_LOAD_NAND_I8
465    UINT64_C(0),	// ATOMIC_LOAD_OR_I16
466    UINT64_C(0),	// ATOMIC_LOAD_OR_I32
467    UINT64_C(0),	// ATOMIC_LOAD_OR_I64
468    UINT64_C(0),	// ATOMIC_LOAD_OR_I8
469    UINT64_C(0),	// ATOMIC_LOAD_SUB_I16
470    UINT64_C(0),	// ATOMIC_LOAD_SUB_I32
471    UINT64_C(0),	// ATOMIC_LOAD_SUB_I64
472    UINT64_C(0),	// ATOMIC_LOAD_SUB_I8
473    UINT64_C(0),	// ATOMIC_LOAD_UMAX_I16
474    UINT64_C(0),	// ATOMIC_LOAD_UMAX_I32
475    UINT64_C(0),	// ATOMIC_LOAD_UMAX_I64
476    UINT64_C(0),	// ATOMIC_LOAD_UMAX_I8
477    UINT64_C(0),	// ATOMIC_LOAD_UMIN_I16
478    UINT64_C(0),	// ATOMIC_LOAD_UMIN_I32
479    UINT64_C(0),	// ATOMIC_LOAD_UMIN_I64
480    UINT64_C(0),	// ATOMIC_LOAD_UMIN_I8
481    UINT64_C(0),	// ATOMIC_LOAD_XOR_I16
482    UINT64_C(0),	// ATOMIC_LOAD_XOR_I32
483    UINT64_C(0),	// ATOMIC_LOAD_XOR_I64
484    UINT64_C(0),	// ATOMIC_LOAD_XOR_I8
485    UINT64_C(0),	// ATOMIC_SWAP_I16
486    UINT64_C(0),	// ATOMIC_SWAP_I32
487    UINT64_C(0),	// ATOMIC_SWAP_I64
488    UINT64_C(0),	// ATOMIC_SWAP_I8
489    UINT64_C(512),	// ATTN
490    UINT64_C(1207959552),	// B
491    UINT64_C(1207959554),	// BA
492    UINT64_C(1098907648),	// BC
493    UINT64_C(1073741824),	// BCC
494    UINT64_C(1073741826),	// BCCA
495    UINT64_C(1275069472),	// BCCCTR
496    UINT64_C(1275069472),	// BCCCTR8
497    UINT64_C(1275069473),	// BCCCTRL
498    UINT64_C(1275069473),	// BCCCTRL8
499    UINT64_C(1073741825),	// BCCL
500    UINT64_C(1073741827),	// BCCLA
501    UINT64_C(1275068448),	// BCCLR
502    UINT64_C(1275068449),	// BCCLRL
503    UINT64_C(1300235296),	// BCCTR
504    UINT64_C(1300235296),	// BCCTR8
505    UINT64_C(1283458080),	// BCCTR8n
506    UINT64_C(1300235297),	// BCCTRL
507    UINT64_C(1300235297),	// BCCTRL8
508    UINT64_C(1283458081),	// BCCTRL8n
509    UINT64_C(1283458081),	// BCCTRLn
510    UINT64_C(1283458080),	// BCCTRn
511    UINT64_C(268436481),	// BCDADD_rec
512    UINT64_C(268895617),	// BCDCFN_rec
513    UINT64_C(268567937),	// BCDCFSQ_rec
514    UINT64_C(268830081),	// BCDCFZ_rec
515    UINT64_C(268436289),	// BCDCPSGN_rec
516    UINT64_C(268764545),	// BCDCTN_rec
517    UINT64_C(268436865),	// BCDCTSQ_rec
518    UINT64_C(268699009),	// BCDCTZ_rec
519    UINT64_C(270468481),	// BCDSETSGN_rec
520    UINT64_C(268436929),	// BCDSR_rec
521    UINT64_C(268436545),	// BCDSUB_rec
522    UINT64_C(268436673),	// BCDS_rec
523    UINT64_C(268436737),	// BCDTRUNC_rec
524    UINT64_C(268436609),	// BCDUS_rec
525    UINT64_C(268436801),	// BCDUTRUNC_rec
526    UINT64_C(1098907649),	// BCL
527    UINT64_C(1300234272),	// BCLR
528    UINT64_C(1300234273),	// BCLRL
529    UINT64_C(1283457057),	// BCLRLn
530    UINT64_C(1283457056),	// BCLRn
531    UINT64_C(1117716481),	// BCLalways
532    UINT64_C(1082130433),	// BCLn
533    UINT64_C(1317012512),	// BCTR
534    UINT64_C(1317012512),	// BCTR8
535    UINT64_C(1317012513),	// BCTRL
536    UINT64_C(1317012513),	// BCTRL8
537    UINT64_C(5656525675654283264),	// BCTRL8_LDinto_toc
538    UINT64_C(5656525675654283264),	// BCTRL8_LDinto_toc_RM
539    UINT64_C(1317012513),	// BCTRL8_RM
540    UINT64_C(5656525673909452800),	// BCTRL_LWZinto_toc
541    UINT64_C(5656525673909452800),	// BCTRL_LWZinto_toc_RM
542    UINT64_C(1317012513),	// BCTRL_RM
543    UINT64_C(1082130432),	// BCn
544    UINT64_C(1107296256),	// BDNZ
545    UINT64_C(1107296256),	// BDNZ8
546    UINT64_C(1107296258),	// BDNZA
547    UINT64_C(1124073474),	// BDNZAm
548    UINT64_C(1126170626),	// BDNZAp
549    UINT64_C(1107296257),	// BDNZL
550    UINT64_C(1107296259),	// BDNZLA
551    UINT64_C(1124073475),	// BDNZLAm
552    UINT64_C(1126170627),	// BDNZLAp
553    UINT64_C(1308622880),	// BDNZLR
554    UINT64_C(1308622880),	// BDNZLR8
555    UINT64_C(1308622881),	// BDNZLRL
556    UINT64_C(1325400097),	// BDNZLRLm
557    UINT64_C(1327497249),	// BDNZLRLp
558    UINT64_C(1325400096),	// BDNZLRm
559    UINT64_C(1327497248),	// BDNZLRp
560    UINT64_C(1124073473),	// BDNZLm
561    UINT64_C(1126170625),	// BDNZLp
562    UINT64_C(1124073472),	// BDNZm
563    UINT64_C(1126170624),	// BDNZp
564    UINT64_C(1111490560),	// BDZ
565    UINT64_C(1111490560),	// BDZ8
566    UINT64_C(1111490562),	// BDZA
567    UINT64_C(1128267778),	// BDZAm
568    UINT64_C(1130364930),	// BDZAp
569    UINT64_C(1111490561),	// BDZL
570    UINT64_C(1111490563),	// BDZLA
571    UINT64_C(1128267779),	// BDZLAm
572    UINT64_C(1130364931),	// BDZLAp
573    UINT64_C(1312817184),	// BDZLR
574    UINT64_C(1312817184),	// BDZLR8
575    UINT64_C(1312817185),	// BDZLRL
576    UINT64_C(1329594401),	// BDZLRLm
577    UINT64_C(1331691553),	// BDZLRLp
578    UINT64_C(1329594400),	// BDZLRm
579    UINT64_C(1331691552),	// BDZLRp
580    UINT64_C(1128267777),	// BDZLm
581    UINT64_C(1130364929),	// BDZLp
582    UINT64_C(1128267776),	// BDZm
583    UINT64_C(1130364928),	// BDZp
584    UINT64_C(1207959553),	// BL
585    UINT64_C(1207959553),	// BL8
586    UINT64_C(5188146776636391424),	// BL8_NOP
587    UINT64_C(5188146776636391424),	// BL8_NOP_RM
588    UINT64_C(5188146776636391424),	// BL8_NOP_TLS
589    UINT64_C(1207959553),	// BL8_NOTOC
590    UINT64_C(1207959553),	// BL8_NOTOC_RM
591    UINT64_C(1207959553),	// BL8_NOTOC_TLS
592    UINT64_C(1207959553),	// BL8_RM
593    UINT64_C(1207959553),	// BL8_TLS
594    UINT64_C(1207959553),	// BL8_TLS_
595    UINT64_C(1207959555),	// BLA
596    UINT64_C(1207959555),	// BLA8
597    UINT64_C(5188146785226326016),	// BLA8_NOP
598    UINT64_C(5188146785226326016),	// BLA8_NOP_RM
599    UINT64_C(1207959555),	// BLA8_RM
600    UINT64_C(1207959555),	// BLA_RM
601    UINT64_C(1317011488),	// BLR
602    UINT64_C(1317011488),	// BLR8
603    UINT64_C(1317011489),	// BLRL
604    UINT64_C(5188146776636391424),	// BL_NOP
605    UINT64_C(5188146776636391424),	// BL_NOP_RM
606    UINT64_C(1207959553),	// BL_RM
607    UINT64_C(1207959553),	// BL_TLS
608    UINT64_C(2080375288),	// BPERMD
609    UINT64_C(2080375158),	// BRD
610    UINT64_C(2080375222),	// BRH
611    UINT64_C(2080375222),	// BRH8
612    UINT64_C(268435983),	// BRINC
613    UINT64_C(2080375094),	// BRW
614    UINT64_C(2080375094),	// BRW8
615    UINT64_C(2080375224),	// CFUGED
616    UINT64_C(2080375644),	// CLRBHRB
617    UINT64_C(2080375800),	// CMPB
618    UINT64_C(2080375800),	// CMPB8
619    UINT64_C(2082471936),	// CMPD
620    UINT64_C(740294656),	// CMPDI
621    UINT64_C(2080375232),	// CMPEQB
622    UINT64_C(2082472000),	// CMPLD
623    UINT64_C(673185792),	// CMPLDI
624    UINT64_C(2080374848),	// CMPLW
625    UINT64_C(671088640),	// CMPLWI
626    UINT64_C(2080375168),	// CMPRB
627    UINT64_C(2080375168),	// CMPRB8
628    UINT64_C(2080374784),	// CMPW
629    UINT64_C(738197504),	// CMPWI
630    UINT64_C(2080374900),	// CNTLZD
631    UINT64_C(2080374902),	// CNTLZDM
632    UINT64_C(2080374901),	// CNTLZD_rec
633    UINT64_C(2080374836),	// CNTLZW
634    UINT64_C(2080374836),	// CNTLZW8
635    UINT64_C(2080374837),	// CNTLZW8_rec
636    UINT64_C(2080374837),	// CNTLZW_rec
637    UINT64_C(2080375924),	// CNTTZD
638    UINT64_C(2080375926),	// CNTTZDM
639    UINT64_C(2080375925),	// CNTTZD_rec
640    UINT64_C(2080375860),	// CNTTZW
641    UINT64_C(2080375860),	// CNTTZW8
642    UINT64_C(2080375861),	// CNTTZW8_rec
643    UINT64_C(2080375861),	// CNTTZW_rec
644    UINT64_C(2080376460),	// CP_ABORT
645    UINT64_C(2082473484),	// CP_COPY
646    UINT64_C(2082473484),	// CP_COPY8
647    UINT64_C(2080376589),	// CP_PASTE8_rec
648    UINT64_C(2080376589),	// CP_PASTE_rec
649    UINT64_C(1288057410),	// CR6SET
650    UINT64_C(1288057218),	// CR6UNSET
651    UINT64_C(1275068930),	// CRAND
652    UINT64_C(1275068674),	// CRANDC
653    UINT64_C(1275068994),	// CREQV
654    UINT64_C(1275068866),	// CRNAND
655    UINT64_C(1275068482),	// CRNOR
656    UINT64_C(1275068482),	// CRNOT
657    UINT64_C(1275069314),	// CROR
658    UINT64_C(1275069250),	// CRORC
659    UINT64_C(1275068994),	// CRSET
660    UINT64_C(1275068802),	// CRUNSET
661    UINT64_C(1275068802),	// CRXOR
662    UINT64_C(1073741824),	// CTRL_DEP
663    UINT64_C(2080376294),	// DARN
664    UINT64_C(2080376300),	// DCBA
665    UINT64_C(2080374956),	// DCBF
666    UINT64_C(2080375038),	// DCBFEP
667    UINT64_C(2080375724),	// DCBI
668    UINT64_C(2080374892),	// DCBST
669    UINT64_C(2080374910),	// DCBSTEP
670    UINT64_C(2080375340),	// DCBT
671    UINT64_C(2080375422),	// DCBTEP
672    UINT64_C(2080375276),	// DCBTST
673    UINT64_C(2080375294),	// DCBTSTEP
674    UINT64_C(2080376812),	// DCBZ
675    UINT64_C(2080376830),	// DCBZEP
676    UINT64_C(2082473964),	// DCBZL
677    UINT64_C(2082473982),	// DCBZLEP
678    UINT64_C(2080375692),	// DCCCI
679    UINT64_C(2080375762),	// DIVD
680    UINT64_C(2080375634),	// DIVDE
681    UINT64_C(2080376658),	// DIVDEO
682    UINT64_C(2080376659),	// DIVDEO_rec
683    UINT64_C(2080375570),	// DIVDEU
684    UINT64_C(2080376594),	// DIVDEUO
685    UINT64_C(2080376595),	// DIVDEUO_rec
686    UINT64_C(2080375571),	// DIVDEU_rec
687    UINT64_C(2080375635),	// DIVDE_rec
688    UINT64_C(2080376786),	// DIVDO
689    UINT64_C(2080376787),	// DIVDO_rec
690    UINT64_C(2080375698),	// DIVDU
691    UINT64_C(2080376722),	// DIVDUO
692    UINT64_C(2080376723),	// DIVDUO_rec
693    UINT64_C(2080375699),	// DIVDU_rec
694    UINT64_C(2080375763),	// DIVD_rec
695    UINT64_C(2080375766),	// DIVW
696    UINT64_C(2080375638),	// DIVWE
697    UINT64_C(2080376662),	// DIVWEO
698    UINT64_C(2080376663),	// DIVWEO_rec
699    UINT64_C(2080375574),	// DIVWEU
700    UINT64_C(2080376598),	// DIVWEUO
701    UINT64_C(2080376599),	// DIVWEUO_rec
702    UINT64_C(2080375575),	// DIVWEU_rec
703    UINT64_C(2080375639),	// DIVWE_rec
704    UINT64_C(2080376790),	// DIVWO
705    UINT64_C(2080376791),	// DIVWO_rec
706    UINT64_C(2080375702),	// DIVWU
707    UINT64_C(2080376726),	// DIVWUO
708    UINT64_C(2080376727),	// DIVWUO_rec
709    UINT64_C(2080375703),	// DIVWU_rec
710    UINT64_C(2080375767),	// DIVW_rec
711    UINT64_C(2080768354),	// DMMR
712    UINT64_C(2080506210),	// DMSETDMRZ
713    UINT64_C(2080833890),	// DMXOR
714    UINT64_C(4026533776),	// DMXXEXTFDMR256
715    UINT64_C(4026533648),	// DMXXEXTFDMR512
716    UINT64_C(4026599184),	// DMXXEXTFDMR512_HI
717    UINT64_C(4026533780),	// DMXXINSTFDMR256
718    UINT64_C(4026533712),	// DMXXINSTFDMR512
719    UINT64_C(4026599248),	// DMXXINSTFDMR512_HI
720    UINT64_C(2080376428),	// DSS
721    UINT64_C(2113930860),	// DSSALL
722    UINT64_C(2080375468),	// DST
723    UINT64_C(2080375468),	// DST64
724    UINT64_C(2080375532),	// DSTST
725    UINT64_C(2080375532),	// DSTST64
726    UINT64_C(2113929964),	// DSTSTT
727    UINT64_C(2113929964),	// DSTSTT64
728    UINT64_C(2113929900),	// DSTT
729    UINT64_C(2113929900),	// DSTT64
730    UINT64_C(0),	// DYNALLOC
731    UINT64_C(0),	// DYNALLOC8
732    UINT64_C(0),	// DYNAREAOFFSET
733    UINT64_C(0),	// DYNAREAOFFSET8
734    UINT64_C(0),	// DecreaseCTR8loop
735    UINT64_C(0),	// DecreaseCTRloop
736    UINT64_C(268436196),	// EFDABS
737    UINT64_C(268436192),	// EFDADD
738    UINT64_C(268436207),	// EFDCFS
739    UINT64_C(268436211),	// EFDCFSF
740    UINT64_C(268436209),	// EFDCFSI
741    UINT64_C(268436195),	// EFDCFSID
742    UINT64_C(268436210),	// EFDCFUF
743    UINT64_C(268436208),	// EFDCFUI
744    UINT64_C(268436194),	// EFDCFUID
745    UINT64_C(268436206),	// EFDCMPEQ
746    UINT64_C(268436204),	// EFDCMPGT
747    UINT64_C(268436205),	// EFDCMPLT
748    UINT64_C(268436215),	// EFDCTSF
749    UINT64_C(268436213),	// EFDCTSI
750    UINT64_C(268436203),	// EFDCTSIDZ
751    UINT64_C(268436218),	// EFDCTSIZ
752    UINT64_C(268436214),	// EFDCTUF
753    UINT64_C(268436212),	// EFDCTUI
754    UINT64_C(268436202),	// EFDCTUIDZ
755    UINT64_C(268436216),	// EFDCTUIZ
756    UINT64_C(268436201),	// EFDDIV
757    UINT64_C(268436200),	// EFDMUL
758    UINT64_C(268436197),	// EFDNABS
759    UINT64_C(268436198),	// EFDNEG
760    UINT64_C(268436193),	// EFDSUB
761    UINT64_C(268436222),	// EFDTSTEQ
762    UINT64_C(268436220),	// EFDTSTGT
763    UINT64_C(268436221),	// EFDTSTLT
764    UINT64_C(268436164),	// EFSABS
765    UINT64_C(268436160),	// EFSADD
766    UINT64_C(268436175),	// EFSCFD
767    UINT64_C(268436179),	// EFSCFSF
768    UINT64_C(268436177),	// EFSCFSI
769    UINT64_C(268436178),	// EFSCFUF
770    UINT64_C(268436176),	// EFSCFUI
771    UINT64_C(268436174),	// EFSCMPEQ
772    UINT64_C(268436172),	// EFSCMPGT
773    UINT64_C(268436173),	// EFSCMPLT
774    UINT64_C(268436183),	// EFSCTSF
775    UINT64_C(268436181),	// EFSCTSI
776    UINT64_C(268436186),	// EFSCTSIZ
777    UINT64_C(268436182),	// EFSCTUF
778    UINT64_C(268436180),	// EFSCTUI
779    UINT64_C(268436184),	// EFSCTUIZ
780    UINT64_C(268436169),	// EFSDIV
781    UINT64_C(268436168),	// EFSMUL
782    UINT64_C(268436165),	// EFSNABS
783    UINT64_C(268436166),	// EFSNEG
784    UINT64_C(268436161),	// EFSSUB
785    UINT64_C(268436190),	// EFSTSTEQ
786    UINT64_C(268436188),	// EFSTSTGT
787    UINT64_C(268436189),	// EFSTSTLT
788    UINT64_C(0),	// EH_SjLj_LongJmp32
789    UINT64_C(0),	// EH_SjLj_LongJmp64
790    UINT64_C(0),	// EH_SjLj_SetJmp32
791    UINT64_C(0),	// EH_SjLj_SetJmp64
792    UINT64_C(0),	// EH_SjLj_Setup
793    UINT64_C(2080375352),	// EQV
794    UINT64_C(2080375352),	// EQV8
795    UINT64_C(2080375353),	// EQV8_rec
796    UINT64_C(2080375353),	// EQV_rec
797    UINT64_C(268435976),	// EVABS
798    UINT64_C(268435970),	// EVADDIW
799    UINT64_C(268436681),	// EVADDSMIAAW
800    UINT64_C(268436673),	// EVADDSSIAAW
801    UINT64_C(268436680),	// EVADDUMIAAW
802    UINT64_C(268436672),	// EVADDUSIAAW
803    UINT64_C(268435968),	// EVADDW
804    UINT64_C(268435985),	// EVAND
805    UINT64_C(268435986),	// EVANDC
806    UINT64_C(268436020),	// EVCMPEQ
807    UINT64_C(268436017),	// EVCMPGTS
808    UINT64_C(268436016),	// EVCMPGTU
809    UINT64_C(268436019),	// EVCMPLTS
810    UINT64_C(268436018),	// EVCMPLTU
811    UINT64_C(268435982),	// EVCNTLSW
812    UINT64_C(268435981),	// EVCNTLZW
813    UINT64_C(268436678),	// EVDIVWS
814    UINT64_C(268436679),	// EVDIVWU
815    UINT64_C(268435993),	// EVEQV
816    UINT64_C(268435978),	// EVEXTSB
817    UINT64_C(268435979),	// EVEXTSH
818    UINT64_C(268436100),	// EVFSABS
819    UINT64_C(268436096),	// EVFSADD
820    UINT64_C(268436115),	// EVFSCFSF
821    UINT64_C(268436113),	// EVFSCFSI
822    UINT64_C(268436114),	// EVFSCFUF
823    UINT64_C(268436106),	// EVFSCFUI
824    UINT64_C(268436110),	// EVFSCMPEQ
825    UINT64_C(268436108),	// EVFSCMPGT
826    UINT64_C(268436109),	// EVFSCMPLT
827    UINT64_C(268436119),	// EVFSCTSF
828    UINT64_C(268436117),	// EVFSCTSI
829    UINT64_C(268436122),	// EVFSCTSIZ
830    UINT64_C(268436118),	// EVFSCTUF
831    UINT64_C(268436116),	// EVFSCTUI
832    UINT64_C(268436120),	// EVFSCTUIZ
833    UINT64_C(268436105),	// EVFSDIV
834    UINT64_C(268436104),	// EVFSMUL
835    UINT64_C(268436101),	// EVFSNABS
836    UINT64_C(268436102),	// EVFSNEG
837    UINT64_C(268436097),	// EVFSSUB
838    UINT64_C(268436126),	// EVFSTSTEQ
839    UINT64_C(268436124),	// EVFSTSTGT
840    UINT64_C(268436125),	// EVFSTSTLT
841    UINT64_C(268436225),	// EVLDD
842    UINT64_C(268436224),	// EVLDDX
843    UINT64_C(268436229),	// EVLDH
844    UINT64_C(268436228),	// EVLDHX
845    UINT64_C(268436227),	// EVLDW
846    UINT64_C(268436226),	// EVLDWX
847    UINT64_C(268436233),	// EVLHHESPLAT
848    UINT64_C(268436232),	// EVLHHESPLATX
849    UINT64_C(268436239),	// EVLHHOSSPLAT
850    UINT64_C(268436238),	// EVLHHOSSPLATX
851    UINT64_C(268436237),	// EVLHHOUSPLAT
852    UINT64_C(268436236),	// EVLHHOUSPLATX
853    UINT64_C(268436241),	// EVLWHE
854    UINT64_C(268436240),	// EVLWHEX
855    UINT64_C(268436247),	// EVLWHOS
856    UINT64_C(268436246),	// EVLWHOSX
857    UINT64_C(268436245),	// EVLWHOU
858    UINT64_C(268436244),	// EVLWHOUX
859    UINT64_C(268436253),	// EVLWHSPLAT
860    UINT64_C(268436252),	// EVLWHSPLATX
861    UINT64_C(268436249),	// EVLWWSPLAT
862    UINT64_C(268436248),	// EVLWWSPLATX
863    UINT64_C(268436012),	// EVMERGEHI
864    UINT64_C(268436014),	// EVMERGEHILO
865    UINT64_C(268436013),	// EVMERGELO
866    UINT64_C(268436015),	// EVMERGELOHI
867    UINT64_C(268436779),	// EVMHEGSMFAA
868    UINT64_C(268436907),	// EVMHEGSMFAN
869    UINT64_C(268436777),	// EVMHEGSMIAA
870    UINT64_C(268436905),	// EVMHEGSMIAN
871    UINT64_C(268436776),	// EVMHEGUMIAA
872    UINT64_C(268436904),	// EVMHEGUMIAN
873    UINT64_C(268436491),	// EVMHESMF
874    UINT64_C(268436523),	// EVMHESMFA
875    UINT64_C(268436747),	// EVMHESMFAAW
876    UINT64_C(268436875),	// EVMHESMFANW
877    UINT64_C(268436489),	// EVMHESMI
878    UINT64_C(268436521),	// EVMHESMIA
879    UINT64_C(268436745),	// EVMHESMIAAW
880    UINT64_C(268436873),	// EVMHESMIANW
881    UINT64_C(268436483),	// EVMHESSF
882    UINT64_C(268436515),	// EVMHESSFA
883    UINT64_C(268436739),	// EVMHESSFAAW
884    UINT64_C(268436867),	// EVMHESSFANW
885    UINT64_C(268436737),	// EVMHESSIAAW
886    UINT64_C(268436865),	// EVMHESSIANW
887    UINT64_C(268436488),	// EVMHEUMI
888    UINT64_C(268436520),	// EVMHEUMIA
889    UINT64_C(268436744),	// EVMHEUMIAAW
890    UINT64_C(268436872),	// EVMHEUMIANW
891    UINT64_C(268436736),	// EVMHEUSIAAW
892    UINT64_C(268436864),	// EVMHEUSIANW
893    UINT64_C(268436783),	// EVMHOGSMFAA
894    UINT64_C(268436911),	// EVMHOGSMFAN
895    UINT64_C(268436781),	// EVMHOGSMIAA
896    UINT64_C(268436909),	// EVMHOGSMIAN
897    UINT64_C(268436780),	// EVMHOGUMIAA
898    UINT64_C(268436908),	// EVMHOGUMIAN
899    UINT64_C(268436495),	// EVMHOSMF
900    UINT64_C(268436527),	// EVMHOSMFA
901    UINT64_C(268436751),	// EVMHOSMFAAW
902    UINT64_C(268436879),	// EVMHOSMFANW
903    UINT64_C(268436493),	// EVMHOSMI
904    UINT64_C(268436525),	// EVMHOSMIA
905    UINT64_C(268436749),	// EVMHOSMIAAW
906    UINT64_C(268436877),	// EVMHOSMIANW
907    UINT64_C(268436487),	// EVMHOSSF
908    UINT64_C(268436519),	// EVMHOSSFA
909    UINT64_C(268436743),	// EVMHOSSFAAW
910    UINT64_C(268436871),	// EVMHOSSFANW
911    UINT64_C(268436741),	// EVMHOSSIAAW
912    UINT64_C(268436869),	// EVMHOSSIANW
913    UINT64_C(268436492),	// EVMHOUMI
914    UINT64_C(268436524),	// EVMHOUMIA
915    UINT64_C(268436748),	// EVMHOUMIAAW
916    UINT64_C(268436876),	// EVMHOUMIANW
917    UINT64_C(268436740),	// EVMHOUSIAAW
918    UINT64_C(268436868),	// EVMHOUSIANW
919    UINT64_C(268436676),	// EVMRA
920    UINT64_C(268436559),	// EVMWHSMF
921    UINT64_C(268436591),	// EVMWHSMFA
922    UINT64_C(268436557),	// EVMWHSMI
923    UINT64_C(268436589),	// EVMWHSMIA
924    UINT64_C(268436551),	// EVMWHSSF
925    UINT64_C(268436583),	// EVMWHSSFA
926    UINT64_C(268436556),	// EVMWHUMI
927    UINT64_C(268436588),	// EVMWHUMIA
928    UINT64_C(268436809),	// EVMWLSMIAAW
929    UINT64_C(268436937),	// EVMWLSMIANW
930    UINT64_C(268436801),	// EVMWLSSIAAW
931    UINT64_C(268436929),	// EVMWLSSIANW
932    UINT64_C(268436552),	// EVMWLUMI
933    UINT64_C(268436584),	// EVMWLUMIA
934    UINT64_C(268436808),	// EVMWLUMIAAW
935    UINT64_C(268436936),	// EVMWLUMIANW
936    UINT64_C(268436800),	// EVMWLUSIAAW
937    UINT64_C(268436928),	// EVMWLUSIANW
938    UINT64_C(268436571),	// EVMWSMF
939    UINT64_C(268436603),	// EVMWSMFA
940    UINT64_C(268436827),	// EVMWSMFAA
941    UINT64_C(268436955),	// EVMWSMFAN
942    UINT64_C(268436569),	// EVMWSMI
943    UINT64_C(268436601),	// EVMWSMIA
944    UINT64_C(268436825),	// EVMWSMIAA
945    UINT64_C(268436953),	// EVMWSMIAN
946    UINT64_C(268436563),	// EVMWSSF
947    UINT64_C(268436595),	// EVMWSSFA
948    UINT64_C(268436819),	// EVMWSSFAA
949    UINT64_C(268436947),	// EVMWSSFAN
950    UINT64_C(268436568),	// EVMWUMI
951    UINT64_C(268436600),	// EVMWUMIA
952    UINT64_C(268436824),	// EVMWUMIAA
953    UINT64_C(268436952),	// EVMWUMIAN
954    UINT64_C(268435998),	// EVNAND
955    UINT64_C(268435977),	// EVNEG
956    UINT64_C(268435992),	// EVNOR
957    UINT64_C(268435991),	// EVOR
958    UINT64_C(268435995),	// EVORC
959    UINT64_C(268436008),	// EVRLW
960    UINT64_C(268436010),	// EVRLWI
961    UINT64_C(268435980),	// EVRNDW
962    UINT64_C(268436088),	// EVSEL
963    UINT64_C(268436004),	// EVSLW
964    UINT64_C(268436006),	// EVSLWI
965    UINT64_C(268436011),	// EVSPLATFI
966    UINT64_C(268436009),	// EVSPLATI
967    UINT64_C(268436003),	// EVSRWIS
968    UINT64_C(268436002),	// EVSRWIU
969    UINT64_C(268436001),	// EVSRWS
970    UINT64_C(268436000),	// EVSRWU
971    UINT64_C(268436257),	// EVSTDD
972    UINT64_C(268436256),	// EVSTDDX
973    UINT64_C(268436261),	// EVSTDH
974    UINT64_C(268436260),	// EVSTDHX
975    UINT64_C(268436259),	// EVSTDW
976    UINT64_C(268436258),	// EVSTDWX
977    UINT64_C(268436273),	// EVSTWHE
978    UINT64_C(268436272),	// EVSTWHEX
979    UINT64_C(268436277),	// EVSTWHO
980    UINT64_C(268436276),	// EVSTWHOX
981    UINT64_C(268436281),	// EVSTWWE
982    UINT64_C(268436280),	// EVSTWWEX
983    UINT64_C(268436285),	// EVSTWWO
984    UINT64_C(268436284),	// EVSTWWOX
985    UINT64_C(268436683),	// EVSUBFSMIAAW
986    UINT64_C(268436675),	// EVSUBFSSIAAW
987    UINT64_C(268436682),	// EVSUBFUMIAAW
988    UINT64_C(268436674),	// EVSUBFUSIAAW
989    UINT64_C(268435972),	// EVSUBFW
990    UINT64_C(268435974),	// EVSUBIFW
991    UINT64_C(268435990),	// EVXOR
992    UINT64_C(2080376692),	// EXTSB
993    UINT64_C(2080376692),	// EXTSB8
994    UINT64_C(2080376692),	// EXTSB8_32_64
995    UINT64_C(2080376693),	// EXTSB8_rec
996    UINT64_C(2080376693),	// EXTSB_rec
997    UINT64_C(2080376628),	// EXTSH
998    UINT64_C(2080376628),	// EXTSH8
999    UINT64_C(2080376628),	// EXTSH8_32_64
1000    UINT64_C(2080376629),	// EXTSH8_rec
1001    UINT64_C(2080376629),	// EXTSH_rec
1002    UINT64_C(2080376756),	// EXTSW
1003    UINT64_C(2080376564),	// EXTSWSLI
1004    UINT64_C(2080376564),	// EXTSWSLI_32_64
1005    UINT64_C(2080376565),	// EXTSWSLI_32_64_rec
1006    UINT64_C(2080376565),	// EXTSWSLI_rec
1007    UINT64_C(2080376756),	// EXTSW_32
1008    UINT64_C(2080376756),	// EXTSW_32_64
1009    UINT64_C(2080376757),	// EXTSW_32_64_rec
1010    UINT64_C(2080376757),	// EXTSW_rec
1011    UINT64_C(2080376492),	// EnforceIEIO
1012    UINT64_C(4227858960),	// FABSD
1013    UINT64_C(4227858961),	// FABSD_rec
1014    UINT64_C(4227858960),	// FABSS
1015    UINT64_C(4227858961),	// FABSS_rec
1016    UINT64_C(4227858474),	// FADD
1017    UINT64_C(3959423018),	// FADDS
1018    UINT64_C(3959423019),	// FADDS_rec
1019    UINT64_C(4227858475),	// FADD_rec
1020    UINT64_C(0),	// FADDrtz
1021    UINT64_C(4227860124),	// FCFID
1022    UINT64_C(3959424668),	// FCFIDS
1023    UINT64_C(3959424669),	// FCFIDS_rec
1024    UINT64_C(4227860380),	// FCFIDU
1025    UINT64_C(3959424924),	// FCFIDUS
1026    UINT64_C(3959424925),	// FCFIDUS_rec
1027    UINT64_C(4227860381),	// FCFIDU_rec
1028    UINT64_C(4227860125),	// FCFID_rec
1029    UINT64_C(4227858496),	// FCMPOD
1030    UINT64_C(4227858496),	// FCMPOS
1031    UINT64_C(4227858432),	// FCMPUD
1032    UINT64_C(4227858432),	// FCMPUS
1033    UINT64_C(4227858448),	// FCPSGND
1034    UINT64_C(4227858449),	// FCPSGND_rec
1035    UINT64_C(4227858448),	// FCPSGNS
1036    UINT64_C(4227858449),	// FCPSGNS_rec
1037    UINT64_C(4227860060),	// FCTID
1038    UINT64_C(4227860316),	// FCTIDU
1039    UINT64_C(4227860318),	// FCTIDUZ
1040    UINT64_C(4227860319),	// FCTIDUZ_rec
1041    UINT64_C(4227860317),	// FCTIDU_rec
1042    UINT64_C(4227860062),	// FCTIDZ
1043    UINT64_C(4227860063),	// FCTIDZ_rec
1044    UINT64_C(4227860061),	// FCTID_rec
1045    UINT64_C(4227858460),	// FCTIW
1046    UINT64_C(4227858716),	// FCTIWU
1047    UINT64_C(4227858718),	// FCTIWUZ
1048    UINT64_C(4227858719),	// FCTIWUZ_rec
1049    UINT64_C(4227858717),	// FCTIWU_rec
1050    UINT64_C(4227858462),	// FCTIWZ
1051    UINT64_C(4227858463),	// FCTIWZ_rec
1052    UINT64_C(4227858461),	// FCTIW_rec
1053    UINT64_C(4227858468),	// FDIV
1054    UINT64_C(3959423012),	// FDIVS
1055    UINT64_C(3959423013),	// FDIVS_rec
1056    UINT64_C(4227858469),	// FDIV_rec
1057    UINT64_C(4227858490),	// FMADD
1058    UINT64_C(3959423034),	// FMADDS
1059    UINT64_C(3959423035),	// FMADDS_rec
1060    UINT64_C(4227858491),	// FMADD_rec
1061    UINT64_C(4227858576),	// FMR
1062    UINT64_C(4227858577),	// FMR_rec
1063    UINT64_C(4227858488),	// FMSUB
1064    UINT64_C(3959423032),	// FMSUBS
1065    UINT64_C(3959423033),	// FMSUBS_rec
1066    UINT64_C(4227858489),	// FMSUB_rec
1067    UINT64_C(4227858482),	// FMUL
1068    UINT64_C(3959423026),	// FMULS
1069    UINT64_C(3959423027),	// FMULS_rec
1070    UINT64_C(4227858483),	// FMUL_rec
1071    UINT64_C(4227858704),	// FNABSD
1072    UINT64_C(4227858705),	// FNABSD_rec
1073    UINT64_C(4227858704),	// FNABSS
1074    UINT64_C(4227858705),	// FNABSS_rec
1075    UINT64_C(4227858512),	// FNEGD
1076    UINT64_C(4227858513),	// FNEGD_rec
1077    UINT64_C(4227858512),	// FNEGS
1078    UINT64_C(4227858513),	// FNEGS_rec
1079    UINT64_C(4227858494),	// FNMADD
1080    UINT64_C(3959423038),	// FNMADDS
1081    UINT64_C(3959423039),	// FNMADDS_rec
1082    UINT64_C(4227858495),	// FNMADD_rec
1083    UINT64_C(4227858492),	// FNMSUB
1084    UINT64_C(3959423036),	// FNMSUBS
1085    UINT64_C(3959423037),	// FNMSUBS_rec
1086    UINT64_C(4227858493),	// FNMSUB_rec
1087    UINT64_C(4227858480),	// FRE
1088    UINT64_C(3959423024),	// FRES
1089    UINT64_C(3959423025),	// FRES_rec
1090    UINT64_C(4227858481),	// FRE_rec
1091    UINT64_C(4227859408),	// FRIMD
1092    UINT64_C(4227859409),	// FRIMD_rec
1093    UINT64_C(4227859408),	// FRIMS
1094    UINT64_C(4227859409),	// FRIMS_rec
1095    UINT64_C(4227859216),	// FRIND
1096    UINT64_C(4227859217),	// FRIND_rec
1097    UINT64_C(4227859216),	// FRINS
1098    UINT64_C(4227859217),	// FRINS_rec
1099    UINT64_C(4227859344),	// FRIPD
1100    UINT64_C(4227859345),	// FRIPD_rec
1101    UINT64_C(4227859344),	// FRIPS
1102    UINT64_C(4227859345),	// FRIPS_rec
1103    UINT64_C(4227859280),	// FRIZD
1104    UINT64_C(4227859281),	// FRIZD_rec
1105    UINT64_C(4227859280),	// FRIZS
1106    UINT64_C(4227859281),	// FRIZS_rec
1107    UINT64_C(4227858456),	// FRSP
1108    UINT64_C(4227858457),	// FRSP_rec
1109    UINT64_C(4227858484),	// FRSQRTE
1110    UINT64_C(3959423028),	// FRSQRTES
1111    UINT64_C(3959423029),	// FRSQRTES_rec
1112    UINT64_C(4227858485),	// FRSQRTE_rec
1113    UINT64_C(4227858478),	// FSELD
1114    UINT64_C(4227858479),	// FSELD_rec
1115    UINT64_C(4227858478),	// FSELS
1116    UINT64_C(4227858479),	// FSELS_rec
1117    UINT64_C(4227858476),	// FSQRT
1118    UINT64_C(3959423020),	// FSQRTS
1119    UINT64_C(3959423021),	// FSQRTS_rec
1120    UINT64_C(4227858477),	// FSQRT_rec
1121    UINT64_C(4227858472),	// FSUB
1122    UINT64_C(3959423016),	// FSUBS
1123    UINT64_C(3959423017),	// FSUBS_rec
1124    UINT64_C(4227858473),	// FSUB_rec
1125    UINT64_C(4227858688),	// FTDIV
1126    UINT64_C(4227858752),	// FTSQRT
1127    UINT64_C(0),	// GETtlsADDR
1128    UINT64_C(0),	// GETtlsADDR32
1129    UINT64_C(0),	// GETtlsADDR32AIX
1130    UINT64_C(0),	// GETtlsADDR64AIX
1131    UINT64_C(0),	// GETtlsADDRPCREL
1132    UINT64_C(0),	// GETtlsldADDR
1133    UINT64_C(0),	// GETtlsldADDR32
1134    UINT64_C(0),	// GETtlsldADDRPCREL
1135    UINT64_C(2080376292),	// HASHCHK
1136    UINT64_C(2080376292),	// HASHCHK8
1137    UINT64_C(2080376164),	// HASHCHKP
1138    UINT64_C(2080376164),	// HASHCHKP8
1139    UINT64_C(2080376228),	// HASHST
1140    UINT64_C(2080376228),	// HASHST8
1141    UINT64_C(2080376100),	// HASHSTP
1142    UINT64_C(2080376100),	// HASHSTP8
1143    UINT64_C(1275068964),	// HRFID
1144    UINT64_C(2080376748),	// ICBI
1145    UINT64_C(2080376766),	// ICBIEP
1146    UINT64_C(2080375244),	// ICBLC
1147    UINT64_C(2080375180),	// ICBLQ
1148    UINT64_C(2080374828),	// ICBT
1149    UINT64_C(2080375756),	// ICBTLS
1150    UINT64_C(2080376716),	// ICCCI
1151    UINT64_C(2080374814),	// ISEL
1152    UINT64_C(2080374814),	// ISEL8
1153    UINT64_C(1275068716),	// ISYNC
1154    UINT64_C(939524096),	// LA
1155    UINT64_C(939524096),	// LA8
1156    UINT64_C(2080374888),	// LBARX
1157    UINT64_C(2080374889),	// LBARXL
1158    UINT64_C(2080374974),	// LBEPX
1159    UINT64_C(2281701376),	// LBZ
1160    UINT64_C(2281701376),	// LBZ8
1161    UINT64_C(2080376490),	// LBZCIX
1162    UINT64_C(2348810240),	// LBZU
1163    UINT64_C(2348810240),	// LBZU8
1164    UINT64_C(2080375022),	// LBZUX
1165    UINT64_C(2080375022),	// LBZUX8
1166    UINT64_C(2080374958),	// LBZX
1167    UINT64_C(2080374958),	// LBZX8
1168    UINT64_C(2080374958),	// LBZXTLS
1169    UINT64_C(2080374958),	// LBZXTLS_
1170    UINT64_C(2080374958),	// LBZXTLS_32
1171    UINT64_C(3892314112),	// LD
1172    UINT64_C(2080374952),	// LDARX
1173    UINT64_C(2080374953),	// LDARXL
1174    UINT64_C(2080376012),	// LDAT
1175    UINT64_C(2080375848),	// LDBRX
1176    UINT64_C(2080376554),	// LDCIX
1177    UINT64_C(3892314113),	// LDU
1178    UINT64_C(2080374890),	// LDUX
1179    UINT64_C(2080374826),	// LDX
1180    UINT64_C(2080374826),	// LDXTLS
1181    UINT64_C(2080374826),	// LDXTLS_
1182    UINT64_C(0),	// LDgotTprelL
1183    UINT64_C(0),	// LDgotTprelL32
1184    UINT64_C(0),	// LDtoc
1185    UINT64_C(0),	// LDtocBA
1186    UINT64_C(0),	// LDtocCPT
1187    UINT64_C(0),	// LDtocJTI
1188    UINT64_C(0),	// LDtocL
1189    UINT64_C(3355443200),	// LFD
1190    UINT64_C(2080375998),	// LFDEPX
1191    UINT64_C(3422552064),	// LFDU
1192    UINT64_C(2080376046),	// LFDUX
1193    UINT64_C(2080375982),	// LFDX
1194    UINT64_C(2080376494),	// LFIWAX
1195    UINT64_C(2080376558),	// LFIWZX
1196    UINT64_C(3221225472),	// LFS
1197    UINT64_C(3288334336),	// LFSU
1198    UINT64_C(2080375918),	// LFSUX
1199    UINT64_C(2080375854),	// LFSX
1200    UINT64_C(2818572288),	// LHA
1201    UINT64_C(2818572288),	// LHA8
1202    UINT64_C(2080375016),	// LHARX
1203    UINT64_C(2080375017),	// LHARXL
1204    UINT64_C(2885681152),	// LHAU
1205    UINT64_C(2885681152),	// LHAU8
1206    UINT64_C(2080375534),	// LHAUX
1207    UINT64_C(2080375534),	// LHAUX8
1208    UINT64_C(2080375470),	// LHAX
1209    UINT64_C(2080375470),	// LHAX8
1210    UINT64_C(2080376364),	// LHBRX
1211    UINT64_C(2080376364),	// LHBRX8
1212    UINT64_C(2080375358),	// LHEPX
1213    UINT64_C(2684354560),	// LHZ
1214    UINT64_C(2684354560),	// LHZ8
1215    UINT64_C(2080376426),	// LHZCIX
1216    UINT64_C(2751463424),	// LHZU
1217    UINT64_C(2751463424),	// LHZU8
1218    UINT64_C(2080375406),	// LHZUX
1219    UINT64_C(2080375406),	// LHZUX8
1220    UINT64_C(2080375342),	// LHZX
1221    UINT64_C(2080375342),	// LHZX8
1222    UINT64_C(2080375342),	// LHZXTLS
1223    UINT64_C(2080375342),	// LHZXTLS_
1224    UINT64_C(2080375342),	// LHZXTLS_32
1225    UINT64_C(939524096),	// LI
1226    UINT64_C(939524096),	// LI8
1227    UINT64_C(1006632960),	// LIS
1228    UINT64_C(1006632960),	// LIS8
1229    UINT64_C(3087007744),	// LMW
1230    UINT64_C(3758096384),	// LQ
1231    UINT64_C(2080375336),	// LQARX
1232    UINT64_C(2080375337),	// LQARXL
1233    UINT64_C(0),	// LQX_PSEUDO
1234    UINT64_C(2080375978),	// LSWI
1235    UINT64_C(2080374798),	// LVEBX
1236    UINT64_C(2080374862),	// LVEHX
1237    UINT64_C(2080374926),	// LVEWX
1238    UINT64_C(2080374796),	// LVSL
1239    UINT64_C(2080374860),	// LVSR
1240    UINT64_C(2080374990),	// LVX
1241    UINT64_C(2080375502),	// LVXL
1242    UINT64_C(3892314114),	// LWA
1243    UINT64_C(2080374824),	// LWARX
1244    UINT64_C(2080374825),	// LWARXL
1245    UINT64_C(2080375948),	// LWAT
1246    UINT64_C(2080375530),	// LWAUX
1247    UINT64_C(2080375466),	// LWAX
1248    UINT64_C(2080375466),	// LWAX_32
1249    UINT64_C(3892314114),	// LWA_32
1250    UINT64_C(2080375852),	// LWBRX
1251    UINT64_C(2080375852),	// LWBRX8
1252    UINT64_C(2080374846),	// LWEPX
1253    UINT64_C(2147483648),	// LWZ
1254    UINT64_C(2147483648),	// LWZ8
1255    UINT64_C(2080376362),	// LWZCIX
1256    UINT64_C(2214592512),	// LWZU
1257    UINT64_C(2214592512),	// LWZU8
1258    UINT64_C(2080374894),	// LWZUX
1259    UINT64_C(2080374894),	// LWZUX8
1260    UINT64_C(2080374830),	// LWZX
1261    UINT64_C(2080374830),	// LWZX8
1262    UINT64_C(2080374830),	// LWZXTLS
1263    UINT64_C(2080374830),	// LWZXTLS_
1264    UINT64_C(2080374830),	// LWZXTLS_32
1265    UINT64_C(0),	// LWZtoc
1266    UINT64_C(0),	// LWZtocL
1267    UINT64_C(3825205250),	// LXSD
1268    UINT64_C(2080375960),	// LXSDX
1269    UINT64_C(2080376346),	// LXSIBZX
1270    UINT64_C(2080376410),	// LXSIHZX
1271    UINT64_C(2080374936),	// LXSIWAX
1272    UINT64_C(2080374808),	// LXSIWZX
1273    UINT64_C(3825205251),	// LXSSP
1274    UINT64_C(2080375832),	// LXSSPX
1275    UINT64_C(4093640705),	// LXV
1276    UINT64_C(2080376536),	// LXVB16X
1277    UINT64_C(2080376472),	// LXVD2X
1278    UINT64_C(2080375448),	// LXVDSX
1279    UINT64_C(2080376408),	// LXVH8X
1280    UINT64_C(4028564176),	// LXVKQ
1281    UINT64_C(2080375322),	// LXVL
1282    UINT64_C(2080375386),	// LXVLL
1283    UINT64_C(402653184),	// LXVP
1284    UINT64_C(2080375962),	// LXVPRL
1285    UINT64_C(2080376026),	// LXVPRLL
1286    UINT64_C(2080375450),	// LXVPX
1287    UINT64_C(2080374810),	// LXVRBX
1288    UINT64_C(2080375002),	// LXVRDX
1289    UINT64_C(2080374874),	// LXVRHX
1290    UINT64_C(2080375834),	// LXVRL
1291    UINT64_C(2080375898),	// LXVRLL
1292    UINT64_C(2080374938),	// LXVRWX
1293    UINT64_C(2080376344),	// LXVW4X
1294    UINT64_C(2080375512),	// LXVWSX
1295    UINT64_C(2080375320),	// LXVX
1296    UINT64_C(268435504),	// MADDHD
1297    UINT64_C(268435505),	// MADDHDU
1298    UINT64_C(268435507),	// MADDLD
1299    UINT64_C(268435507),	// MADDLD8
1300    UINT64_C(2080376492),	// MBAR
1301    UINT64_C(1275068416),	// MCRF
1302    UINT64_C(4227858560),	// MCRFS
1303    UINT64_C(2080375936),	// MCRXRX
1304    UINT64_C(2080375388),	// MFBHRBE
1305    UINT64_C(2080374822),	// MFCR
1306    UINT64_C(2080374822),	// MFCR8
1307    UINT64_C(2080965286),	// MFCTR
1308    UINT64_C(2080965286),	// MFCTR8
1309    UINT64_C(2080375430),	// MFDCR
1310    UINT64_C(4227859598),	// MFFS
1311    UINT64_C(4229170318),	// MFFSCDRN
1312    UINT64_C(4229235854),	// MFFSCDRNI
1313    UINT64_C(4227925134),	// MFFSCE
1314    UINT64_C(4229301390),	// MFFSCRN
1315    UINT64_C(4229366926),	// MFFSCRNI
1316    UINT64_C(4229432462),	// MFFSL
1317    UINT64_C(4227859599),	// MFFS_rec
1318    UINT64_C(2080899750),	// MFLR
1319    UINT64_C(2080899750),	// MFLR8
1320    UINT64_C(2080374950),	// MFMSR
1321    UINT64_C(2081423398),	// MFOCRF
1322    UINT64_C(2081423398),	// MFOCRF8
1323    UINT64_C(2080375452),	// MFPMR
1324    UINT64_C(2080375462),	// MFSPR
1325    UINT64_C(2080375462),	// MFSPR8
1326    UINT64_C(2080375974),	// MFSR
1327    UINT64_C(2080376102),	// MFSRIN
1328    UINT64_C(2080375526),	// MFTB
1329    UINT64_C(2081178278),	// MFTB8
1330    UINT64_C(2080572070),	// MFUDSCR
1331    UINT64_C(2080374886),	// MFVRD
1332    UINT64_C(2080391846),	// MFVRSAVE
1333    UINT64_C(2080391846),	// MFVRSAVEv
1334    UINT64_C(2080375014),	// MFVRWZ
1335    UINT64_C(268436996),	// MFVSCR
1336    UINT64_C(2080374886),	// MFVSRD
1337    UINT64_C(2080375398),	// MFVSRLD
1338    UINT64_C(2080375014),	// MFVSRWZ
1339    UINT64_C(2080376338),	// MODSD
1340    UINT64_C(2080376342),	// MODSW
1341    UINT64_C(2080375314),	// MODUD
1342    UINT64_C(2080375318),	// MODUW
1343    UINT64_C(2080376556),	// MSGSYNC
1344    UINT64_C(2080375980),	// MSYNC
1345    UINT64_C(2080375072),	// MTCRF
1346    UINT64_C(2080375072),	// MTCRF8
1347    UINT64_C(2080965542),	// MTCTR
1348    UINT64_C(2080965542),	// MTCTR8
1349    UINT64_C(2080965542),	// MTCTR8loop
1350    UINT64_C(2080965542),	// MTCTRloop
1351    UINT64_C(2080375686),	// MTDCR
1352    UINT64_C(4227858572),	// MTFSB0
1353    UINT64_C(4227858508),	// MTFSB1
1354    UINT64_C(4227859854),	// MTFSF
1355    UINT64_C(4227858700),	// MTFSFI
1356    UINT64_C(4227858701),	// MTFSFI_rec
1357    UINT64_C(4227858700),	// MTFSFIb
1358    UINT64_C(4227859855),	// MTFSF_rec
1359    UINT64_C(4227859854),	// MTFSFb
1360    UINT64_C(2080900006),	// MTLR
1361    UINT64_C(2080900006),	// MTLR8
1362    UINT64_C(2080375076),	// MTMSR
1363    UINT64_C(2080375140),	// MTMSRD
1364    UINT64_C(2081423648),	// MTOCRF
1365    UINT64_C(2081423648),	// MTOCRF8
1366    UINT64_C(2080375708),	// MTPMR
1367    UINT64_C(2080375718),	// MTSPR
1368    UINT64_C(2080375718),	// MTSPR8
1369    UINT64_C(2080375204),	// MTSR
1370    UINT64_C(2080375268),	// MTSRIN
1371    UINT64_C(2080572326),	// MTUDSCR
1372    UINT64_C(2080375142),	// MTVRD
1373    UINT64_C(2080392102),	// MTVRSAVE
1374    UINT64_C(2080392102),	// MTVRSAVEv
1375    UINT64_C(2080375206),	// MTVRWA
1376    UINT64_C(2080375270),	// MTVRWZ
1377    UINT64_C(268437060),	// MTVSCR
1378    UINT64_C(269485634),	// MTVSRBM
1379    UINT64_C(268435476),	// MTVSRBMI
1380    UINT64_C(2080375142),	// MTVSRD
1381    UINT64_C(2080375654),	// MTVSRDD
1382    UINT64_C(269682242),	// MTVSRDM
1383    UINT64_C(269551170),	// MTVSRHM
1384    UINT64_C(269747778),	// MTVSRQM
1385    UINT64_C(2080375206),	// MTVSRWA
1386    UINT64_C(269616706),	// MTVSRWM
1387    UINT64_C(2080375590),	// MTVSRWS
1388    UINT64_C(2080375270),	// MTVSRWZ
1389    UINT64_C(2080374930),	// MULHD
1390    UINT64_C(2080374802),	// MULHDU
1391    UINT64_C(2080374803),	// MULHDU_rec
1392    UINT64_C(2080374931),	// MULHD_rec
1393    UINT64_C(2080374934),	// MULHW
1394    UINT64_C(2080374806),	// MULHWU
1395    UINT64_C(2080374807),	// MULHWU_rec
1396    UINT64_C(2080374935),	// MULHW_rec
1397    UINT64_C(2080375250),	// MULLD
1398    UINT64_C(2080376274),	// MULLDO
1399    UINT64_C(2080376275),	// MULLDO_rec
1400    UINT64_C(2080375251),	// MULLD_rec
1401    UINT64_C(469762048),	// MULLI
1402    UINT64_C(469762048),	// MULLI8
1403    UINT64_C(2080375254),	// MULLW
1404    UINT64_C(2080376278),	// MULLWO
1405    UINT64_C(2080376279),	// MULLWO_rec
1406    UINT64_C(2080375255),	// MULLW_rec
1407    UINT64_C(0),	// MoveGOTtoLR
1408    UINT64_C(0),	// MovePCtoLR
1409    UINT64_C(0),	// MovePCtoLR8
1410    UINT64_C(2080375736),	// NAND
1411    UINT64_C(2080375736),	// NAND8
1412    UINT64_C(2080375737),	// NAND8_rec
1413    UINT64_C(2080375737),	// NAND_rec
1414    UINT64_C(1275069284),	// NAP
1415    UINT64_C(2080374992),	// NEG
1416    UINT64_C(2080374992),	// NEG8
1417    UINT64_C(2080376016),	// NEG8O
1418    UINT64_C(2080376017),	// NEG8O_rec
1419    UINT64_C(2080374993),	// NEG8_rec
1420    UINT64_C(2080376016),	// NEGO
1421    UINT64_C(2080376017),	// NEGO_rec
1422    UINT64_C(2080374993),	// NEG_rec
1423    UINT64_C(1610612736),	// NOP
1424    UINT64_C(1612775424),	// NOP_GT_PWR6
1425    UINT64_C(1614938112),	// NOP_GT_PWR7
1426    UINT64_C(2080375032),	// NOR
1427    UINT64_C(2080375032),	// NOR8
1428    UINT64_C(2080375033),	// NOR8_rec
1429    UINT64_C(2080375033),	// NOR_rec
1430    UINT64_C(2080375672),	// OR
1431    UINT64_C(2080375672),	// OR8
1432    UINT64_C(2080375673),	// OR8_rec
1433    UINT64_C(2080375608),	// ORC
1434    UINT64_C(2080375608),	// ORC8
1435    UINT64_C(2080375609),	// ORC8_rec
1436    UINT64_C(2080375609),	// ORC_rec
1437    UINT64_C(1610612736),	// ORI
1438    UINT64_C(1610612736),	// ORI8
1439    UINT64_C(1677721600),	// ORIS
1440    UINT64_C(1677721600),	// ORIS8
1441    UINT64_C(2080375673),	// OR_rec
1442    UINT64_C(432345565167091712),	// PADDI
1443    UINT64_C(432345565167091712),	// PADDI8
1444    UINT64_C(436849164794462208),	// PADDI8pc
1445    UINT64_C(0),	// PADDIdtprel
1446    UINT64_C(436849164794462208),	// PADDIpc
1447    UINT64_C(2080375096),	// PDEPD
1448    UINT64_C(2080375160),	// PEXTD
1449    UINT64_C(432345566509268992),	// PLBZ
1450    UINT64_C(432345566509268992),	// PLBZ8
1451    UINT64_C(436849166136639488),	// PLBZ8pc
1452    UINT64_C(436849166136639488),	// PLBZpc
1453    UINT64_C(288230379976916992),	// PLD
1454    UINT64_C(292733979604287488),	// PLDpc
1455    UINT64_C(432345567583010816),	// PLFD
1456    UINT64_C(436849167210381312),	// PLFDpc
1457    UINT64_C(432345567448793088),	// PLFS
1458    UINT64_C(436849167076163584),	// PLFSpc
1459    UINT64_C(432345567046139904),	// PLHA
1460    UINT64_C(432345567046139904),	// PLHA8
1461    UINT64_C(436849166673510400),	// PLHA8pc
1462    UINT64_C(436849166673510400),	// PLHApc
1463    UINT64_C(432345566911922176),	// PLHZ
1464    UINT64_C(432345566911922176),	// PLHZ8
1465    UINT64_C(436849166539292672),	// PLHZ8pc
1466    UINT64_C(436849166539292672),	// PLHZpc
1467    UINT64_C(432345565167091712),	// PLI
1468    UINT64_C(432345565167091712),	// PLI8
1469    UINT64_C(288230378903175168),	// PLWA
1470    UINT64_C(288230378903175168),	// PLWA8
1471    UINT64_C(292733978530545664),	// PLWA8pc
1472    UINT64_C(292733978530545664),	// PLWApc
1473    UINT64_C(432345566375051264),	// PLWZ
1474    UINT64_C(432345566375051264),	// PLWZ8
1475    UINT64_C(436849166002421760),	// PLWZ8pc
1476    UINT64_C(436849166002421760),	// PLWZpc
1477    UINT64_C(288230378970284032),	// PLXSD
1478    UINT64_C(292733978597654528),	// PLXSDpc
1479    UINT64_C(288230379037392896),	// PLXSSP
1480    UINT64_C(292733978664763392),	// PLXSSPpc
1481    UINT64_C(288230379507154944),	// PLXV
1482    UINT64_C(288230380044025856),	// PLXVP
1483    UINT64_C(292733979671396352),	// PLXVPpc
1484    UINT64_C(292733979134525440),	// PLXVpc
1485    UINT64_C(544935558871253400),	// PMXVBF16GER2
1486    UINT64_C(544935558871254928),	// PMXVBF16GER2NN
1487    UINT64_C(544935558871253904),	// PMXVBF16GER2NP
1488    UINT64_C(544935558871254416),	// PMXVBF16GER2PN
1489    UINT64_C(544935558871253392),	// PMXVBF16GER2PP
1490    UINT64_C(544935558871253400),	// PMXVBF16GER2W
1491    UINT64_C(544935558871254928),	// PMXVBF16GER2WNN
1492    UINT64_C(544935558871253904),	// PMXVBF16GER2WNP
1493    UINT64_C(544935558871254416),	// PMXVBF16GER2WPN
1494    UINT64_C(544935558871253392),	// PMXVBF16GER2WPP
1495    UINT64_C(544935558871253144),	// PMXVF16GER2
1496    UINT64_C(544935558871254672),	// PMXVF16GER2NN
1497    UINT64_C(544935558871253648),	// PMXVF16GER2NP
1498    UINT64_C(544935558871254160),	// PMXVF16GER2PN
1499    UINT64_C(544935558871253136),	// PMXVF16GER2PP
1500    UINT64_C(544935558871253144),	// PMXVF16GER2W
1501    UINT64_C(544935558871254672),	// PMXVF16GER2WNN
1502    UINT64_C(544935558871253648),	// PMXVF16GER2WNP
1503    UINT64_C(544935558871254160),	// PMXVF16GER2WPN
1504    UINT64_C(544935558871253136),	// PMXVF16GER2WPP
1505    UINT64_C(544935558871253208),	// PMXVF32GER
1506    UINT64_C(544935558871254736),	// PMXVF32GERNN
1507    UINT64_C(544935558871253712),	// PMXVF32GERNP
1508    UINT64_C(544935558871254224),	// PMXVF32GERPN
1509    UINT64_C(544935558871253200),	// PMXVF32GERPP
1510    UINT64_C(544935558871253208),	// PMXVF32GERW
1511    UINT64_C(544935558871254736),	// PMXVF32GERWNN
1512    UINT64_C(544935558871253712),	// PMXVF32GERWNP
1513    UINT64_C(544935558871254224),	// PMXVF32GERWPN
1514    UINT64_C(544935558871253200),	// PMXVF32GERWPP
1515    UINT64_C(544935558871253464),	// PMXVF64GER
1516    UINT64_C(544935558871254992),	// PMXVF64GERNN
1517    UINT64_C(544935558871253968),	// PMXVF64GERNP
1518    UINT64_C(544935558871254480),	// PMXVF64GERPN
1519    UINT64_C(544935558871253456),	// PMXVF64GERPP
1520    UINT64_C(544935558871253464),	// PMXVF64GERW
1521    UINT64_C(544935558871254992),	// PMXVF64GERWNN
1522    UINT64_C(544935558871253968),	// PMXVF64GERWNP
1523    UINT64_C(544935558871254480),	// PMXVF64GERWPN
1524    UINT64_C(544935558871253456),	// PMXVF64GERWPP
1525    UINT64_C(544935558871253592),	// PMXVI16GER2
1526    UINT64_C(544935558871253848),	// PMXVI16GER2PP
1527    UINT64_C(544935558871253336),	// PMXVI16GER2S
1528    UINT64_C(544935558871253328),	// PMXVI16GER2SPP
1529    UINT64_C(544935558871253336),	// PMXVI16GER2SW
1530    UINT64_C(544935558871253328),	// PMXVI16GER2SWPP
1531    UINT64_C(544935558871253592),	// PMXVI16GER2W
1532    UINT64_C(544935558871253848),	// PMXVI16GER2WPP
1533    UINT64_C(544935558871253272),	// PMXVI4GER8
1534    UINT64_C(544935558871253264),	// PMXVI4GER8PP
1535    UINT64_C(544935558871253272),	// PMXVI4GER8W
1536    UINT64_C(544935558871253264),	// PMXVI4GER8WPP
1537    UINT64_C(544935558871253016),	// PMXVI8GER4
1538    UINT64_C(544935558871253008),	// PMXVI8GER4PP
1539    UINT64_C(544935558871253784),	// PMXVI8GER4SPP
1540    UINT64_C(544935558871253016),	// PMXVI8GER4W
1541    UINT64_C(544935558871253008),	// PMXVI8GER4WPP
1542    UINT64_C(544935558871253784),	// PMXVI8GER4WSPP
1543    UINT64_C(2080375028),	// POPCNTB
1544    UINT64_C(2080375028),	// POPCNTB8
1545    UINT64_C(2080375796),	// POPCNTD
1546    UINT64_C(2080375540),	// POPCNTW
1547    UINT64_C(0),	// PPC32GOT
1548    UINT64_C(0),	// PPC32PICGOT
1549    UINT64_C(0),	// PREPARE_PROBED_ALLOCA_32
1550    UINT64_C(0),	// PREPARE_PROBED_ALLOCA_64
1551    UINT64_C(0),	// PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_32
1552    UINT64_C(0),	// PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_64
1553    UINT64_C(0),	// PROBED_ALLOCA_32
1554    UINT64_C(0),	// PROBED_ALLOCA_64
1555    UINT64_C(0),	// PROBED_STACKALLOC_32
1556    UINT64_C(0),	// PROBED_STACKALLOC_64
1557    UINT64_C(432345566777704448),	// PSTB
1558    UINT64_C(432345566777704448),	// PSTB8
1559    UINT64_C(436849166405074944),	// PSTB8pc
1560    UINT64_C(436849166405074944),	// PSTBpc
1561    UINT64_C(288230380245352448),	// PSTD
1562    UINT64_C(292733979872722944),	// PSTDpc
1563    UINT64_C(432345567851446272),	// PSTFD
1564    UINT64_C(436849167478816768),	// PSTFDpc
1565    UINT64_C(432345567717228544),	// PSTFS
1566    UINT64_C(436849167344599040),	// PSTFSpc
1567    UINT64_C(432345567180357632),	// PSTH
1568    UINT64_C(432345567180357632),	// PSTH8
1569    UINT64_C(436849166807728128),	// PSTH8pc
1570    UINT64_C(436849166807728128),	// PSTHpc
1571    UINT64_C(432345566643486720),	// PSTW
1572    UINT64_C(432345566643486720),	// PSTW8
1573    UINT64_C(436849166270857216),	// PSTW8pc
1574    UINT64_C(436849166270857216),	// PSTWpc
1575    UINT64_C(288230379238719488),	// PSTXSD
1576    UINT64_C(292733978866089984),	// PSTXSDpc
1577    UINT64_C(288230379305828352),	// PSTXSSP
1578    UINT64_C(292733978933198848),	// PSTXSSPpc
1579    UINT64_C(288230379775590400),	// PSTXV
1580    UINT64_C(288230380312461312),	// PSTXVP
1581    UINT64_C(292733979939831808),	// PSTXVPpc
1582    UINT64_C(292733979402960896),	// PSTXVpc
1583    UINT64_C(0),	// PseudoEIEIO
1584    UINT64_C(0),	// RESTORE_ACC
1585    UINT64_C(0),	// RESTORE_CR
1586    UINT64_C(0),	// RESTORE_CRBIT
1587    UINT64_C(0),	// RESTORE_QUADWORD
1588    UINT64_C(0),	// RESTORE_UACC
1589    UINT64_C(0),	// RESTORE_WACC
1590    UINT64_C(1275068518),	// RFCI
1591    UINT64_C(1275068494),	// RFDI
1592    UINT64_C(1275068708),	// RFEBB
1593    UINT64_C(1275068516),	// RFI
1594    UINT64_C(1275068452),	// RFID
1595    UINT64_C(1275068492),	// RFMCI
1596    UINT64_C(2013265936),	// RLDCL
1597    UINT64_C(2013265937),	// RLDCL_rec
1598    UINT64_C(2013265938),	// RLDCR
1599    UINT64_C(2013265939),	// RLDCR_rec
1600    UINT64_C(2013265928),	// RLDIC
1601    UINT64_C(2013265920),	// RLDICL
1602    UINT64_C(2013265920),	// RLDICL_32
1603    UINT64_C(2013265920),	// RLDICL_32_64
1604    UINT64_C(2013265921),	// RLDICL_32_rec
1605    UINT64_C(2013265921),	// RLDICL_rec
1606    UINT64_C(2013265924),	// RLDICR
1607    UINT64_C(2013265924),	// RLDICR_32
1608    UINT64_C(2013265925),	// RLDICR_rec
1609    UINT64_C(2013265929),	// RLDIC_rec
1610    UINT64_C(2013265932),	// RLDIMI
1611    UINT64_C(2013265933),	// RLDIMI_rec
1612    UINT64_C(1342177280),	// RLWIMI
1613    UINT64_C(1342177280),	// RLWIMI8
1614    UINT64_C(1342177281),	// RLWIMI8_rec
1615    UINT64_C(1342177281),	// RLWIMI_rec
1616    UINT64_C(1409286144),	// RLWINM
1617    UINT64_C(1409286144),	// RLWINM8
1618    UINT64_C(1409286145),	// RLWINM8_rec
1619    UINT64_C(1409286145),	// RLWINM_rec
1620    UINT64_C(1543503872),	// RLWNM
1621    UINT64_C(1543503872),	// RLWNM8
1622    UINT64_C(1543503873),	// RLWNM8_rec
1623    UINT64_C(1543503873),	// RLWNM_rec
1624    UINT64_C(0),	// ReadTB
1625    UINT64_C(1140850690),	// SC
1626    UINT64_C(0),	// SELECT_CC_F16
1627    UINT64_C(0),	// SELECT_CC_F4
1628    UINT64_C(0),	// SELECT_CC_F8
1629    UINT64_C(0),	// SELECT_CC_I4
1630    UINT64_C(0),	// SELECT_CC_I8
1631    UINT64_C(0),	// SELECT_CC_SPE
1632    UINT64_C(0),	// SELECT_CC_SPE4
1633    UINT64_C(0),	// SELECT_CC_VRRC
1634    UINT64_C(0),	// SELECT_CC_VSFRC
1635    UINT64_C(0),	// SELECT_CC_VSRC
1636    UINT64_C(0),	// SELECT_CC_VSSRC
1637    UINT64_C(0),	// SELECT_F16
1638    UINT64_C(0),	// SELECT_F4
1639    UINT64_C(0),	// SELECT_F8
1640    UINT64_C(0),	// SELECT_I4
1641    UINT64_C(0),	// SELECT_I8
1642    UINT64_C(0),	// SELECT_SPE
1643    UINT64_C(0),	// SELECT_SPE4
1644    UINT64_C(0),	// SELECT_VRRC
1645    UINT64_C(0),	// SELECT_VSFRC
1646    UINT64_C(0),	// SELECT_VSRC
1647    UINT64_C(0),	// SELECT_VSSRC
1648    UINT64_C(2080375040),	// SETB
1649    UINT64_C(2080375040),	// SETB8
1650    UINT64_C(2080375552),	// SETBC
1651    UINT64_C(2080375552),	// SETBC8
1652    UINT64_C(2080375616),	// SETBCR
1653    UINT64_C(2080375616),	// SETBCR8
1654    UINT64_C(0),	// SETFLM
1655    UINT64_C(2080375680),	// SETNBC
1656    UINT64_C(2080375680),	// SETNBC8
1657    UINT64_C(2080375744),	// SETNBCR
1658    UINT64_C(2080375744),	// SETNBCR8
1659    UINT64_C(0),	// SETRND
1660    UINT64_C(0),	// SETRNDi
1661    UINT64_C(2080376743),	// SLBFEE_rec
1662    UINT64_C(2080375780),	// SLBIA
1663    UINT64_C(2080375652),	// SLBIE
1664    UINT64_C(2080375716),	// SLBIEG
1665    UINT64_C(2080376614),	// SLBMFEE
1666    UINT64_C(2080376486),	// SLBMFEV
1667    UINT64_C(2080375588),	// SLBMTE
1668    UINT64_C(2080375460),	// SLBSYNC
1669    UINT64_C(2080374838),	// SLD
1670    UINT64_C(2080374839),	// SLD_rec
1671    UINT64_C(2080374832),	// SLW
1672    UINT64_C(2080374832),	// SLW8
1673    UINT64_C(2080374833),	// SLW8_rec
1674    UINT64_C(2080374833),	// SLW_rec
1675    UINT64_C(2147483648),	// SPELWZ
1676    UINT64_C(2080374830),	// SPELWZX
1677    UINT64_C(2415919104),	// SPESTW
1678    UINT64_C(2080375086),	// SPESTWX
1679    UINT64_C(0),	// SPILL_ACC
1680    UINT64_C(0),	// SPILL_CR
1681    UINT64_C(0),	// SPILL_CRBIT
1682    UINT64_C(0),	// SPILL_QUADWORD
1683    UINT64_C(0),	// SPILL_UACC
1684    UINT64_C(0),	// SPILL_WACC
1685    UINT64_C(0),	// SPLIT_QUADWORD
1686    UINT64_C(2080376372),	// SRAD
1687    UINT64_C(2080376436),	// SRADI
1688    UINT64_C(2080376436),	// SRADI_32
1689    UINT64_C(2080376437),	// SRADI_rec
1690    UINT64_C(2080376373),	// SRAD_rec
1691    UINT64_C(2080376368),	// SRAW
1692    UINT64_C(2080376432),	// SRAWI
1693    UINT64_C(2080376433),	// SRAWI_rec
1694    UINT64_C(2080376369),	// SRAW_rec
1695    UINT64_C(2080375862),	// SRD
1696    UINT64_C(2080375863),	// SRD_rec
1697    UINT64_C(2080375856),	// SRW
1698    UINT64_C(2080375856),	// SRW8
1699    UINT64_C(2080375857),	// SRW8_rec
1700    UINT64_C(2080375857),	// SRW_rec
1701    UINT64_C(2550136832),	// STB
1702    UINT64_C(2550136832),	// STB8
1703    UINT64_C(2080376746),	// STBCIX
1704    UINT64_C(2080376173),	// STBCX
1705    UINT64_C(2080375230),	// STBEPX
1706    UINT64_C(2617245696),	// STBU
1707    UINT64_C(2617245696),	// STBU8
1708    UINT64_C(2080375278),	// STBUX
1709    UINT64_C(2080375278),	// STBUX8
1710    UINT64_C(2080375214),	// STBX
1711    UINT64_C(2080375214),	// STBX8
1712    UINT64_C(2080375214),	// STBXTLS
1713    UINT64_C(2080375214),	// STBXTLS_
1714    UINT64_C(2080375214),	// STBXTLS_32
1715    UINT64_C(4160749568),	// STD
1716    UINT64_C(2080376268),	// STDAT
1717    UINT64_C(2080376104),	// STDBRX
1718    UINT64_C(2080376810),	// STDCIX
1719    UINT64_C(2080375213),	// STDCX
1720    UINT64_C(4160749569),	// STDU
1721    UINT64_C(2080375146),	// STDUX
1722    UINT64_C(2080375082),	// STDX
1723    UINT64_C(2080375082),	// STDXTLS
1724    UINT64_C(2080375082),	// STDXTLS_
1725    UINT64_C(3623878656),	// STFD
1726    UINT64_C(2080376254),	// STFDEPX
1727    UINT64_C(3690987520),	// STFDU
1728    UINT64_C(2080376302),	// STFDUX
1729    UINT64_C(2080376238),	// STFDX
1730    UINT64_C(2080376750),	// STFIWX
1731    UINT64_C(3489660928),	// STFS
1732    UINT64_C(3556769792),	// STFSU
1733    UINT64_C(2080376174),	// STFSUX
1734    UINT64_C(2080376110),	// STFSX
1735    UINT64_C(2952790016),	// STH
1736    UINT64_C(2952790016),	// STH8
1737    UINT64_C(2080376620),	// STHBRX
1738    UINT64_C(2080376682),	// STHCIX
1739    UINT64_C(2080376237),	// STHCX
1740    UINT64_C(2080375614),	// STHEPX
1741    UINT64_C(3019898880),	// STHU
1742    UINT64_C(3019898880),	// STHU8
1743    UINT64_C(2080375662),	// STHUX
1744    UINT64_C(2080375662),	// STHUX8
1745    UINT64_C(2080375598),	// STHX
1746    UINT64_C(2080375598),	// STHX8
1747    UINT64_C(2080375598),	// STHXTLS
1748    UINT64_C(2080375598),	// STHXTLS_
1749    UINT64_C(2080375598),	// STHXTLS_32
1750    UINT64_C(3154116608),	// STMW
1751    UINT64_C(1275069156),	// STOP
1752    UINT64_C(4160749570),	// STQ
1753    UINT64_C(2080375149),	// STQCX
1754    UINT64_C(0),	// STQX_PSEUDO
1755    UINT64_C(2080376234),	// STSWI
1756    UINT64_C(2080375054),	// STVEBX
1757    UINT64_C(2080375118),	// STVEHX
1758    UINT64_C(2080375182),	// STVEWX
1759    UINT64_C(2080375246),	// STVX
1760    UINT64_C(2080375758),	// STVXL
1761    UINT64_C(2415919104),	// STW
1762    UINT64_C(2415919104),	// STW8
1763    UINT64_C(2080376204),	// STWAT
1764    UINT64_C(2080376108),	// STWBRX
1765    UINT64_C(2080376618),	// STWCIX
1766    UINT64_C(2080375085),	// STWCX
1767    UINT64_C(2080375102),	// STWEPX
1768    UINT64_C(2483027968),	// STWU
1769    UINT64_C(2483027968),	// STWU8
1770    UINT64_C(2080375150),	// STWUX
1771    UINT64_C(2080375150),	// STWUX8
1772    UINT64_C(2080375086),	// STWX
1773    UINT64_C(2080375086),	// STWX8
1774    UINT64_C(2080375086),	// STWXTLS
1775    UINT64_C(2080375086),	// STWXTLS_
1776    UINT64_C(2080375086),	// STWXTLS_32
1777    UINT64_C(4093640706),	// STXSD
1778    UINT64_C(2080376216),	// STXSDX
1779    UINT64_C(2080376602),	// STXSIBX
1780    UINT64_C(2080376602),	// STXSIBXv
1781    UINT64_C(2080376666),	// STXSIHX
1782    UINT64_C(2080376666),	// STXSIHXv
1783    UINT64_C(2080375064),	// STXSIWX
1784    UINT64_C(4093640707),	// STXSSP
1785    UINT64_C(2080376088),	// STXSSPX
1786    UINT64_C(4093640709),	// STXV
1787    UINT64_C(2080376792),	// STXVB16X
1788    UINT64_C(2080376728),	// STXVD2X
1789    UINT64_C(2080376664),	// STXVH8X
1790    UINT64_C(2080375578),	// STXVL
1791    UINT64_C(2080375642),	// STXVLL
1792    UINT64_C(402653185),	// STXVP
1793    UINT64_C(2080376218),	// STXVPRL
1794    UINT64_C(2080376282),	// STXVPRLL
1795    UINT64_C(2080375706),	// STXVPX
1796    UINT64_C(2080375066),	// STXVRBX
1797    UINT64_C(2080375258),	// STXVRDX
1798    UINT64_C(2080375130),	// STXVRHX
1799    UINT64_C(2080376090),	// STXVRL
1800    UINT64_C(2080376154),	// STXVRLL
1801    UINT64_C(2080375194),	// STXVRWX
1802    UINT64_C(2080376600),	// STXVW4X
1803    UINT64_C(2080375576),	// STXVX
1804    UINT64_C(2080374864),	// SUBF
1805    UINT64_C(2080374864),	// SUBF8
1806    UINT64_C(2080375888),	// SUBF8O
1807    UINT64_C(2080375889),	// SUBF8O_rec
1808    UINT64_C(2080374865),	// SUBF8_rec
1809    UINT64_C(2080374800),	// SUBFC
1810    UINT64_C(2080374800),	// SUBFC8
1811    UINT64_C(2080375824),	// SUBFC8O
1812    UINT64_C(2080375825),	// SUBFC8O_rec
1813    UINT64_C(2080374801),	// SUBFC8_rec
1814    UINT64_C(2080375824),	// SUBFCO
1815    UINT64_C(2080375825),	// SUBFCO_rec
1816    UINT64_C(2080374801),	// SUBFC_rec
1817    UINT64_C(2080375056),	// SUBFE
1818    UINT64_C(2080375056),	// SUBFE8
1819    UINT64_C(2080376080),	// SUBFE8O
1820    UINT64_C(2080376081),	// SUBFE8O_rec
1821    UINT64_C(2080375057),	// SUBFE8_rec
1822    UINT64_C(2080376080),	// SUBFEO
1823    UINT64_C(2080376081),	// SUBFEO_rec
1824    UINT64_C(2080375057),	// SUBFE_rec
1825    UINT64_C(536870912),	// SUBFIC
1826    UINT64_C(536870912),	// SUBFIC8
1827    UINT64_C(2080375248),	// SUBFME
1828    UINT64_C(2080375248),	// SUBFME8
1829    UINT64_C(2080376272),	// SUBFME8O
1830    UINT64_C(2080376273),	// SUBFME8O_rec
1831    UINT64_C(2080375249),	// SUBFME8_rec
1832    UINT64_C(2080376272),	// SUBFMEO
1833    UINT64_C(2080376273),	// SUBFMEO_rec
1834    UINT64_C(2080375249),	// SUBFME_rec
1835    UINT64_C(2080375888),	// SUBFO
1836    UINT64_C(2080375889),	// SUBFO_rec
1837    UINT64_C(2080374928),	// SUBFUS
1838    UINT64_C(2080374929),	// SUBFUS_rec
1839    UINT64_C(2080375184),	// SUBFZE
1840    UINT64_C(2080375184),	// SUBFZE8
1841    UINT64_C(2080376208),	// SUBFZE8O
1842    UINT64_C(2080376209),	// SUBFZE8O_rec
1843    UINT64_C(2080375185),	// SUBFZE8_rec
1844    UINT64_C(2080376208),	// SUBFZEO
1845    UINT64_C(2080376209),	// SUBFZEO_rec
1846    UINT64_C(2080375185),	// SUBFZE_rec
1847    UINT64_C(2080374865),	// SUBF_rec
1848    UINT64_C(2080375980),	// SYNC
1849    UINT64_C(2080376605),	// TABORT
1850    UINT64_C(2080376413),	// TABORTDC
1851    UINT64_C(2080376541),	// TABORTDCI
1852    UINT64_C(2080376349),	// TABORTWC
1853    UINT64_C(2080376477),	// TABORTWCI
1854    UINT64_C(1207959552),	// TAILB
1855    UINT64_C(1207959552),	// TAILB8
1856    UINT64_C(1207959552),	// TAILBA
1857    UINT64_C(1207959552),	// TAILBA8
1858    UINT64_C(1317012512),	// TAILBCTR
1859    UINT64_C(1317012512),	// TAILBCTR8
1860    UINT64_C(2080376093),	// TBEGIN
1861    UINT64_C(0),	// TBEGIN_RET
1862    UINT64_C(2080376220),	// TCHECK
1863    UINT64_C(0),	// TCHECK_RET
1864    UINT64_C(0),	// TCRETURNai
1865    UINT64_C(0),	// TCRETURNai8
1866    UINT64_C(0),	// TCRETURNdi
1867    UINT64_C(0),	// TCRETURNdi8
1868    UINT64_C(0),	// TCRETURNri
1869    UINT64_C(0),	// TCRETURNri8
1870    UINT64_C(2080374920),	// TD
1871    UINT64_C(134217728),	// TDI
1872    UINT64_C(2080376157),	// TEND
1873    UINT64_C(2080375524),	// TLBIA
1874    UINT64_C(2080375396),	// TLBIE
1875    UINT64_C(2080375332),	// TLBIEL
1876    UINT64_C(2080376356),	// TLBIVAX
1877    UINT64_C(2080376740),	// TLBLD
1878    UINT64_C(2080376804),	// TLBLI
1879    UINT64_C(2080376676),	// TLBRE
1880    UINT64_C(2080376676),	// TLBRE2
1881    UINT64_C(2080376612),	// TLBSX
1882    UINT64_C(2080376612),	// TLBSX2
1883    UINT64_C(2080376613),	// TLBSX2D
1884    UINT64_C(2080375916),	// TLBSYNC
1885    UINT64_C(2080376740),	// TLBWE
1886    UINT64_C(2080376740),	// TLBWE2
1887    UINT64_C(0),	// TLSGDAIX
1888    UINT64_C(0),	// TLSGDAIX8
1889    UINT64_C(2145386504),	// TRAP
1890    UINT64_C(2080376797),	// TRECHKPT
1891    UINT64_C(2080376669),	// TRECLAIM
1892    UINT64_C(2080376285),	// TSR
1893    UINT64_C(2080374792),	// TW
1894    UINT64_C(201326592),	// TWI
1895    UINT64_C(0),	// UNENCODED_NOP
1896    UINT64_C(0),	// UpdateGBR
1897    UINT64_C(268436483),	// VABSDUB
1898    UINT64_C(268436547),	// VABSDUH
1899    UINT64_C(268436611),	// VABSDUW
1900    UINT64_C(268435776),	// VADDCUQ
1901    UINT64_C(268435840),	// VADDCUW
1902    UINT64_C(268435517),	// VADDECUQ
1903    UINT64_C(268435516),	// VADDEUQM
1904    UINT64_C(268435466),	// VADDFP
1905    UINT64_C(268436224),	// VADDSBS
1906    UINT64_C(268436288),	// VADDSHS
1907    UINT64_C(268436352),	// VADDSWS
1908    UINT64_C(268435456),	// VADDUBM
1909    UINT64_C(268435968),	// VADDUBS
1910    UINT64_C(268435648),	// VADDUDM
1911    UINT64_C(268435520),	// VADDUHM
1912    UINT64_C(268436032),	// VADDUHS
1913    UINT64_C(268435712),	// VADDUQM
1914    UINT64_C(268435584),	// VADDUWM
1915    UINT64_C(268436096),	// VADDUWS
1916    UINT64_C(268436484),	// VAND
1917    UINT64_C(268436548),	// VANDC
1918    UINT64_C(268436738),	// VAVGSB
1919    UINT64_C(268436802),	// VAVGSH
1920    UINT64_C(268436866),	// VAVGSW
1921    UINT64_C(268436482),	// VAVGUB
1922    UINT64_C(268436546),	// VAVGUH
1923    UINT64_C(268436610),	// VAVGUW
1924    UINT64_C(268436940),	// VBPERMD
1925    UINT64_C(268436812),	// VBPERMQ
1926    UINT64_C(268436298),	// VCFSX
1927    UINT64_C(268436298),	// VCFSX_0
1928    UINT64_C(268436813),	// VCFUGED
1929    UINT64_C(268436234),	// VCFUX
1930    UINT64_C(268436234),	// VCFUX_0
1931    UINT64_C(268436744),	// VCIPHER
1932    UINT64_C(268436745),	// VCIPHERLAST
1933    UINT64_C(268435853),	// VCLRLB
1934    UINT64_C(268435917),	// VCLRRB
1935    UINT64_C(268437250),	// VCLZB
1936    UINT64_C(268437442),	// VCLZD
1937    UINT64_C(268437380),	// VCLZDM
1938    UINT64_C(268437314),	// VCLZH
1939    UINT64_C(268436994),	// VCLZLSBB
1940    UINT64_C(268437378),	// VCLZW
1941    UINT64_C(268436422),	// VCMPBFP
1942    UINT64_C(268437446),	// VCMPBFP_rec
1943    UINT64_C(268435654),	// VCMPEQFP
1944    UINT64_C(268436678),	// VCMPEQFP_rec
1945    UINT64_C(268435462),	// VCMPEQUB
1946    UINT64_C(268436486),	// VCMPEQUB_rec
1947    UINT64_C(268435655),	// VCMPEQUD
1948    UINT64_C(268436679),	// VCMPEQUD_rec
1949    UINT64_C(268435526),	// VCMPEQUH
1950    UINT64_C(268436550),	// VCMPEQUH_rec
1951    UINT64_C(268435911),	// VCMPEQUQ
1952    UINT64_C(268436935),	// VCMPEQUQ_rec
1953    UINT64_C(268435590),	// VCMPEQUW
1954    UINT64_C(268436614),	// VCMPEQUW_rec
1955    UINT64_C(268435910),	// VCMPGEFP
1956    UINT64_C(268436934),	// VCMPGEFP_rec
1957    UINT64_C(268436166),	// VCMPGTFP
1958    UINT64_C(268437190),	// VCMPGTFP_rec
1959    UINT64_C(268436230),	// VCMPGTSB
1960    UINT64_C(268437254),	// VCMPGTSB_rec
1961    UINT64_C(268436423),	// VCMPGTSD
1962    UINT64_C(268437447),	// VCMPGTSD_rec
1963    UINT64_C(268436294),	// VCMPGTSH
1964    UINT64_C(268437318),	// VCMPGTSH_rec
1965    UINT64_C(268436359),	// VCMPGTSQ
1966    UINT64_C(268437383),	// VCMPGTSQ_rec
1967    UINT64_C(268436358),	// VCMPGTSW
1968    UINT64_C(268437382),	// VCMPGTSW_rec
1969    UINT64_C(268435974),	// VCMPGTUB
1970    UINT64_C(268436998),	// VCMPGTUB_rec
1971    UINT64_C(268436167),	// VCMPGTUD
1972    UINT64_C(268437191),	// VCMPGTUD_rec
1973    UINT64_C(268436038),	// VCMPGTUH
1974    UINT64_C(268437062),	// VCMPGTUH_rec
1975    UINT64_C(268436103),	// VCMPGTUQ
1976    UINT64_C(268437127),	// VCMPGTUQ_rec
1977    UINT64_C(268436102),	// VCMPGTUW
1978    UINT64_C(268437126),	// VCMPGTUW_rec
1979    UINT64_C(268435463),	// VCMPNEB
1980    UINT64_C(268436487),	// VCMPNEB_rec
1981    UINT64_C(268435527),	// VCMPNEH
1982    UINT64_C(268436551),	// VCMPNEH_rec
1983    UINT64_C(268435591),	// VCMPNEW
1984    UINT64_C(268436615),	// VCMPNEW_rec
1985    UINT64_C(268435719),	// VCMPNEZB
1986    UINT64_C(268436743),	// VCMPNEZB_rec
1987    UINT64_C(268435783),	// VCMPNEZH
1988    UINT64_C(268436807),	// VCMPNEZH_rec
1989    UINT64_C(268435847),	// VCMPNEZW
1990    UINT64_C(268436871),	// VCMPNEZW_rec
1991    UINT64_C(268435777),	// VCMPSQ
1992    UINT64_C(268435713),	// VCMPUQ
1993    UINT64_C(270009922),	// VCNTMBB
1994    UINT64_C(270403138),	// VCNTMBD
1995    UINT64_C(270140994),	// VCNTMBH
1996    UINT64_C(270272066),	// VCNTMBW
1997    UINT64_C(268436426),	// VCTSXS
1998    UINT64_C(268436426),	// VCTSXS_0
1999    UINT64_C(268436362),	// VCTUXS
2000    UINT64_C(268436362),	// VCTUXS_0
2001    UINT64_C(270272002),	// VCTZB
2002    UINT64_C(270468610),	// VCTZD
2003    UINT64_C(268437444),	// VCTZDM
2004    UINT64_C(270337538),	// VCTZH
2005    UINT64_C(268502530),	// VCTZLSBB
2006    UINT64_C(270403074),	// VCTZW
2007    UINT64_C(268436427),	// VDIVESD
2008    UINT64_C(268436235),	// VDIVESQ
2009    UINT64_C(268436363),	// VDIVESW
2010    UINT64_C(268436171),	// VDIVEUD
2011    UINT64_C(268435979),	// VDIVEUQ
2012    UINT64_C(268436107),	// VDIVEUW
2013    UINT64_C(268435915),	// VDIVSD
2014    UINT64_C(268435723),	// VDIVSQ
2015    UINT64_C(268435851),	// VDIVSW
2016    UINT64_C(268435659),	// VDIVUD
2017    UINT64_C(268435467),	// VDIVUQ
2018    UINT64_C(268435595),	// VDIVUW
2019    UINT64_C(268437124),	// VEQV
2020    UINT64_C(268437058),	// VEXPANDBM
2021    UINT64_C(268633666),	// VEXPANDDM
2022    UINT64_C(268502594),	// VEXPANDHM
2023    UINT64_C(268699202),	// VEXPANDQM
2024    UINT64_C(268568130),	// VEXPANDWM
2025    UINT64_C(268435850),	// VEXPTEFP
2026    UINT64_C(268435486),	// VEXTDDVLX
2027    UINT64_C(268435487),	// VEXTDDVRX
2028    UINT64_C(268435480),	// VEXTDUBVLX
2029    UINT64_C(268435481),	// VEXTDUBVRX
2030    UINT64_C(268435482),	// VEXTDUHVLX
2031    UINT64_C(268435483),	// VEXTDUHVRX
2032    UINT64_C(268435484),	// VEXTDUWVLX
2033    UINT64_C(268435485),	// VEXTDUWVRX
2034    UINT64_C(268961346),	// VEXTRACTBM
2035    UINT64_C(268436173),	// VEXTRACTD
2036    UINT64_C(269157954),	// VEXTRACTDM
2037    UINT64_C(269026882),	// VEXTRACTHM
2038    UINT64_C(269223490),	// VEXTRACTQM
2039    UINT64_C(268435981),	// VEXTRACTUB
2040    UINT64_C(268436045),	// VEXTRACTUH
2041    UINT64_C(268436109),	// VEXTRACTUW
2042    UINT64_C(269092418),	// VEXTRACTWM
2043    UINT64_C(270009858),	// VEXTSB2D
2044    UINT64_C(270009858),	// VEXTSB2Ds
2045    UINT64_C(269485570),	// VEXTSB2W
2046    UINT64_C(269485570),	// VEXTSB2Ws
2047    UINT64_C(270206466),	// VEXTSD2Q
2048    UINT64_C(270075394),	// VEXTSH2D
2049    UINT64_C(270075394),	// VEXTSH2Ds
2050    UINT64_C(269551106),	// VEXTSH2W
2051    UINT64_C(269551106),	// VEXTSH2Ws
2052    UINT64_C(270140930),	// VEXTSW2D
2053    UINT64_C(270140930),	// VEXTSW2Ds
2054    UINT64_C(268437005),	// VEXTUBLX
2055    UINT64_C(268437261),	// VEXTUBRX
2056    UINT64_C(268437069),	// VEXTUHLX
2057    UINT64_C(268437325),	// VEXTUHRX
2058    UINT64_C(268437133),	// VEXTUWLX
2059    UINT64_C(268437389),	// VEXTUWRX
2060    UINT64_C(268436748),	// VGBBD
2061    UINT64_C(268436684),	// VGNB
2062    UINT64_C(268435983),	// VINSBLX
2063    UINT64_C(268436239),	// VINSBRX
2064    UINT64_C(268435471),	// VINSBVLX
2065    UINT64_C(268435727),	// VINSBVRX
2066    UINT64_C(268435919),	// VINSD
2067    UINT64_C(268436175),	// VINSDLX
2068    UINT64_C(268436431),	// VINSDRX
2069    UINT64_C(268436237),	// VINSERTB
2070    UINT64_C(268436429),	// VINSERTD
2071    UINT64_C(268436301),	// VINSERTH
2072    UINT64_C(268436365),	// VINSERTW
2073    UINT64_C(268436047),	// VINSHLX
2074    UINT64_C(268436303),	// VINSHRX
2075    UINT64_C(268435535),	// VINSHVLX
2076    UINT64_C(268435791),	// VINSHVRX
2077    UINT64_C(268435663),	// VINSW
2078    UINT64_C(268436111),	// VINSWLX
2079    UINT64_C(268436367),	// VINSWRX
2080    UINT64_C(268435599),	// VINSWVLX
2081    UINT64_C(268435855),	// VINSWVRX
2082    UINT64_C(268435914),	// VLOGEFP
2083    UINT64_C(268435502),	// VMADDFP
2084    UINT64_C(268436490),	// VMAXFP
2085    UINT64_C(268435714),	// VMAXSB
2086    UINT64_C(268435906),	// VMAXSD
2087    UINT64_C(268435778),	// VMAXSH
2088    UINT64_C(268435842),	// VMAXSW
2089    UINT64_C(268435458),	// VMAXUB
2090    UINT64_C(268435650),	// VMAXUD
2091    UINT64_C(268435522),	// VMAXUH
2092    UINT64_C(268435586),	// VMAXUW
2093    UINT64_C(268435488),	// VMHADDSHS
2094    UINT64_C(268435489),	// VMHRADDSHS
2095    UINT64_C(268436554),	// VMINFP
2096    UINT64_C(268436226),	// VMINSB
2097    UINT64_C(268436418),	// VMINSD
2098    UINT64_C(268436290),	// VMINSH
2099    UINT64_C(268436354),	// VMINSW
2100    UINT64_C(268435970),	// VMINUB
2101    UINT64_C(268436162),	// VMINUD
2102    UINT64_C(268436034),	// VMINUH
2103    UINT64_C(268436098),	// VMINUW
2104    UINT64_C(268435490),	// VMLADDUHM
2105    UINT64_C(268437451),	// VMODSD
2106    UINT64_C(268437259),	// VMODSQ
2107    UINT64_C(268437387),	// VMODSW
2108    UINT64_C(268437195),	// VMODUD
2109    UINT64_C(268437003),	// VMODUQ
2110    UINT64_C(268437131),	// VMODUW
2111    UINT64_C(268437388),	// VMRGEW
2112    UINT64_C(268435468),	// VMRGHB
2113    UINT64_C(268435532),	// VMRGHH
2114    UINT64_C(268435596),	// VMRGHW
2115    UINT64_C(268435724),	// VMRGLB
2116    UINT64_C(268435788),	// VMRGLH
2117    UINT64_C(268435852),	// VMRGLW
2118    UINT64_C(268437132),	// VMRGOW
2119    UINT64_C(268435479),	// VMSUMCUD
2120    UINT64_C(268435493),	// VMSUMMBM
2121    UINT64_C(268435496),	// VMSUMSHM
2122    UINT64_C(268435497),	// VMSUMSHS
2123    UINT64_C(268435492),	// VMSUMUBM
2124    UINT64_C(268435491),	// VMSUMUDM
2125    UINT64_C(268435494),	// VMSUMUHM
2126    UINT64_C(268435495),	// VMSUMUHS
2127    UINT64_C(268435457),	// VMUL10CUQ
2128    UINT64_C(268435521),	// VMUL10ECUQ
2129    UINT64_C(268436033),	// VMUL10EUQ
2130    UINT64_C(268435969),	// VMUL10UQ
2131    UINT64_C(268436232),	// VMULESB
2132    UINT64_C(268436424),	// VMULESD
2133    UINT64_C(268436296),	// VMULESH
2134    UINT64_C(268436360),	// VMULESW
2135    UINT64_C(268435976),	// VMULEUB
2136    UINT64_C(268436168),	// VMULEUD
2137    UINT64_C(268436040),	// VMULEUH
2138    UINT64_C(268436104),	// VMULEUW
2139    UINT64_C(268436425),	// VMULHSD
2140    UINT64_C(268436361),	// VMULHSW
2141    UINT64_C(268436169),	// VMULHUD
2142    UINT64_C(268436105),	// VMULHUW
2143    UINT64_C(268435913),	// VMULLD
2144    UINT64_C(268435720),	// VMULOSB
2145    UINT64_C(268435912),	// VMULOSD
2146    UINT64_C(268435784),	// VMULOSH
2147    UINT64_C(268435848),	// VMULOSW
2148    UINT64_C(268435464),	// VMULOUB
2149    UINT64_C(268435656),	// VMULOUD
2150    UINT64_C(268435528),	// VMULOUH
2151    UINT64_C(268435592),	// VMULOUW
2152    UINT64_C(268435593),	// VMULUWM
2153    UINT64_C(268436868),	// VNAND
2154    UINT64_C(268436808),	// VNCIPHER
2155    UINT64_C(268436809),	// VNCIPHERLAST
2156    UINT64_C(268895746),	// VNEGD
2157    UINT64_C(268830210),	// VNEGW
2158    UINT64_C(268435503),	// VNMSUBFP
2159    UINT64_C(268436740),	// VNOR
2160    UINT64_C(268436612),	// VOR
2161    UINT64_C(268436804),	// VORC
2162    UINT64_C(268436941),	// VPDEPD
2163    UINT64_C(268435499),	// VPERM
2164    UINT64_C(268435515),	// VPERMR
2165    UINT64_C(268435501),	// VPERMXOR
2166    UINT64_C(268436877),	// VPEXTD
2167    UINT64_C(268436238),	// VPKPX
2168    UINT64_C(268436942),	// VPKSDSS
2169    UINT64_C(268436814),	// VPKSDUS
2170    UINT64_C(268435854),	// VPKSHSS
2171    UINT64_C(268435726),	// VPKSHUS
2172    UINT64_C(268435918),	// VPKSWSS
2173    UINT64_C(268435790),	// VPKSWUS
2174    UINT64_C(268436558),	// VPKUDUM
2175    UINT64_C(268436686),	// VPKUDUS
2176    UINT64_C(268435470),	// VPKUHUM
2177    UINT64_C(268435598),	// VPKUHUS
2178    UINT64_C(268435534),	// VPKUWUM
2179    UINT64_C(268435662),	// VPKUWUS
2180    UINT64_C(268436488),	// VPMSUMB
2181    UINT64_C(268436680),	// VPMSUMD
2182    UINT64_C(268436552),	// VPMSUMH
2183    UINT64_C(268436616),	// VPMSUMW
2184    UINT64_C(268437251),	// VPOPCNTB
2185    UINT64_C(268437443),	// VPOPCNTD
2186    UINT64_C(268437315),	// VPOPCNTH
2187    UINT64_C(268437379),	// VPOPCNTW
2188    UINT64_C(269026818),	// VPRTYBD
2189    UINT64_C(269092354),	// VPRTYBQ
2190    UINT64_C(268961282),	// VPRTYBW
2191    UINT64_C(268435722),	// VREFP
2192    UINT64_C(268436170),	// VRFIM
2193    UINT64_C(268435978),	// VRFIN
2194    UINT64_C(268436106),	// VRFIP
2195    UINT64_C(268436042),	// VRFIZ
2196    UINT64_C(268435460),	// VRLB
2197    UINT64_C(268435652),	// VRLD
2198    UINT64_C(268435653),	// VRLDMI
2199    UINT64_C(268435909),	// VRLDNM
2200    UINT64_C(268435524),	// VRLH
2201    UINT64_C(268435461),	// VRLQ
2202    UINT64_C(268435525),	// VRLQMI
2203    UINT64_C(268435781),	// VRLQNM
2204    UINT64_C(268435588),	// VRLW
2205    UINT64_C(268435589),	// VRLWMI
2206    UINT64_C(268435845),	// VRLWNM
2207    UINT64_C(268435786),	// VRSQRTEFP
2208    UINT64_C(268436936),	// VSBOX
2209    UINT64_C(268435498),	// VSEL
2210    UINT64_C(268437186),	// VSHASIGMAD
2211    UINT64_C(268437122),	// VSHASIGMAW
2212    UINT64_C(268435908),	// VSL
2213    UINT64_C(268435716),	// VSLB
2214    UINT64_C(268436932),	// VSLD
2215    UINT64_C(268435478),	// VSLDBI
2216    UINT64_C(268435500),	// VSLDOI
2217    UINT64_C(268435780),	// VSLH
2218    UINT64_C(268436492),	// VSLO
2219    UINT64_C(268435717),	// VSLQ
2220    UINT64_C(268437316),	// VSLV
2221    UINT64_C(268435844),	// VSLW
2222    UINT64_C(268435980),	// VSPLTB
2223    UINT64_C(268435980),	// VSPLTBs
2224    UINT64_C(268436044),	// VSPLTH
2225    UINT64_C(268436044),	// VSPLTHs
2226    UINT64_C(268436236),	// VSPLTISB
2227    UINT64_C(268436300),	// VSPLTISH
2228    UINT64_C(268436364),	// VSPLTISW
2229    UINT64_C(268436108),	// VSPLTW
2230    UINT64_C(268436164),	// VSR
2231    UINT64_C(268436228),	// VSRAB
2232    UINT64_C(268436420),	// VSRAD
2233    UINT64_C(268436292),	// VSRAH
2234    UINT64_C(268436229),	// VSRAQ
2235    UINT64_C(268436356),	// VSRAW
2236    UINT64_C(268435972),	// VSRB
2237    UINT64_C(268437188),	// VSRD
2238    UINT64_C(268435990),	// VSRDBI
2239    UINT64_C(268436036),	// VSRH
2240    UINT64_C(268436556),	// VSRO
2241    UINT64_C(268435973),	// VSRQ
2242    UINT64_C(268437252),	// VSRV
2243    UINT64_C(268436100),	// VSRW
2244    UINT64_C(268435469),	// VSTRIBL
2245    UINT64_C(268436493),	// VSTRIBL_rec
2246    UINT64_C(268501005),	// VSTRIBR
2247    UINT64_C(268502029),	// VSTRIBR_rec
2248    UINT64_C(268566541),	// VSTRIHL
2249    UINT64_C(268567565),	// VSTRIHL_rec
2250    UINT64_C(268632077),	// VSTRIHR
2251    UINT64_C(268633101),	// VSTRIHR_rec
2252    UINT64_C(268436800),	// VSUBCUQ
2253    UINT64_C(268436864),	// VSUBCUW
2254    UINT64_C(268435519),	// VSUBECUQ
2255    UINT64_C(268435518),	// VSUBEUQM
2256    UINT64_C(268435530),	// VSUBFP
2257    UINT64_C(268437248),	// VSUBSBS
2258    UINT64_C(268437312),	// VSUBSHS
2259    UINT64_C(268437376),	// VSUBSWS
2260    UINT64_C(268436480),	// VSUBUBM
2261    UINT64_C(268436992),	// VSUBUBS
2262    UINT64_C(268436672),	// VSUBUDM
2263    UINT64_C(268436544),	// VSUBUHM
2264    UINT64_C(268437056),	// VSUBUHS
2265    UINT64_C(268436736),	// VSUBUQM
2266    UINT64_C(268436608),	// VSUBUWM
2267    UINT64_C(268437120),	// VSUBUWS
2268    UINT64_C(268437128),	// VSUM2SWS
2269    UINT64_C(268437256),	// VSUM4SBS
2270    UINT64_C(268437064),	// VSUM4SHS
2271    UINT64_C(268437000),	// VSUM4UBS
2272    UINT64_C(268437384),	// VSUMSWS
2273    UINT64_C(268436302),	// VUPKHPX
2274    UINT64_C(268435982),	// VUPKHSB
2275    UINT64_C(268436046),	// VUPKHSH
2276    UINT64_C(268437070),	// VUPKHSW
2277    UINT64_C(268436430),	// VUPKLPX
2278    UINT64_C(268436110),	// VUPKLSB
2279    UINT64_C(268436174),	// VUPKLSH
2280    UINT64_C(268437198),	// VUPKLSW
2281    UINT64_C(268436676),	// VXOR
2282    UINT64_C(268436676),	// V_SET0
2283    UINT64_C(268436676),	// V_SET0B
2284    UINT64_C(268436676),	// V_SET0H
2285    UINT64_C(270467980),	// V_SETALLONES
2286    UINT64_C(270467980),	// V_SETALLONESB
2287    UINT64_C(270467980),	// V_SETALLONESH
2288    UINT64_C(2080374844),	// WAIT
2289    UINT64_C(2080375046),	// WRTEE
2290    UINT64_C(2080375110),	// WRTEEI
2291    UINT64_C(2080375416),	// XOR
2292    UINT64_C(2080375416),	// XOR8
2293    UINT64_C(2080375417),	// XOR8_rec
2294    UINT64_C(1744830464),	// XORI
2295    UINT64_C(1744830464),	// XORI8
2296    UINT64_C(1811939328),	// XORIS
2297    UINT64_C(1811939328),	// XORIS8
2298    UINT64_C(2080375417),	// XOR_rec
2299    UINT64_C(4026533220),	// XSABSDP
2300    UINT64_C(4227860040),	// XSABSQP
2301    UINT64_C(4026532096),	// XSADDDP
2302    UINT64_C(4227858440),	// XSADDQP
2303    UINT64_C(4227858441),	// XSADDQPO
2304    UINT64_C(4026531840),	// XSADDSP
2305    UINT64_C(4026531864),	// XSCMPEQDP
2306    UINT64_C(4227858568),	// XSCMPEQQP
2307    UINT64_C(4026532312),	// XSCMPEXPDP
2308    UINT64_C(4227858760),	// XSCMPEXPQP
2309    UINT64_C(4026531992),	// XSCMPGEDP
2310    UINT64_C(4227858824),	// XSCMPGEQP
2311    UINT64_C(4026531928),	// XSCMPGTDP
2312    UINT64_C(4227858888),	// XSCMPGTQP
2313    UINT64_C(4026532184),	// XSCMPODP
2314    UINT64_C(4227858696),	// XSCMPOQP
2315    UINT64_C(4026532120),	// XSCMPUDP
2316    UINT64_C(4227859720),	// XSCMPUQP
2317    UINT64_C(4026533248),	// XSCPSGNDP
2318    UINT64_C(4227858632),	// XSCPSGNQP
2319    UINT64_C(4027647340),	// XSCVDPHP
2320    UINT64_C(4229301896),	// XSCVDPQP
2321    UINT64_C(4026532900),	// XSCVDPSP
2322    UINT64_C(4026532908),	// XSCVDPSPN
2323    UINT64_C(4026533216),	// XSCVDPSXDS
2324    UINT64_C(4026533216),	// XSCVDPSXDSs
2325    UINT64_C(4026532192),	// XSCVDPSXWS
2326    UINT64_C(4026532192),	// XSCVDPSXWSs
2327    UINT64_C(4026533152),	// XSCVDPUXDS
2328    UINT64_C(4026533152),	// XSCVDPUXDSs
2329    UINT64_C(4026532128),	// XSCVDPUXWS
2330    UINT64_C(4026532128),	// XSCVDPUXWSs
2331    UINT64_C(4027581804),	// XSCVHPDP
2332    UINT64_C(4229170824),	// XSCVQPDP
2333    UINT64_C(4229170825),	// XSCVQPDPO
2334    UINT64_C(4229498504),	// XSCVQPSDZ
2335    UINT64_C(4228384392),	// XSCVQPSQZ
2336    UINT64_C(4228449928),	// XSCVQPSWZ
2337    UINT64_C(4228974216),	// XSCVQPUDZ
2338    UINT64_C(4227860104),	// XSCVQPUQZ
2339    UINT64_C(4227925640),	// XSCVQPUWZ
2340    UINT64_C(4228515464),	// XSCVSDQP
2341    UINT64_C(4026533156),	// XSCVSPDP
2342    UINT64_C(4026533164),	// XSCVSPDPN
2343    UINT64_C(4228581000),	// XSCVSQQP
2344    UINT64_C(4026533344),	// XSCVSXDDP
2345    UINT64_C(4026533088),	// XSCVSXDSP
2346    UINT64_C(4227991176),	// XSCVUDQP
2347    UINT64_C(4228056712),	// XSCVUQQP
2348    UINT64_C(4026533280),	// XSCVUXDDP
2349    UINT64_C(4026533024),	// XSCVUXDSP
2350    UINT64_C(4026532288),	// XSDIVDP
2351    UINT64_C(4227859528),	// XSDIVQP
2352    UINT64_C(4227859529),	// XSDIVQPO
2353    UINT64_C(4026532032),	// XSDIVSP
2354    UINT64_C(4026533676),	// XSIEXPDP
2355    UINT64_C(4227860168),	// XSIEXPQP
2356    UINT64_C(4026532104),	// XSMADDADP
2357    UINT64_C(4026531848),	// XSMADDASP
2358    UINT64_C(4026532168),	// XSMADDMDP
2359    UINT64_C(4026531912),	// XSMADDMSP
2360    UINT64_C(4227859208),	// XSMADDQP
2361    UINT64_C(4227859209),	// XSMADDQPO
2362    UINT64_C(4026532864),	// XSMAXCDP
2363    UINT64_C(4227859784),	// XSMAXCQP
2364    UINT64_C(4026533120),	// XSMAXDP
2365    UINT64_C(4026532992),	// XSMAXJDP
2366    UINT64_C(4026532928),	// XSMINCDP
2367    UINT64_C(4227859912),	// XSMINCQP
2368    UINT64_C(4026533184),	// XSMINDP
2369    UINT64_C(4026533056),	// XSMINJDP
2370    UINT64_C(4026532232),	// XSMSUBADP
2371    UINT64_C(4026531976),	// XSMSUBASP
2372    UINT64_C(4026532296),	// XSMSUBMDP
2373    UINT64_C(4026532040),	// XSMSUBMSP
2374    UINT64_C(4227859272),	// XSMSUBQP
2375    UINT64_C(4227859273),	// XSMSUBQPO
2376    UINT64_C(4026532224),	// XSMULDP
2377    UINT64_C(4227858504),	// XSMULQP
2378    UINT64_C(4227858505),	// XSMULQPO
2379    UINT64_C(4026531968),	// XSMULSP
2380    UINT64_C(4026533284),	// XSNABSDP
2381    UINT64_C(4026533284),	// XSNABSDPs
2382    UINT64_C(4228384328),	// XSNABSQP
2383    UINT64_C(4026533348),	// XSNEGDP
2384    UINT64_C(4228908616),	// XSNEGQP
2385    UINT64_C(4026533128),	// XSNMADDADP
2386    UINT64_C(4026532872),	// XSNMADDASP
2387    UINT64_C(4026533192),	// XSNMADDMDP
2388    UINT64_C(4026532936),	// XSNMADDMSP
2389    UINT64_C(4227859336),	// XSNMADDQP
2390    UINT64_C(4227859337),	// XSNMADDQPO
2391    UINT64_C(4026533256),	// XSNMSUBADP
2392    UINT64_C(4026533000),	// XSNMSUBASP
2393    UINT64_C(4026533320),	// XSNMSUBMDP
2394    UINT64_C(4026533064),	// XSNMSUBMSP
2395    UINT64_C(4227859400),	// XSNMSUBQP
2396    UINT64_C(4227859401),	// XSNMSUBQPO
2397    UINT64_C(4026532132),	// XSRDPI
2398    UINT64_C(4026532268),	// XSRDPIC
2399    UINT64_C(4026532324),	// XSRDPIM
2400    UINT64_C(4026532260),	// XSRDPIP
2401    UINT64_C(4026532196),	// XSRDPIZ
2402    UINT64_C(4026532200),	// XSREDP
2403    UINT64_C(4026531944),	// XSRESP
2404    UINT64_C(4227858442),	// XSRQPI
2405    UINT64_C(4227858443),	// XSRQPIX
2406    UINT64_C(4227858506),	// XSRQPXP
2407    UINT64_C(4026532964),	// XSRSP
2408    UINT64_C(4026532136),	// XSRSQRTEDP
2409    UINT64_C(4026531880),	// XSRSQRTESP
2410    UINT64_C(4026532140),	// XSSQRTDP
2411    UINT64_C(4229629512),	// XSSQRTQP
2412    UINT64_C(4229629513),	// XSSQRTQPO
2413    UINT64_C(4026531884),	// XSSQRTSP
2414    UINT64_C(4026532160),	// XSSUBDP
2415    UINT64_C(4227859464),	// XSSUBQP
2416    UINT64_C(4227859465),	// XSSUBQPO
2417    UINT64_C(4026531904),	// XSSUBSP
2418    UINT64_C(4026532328),	// XSTDIVDP
2419    UINT64_C(4026532264),	// XSTSQRTDP
2420    UINT64_C(4026533288),	// XSTSTDCDP
2421    UINT64_C(4227859848),	// XSTSTDCQP
2422    UINT64_C(4026533032),	// XSTSTDCSP
2423    UINT64_C(4026533228),	// XSXEXPDP
2424    UINT64_C(4227991112),	// XSXEXPQP
2425    UINT64_C(4026598764),	// XSXSIGDP
2426    UINT64_C(4229039688),	// XSXSIGQP
2427    UINT64_C(4026533732),	// XVABSDP
2428    UINT64_C(4026533476),	// XVABSSP
2429    UINT64_C(4026532608),	// XVADDDP
2430    UINT64_C(4026532352),	// XVADDSP
2431    UINT64_C(3959423384),	// XVBF16GER2
2432    UINT64_C(3959424912),	// XVBF16GER2NN
2433    UINT64_C(3959423888),	// XVBF16GER2NP
2434    UINT64_C(3959424400),	// XVBF16GER2PN
2435    UINT64_C(3959423376),	// XVBF16GER2PP
2436    UINT64_C(3959423384),	// XVBF16GER2W
2437    UINT64_C(3959424912),	// XVBF16GER2WNN
2438    UINT64_C(3959423888),	// XVBF16GER2WNP
2439    UINT64_C(3959424400),	// XVBF16GER2WPN
2440    UINT64_C(3959423376),	// XVBF16GER2WPP
2441    UINT64_C(4026532632),	// XVCMPEQDP
2442    UINT64_C(4026533656),	// XVCMPEQDP_rec
2443    UINT64_C(4026532376),	// XVCMPEQSP
2444    UINT64_C(4026533400),	// XVCMPEQSP_rec
2445    UINT64_C(4026532760),	// XVCMPGEDP
2446    UINT64_C(4026533784),	// XVCMPGEDP_rec
2447    UINT64_C(4026532504),	// XVCMPGESP
2448    UINT64_C(4026533528),	// XVCMPGESP_rec
2449    UINT64_C(4026532696),	// XVCMPGTDP
2450    UINT64_C(4026533720),	// XVCMPGTDP_rec
2451    UINT64_C(4026532440),	// XVCMPGTSP
2452    UINT64_C(4026533464),	// XVCMPGTSP_rec
2453    UINT64_C(4026533760),	// XVCPSGNDP
2454    UINT64_C(4026533504),	// XVCPSGNSP
2455    UINT64_C(4027582316),	// XVCVBF16SPN
2456    UINT64_C(4026533412),	// XVCVDPSP
2457    UINT64_C(4026533728),	// XVCVDPSXDS
2458    UINT64_C(4026532704),	// XVCVDPSXWS
2459    UINT64_C(4026533664),	// XVCVDPUXDS
2460    UINT64_C(4026532640),	// XVCVDPUXWS
2461    UINT64_C(4028106604),	// XVCVHPSP
2462    UINT64_C(4027647852),	// XVCVSPBF16
2463    UINT64_C(4026533668),	// XVCVSPDP
2464    UINT64_C(4028172140),	// XVCVSPHP
2465    UINT64_C(4026533472),	// XVCVSPSXDS
2466    UINT64_C(4026532448),	// XVCVSPSXWS
2467    UINT64_C(4026533408),	// XVCVSPUXDS
2468    UINT64_C(4026532384),	// XVCVSPUXWS
2469    UINT64_C(4026533856),	// XVCVSXDDP
2470    UINT64_C(4026533600),	// XVCVSXDSP
2471    UINT64_C(4026532832),	// XVCVSXWDP
2472    UINT64_C(4026532576),	// XVCVSXWSP
2473    UINT64_C(4026533792),	// XVCVUXDDP
2474    UINT64_C(4026533536),	// XVCVUXDSP
2475    UINT64_C(4026532768),	// XVCVUXWDP
2476    UINT64_C(4026532512),	// XVCVUXWSP
2477    UINT64_C(4026532800),	// XVDIVDP
2478    UINT64_C(4026532544),	// XVDIVSP
2479    UINT64_C(3959423128),	// XVF16GER2
2480    UINT64_C(3959424656),	// XVF16GER2NN
2481    UINT64_C(3959423632),	// XVF16GER2NP
2482    UINT64_C(3959424144),	// XVF16GER2PN
2483    UINT64_C(3959423120),	// XVF16GER2PP
2484    UINT64_C(3959423128),	// XVF16GER2W
2485    UINT64_C(3959424656),	// XVF16GER2WNN
2486    UINT64_C(3959423632),	// XVF16GER2WNP
2487    UINT64_C(3959424144),	// XVF16GER2WPN
2488    UINT64_C(3959423120),	// XVF16GER2WPP
2489    UINT64_C(3959423192),	// XVF32GER
2490    UINT64_C(3959424720),	// XVF32GERNN
2491    UINT64_C(3959423696),	// XVF32GERNP
2492    UINT64_C(3959424208),	// XVF32GERPN
2493    UINT64_C(3959423184),	// XVF32GERPP
2494    UINT64_C(3959423192),	// XVF32GERW
2495    UINT64_C(3959424720),	// XVF32GERWNN
2496    UINT64_C(3959423696),	// XVF32GERWNP
2497    UINT64_C(3959424208),	// XVF32GERWPN
2498    UINT64_C(3959423184),	// XVF32GERWPP
2499    UINT64_C(3959423448),	// XVF64GER
2500    UINT64_C(3959424976),	// XVF64GERNN
2501    UINT64_C(3959423952),	// XVF64GERNP
2502    UINT64_C(3959424464),	// XVF64GERPN
2503    UINT64_C(3959423440),	// XVF64GERPP
2504    UINT64_C(3959423448),	// XVF64GERW
2505    UINT64_C(3959424976),	// XVF64GERWNN
2506    UINT64_C(3959423952),	// XVF64GERWNP
2507    UINT64_C(3959424464),	// XVF64GERWPN
2508    UINT64_C(3959423440),	// XVF64GERWPP
2509    UINT64_C(3959423576),	// XVI16GER2
2510    UINT64_C(3959423832),	// XVI16GER2PP
2511    UINT64_C(3959423320),	// XVI16GER2S
2512    UINT64_C(3959423312),	// XVI16GER2SPP
2513    UINT64_C(3959423320),	// XVI16GER2SW
2514    UINT64_C(3959423312),	// XVI16GER2SWPP
2515    UINT64_C(3959423576),	// XVI16GER2W
2516    UINT64_C(3959423832),	// XVI16GER2WPP
2517    UINT64_C(3959423256),	// XVI4GER8
2518    UINT64_C(3959423248),	// XVI4GER8PP
2519    UINT64_C(3959423256),	// XVI4GER8W
2520    UINT64_C(3959423248),	// XVI4GER8WPP
2521    UINT64_C(3959423000),	// XVI8GER4
2522    UINT64_C(3959422992),	// XVI8GER4PP
2523    UINT64_C(3959423768),	// XVI8GER4SPP
2524    UINT64_C(3959423000),	// XVI8GER4W
2525    UINT64_C(3959422992),	// XVI8GER4WPP
2526    UINT64_C(3959423768),	// XVI8GER4WSPP
2527    UINT64_C(4026533824),	// XVIEXPDP
2528    UINT64_C(4026533568),	// XVIEXPSP
2529    UINT64_C(4026532616),	// XVMADDADP
2530    UINT64_C(4026532360),	// XVMADDASP
2531    UINT64_C(4026532680),	// XVMADDMDP
2532    UINT64_C(4026532424),	// XVMADDMSP
2533    UINT64_C(4026533632),	// XVMAXDP
2534    UINT64_C(4026533376),	// XVMAXSP
2535    UINT64_C(4026533696),	// XVMINDP
2536    UINT64_C(4026533440),	// XVMINSP
2537    UINT64_C(4026532744),	// XVMSUBADP
2538    UINT64_C(4026532488),	// XVMSUBASP
2539    UINT64_C(4026532808),	// XVMSUBMDP
2540    UINT64_C(4026532552),	// XVMSUBMSP
2541    UINT64_C(4026532736),	// XVMULDP
2542    UINT64_C(4026532480),	// XVMULSP
2543    UINT64_C(4026533796),	// XVNABSDP
2544    UINT64_C(4026533540),	// XVNABSSP
2545    UINT64_C(4026533860),	// XVNEGDP
2546    UINT64_C(4026533604),	// XVNEGSP
2547    UINT64_C(4026533640),	// XVNMADDADP
2548    UINT64_C(4026533384),	// XVNMADDASP
2549    UINT64_C(4026533704),	// XVNMADDMDP
2550    UINT64_C(4026533448),	// XVNMADDMSP
2551    UINT64_C(4026533768),	// XVNMSUBADP
2552    UINT64_C(4026533512),	// XVNMSUBASP
2553    UINT64_C(4026533832),	// XVNMSUBMDP
2554    UINT64_C(4026533576),	// XVNMSUBMSP
2555    UINT64_C(4026532644),	// XVRDPI
2556    UINT64_C(4026532780),	// XVRDPIC
2557    UINT64_C(4026532836),	// XVRDPIM
2558    UINT64_C(4026532772),	// XVRDPIP
2559    UINT64_C(4026532708),	// XVRDPIZ
2560    UINT64_C(4026532712),	// XVREDP
2561    UINT64_C(4026532456),	// XVRESP
2562    UINT64_C(4026532388),	// XVRSPI
2563    UINT64_C(4026532524),	// XVRSPIC
2564    UINT64_C(4026532580),	// XVRSPIM
2565    UINT64_C(4026532516),	// XVRSPIP
2566    UINT64_C(4026532452),	// XVRSPIZ
2567    UINT64_C(4026532648),	// XVRSQRTEDP
2568    UINT64_C(4026532392),	// XVRSQRTESP
2569    UINT64_C(4026532652),	// XVSQRTDP
2570    UINT64_C(4026532396),	// XVSQRTSP
2571    UINT64_C(4026532672),	// XVSUBDP
2572    UINT64_C(4026532416),	// XVSUBSP
2573    UINT64_C(4026532840),	// XVTDIVDP
2574    UINT64_C(4026532584),	// XVTDIVSP
2575    UINT64_C(4026664812),	// XVTLSBB
2576    UINT64_C(4026532776),	// XVTSQRTDP
2577    UINT64_C(4026532520),	// XVTSQRTSP
2578    UINT64_C(4026533800),	// XVTSTDCDP
2579    UINT64_C(4026533544),	// XVTSTDCSP
2580    UINT64_C(4026533740),	// XVXEXPDP
2581    UINT64_C(4027058028),	// XVXEXPSP
2582    UINT64_C(4026599276),	// XVXSIGDP
2583    UINT64_C(4027123564),	// XVXSIGSP
2584    UINT64_C(360287972404232192),	// XXBLENDVB
2585    UINT64_C(360287972404232240),	// XXBLENDVD
2586    UINT64_C(360287972404232208),	// XXBLENDVH
2587    UINT64_C(360287972404232224),	// XXBLENDVW
2588    UINT64_C(4028041068),	// XXBRD
2589    UINT64_C(4026992492),	// XXBRH
2590    UINT64_C(4028565356),	// XXBRQ
2591    UINT64_C(4027516780),	// XXBRW
2592    UINT64_C(360287972471341072),	// XXEVAL
2593    UINT64_C(4026532500),	// XXEXTRACTUW
2594    UINT64_C(4026533672),	// XXGENPCVBM
2595    UINT64_C(4026533738),	// XXGENPCVDM
2596    UINT64_C(4026533674),	// XXGENPCVHM
2597    UINT64_C(4026533736),	// XXGENPCVWM
2598    UINT64_C(4026532564),	// XXINSERTW
2599    UINT64_C(4026532880),	// XXLAND
2600    UINT64_C(4026532944),	// XXLANDC
2601    UINT64_C(4026533328),	// XXLEQV
2602    UINT64_C(4026533328),	// XXLEQVOnes
2603    UINT64_C(4026533264),	// XXLNAND
2604    UINT64_C(4026533136),	// XXLNOR
2605    UINT64_C(4026533008),	// XXLOR
2606    UINT64_C(4026533200),	// XXLORC
2607    UINT64_C(4026533008),	// XXLORf
2608    UINT64_C(4026533072),	// XXLXOR
2609    UINT64_C(4026533072),	// XXLXORdpz
2610    UINT64_C(4026533072),	// XXLXORspz
2611    UINT64_C(4026533072),	// XXLXORz
2612    UINT64_C(2080375138),	// XXMFACC
2613    UINT64_C(2080375138),	// XXMFACCW
2614    UINT64_C(4026531984),	// XXMRGHW
2615    UINT64_C(4026532240),	// XXMRGLW
2616    UINT64_C(2080440674),	// XXMTACC
2617    UINT64_C(2080440674),	// XXMTACCW
2618    UINT64_C(4026532048),	// XXPERM
2619    UINT64_C(4026531920),	// XXPERMDI
2620    UINT64_C(4026531920),	// XXPERMDIs
2621    UINT64_C(4026532304),	// XXPERMR
2622    UINT64_C(360287972471341056),	// XXPERMX
2623    UINT64_C(4026531888),	// XXSEL
2624    UINT64_C(2080571746),	// XXSETACCZ
2625    UINT64_C(2080571746),	// XXSETACCZW
2626    UINT64_C(4026531856),	// XXSLDWI
2627    UINT64_C(4026531856),	// XXSLDWIs
2628    UINT64_C(360287972337123328),	// XXSPLTI32DX
2629    UINT64_C(4026532560),	// XXSPLTIB
2630    UINT64_C(360287972337385472),	// XXSPLTIDP
2631    UINT64_C(360287972337516544),	// XXSPLTIW
2632    UINT64_C(4026532496),	// XXSPLTW
2633    UINT64_C(4026532496),	// XXSPLTWs
2634    UINT64_C(1073741824),	// gBC
2635    UINT64_C(1073741826),	// gBCA
2636    UINT64_C(1073741826),	// gBCAat
2637    UINT64_C(1275069472),	// gBCCTR
2638    UINT64_C(1275069473),	// gBCCTRL
2639    UINT64_C(1073741825),	// gBCL
2640    UINT64_C(1073741827),	// gBCLA
2641    UINT64_C(1073741827),	// gBCLAat
2642    UINT64_C(1275068448),	// gBCLR
2643    UINT64_C(1275068449),	// gBCLRL
2644    UINT64_C(1073741825),	// gBCLat
2645    UINT64_C(1073741824),	// gBCat
2646    UINT64_C(0)
2647  };
2648  const unsigned opcode = MI.getOpcode();
2649  uint64_t Value = InstBits[opcode];
2650  uint64_t op = 0;
2651  (void)op;  // suppress warning
2652  switch (opcode) {
2653    case PPC::ADDISdtprelHA:
2654    case PPC::ADDISdtprelHA32:
2655    case PPC::ADDISgotTprelHA:
2656    case PPC::ADDIStlsgdHA:
2657    case PPC::ADDIStlsldHA:
2658    case PPC::ADDIStocHA:
2659    case PPC::ADDIStocHA8:
2660    case PPC::ADDIdtprelL:
2661    case PPC::ADDIdtprelL32:
2662    case PPC::ADDItlsgdL:
2663    case PPC::ADDItlsgdL32:
2664    case PPC::ADDItlsgdLADDR:
2665    case PPC::ADDItlsgdLADDR32:
2666    case PPC::ADDItlsldL:
2667    case PPC::ADDItlsldL32:
2668    case PPC::ADDItlsldLADDR:
2669    case PPC::ADDItlsldLADDR32:
2670    case PPC::ADDItoc:
2671    case PPC::ADDItoc8:
2672    case PPC::ADDItocL:
2673    case PPC::ADJCALLSTACKDOWN:
2674    case PPC::ADJCALLSTACKUP:
2675    case PPC::ANDI_rec_1_EQ_BIT:
2676    case PPC::ANDI_rec_1_EQ_BIT8:
2677    case PPC::ANDI_rec_1_GT_BIT:
2678    case PPC::ANDI_rec_1_GT_BIT8:
2679    case PPC::ATOMIC_CMP_SWAP_I16:
2680    case PPC::ATOMIC_CMP_SWAP_I32:
2681    case PPC::ATOMIC_CMP_SWAP_I64:
2682    case PPC::ATOMIC_CMP_SWAP_I8:
2683    case PPC::ATOMIC_LOAD_ADD_I16:
2684    case PPC::ATOMIC_LOAD_ADD_I32:
2685    case PPC::ATOMIC_LOAD_ADD_I64:
2686    case PPC::ATOMIC_LOAD_ADD_I8:
2687    case PPC::ATOMIC_LOAD_AND_I16:
2688    case PPC::ATOMIC_LOAD_AND_I32:
2689    case PPC::ATOMIC_LOAD_AND_I64:
2690    case PPC::ATOMIC_LOAD_AND_I8:
2691    case PPC::ATOMIC_LOAD_MAX_I16:
2692    case PPC::ATOMIC_LOAD_MAX_I32:
2693    case PPC::ATOMIC_LOAD_MAX_I64:
2694    case PPC::ATOMIC_LOAD_MAX_I8:
2695    case PPC::ATOMIC_LOAD_MIN_I16:
2696    case PPC::ATOMIC_LOAD_MIN_I32:
2697    case PPC::ATOMIC_LOAD_MIN_I64:
2698    case PPC::ATOMIC_LOAD_MIN_I8:
2699    case PPC::ATOMIC_LOAD_NAND_I16:
2700    case PPC::ATOMIC_LOAD_NAND_I32:
2701    case PPC::ATOMIC_LOAD_NAND_I64:
2702    case PPC::ATOMIC_LOAD_NAND_I8:
2703    case PPC::ATOMIC_LOAD_OR_I16:
2704    case PPC::ATOMIC_LOAD_OR_I32:
2705    case PPC::ATOMIC_LOAD_OR_I64:
2706    case PPC::ATOMIC_LOAD_OR_I8:
2707    case PPC::ATOMIC_LOAD_SUB_I16:
2708    case PPC::ATOMIC_LOAD_SUB_I32:
2709    case PPC::ATOMIC_LOAD_SUB_I64:
2710    case PPC::ATOMIC_LOAD_SUB_I8:
2711    case PPC::ATOMIC_LOAD_UMAX_I16:
2712    case PPC::ATOMIC_LOAD_UMAX_I32:
2713    case PPC::ATOMIC_LOAD_UMAX_I64:
2714    case PPC::ATOMIC_LOAD_UMAX_I8:
2715    case PPC::ATOMIC_LOAD_UMIN_I16:
2716    case PPC::ATOMIC_LOAD_UMIN_I32:
2717    case PPC::ATOMIC_LOAD_UMIN_I64:
2718    case PPC::ATOMIC_LOAD_UMIN_I8:
2719    case PPC::ATOMIC_LOAD_XOR_I16:
2720    case PPC::ATOMIC_LOAD_XOR_I32:
2721    case PPC::ATOMIC_LOAD_XOR_I64:
2722    case PPC::ATOMIC_LOAD_XOR_I8:
2723    case PPC::ATOMIC_SWAP_I16:
2724    case PPC::ATOMIC_SWAP_I32:
2725    case PPC::ATOMIC_SWAP_I64:
2726    case PPC::ATOMIC_SWAP_I8:
2727    case PPC::ATTN:
2728    case PPC::BCTR:
2729    case PPC::BCTR8:
2730    case PPC::BCTRL:
2731    case PPC::BCTRL8:
2732    case PPC::BCTRL8_RM:
2733    case PPC::BCTRL_RM:
2734    case PPC::BDNZLR:
2735    case PPC::BDNZLR8:
2736    case PPC::BDNZLRL:
2737    case PPC::BDNZLRLm:
2738    case PPC::BDNZLRLp:
2739    case PPC::BDNZLRm:
2740    case PPC::BDNZLRp:
2741    case PPC::BDZLR:
2742    case PPC::BDZLR8:
2743    case PPC::BDZLRL:
2744    case PPC::BDZLRLm:
2745    case PPC::BDZLRLp:
2746    case PPC::BDZLRm:
2747    case PPC::BDZLRp:
2748    case PPC::BLR:
2749    case PPC::BLR8:
2750    case PPC::BLRL:
2751    case PPC::CLRBHRB:
2752    case PPC::CP_ABORT:
2753    case PPC::CR6SET:
2754    case PPC::CR6UNSET:
2755    case PPC::DSSALL:
2756    case PPC::DYNALLOC:
2757    case PPC::DYNALLOC8:
2758    case PPC::DYNAREAOFFSET:
2759    case PPC::DYNAREAOFFSET8:
2760    case PPC::DecreaseCTR8loop:
2761    case PPC::DecreaseCTRloop:
2762    case PPC::EH_SjLj_LongJmp32:
2763    case PPC::EH_SjLj_LongJmp64:
2764    case PPC::EH_SjLj_SetJmp32:
2765    case PPC::EH_SjLj_SetJmp64:
2766    case PPC::EH_SjLj_Setup:
2767    case PPC::EnforceIEIO:
2768    case PPC::FADDrtz:
2769    case PPC::GETtlsADDR:
2770    case PPC::GETtlsADDR32:
2771    case PPC::GETtlsADDR32AIX:
2772    case PPC::GETtlsADDR64AIX:
2773    case PPC::GETtlsADDRPCREL:
2774    case PPC::GETtlsldADDR:
2775    case PPC::GETtlsldADDR32:
2776    case PPC::GETtlsldADDRPCREL:
2777    case PPC::HRFID:
2778    case PPC::ISYNC:
2779    case PPC::LDgotTprelL:
2780    case PPC::LDgotTprelL32:
2781    case PPC::LDtoc:
2782    case PPC::LDtocBA:
2783    case PPC::LDtocCPT:
2784    case PPC::LDtocJTI:
2785    case PPC::LDtocL:
2786    case PPC::LQX_PSEUDO:
2787    case PPC::LWZtoc:
2788    case PPC::LWZtocL:
2789    case PPC::MSGSYNC:
2790    case PPC::MSYNC:
2791    case PPC::MoveGOTtoLR:
2792    case PPC::MovePCtoLR:
2793    case PPC::MovePCtoLR8:
2794    case PPC::NAP:
2795    case PPC::NOP:
2796    case PPC::NOP_GT_PWR6:
2797    case PPC::NOP_GT_PWR7:
2798    case PPC::PADDIdtprel:
2799    case PPC::PPC32GOT:
2800    case PPC::PPC32PICGOT:
2801    case PPC::PREPARE_PROBED_ALLOCA_32:
2802    case PPC::PREPARE_PROBED_ALLOCA_64:
2803    case PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_32:
2804    case PPC::PREPARE_PROBED_ALLOCA_NEGSIZE_SAME_REG_64:
2805    case PPC::PROBED_ALLOCA_32:
2806    case PPC::PROBED_ALLOCA_64:
2807    case PPC::PROBED_STACKALLOC_32:
2808    case PPC::PROBED_STACKALLOC_64:
2809    case PPC::PseudoEIEIO:
2810    case PPC::RESTORE_ACC:
2811    case PPC::RESTORE_CR:
2812    case PPC::RESTORE_CRBIT:
2813    case PPC::RESTORE_QUADWORD:
2814    case PPC::RESTORE_UACC:
2815    case PPC::RESTORE_WACC:
2816    case PPC::RFCI:
2817    case PPC::RFDI:
2818    case PPC::RFI:
2819    case PPC::RFID:
2820    case PPC::RFMCI:
2821    case PPC::ReadTB:
2822    case PPC::SELECT_CC_F16:
2823    case PPC::SELECT_CC_F4:
2824    case PPC::SELECT_CC_F8:
2825    case PPC::SELECT_CC_I4:
2826    case PPC::SELECT_CC_I8:
2827    case PPC::SELECT_CC_SPE:
2828    case PPC::SELECT_CC_SPE4:
2829    case PPC::SELECT_CC_VRRC:
2830    case PPC::SELECT_CC_VSFRC:
2831    case PPC::SELECT_CC_VSRC:
2832    case PPC::SELECT_CC_VSSRC:
2833    case PPC::SELECT_F16:
2834    case PPC::SELECT_F4:
2835    case PPC::SELECT_F8:
2836    case PPC::SELECT_I4:
2837    case PPC::SELECT_I8:
2838    case PPC::SELECT_SPE:
2839    case PPC::SELECT_SPE4:
2840    case PPC::SELECT_VRRC:
2841    case PPC::SELECT_VSFRC:
2842    case PPC::SELECT_VSRC:
2843    case PPC::SELECT_VSSRC:
2844    case PPC::SETFLM:
2845    case PPC::SETRND:
2846    case PPC::SETRNDi:
2847    case PPC::SLBIA:
2848    case PPC::SLBSYNC:
2849    case PPC::SPILL_ACC:
2850    case PPC::SPILL_CR:
2851    case PPC::SPILL_CRBIT:
2852    case PPC::SPILL_QUADWORD:
2853    case PPC::SPILL_UACC:
2854    case PPC::SPILL_WACC:
2855    case PPC::SPLIT_QUADWORD:
2856    case PPC::STOP:
2857    case PPC::STQX_PSEUDO:
2858    case PPC::TAILBCTR:
2859    case PPC::TAILBCTR8:
2860    case PPC::TBEGIN_RET:
2861    case PPC::TCHECK_RET:
2862    case PPC::TCRETURNai:
2863    case PPC::TCRETURNai8:
2864    case PPC::TCRETURNdi:
2865    case PPC::TCRETURNdi8:
2866    case PPC::TCRETURNri:
2867    case PPC::TCRETURNri8:
2868    case PPC::TLBIA:
2869    case PPC::TLBRE:
2870    case PPC::TLBSYNC:
2871    case PPC::TLBWE:
2872    case PPC::TLSGDAIX:
2873    case PPC::TLSGDAIX8:
2874    case PPC::TRAP:
2875    case PPC::TRECHKPT:
2876    case PPC::UNENCODED_NOP:
2877    case PPC::UpdateGBR: {
2878      break;
2879    }
2880    case PPC::TEND: {
2881      // op: A
2882      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
2883      op &= UINT64_C(1);
2884      op <<= 25;
2885      Value |= op;
2886      break;
2887    }
2888    case PPC::TABORT:
2889    case PPC::TRECLAIM: {
2890      // op: A
2891      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
2892      op &= UINT64_C(31);
2893      op <<= 16;
2894      Value |= op;
2895      break;
2896    }
2897    case PPC::DCBA:
2898    case PPC::DCBFEP:
2899    case PPC::DCBI:
2900    case PPC::DCBST:
2901    case PPC::DCBSTEP:
2902    case PPC::DCBZ:
2903    case PPC::DCBZEP:
2904    case PPC::DCBZL:
2905    case PPC::DCBZLEP:
2906    case PPC::DCCCI:
2907    case PPC::ICBI:
2908    case PPC::ICBIEP:
2909    case PPC::ICCCI:
2910    case PPC::TLBIVAX:
2911    case PPC::TLBSX: {
2912      // op: A
2913      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
2914      op &= UINT64_C(31);
2915      op <<= 16;
2916      Value |= op;
2917      // op: B
2918      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
2919      op &= UINT64_C(31);
2920      op <<= 11;
2921      Value |= op;
2922      break;
2923    }
2924    case PPC::EXTSWSLI:
2925    case PPC::EXTSWSLI_32_64:
2926    case PPC::EXTSWSLI_32_64_rec:
2927    case PPC::EXTSWSLI_rec:
2928    case PPC::SRADI:
2929    case PPC::SRADI_32:
2930    case PPC::SRADI_rec: {
2931      // op: A
2932      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
2933      op &= UINT64_C(31);
2934      op <<= 16;
2935      Value |= op;
2936      // op: RS
2937      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
2938      op &= UINT64_C(31);
2939      op <<= 21;
2940      Value |= op;
2941      // op: SH
2942      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
2943      Value |= (op & UINT64_C(31)) << 11;
2944      Value |= (op & UINT64_C(32)) >> 4;
2945      break;
2946    }
2947    case PPC::BRD:
2948    case PPC::BRH:
2949    case PPC::BRH8:
2950    case PPC::BRW:
2951    case PPC::BRW8:
2952    case PPC::CNTLZD:
2953    case PPC::CNTLZD_rec:
2954    case PPC::CNTLZW:
2955    case PPC::CNTLZW8:
2956    case PPC::CNTLZW8_rec:
2957    case PPC::CNTLZW_rec:
2958    case PPC::CNTTZD:
2959    case PPC::CNTTZD_rec:
2960    case PPC::CNTTZW:
2961    case PPC::CNTTZW8:
2962    case PPC::CNTTZW8_rec:
2963    case PPC::CNTTZW_rec:
2964    case PPC::EXTSB:
2965    case PPC::EXTSB8:
2966    case PPC::EXTSB8_32_64:
2967    case PPC::EXTSB8_rec:
2968    case PPC::EXTSB_rec:
2969    case PPC::EXTSH:
2970    case PPC::EXTSH8:
2971    case PPC::EXTSH8_32_64:
2972    case PPC::EXTSH8_rec:
2973    case PPC::EXTSH_rec:
2974    case PPC::EXTSW:
2975    case PPC::EXTSW_32:
2976    case PPC::EXTSW_32_64:
2977    case PPC::EXTSW_32_64_rec:
2978    case PPC::EXTSW_rec:
2979    case PPC::POPCNTB:
2980    case PPC::POPCNTB8:
2981    case PPC::POPCNTD:
2982    case PPC::POPCNTW: {
2983      // op: A
2984      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
2985      op &= UINT64_C(31);
2986      op <<= 16;
2987      Value |= op;
2988      // op: RST
2989      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
2990      op &= UINT64_C(31);
2991      op <<= 21;
2992      Value |= op;
2993      break;
2994    }
2995    case PPC::AND:
2996    case PPC::AND8:
2997    case PPC::AND8_rec:
2998    case PPC::ANDC:
2999    case PPC::ANDC8:
3000    case PPC::ANDC8_rec:
3001    case PPC::ANDC_rec:
3002    case PPC::AND_rec:
3003    case PPC::BPERMD:
3004    case PPC::CFUGED:
3005    case PPC::CMPB:
3006    case PPC::CMPB8:
3007    case PPC::CNTLZDM:
3008    case PPC::CNTTZDM:
3009    case PPC::EQV:
3010    case PPC::EQV8:
3011    case PPC::EQV8_rec:
3012    case PPC::EQV_rec:
3013    case PPC::NAND:
3014    case PPC::NAND8:
3015    case PPC::NAND8_rec:
3016    case PPC::NAND_rec:
3017    case PPC::NOR:
3018    case PPC::NOR8:
3019    case PPC::NOR8_rec:
3020    case PPC::NOR_rec:
3021    case PPC::OR:
3022    case PPC::OR8:
3023    case PPC::OR8_rec:
3024    case PPC::ORC:
3025    case PPC::ORC8:
3026    case PPC::ORC8_rec:
3027    case PPC::ORC_rec:
3028    case PPC::OR_rec:
3029    case PPC::PDEPD:
3030    case PPC::PEXTD:
3031    case PPC::SLD:
3032    case PPC::SLD_rec:
3033    case PPC::SLW:
3034    case PPC::SLW8:
3035    case PPC::SLW8_rec:
3036    case PPC::SLW_rec:
3037    case PPC::SRAD:
3038    case PPC::SRAD_rec:
3039    case PPC::SRAW:
3040    case PPC::SRAWI:
3041    case PPC::SRAWI_rec:
3042    case PPC::SRAW_rec:
3043    case PPC::SRD:
3044    case PPC::SRD_rec:
3045    case PPC::SRW:
3046    case PPC::SRW8:
3047    case PPC::SRW8_rec:
3048    case PPC::SRW_rec:
3049    case PPC::XOR:
3050    case PPC::XOR8:
3051    case PPC::XOR8_rec:
3052    case PPC::XOR_rec: {
3053      // op: A
3054      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3055      op &= UINT64_C(31);
3056      op <<= 16;
3057      Value |= op;
3058      // op: RST
3059      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3060      op &= UINT64_C(31);
3061      op <<= 21;
3062      Value |= op;
3063      // op: B
3064      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3065      op &= UINT64_C(31);
3066      op <<= 11;
3067      Value |= op;
3068      break;
3069    }
3070    case PPC::LBZ:
3071    case PPC::LBZ8:
3072    case PPC::LFD:
3073    case PPC::LFS:
3074    case PPC::LHA:
3075    case PPC::LHA8:
3076    case PPC::LHZ:
3077    case PPC::LHZ8:
3078    case PPC::LMW:
3079    case PPC::LWZ:
3080    case PPC::LWZ8:
3081    case PPC::SPELWZ:
3082    case PPC::SPESTW:
3083    case PPC::STB:
3084    case PPC::STB8:
3085    case PPC::STFD:
3086    case PPC::STFS:
3087    case PPC::STH:
3088    case PPC::STH8:
3089    case PPC::STMW:
3090    case PPC::STW:
3091    case PPC::STW8: {
3092      // op: A
3093      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3094      op &= UINT64_C(31);
3095      op <<= 21;
3096      Value |= op;
3097      // op: Addr
3098      op = getMemRIEncoding(MI, 1, Fixups, STI);
3099      op &= UINT64_C(2097151);
3100      Value |= op;
3101      break;
3102    }
3103    case PPC::LBZU:
3104    case PPC::LBZU8:
3105    case PPC::LFDU:
3106    case PPC::LFSU:
3107    case PPC::LHAU:
3108    case PPC::LHAU8:
3109    case PPC::LHZU:
3110    case PPC::LHZU8:
3111    case PPC::LWZU:
3112    case PPC::LWZU8: {
3113      // op: A
3114      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3115      op &= UINT64_C(31);
3116      op <<= 21;
3117      Value |= op;
3118      // op: Addr
3119      op = getMemRIEncoding(MI, 2, Fixups, STI);
3120      op &= UINT64_C(2097151);
3121      Value |= op;
3122      break;
3123    }
3124    case PPC::LI:
3125    case PPC::LI8:
3126    case PPC::LIS:
3127    case PPC::LIS8: {
3128      // op: A
3129      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3130      op &= UINT64_C(31);
3131      op <<= 21;
3132      Value |= op;
3133      // op: B
3134      op = getImm16Encoding(MI, 1, Fixups, STI);
3135      op &= UINT64_C(65535);
3136      Value |= op;
3137      break;
3138    }
3139    case PPC::ADDI:
3140    case PPC::ADDI8:
3141    case PPC::ADDIC:
3142    case PPC::ADDIC8:
3143    case PPC::ADDIC_rec:
3144    case PPC::ADDIS:
3145    case PPC::ADDIS8:
3146    case PPC::LA:
3147    case PPC::LA8:
3148    case PPC::MULLI:
3149    case PPC::MULLI8:
3150    case PPC::SUBFIC:
3151    case PPC::SUBFIC8:
3152    case PPC::TDI:
3153    case PPC::TWI: {
3154      // op: A
3155      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3156      op &= UINT64_C(31);
3157      op <<= 21;
3158      Value |= op;
3159      // op: B
3160      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3161      op &= UINT64_C(31);
3162      op <<= 16;
3163      Value |= op;
3164      // op: C
3165      op = getImm16Encoding(MI, 2, Fixups, STI);
3166      op &= UINT64_C(65535);
3167      Value |= op;
3168      break;
3169    }
3170    case PPC::STBU:
3171    case PPC::STBU8:
3172    case PPC::STFDU:
3173    case PPC::STFSU:
3174    case PPC::STHU:
3175    case PPC::STHU8:
3176    case PPC::STWU:
3177    case PPC::STWU8: {
3178      // op: A
3179      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3180      op &= UINT64_C(31);
3181      op <<= 21;
3182      Value |= op;
3183      // op: Addr
3184      op = getMemRIEncoding(MI, 2, Fixups, STI);
3185      op &= UINT64_C(2097151);
3186      Value |= op;
3187      break;
3188    }
3189    case PPC::DMSETDMRZ:
3190    case PPC::XXMTACC:
3191    case PPC::XXMTACCW:
3192    case PPC::XXSETACCZ:
3193    case PPC::XXSETACCZW: {
3194      // op: AT
3195      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3196      op &= UINT64_C(7);
3197      op <<= 23;
3198      Value |= op;
3199      break;
3200    }
3201    case PPC::DMMR: {
3202      // op: AT
3203      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3204      op &= UINT64_C(7);
3205      op <<= 23;
3206      Value |= op;
3207      // op: AB
3208      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3209      op &= UINT64_C(7);
3210      op <<= 13;
3211      Value |= op;
3212      break;
3213    }
3214    case PPC::DMXOR: {
3215      // op: AT
3216      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3217      op &= UINT64_C(7);
3218      op <<= 23;
3219      Value |= op;
3220      // op: AB
3221      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3222      op &= UINT64_C(7);
3223      op <<= 13;
3224      Value |= op;
3225      break;
3226    }
3227    case PPC::XVBF16GER2:
3228    case PPC::XVBF16GER2W:
3229    case PPC::XVF16GER2:
3230    case PPC::XVF16GER2W:
3231    case PPC::XVF32GER:
3232    case PPC::XVF32GERW:
3233    case PPC::XVI16GER2:
3234    case PPC::XVI16GER2S:
3235    case PPC::XVI16GER2SW:
3236    case PPC::XVI16GER2W:
3237    case PPC::XVI4GER8:
3238    case PPC::XVI4GER8W:
3239    case PPC::XVI8GER4:
3240    case PPC::XVI8GER4W: {
3241      // op: AT
3242      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3243      op &= UINT64_C(7);
3244      op <<= 23;
3245      Value |= op;
3246      // op: XA
3247      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3248      Value |= (op & UINT64_C(31)) << 16;
3249      Value |= (op & UINT64_C(32)) >> 3;
3250      // op: XB
3251      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3252      Value |= (op & UINT64_C(31)) << 11;
3253      Value |= (op & UINT64_C(32)) >> 4;
3254      break;
3255    }
3256    case PPC::PMXVF32GER:
3257    case PPC::PMXVF32GERW: {
3258      // op: AT
3259      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3260      op &= UINT64_C(7);
3261      op <<= 23;
3262      Value |= op;
3263      // op: XA
3264      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3265      Value |= (op & UINT64_C(31)) << 16;
3266      Value |= (op & UINT64_C(32)) >> 3;
3267      // op: XB
3268      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3269      Value |= (op & UINT64_C(31)) << 11;
3270      Value |= (op & UINT64_C(32)) >> 4;
3271      // op: XMSK
3272      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3273      op &= UINT64_C(15);
3274      op <<= 36;
3275      Value |= op;
3276      // op: YMSK
3277      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3278      op &= UINT64_C(15);
3279      op <<= 32;
3280      Value |= op;
3281      break;
3282    }
3283    case PPC::PMXVI8GER4:
3284    case PPC::PMXVI8GER4W: {
3285      // op: AT
3286      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3287      op &= UINT64_C(7);
3288      op <<= 23;
3289      Value |= op;
3290      // op: XA
3291      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3292      Value |= (op & UINT64_C(31)) << 16;
3293      Value |= (op & UINT64_C(32)) >> 3;
3294      // op: XB
3295      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3296      Value |= (op & UINT64_C(31)) << 11;
3297      Value |= (op & UINT64_C(32)) >> 4;
3298      // op: XMSK
3299      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3300      op &= UINT64_C(15);
3301      op <<= 36;
3302      Value |= op;
3303      // op: YMSK
3304      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3305      op &= UINT64_C(15);
3306      op <<= 32;
3307      Value |= op;
3308      // op: PMSK
3309      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
3310      op &= UINT64_C(15);
3311      op <<= 44;
3312      Value |= op;
3313      break;
3314    }
3315    case PPC::PMXVI4GER8:
3316    case PPC::PMXVI4GER8W: {
3317      // op: AT
3318      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3319      op &= UINT64_C(7);
3320      op <<= 23;
3321      Value |= op;
3322      // op: XA
3323      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3324      Value |= (op & UINT64_C(31)) << 16;
3325      Value |= (op & UINT64_C(32)) >> 3;
3326      // op: XB
3327      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3328      Value |= (op & UINT64_C(31)) << 11;
3329      Value |= (op & UINT64_C(32)) >> 4;
3330      // op: XMSK
3331      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3332      op &= UINT64_C(15);
3333      op <<= 36;
3334      Value |= op;
3335      // op: YMSK
3336      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3337      op &= UINT64_C(15);
3338      op <<= 32;
3339      Value |= op;
3340      // op: PMSK
3341      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
3342      op &= UINT64_C(255);
3343      op <<= 40;
3344      Value |= op;
3345      break;
3346    }
3347    case PPC::PMXVBF16GER2:
3348    case PPC::PMXVBF16GER2W:
3349    case PPC::PMXVF16GER2:
3350    case PPC::PMXVF16GER2W:
3351    case PPC::PMXVI16GER2:
3352    case PPC::PMXVI16GER2S:
3353    case PPC::PMXVI16GER2SW:
3354    case PPC::PMXVI16GER2W: {
3355      // op: AT
3356      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3357      op &= UINT64_C(7);
3358      op <<= 23;
3359      Value |= op;
3360      // op: XA
3361      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3362      Value |= (op & UINT64_C(31)) << 16;
3363      Value |= (op & UINT64_C(32)) >> 3;
3364      // op: XB
3365      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3366      Value |= (op & UINT64_C(31)) << 11;
3367      Value |= (op & UINT64_C(32)) >> 4;
3368      // op: XMSK
3369      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3370      op &= UINT64_C(15);
3371      op <<= 36;
3372      Value |= op;
3373      // op: YMSK
3374      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3375      op &= UINT64_C(15);
3376      op <<= 32;
3377      Value |= op;
3378      // op: PMSK
3379      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
3380      op &= UINT64_C(3);
3381      op <<= 46;
3382      Value |= op;
3383      break;
3384    }
3385    case PPC::XVBF16GER2NN:
3386    case PPC::XVBF16GER2NP:
3387    case PPC::XVBF16GER2PN:
3388    case PPC::XVBF16GER2PP:
3389    case PPC::XVBF16GER2WNN:
3390    case PPC::XVBF16GER2WNP:
3391    case PPC::XVBF16GER2WPN:
3392    case PPC::XVBF16GER2WPP:
3393    case PPC::XVF16GER2NN:
3394    case PPC::XVF16GER2NP:
3395    case PPC::XVF16GER2PN:
3396    case PPC::XVF16GER2PP:
3397    case PPC::XVF16GER2WNN:
3398    case PPC::XVF16GER2WNP:
3399    case PPC::XVF16GER2WPN:
3400    case PPC::XVF16GER2WPP:
3401    case PPC::XVF32GERNN:
3402    case PPC::XVF32GERNP:
3403    case PPC::XVF32GERPN:
3404    case PPC::XVF32GERPP:
3405    case PPC::XVF32GERWNN:
3406    case PPC::XVF32GERWNP:
3407    case PPC::XVF32GERWPN:
3408    case PPC::XVF32GERWPP:
3409    case PPC::XVI16GER2PP:
3410    case PPC::XVI16GER2SPP:
3411    case PPC::XVI16GER2SWPP:
3412    case PPC::XVI16GER2WPP:
3413    case PPC::XVI4GER8PP:
3414    case PPC::XVI4GER8WPP:
3415    case PPC::XVI8GER4PP:
3416    case PPC::XVI8GER4SPP:
3417    case PPC::XVI8GER4WPP:
3418    case PPC::XVI8GER4WSPP: {
3419      // op: AT
3420      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3421      op &= UINT64_C(7);
3422      op <<= 23;
3423      Value |= op;
3424      // op: XA
3425      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3426      Value |= (op & UINT64_C(31)) << 16;
3427      Value |= (op & UINT64_C(32)) >> 3;
3428      // op: XB
3429      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3430      Value |= (op & UINT64_C(31)) << 11;
3431      Value |= (op & UINT64_C(32)) >> 4;
3432      break;
3433    }
3434    case PPC::PMXVF32GERNN:
3435    case PPC::PMXVF32GERNP:
3436    case PPC::PMXVF32GERPN:
3437    case PPC::PMXVF32GERPP:
3438    case PPC::PMXVF32GERWNN:
3439    case PPC::PMXVF32GERWNP:
3440    case PPC::PMXVF32GERWPN:
3441    case PPC::PMXVF32GERWPP: {
3442      // op: AT
3443      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3444      op &= UINT64_C(7);
3445      op <<= 23;
3446      Value |= op;
3447      // op: XA
3448      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3449      Value |= (op & UINT64_C(31)) << 16;
3450      Value |= (op & UINT64_C(32)) >> 3;
3451      // op: XB
3452      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3453      Value |= (op & UINT64_C(31)) << 11;
3454      Value |= (op & UINT64_C(32)) >> 4;
3455      // op: XMSK
3456      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3457      op &= UINT64_C(15);
3458      op <<= 36;
3459      Value |= op;
3460      // op: YMSK
3461      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
3462      op &= UINT64_C(15);
3463      op <<= 32;
3464      Value |= op;
3465      break;
3466    }
3467    case PPC::PMXVI8GER4PP:
3468    case PPC::PMXVI8GER4SPP:
3469    case PPC::PMXVI8GER4WPP:
3470    case PPC::PMXVI8GER4WSPP: {
3471      // op: AT
3472      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3473      op &= UINT64_C(7);
3474      op <<= 23;
3475      Value |= op;
3476      // op: XA
3477      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3478      Value |= (op & UINT64_C(31)) << 16;
3479      Value |= (op & UINT64_C(32)) >> 3;
3480      // op: XB
3481      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3482      Value |= (op & UINT64_C(31)) << 11;
3483      Value |= (op & UINT64_C(32)) >> 4;
3484      // op: XMSK
3485      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3486      op &= UINT64_C(15);
3487      op <<= 36;
3488      Value |= op;
3489      // op: YMSK
3490      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
3491      op &= UINT64_C(15);
3492      op <<= 32;
3493      Value |= op;
3494      // op: PMSK
3495      op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
3496      op &= UINT64_C(15);
3497      op <<= 44;
3498      Value |= op;
3499      break;
3500    }
3501    case PPC::PMXVI4GER8PP:
3502    case PPC::PMXVI4GER8WPP: {
3503      // op: AT
3504      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3505      op &= UINT64_C(7);
3506      op <<= 23;
3507      Value |= op;
3508      // op: XA
3509      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3510      Value |= (op & UINT64_C(31)) << 16;
3511      Value |= (op & UINT64_C(32)) >> 3;
3512      // op: XB
3513      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3514      Value |= (op & UINT64_C(31)) << 11;
3515      Value |= (op & UINT64_C(32)) >> 4;
3516      // op: XMSK
3517      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3518      op &= UINT64_C(15);
3519      op <<= 36;
3520      Value |= op;
3521      // op: YMSK
3522      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
3523      op &= UINT64_C(15);
3524      op <<= 32;
3525      Value |= op;
3526      // op: PMSK
3527      op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
3528      op &= UINT64_C(255);
3529      op <<= 40;
3530      Value |= op;
3531      break;
3532    }
3533    case PPC::PMXVBF16GER2NN:
3534    case PPC::PMXVBF16GER2NP:
3535    case PPC::PMXVBF16GER2PN:
3536    case PPC::PMXVBF16GER2PP:
3537    case PPC::PMXVBF16GER2WNN:
3538    case PPC::PMXVBF16GER2WNP:
3539    case PPC::PMXVBF16GER2WPN:
3540    case PPC::PMXVBF16GER2WPP:
3541    case PPC::PMXVF16GER2NN:
3542    case PPC::PMXVF16GER2NP:
3543    case PPC::PMXVF16GER2PN:
3544    case PPC::PMXVF16GER2PP:
3545    case PPC::PMXVF16GER2WNN:
3546    case PPC::PMXVF16GER2WNP:
3547    case PPC::PMXVF16GER2WPN:
3548    case PPC::PMXVF16GER2WPP:
3549    case PPC::PMXVI16GER2PP:
3550    case PPC::PMXVI16GER2SPP:
3551    case PPC::PMXVI16GER2SWPP:
3552    case PPC::PMXVI16GER2WPP: {
3553      // op: AT
3554      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3555      op &= UINT64_C(7);
3556      op <<= 23;
3557      Value |= op;
3558      // op: XA
3559      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3560      Value |= (op & UINT64_C(31)) << 16;
3561      Value |= (op & UINT64_C(32)) >> 3;
3562      // op: XB
3563      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3564      Value |= (op & UINT64_C(31)) << 11;
3565      Value |= (op & UINT64_C(32)) >> 4;
3566      // op: XMSK
3567      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3568      op &= UINT64_C(15);
3569      op <<= 36;
3570      Value |= op;
3571      // op: YMSK
3572      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
3573      op &= UINT64_C(15);
3574      op <<= 32;
3575      Value |= op;
3576      // op: PMSK
3577      op = getMachineOpValue(MI, MI.getOperand(6), Fixups, STI);
3578      op &= UINT64_C(3);
3579      op <<= 46;
3580      Value |= op;
3581      break;
3582    }
3583    case PPC::XVF64GER:
3584    case PPC::XVF64GERW: {
3585      // op: AT
3586      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3587      op &= UINT64_C(7);
3588      op <<= 23;
3589      Value |= op;
3590      // op: XA
3591      op = getVSRpEvenEncoding(MI, 1, Fixups, STI);
3592      Value |= (op & UINT64_C(31)) << 16;
3593      Value |= (op & UINT64_C(32)) >> 3;
3594      // op: XB
3595      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3596      Value |= (op & UINT64_C(31)) << 11;
3597      Value |= (op & UINT64_C(32)) >> 4;
3598      break;
3599    }
3600    case PPC::PMXVF64GER:
3601    case PPC::PMXVF64GERW: {
3602      // op: AT
3603      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3604      op &= UINT64_C(7);
3605      op <<= 23;
3606      Value |= op;
3607      // op: XA
3608      op = getVSRpEvenEncoding(MI, 1, Fixups, STI);
3609      Value |= (op & UINT64_C(31)) << 16;
3610      Value |= (op & UINT64_C(32)) >> 3;
3611      // op: XB
3612      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3613      Value |= (op & UINT64_C(31)) << 11;
3614      Value |= (op & UINT64_C(32)) >> 4;
3615      // op: XMSK
3616      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3617      op &= UINT64_C(15);
3618      op <<= 36;
3619      Value |= op;
3620      // op: YMSK
3621      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3622      op &= UINT64_C(3);
3623      op <<= 34;
3624      Value |= op;
3625      break;
3626    }
3627    case PPC::XVF64GERNN:
3628    case PPC::XVF64GERNP:
3629    case PPC::XVF64GERPN:
3630    case PPC::XVF64GERPP:
3631    case PPC::XVF64GERWNN:
3632    case PPC::XVF64GERWNP:
3633    case PPC::XVF64GERWPN:
3634    case PPC::XVF64GERWPP: {
3635      // op: AT
3636      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3637      op &= UINT64_C(7);
3638      op <<= 23;
3639      Value |= op;
3640      // op: XA
3641      op = getVSRpEvenEncoding(MI, 2, Fixups, STI);
3642      Value |= (op & UINT64_C(31)) << 16;
3643      Value |= (op & UINT64_C(32)) >> 3;
3644      // op: XB
3645      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3646      Value |= (op & UINT64_C(31)) << 11;
3647      Value |= (op & UINT64_C(32)) >> 4;
3648      break;
3649    }
3650    case PPC::PMXVF64GERNN:
3651    case PPC::PMXVF64GERNP:
3652    case PPC::PMXVF64GERPN:
3653    case PPC::PMXVF64GERPP:
3654    case PPC::PMXVF64GERWNN:
3655    case PPC::PMXVF64GERWNP:
3656    case PPC::PMXVF64GERWPN:
3657    case PPC::PMXVF64GERWPP: {
3658      // op: AT
3659      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3660      op &= UINT64_C(7);
3661      op <<= 23;
3662      Value |= op;
3663      // op: XA
3664      op = getVSRpEvenEncoding(MI, 2, Fixups, STI);
3665      Value |= (op & UINT64_C(31)) << 16;
3666      Value |= (op & UINT64_C(32)) >> 3;
3667      // op: XB
3668      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3669      Value |= (op & UINT64_C(31)) << 11;
3670      Value |= (op & UINT64_C(32)) >> 4;
3671      // op: XMSK
3672      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
3673      op &= UINT64_C(15);
3674      op <<= 36;
3675      Value |= op;
3676      // op: YMSK
3677      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
3678      op &= UINT64_C(3);
3679      op <<= 34;
3680      Value |= op;
3681      break;
3682    }
3683    case PPC::DMXXINSTFDMR512:
3684    case PPC::DMXXINSTFDMR512_HI: {
3685      // op: AT
3686      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3687      op &= UINT64_C(7);
3688      op <<= 23;
3689      Value |= op;
3690      // op: XAp
3691      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3692      Value |= (op & UINT64_C(15)) << 17;
3693      Value |= (op & UINT64_C(16)) >> 2;
3694      // op: XBp
3695      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3696      Value |= (op & UINT64_C(15)) << 12;
3697      Value |= (op & UINT64_C(16)) >> 3;
3698      break;
3699    }
3700    case PPC::DMXXINSTFDMR256: {
3701      // op: AT
3702      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3703      op &= UINT64_C(7);
3704      op <<= 23;
3705      Value |= op;
3706      // op: XBp
3707      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3708      Value |= (op & UINT64_C(15)) << 12;
3709      Value |= (op & UINT64_C(16)) >> 3;
3710      // op: P
3711      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3712      Value |= (op & UINT64_C(1)) << 16;
3713      Value |= (op & UINT64_C(2)) << 10;
3714      break;
3715    }
3716    case PPC::XXMFACC:
3717    case PPC::XXMFACCW: {
3718      // op: AT
3719      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3720      op &= UINT64_C(7);
3721      op <<= 23;
3722      Value |= op;
3723      break;
3724    }
3725    case PPC::DMXXEXTFDMR256: {
3726      // op: AT
3727      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3728      op &= UINT64_C(7);
3729      op <<= 23;
3730      Value |= op;
3731      // op: XBp
3732      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3733      Value |= (op & UINT64_C(15)) << 12;
3734      Value |= (op & UINT64_C(16)) >> 3;
3735      // op: P
3736      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3737      Value |= (op & UINT64_C(1)) << 16;
3738      Value |= (op & UINT64_C(2)) << 10;
3739      break;
3740    }
3741    case PPC::DMXXEXTFDMR512:
3742    case PPC::DMXXEXTFDMR512_HI: {
3743      // op: AT
3744      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3745      op &= UINT64_C(7);
3746      op <<= 23;
3747      Value |= op;
3748      // op: XAp
3749      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3750      Value |= (op & UINT64_C(15)) << 17;
3751      Value |= (op & UINT64_C(16)) >> 2;
3752      // op: XBp
3753      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3754      Value |= (op & UINT64_C(15)) << 12;
3755      Value |= (op & UINT64_C(16)) >> 3;
3756      break;
3757    }
3758    case PPC::SLBIE:
3759    case PPC::TLBIEL:
3760    case PPC::TLBLD:
3761    case PPC::TLBLI: {
3762      // op: B
3763      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3764      op &= UINT64_C(31);
3765      op <<= 11;
3766      Value |= op;
3767      break;
3768    }
3769    case PPC::ANDI8_rec:
3770    case PPC::ANDIS8_rec:
3771    case PPC::ANDIS_rec:
3772    case PPC::ANDI_rec:
3773    case PPC::ORI:
3774    case PPC::ORI8:
3775    case PPC::ORIS:
3776    case PPC::ORIS8:
3777    case PPC::XORI:
3778    case PPC::XORI8:
3779    case PPC::XORIS:
3780    case PPC::XORIS8: {
3781      // op: B
3782      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3783      op &= UINT64_C(31);
3784      op <<= 16;
3785      Value |= op;
3786      // op: A
3787      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3788      op &= UINT64_C(31);
3789      op <<= 21;
3790      Value |= op;
3791      // op: C
3792      op = getImm16Encoding(MI, 2, Fixups, STI);
3793      op &= UINT64_C(65535);
3794      Value |= op;
3795      break;
3796    }
3797    case PPC::BDNZA:
3798    case PPC::BDNZAm:
3799    case PPC::BDNZAp:
3800    case PPC::BDNZLA:
3801    case PPC::BDNZLAm:
3802    case PPC::BDNZLAp:
3803    case PPC::BDZA:
3804    case PPC::BDZAm:
3805    case PPC::BDZAp:
3806    case PPC::BDZLA:
3807    case PPC::BDZLAm:
3808    case PPC::BDZLAp: {
3809      // op: BD
3810      op = getAbsCondBrEncoding(MI, 0, Fixups, STI);
3811      op &= UINT64_C(16383);
3812      op <<= 2;
3813      Value |= op;
3814      break;
3815    }
3816    case PPC::BCLalways:
3817    case PPC::BDNZ:
3818    case PPC::BDNZ8:
3819    case PPC::BDNZL:
3820    case PPC::BDNZLm:
3821    case PPC::BDNZLp:
3822    case PPC::BDNZm:
3823    case PPC::BDNZp:
3824    case PPC::BDZ:
3825    case PPC::BDZ8:
3826    case PPC::BDZL:
3827    case PPC::BDZLm:
3828    case PPC::BDZLp:
3829    case PPC::BDZm:
3830    case PPC::BDZp: {
3831      // op: BD
3832      op = getCondBrEncoding(MI, 0, Fixups, STI);
3833      op &= UINT64_C(16383);
3834      op <<= 2;
3835      Value |= op;
3836      break;
3837    }
3838    case PPC::MCRXRX:
3839    case PPC::TCHECK: {
3840      // op: BF
3841      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3842      op &= UINT64_C(7);
3843      op <<= 23;
3844      Value |= op;
3845      break;
3846    }
3847    case PPC::MCRF:
3848    case PPC::MCRFS: {
3849      // op: BF
3850      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3851      op &= UINT64_C(7);
3852      op <<= 23;
3853      Value |= op;
3854      // op: BFA
3855      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3856      op &= UINT64_C(7);
3857      op <<= 18;
3858      Value |= op;
3859      break;
3860    }
3861    case PPC::XSTSTDCQP: {
3862      // op: BF
3863      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3864      op &= UINT64_C(7);
3865      op <<= 23;
3866      Value |= op;
3867      // op: DCMX
3868      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3869      op &= UINT64_C(127);
3870      op <<= 16;
3871      Value |= op;
3872      // op: VB
3873      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3874      op &= UINT64_C(31);
3875      op <<= 11;
3876      Value |= op;
3877      break;
3878    }
3879    case PPC::XSTSTDCDP:
3880    case PPC::XSTSTDCSP: {
3881      // op: BF
3882      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3883      op &= UINT64_C(7);
3884      op <<= 23;
3885      Value |= op;
3886      // op: DCMX
3887      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3888      op &= UINT64_C(127);
3889      op <<= 16;
3890      Value |= op;
3891      // op: XB
3892      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3893      Value |= (op & UINT64_C(31)) << 11;
3894      Value |= (op & UINT64_C(32)) >> 4;
3895      break;
3896    }
3897    case PPC::FCMPOD:
3898    case PPC::FCMPOS:
3899    case PPC::FCMPUD:
3900    case PPC::FCMPUS:
3901    case PPC::FTDIV:
3902    case PPC::XSCMPEXPQP:
3903    case PPC::XSCMPOQP:
3904    case PPC::XSCMPUQP: {
3905      // op: BF
3906      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3907      op &= UINT64_C(7);
3908      op <<= 23;
3909      Value |= op;
3910      // op: FRA
3911      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3912      op &= UINT64_C(31);
3913      op <<= 16;
3914      Value |= op;
3915      // op: FRB
3916      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3917      op &= UINT64_C(31);
3918      op <<= 11;
3919      Value |= op;
3920      break;
3921    }
3922    case PPC::FTSQRT: {
3923      // op: BF
3924      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3925      op &= UINT64_C(7);
3926      op <<= 23;
3927      Value |= op;
3928      // op: FRB
3929      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3930      op &= UINT64_C(31);
3931      op <<= 11;
3932      Value |= op;
3933      break;
3934    }
3935    case PPC::CMPRB:
3936    case PPC::CMPRB8: {
3937      // op: BF
3938      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3939      op &= UINT64_C(7);
3940      op <<= 23;
3941      Value |= op;
3942      // op: L
3943      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3944      op &= UINT64_C(1);
3945      op <<= 21;
3946      Value |= op;
3947      // op: RA
3948      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3949      op &= UINT64_C(31);
3950      op <<= 16;
3951      Value |= op;
3952      // op: RB
3953      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
3954      op &= UINT64_C(31);
3955      op <<= 11;
3956      Value |= op;
3957      break;
3958    }
3959    case PPC::CMPDI:
3960    case PPC::CMPLDI:
3961    case PPC::CMPLWI:
3962    case PPC::CMPWI: {
3963      // op: BF
3964      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3965      op &= UINT64_C(7);
3966      op <<= 23;
3967      Value |= op;
3968      // op: RA
3969      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3970      op &= UINT64_C(31);
3971      op <<= 16;
3972      Value |= op;
3973      // op: I
3974      op = getImm16Encoding(MI, 2, Fixups, STI);
3975      op &= UINT64_C(65535);
3976      Value |= op;
3977      break;
3978    }
3979    case PPC::CMPD:
3980    case PPC::CMPEQB:
3981    case PPC::CMPLD:
3982    case PPC::CMPLW:
3983    case PPC::CMPW: {
3984      // op: BF
3985      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
3986      op &= UINT64_C(7);
3987      op <<= 23;
3988      Value |= op;
3989      // op: RA
3990      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
3991      op &= UINT64_C(31);
3992      op <<= 16;
3993      Value |= op;
3994      // op: RB
3995      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
3996      op &= UINT64_C(31);
3997      op <<= 11;
3998      Value |= op;
3999      break;
4000    }
4001    case PPC::MTFSFIb: {
4002      // op: BF
4003      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4004      op &= UINT64_C(7);
4005      op <<= 23;
4006      Value |= op;
4007      // op: U
4008      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4009      op &= UINT64_C(15);
4010      op <<= 12;
4011      Value |= op;
4012      break;
4013    }
4014    case PPC::VCMPSQ:
4015    case PPC::VCMPUQ: {
4016      // op: BF
4017      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4018      op &= UINT64_C(7);
4019      op <<= 23;
4020      Value |= op;
4021      // op: VA
4022      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4023      op &= UINT64_C(31);
4024      op <<= 16;
4025      Value |= op;
4026      // op: VB
4027      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4028      op &= UINT64_C(31);
4029      op <<= 11;
4030      Value |= op;
4031      break;
4032    }
4033    case PPC::MTFSFI:
4034    case PPC::MTFSFI_rec: {
4035      // op: BF
4036      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4037      op &= UINT64_C(7);
4038      op <<= 23;
4039      Value |= op;
4040      // op: W
4041      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4042      op &= UINT64_C(1);
4043      op <<= 16;
4044      Value |= op;
4045      // op: U
4046      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4047      op &= UINT64_C(15);
4048      op <<= 12;
4049      Value |= op;
4050      break;
4051    }
4052    case PPC::XVTLSBB: {
4053      // op: BF
4054      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4055      op &= UINT64_C(7);
4056      op <<= 23;
4057      Value |= op;
4058      // op: XB
4059      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4060      Value |= (op & UINT64_C(31)) << 11;
4061      Value |= (op & UINT64_C(32)) >> 4;
4062      break;
4063    }
4064    case PPC::BCCTR:
4065    case PPC::BCCTR8:
4066    case PPC::BCCTR8n:
4067    case PPC::BCCTRL:
4068    case PPC::BCCTRL8:
4069    case PPC::BCCTRL8n:
4070    case PPC::BCCTRLn:
4071    case PPC::BCCTRn:
4072    case PPC::BCLR:
4073    case PPC::BCLRL:
4074    case PPC::BCLRLn:
4075    case PPC::BCLRn: {
4076      // op: BI
4077      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4078      op &= UINT64_C(31);
4079      op <<= 16;
4080      Value |= op;
4081      break;
4082    }
4083    case PPC::BC:
4084    case PPC::BCL:
4085    case PPC::BCLn:
4086    case PPC::BCn: {
4087      // op: BI
4088      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4089      op &= UINT64_C(31);
4090      op <<= 16;
4091      Value |= op;
4092      // op: BD
4093      op = getCondBrEncoding(MI, 1, Fixups, STI);
4094      op &= UINT64_C(16383);
4095      op <<= 2;
4096      Value |= op;
4097      break;
4098    }
4099    case PPC::BCCCTR:
4100    case PPC::BCCCTR8:
4101    case PPC::BCCCTRL:
4102    case PPC::BCCCTRL8:
4103    case PPC::BCCLR:
4104    case PPC::BCCLRL: {
4105      // op: BIBO
4106      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4107      Value |= (op & UINT64_C(31)) << 21;
4108      Value |= (op & UINT64_C(96)) << 11;
4109      // op: CR
4110      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4111      op &= UINT64_C(7);
4112      op <<= 18;
4113      Value |= op;
4114      break;
4115    }
4116    case PPC::BCCA:
4117    case PPC::BCCLA: {
4118      // op: BIBO
4119      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4120      Value |= (op & UINT64_C(31)) << 21;
4121      Value |= (op & UINT64_C(96)) << 11;
4122      // op: CR
4123      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4124      op &= UINT64_C(7);
4125      op <<= 18;
4126      Value |= op;
4127      // op: BD
4128      op = getAbsCondBrEncoding(MI, 2, Fixups, STI);
4129      op &= UINT64_C(16383);
4130      op <<= 2;
4131      Value |= op;
4132      break;
4133    }
4134    case PPC::BCC:
4135    case PPC::BCCL:
4136    case PPC::CTRL_DEP: {
4137      // op: BIBO
4138      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4139      Value |= (op & UINT64_C(31)) << 21;
4140      Value |= (op & UINT64_C(96)) << 11;
4141      // op: CR
4142      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4143      op &= UINT64_C(7);
4144      op <<= 18;
4145      Value |= op;
4146      // op: BD
4147      op = getCondBrEncoding(MI, 2, Fixups, STI);
4148      op &= UINT64_C(16383);
4149      op <<= 2;
4150      Value |= op;
4151      break;
4152    }
4153    case PPC::gBCAat:
4154    case PPC::gBCLAat: {
4155      // op: BO
4156      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4157      op &= UINT64_C(28);
4158      op <<= 21;
4159      Value |= op;
4160      // op: at
4161      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4162      op &= UINT64_C(3);
4163      op <<= 21;
4164      Value |= op;
4165      // op: BI
4166      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4167      op &= UINT64_C(31);
4168      op <<= 16;
4169      Value |= op;
4170      // op: BD
4171      op = getAbsCondBrEncoding(MI, 3, Fixups, STI);
4172      op &= UINT64_C(16383);
4173      op <<= 2;
4174      Value |= op;
4175      break;
4176    }
4177    case PPC::gBCLat:
4178    case PPC::gBCat: {
4179      // op: BO
4180      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4181      op &= UINT64_C(28);
4182      op <<= 21;
4183      Value |= op;
4184      // op: at
4185      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4186      op &= UINT64_C(3);
4187      op <<= 21;
4188      Value |= op;
4189      // op: BI
4190      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4191      op &= UINT64_C(31);
4192      op <<= 16;
4193      Value |= op;
4194      // op: BD
4195      op = getCondBrEncoding(MI, 3, Fixups, STI);
4196      op &= UINT64_C(16383);
4197      op <<= 2;
4198      Value |= op;
4199      break;
4200    }
4201    case PPC::gBCA:
4202    case PPC::gBCLA: {
4203      // op: BO
4204      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4205      op &= UINT64_C(31);
4206      op <<= 21;
4207      Value |= op;
4208      // op: BI
4209      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4210      op &= UINT64_C(31);
4211      op <<= 16;
4212      Value |= op;
4213      // op: BD
4214      op = getAbsCondBrEncoding(MI, 2, Fixups, STI);
4215      op &= UINT64_C(16383);
4216      op <<= 2;
4217      Value |= op;
4218      break;
4219    }
4220    case PPC::gBC:
4221    case PPC::gBCL: {
4222      // op: BO
4223      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4224      op &= UINT64_C(31);
4225      op <<= 21;
4226      Value |= op;
4227      // op: BI
4228      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4229      op &= UINT64_C(31);
4230      op <<= 16;
4231      Value |= op;
4232      // op: BD
4233      op = getCondBrEncoding(MI, 2, Fixups, STI);
4234      op &= UINT64_C(16383);
4235      op <<= 2;
4236      Value |= op;
4237      break;
4238    }
4239    case PPC::gBCCTR:
4240    case PPC::gBCCTRL:
4241    case PPC::gBCLR:
4242    case PPC::gBCLRL: {
4243      // op: BO
4244      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4245      op &= UINT64_C(31);
4246      op <<= 21;
4247      Value |= op;
4248      // op: BI
4249      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4250      op &= UINT64_C(31);
4251      op <<= 16;
4252      Value |= op;
4253      // op: BH
4254      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4255      op &= UINT64_C(3);
4256      op <<= 11;
4257      Value |= op;
4258      break;
4259    }
4260    case PPC::XSCMPEXPDP:
4261    case PPC::XSCMPODP:
4262    case PPC::XSCMPUDP:
4263    case PPC::XSTDIVDP:
4264    case PPC::XVTDIVDP:
4265    case PPC::XVTDIVSP: {
4266      // op: CR
4267      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4268      op &= UINT64_C(7);
4269      op <<= 23;
4270      Value |= op;
4271      // op: XA
4272      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4273      Value |= (op & UINT64_C(31)) << 16;
4274      Value |= (op & UINT64_C(32)) >> 3;
4275      // op: XB
4276      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4277      Value |= (op & UINT64_C(31)) << 11;
4278      Value |= (op & UINT64_C(32)) >> 4;
4279      break;
4280    }
4281    case PPC::XSTSQRTDP:
4282    case PPC::XVTSQRTDP:
4283    case PPC::XVTSQRTSP: {
4284      // op: CR
4285      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4286      op &= UINT64_C(7);
4287      op <<= 23;
4288      Value |= op;
4289      // op: XB
4290      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4291      Value |= (op & UINT64_C(31)) << 11;
4292      Value |= (op & UINT64_C(32)) >> 4;
4293      break;
4294    }
4295    case PPC::CRSET:
4296    case PPC::CRUNSET: {
4297      // op: CRD
4298      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4299      Value |= (op & UINT64_C(31)) << 21;
4300      Value |= (op & UINT64_C(31)) << 16;
4301      Value |= (op & UINT64_C(31)) << 11;
4302      break;
4303    }
4304    case PPC::CRNOT: {
4305      // op: CRD
4306      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4307      op &= UINT64_C(31);
4308      op <<= 21;
4309      Value |= op;
4310      // op: CRA
4311      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4312      Value |= (op & UINT64_C(31)) << 16;
4313      Value |= (op & UINT64_C(31)) << 11;
4314      break;
4315    }
4316    case PPC::CRAND:
4317    case PPC::CRANDC:
4318    case PPC::CREQV:
4319    case PPC::CRNAND:
4320    case PPC::CRNOR:
4321    case PPC::CROR:
4322    case PPC::CRORC:
4323    case PPC::CRXOR: {
4324      // op: CRD
4325      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4326      op &= UINT64_C(31);
4327      op <<= 21;
4328      Value |= op;
4329      // op: CRA
4330      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4331      op &= UINT64_C(31);
4332      op <<= 16;
4333      Value |= op;
4334      // op: CRB
4335      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4336      op &= UINT64_C(31);
4337      op <<= 11;
4338      Value |= op;
4339      break;
4340    }
4341    case PPC::ICBLC:
4342    case PPC::ICBLQ:
4343    case PPC::ICBT:
4344    case PPC::ICBTLS: {
4345      // op: CT
4346      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4347      op &= UINT64_C(15);
4348      op <<= 21;
4349      Value |= op;
4350      // op: RA
4351      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4352      op &= UINT64_C(31);
4353      op <<= 16;
4354      Value |= op;
4355      // op: RB
4356      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4357      op &= UINT64_C(31);
4358      op <<= 11;
4359      Value |= op;
4360      break;
4361    }
4362    case PPC::BCTRL8_LDinto_toc:
4363    case PPC::BCTRL8_LDinto_toc_RM: {
4364      // op: DS_RA
4365      op = getMemRIXEncoding(MI, 0, Fixups, STI);
4366      op &= UINT64_C(524287);
4367      op <<= 2;
4368      Value |= op;
4369      break;
4370    }
4371    case PPC::BCTRL_LWZinto_toc:
4372    case PPC::BCTRL_LWZinto_toc_RM: {
4373      // op: D_RA
4374      op = getMemRIEncoding(MI, 0, Fixups, STI);
4375      op &= UINT64_C(2097151);
4376      Value |= op;
4377      break;
4378    }
4379    case PPC::HASHCHK:
4380    case PPC::HASHCHK8:
4381    case PPC::HASHCHKP:
4382    case PPC::HASHCHKP8:
4383    case PPC::HASHST:
4384    case PPC::HASHST8:
4385    case PPC::HASHSTP:
4386    case PPC::HASHSTP8: {
4387      // op: D_RA_XD
4388      op = getMemRIHashEncoding(MI, 1, Fixups, STI);
4389      Value |= (op & UINT64_C(31)) << 21;
4390      Value |= (op & UINT64_C(1984)) << 10;
4391      Value |= (op & UINT64_C(32)) >> 5;
4392      // op: RB
4393      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4394      op &= UINT64_C(31);
4395      op <<= 11;
4396      Value |= op;
4397      break;
4398    }
4399    case PPC::WRTEEI: {
4400      // op: E
4401      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4402      op &= UINT64_C(1);
4403      op <<= 15;
4404      Value |= op;
4405      break;
4406    }
4407    case PPC::MTFSFb: {
4408      // op: FM
4409      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4410      op &= UINT64_C(255);
4411      op <<= 17;
4412      Value |= op;
4413      // op: rT
4414      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4415      op &= UINT64_C(31);
4416      op <<= 11;
4417      Value |= op;
4418      break;
4419    }
4420    case PPC::MTFSB0:
4421    case PPC::MTFSB1: {
4422      // op: FM
4423      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4424      op &= UINT64_C(31);
4425      op <<= 21;
4426      Value |= op;
4427      break;
4428    }
4429    case PPC::PLBZ:
4430    case PPC::PLBZ8:
4431    case PPC::PLFD:
4432    case PPC::PLFS:
4433    case PPC::PLHA:
4434    case PPC::PLHA8:
4435    case PPC::PLHZ:
4436    case PPC::PLHZ8:
4437    case PPC::PLWZ:
4438    case PPC::PLWZ8:
4439    case PPC::PSTB:
4440    case PPC::PSTB8:
4441    case PPC::PSTFD:
4442    case PPC::PSTFS:
4443    case PPC::PSTH:
4444    case PPC::PSTH8:
4445    case PPC::PSTW:
4446    case PPC::PSTW8: {
4447      // op: FRS
4448      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4449      op &= UINT64_C(31);
4450      op <<= 21;
4451      Value |= op;
4452      // op: D_RA
4453      op = getMemRI34Encoding(MI, 1, Fixups, STI);
4454      Value |= (op & UINT64_C(17179803648)) << 16;
4455      Value |= (op & UINT64_C(532575944704)) >> 18;
4456      Value |= (op & UINT64_C(65535));
4457      break;
4458    }
4459    case PPC::PLBZ8pc:
4460    case PPC::PLBZpc:
4461    case PPC::PLFDpc:
4462    case PPC::PLFSpc:
4463    case PPC::PLHA8pc:
4464    case PPC::PLHApc:
4465    case PPC::PLHZ8pc:
4466    case PPC::PLHZpc:
4467    case PPC::PLWZ8pc:
4468    case PPC::PLWZpc:
4469    case PPC::PSTB8pc:
4470    case PPC::PSTBpc:
4471    case PPC::PSTFDpc:
4472    case PPC::PSTFSpc:
4473    case PPC::PSTH8pc:
4474    case PPC::PSTHpc:
4475    case PPC::PSTW8pc:
4476    case PPC::PSTWpc: {
4477      // op: FRS
4478      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4479      op &= UINT64_C(31);
4480      op <<= 21;
4481      Value |= op;
4482      // op: D_RA
4483      op = getMemRI34PCRelEncoding(MI, 1, Fixups, STI);
4484      Value |= (op & UINT64_C(17179803648)) << 16;
4485      Value |= (op & UINT64_C(532575944704)) >> 18;
4486      Value |= (op & UINT64_C(65535));
4487      break;
4488    }
4489    case PPC::FADD:
4490    case PPC::FADDS:
4491    case PPC::FADDS_rec:
4492    case PPC::FADD_rec:
4493    case PPC::FDIV:
4494    case PPC::FDIVS:
4495    case PPC::FDIVS_rec:
4496    case PPC::FDIV_rec:
4497    case PPC::FSUB:
4498    case PPC::FSUBS:
4499    case PPC::FSUBS_rec:
4500    case PPC::FSUB_rec:
4501    case PPC::XSIEXPQP: {
4502      // op: FRT
4503      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4504      op &= UINT64_C(31);
4505      op <<= 21;
4506      Value |= op;
4507      // op: FRA
4508      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4509      op &= UINT64_C(31);
4510      op <<= 16;
4511      Value |= op;
4512      // op: FRB
4513      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4514      op &= UINT64_C(31);
4515      op <<= 11;
4516      Value |= op;
4517      break;
4518    }
4519    case PPC::FMUL:
4520    case PPC::FMULS:
4521    case PPC::FMULS_rec:
4522    case PPC::FMUL_rec: {
4523      // op: FRT
4524      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4525      op &= UINT64_C(31);
4526      op <<= 21;
4527      Value |= op;
4528      // op: FRA
4529      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4530      op &= UINT64_C(31);
4531      op <<= 16;
4532      Value |= op;
4533      // op: FRC
4534      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4535      op &= UINT64_C(31);
4536      op <<= 6;
4537      Value |= op;
4538      break;
4539    }
4540    case PPC::FMADD:
4541    case PPC::FMADDS:
4542    case PPC::FMADDS_rec:
4543    case PPC::FMADD_rec:
4544    case PPC::FMSUB:
4545    case PPC::FMSUBS:
4546    case PPC::FMSUBS_rec:
4547    case PPC::FMSUB_rec:
4548    case PPC::FNMADD:
4549    case PPC::FNMADDS:
4550    case PPC::FNMADDS_rec:
4551    case PPC::FNMADD_rec:
4552    case PPC::FNMSUB:
4553    case PPC::FNMSUBS:
4554    case PPC::FNMSUBS_rec:
4555    case PPC::FNMSUB_rec:
4556    case PPC::FSELD:
4557    case PPC::FSELD_rec:
4558    case PPC::FSELS:
4559    case PPC::FSELS_rec: {
4560      // op: FRT
4561      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4562      op &= UINT64_C(31);
4563      op <<= 21;
4564      Value |= op;
4565      // op: FRA
4566      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4567      op &= UINT64_C(31);
4568      op <<= 16;
4569      Value |= op;
4570      // op: FRC
4571      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4572      op &= UINT64_C(31);
4573      op <<= 6;
4574      Value |= op;
4575      // op: FRB
4576      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
4577      op &= UINT64_C(31);
4578      op <<= 11;
4579      Value |= op;
4580      break;
4581    }
4582    case PPC::MTCRF:
4583    case PPC::MTCRF8: {
4584      // op: FXM
4585      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4586      op &= UINT64_C(255);
4587      op <<= 12;
4588      Value |= op;
4589      // op: rS
4590      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4591      op &= UINT64_C(31);
4592      op <<= 21;
4593      Value |= op;
4594      break;
4595    }
4596    case PPC::TSR: {
4597      // op: L
4598      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4599      op &= UINT64_C(1);
4600      op <<= 21;
4601      Value |= op;
4602      break;
4603    }
4604    case PPC::SYNC:
4605    case PPC::WAIT: {
4606      // op: L
4607      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4608      op &= UINT64_C(3);
4609      op <<= 21;
4610      Value |= op;
4611      break;
4612    }
4613    case PPC::CP_PASTE8_rec:
4614    case PPC::CP_PASTE_rec: {
4615      // op: L
4616      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4617      op &= UINT64_C(1);
4618      op <<= 21;
4619      Value |= op;
4620      // op: RA
4621      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4622      op &= UINT64_C(31);
4623      op <<= 16;
4624      Value |= op;
4625      // op: RB
4626      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4627      op &= UINT64_C(31);
4628      op <<= 11;
4629      Value |= op;
4630      break;
4631    }
4632    case PPC::MTFSF:
4633    case PPC::MTFSF_rec: {
4634      // op: L
4635      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4636      op &= UINT64_C(1);
4637      op <<= 25;
4638      Value |= op;
4639      // op: FLM
4640      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4641      op &= UINT64_C(255);
4642      op <<= 17;
4643      Value |= op;
4644      // op: W
4645      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
4646      op &= UINT64_C(1);
4647      op <<= 16;
4648      Value |= op;
4649      // op: FRB
4650      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4651      op &= UINT64_C(31);
4652      op <<= 11;
4653      Value |= op;
4654      break;
4655    }
4656    case PPC::SC: {
4657      // op: LEV
4658      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4659      op &= UINT64_C(127);
4660      op <<= 5;
4661      Value |= op;
4662      break;
4663    }
4664    case PPC::BA:
4665    case PPC::BLA:
4666    case PPC::BLA8:
4667    case PPC::BLA8_RM:
4668    case PPC::BLA_RM:
4669    case PPC::TAILBA:
4670    case PPC::TAILBA8: {
4671      // op: LI
4672      op = getAbsDirectBrEncoding(MI, 0, Fixups, STI);
4673      op &= UINT64_C(16777215);
4674      op <<= 2;
4675      Value |= op;
4676      break;
4677    }
4678    case PPC::BLA8_NOP:
4679    case PPC::BLA8_NOP_RM: {
4680      // op: LI
4681      op = getAbsDirectBrEncoding(MI, 0, Fixups, STI);
4682      op &= UINT64_C(16777215);
4683      op <<= 34;
4684      Value |= op;
4685      break;
4686    }
4687    case PPC::B:
4688    case PPC::BL:
4689    case PPC::BL8:
4690    case PPC::BL8_NOTOC:
4691    case PPC::BL8_NOTOC_RM:
4692    case PPC::BL8_RM:
4693    case PPC::BL_RM:
4694    case PPC::TAILB:
4695    case PPC::TAILB8: {
4696      // op: LI
4697      op = getDirectBrEncoding(MI, 0, Fixups, STI);
4698      op &= UINT64_C(16777215);
4699      op <<= 2;
4700      Value |= op;
4701      break;
4702    }
4703    case PPC::BL8_NOP:
4704    case PPC::BL8_NOP_RM:
4705    case PPC::BL_NOP:
4706    case PPC::BL_NOP_RM: {
4707      // op: LI
4708      op = getDirectBrEncoding(MI, 0, Fixups, STI);
4709      op &= UINT64_C(16777215);
4710      op <<= 34;
4711      Value |= op;
4712      break;
4713    }
4714    case PPC::BL8_NOTOC_TLS:
4715    case PPC::BL8_TLS:
4716    case PPC::BL8_TLS_:
4717    case PPC::BL_TLS: {
4718      // op: LI
4719      op = getTLSCallEncoding(MI, 0, Fixups, STI);
4720      op &= UINT64_C(16777215);
4721      op <<= 2;
4722      Value |= op;
4723      break;
4724    }
4725    case PPC::BL8_NOP_TLS: {
4726      // op: LI
4727      op = getTLSCallEncoding(MI, 0, Fixups, STI);
4728      op &= UINT64_C(16777215);
4729      op <<= 34;
4730      Value |= op;
4731      break;
4732    }
4733    case PPC::MBAR: {
4734      // op: MO
4735      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4736      op &= UINT64_C(31);
4737      op <<= 21;
4738      Value |= op;
4739      break;
4740    }
4741    case PPC::TBEGIN: {
4742      // op: R
4743      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4744      op &= UINT64_C(1);
4745      op <<= 21;
4746      Value |= op;
4747      break;
4748    }
4749    case PPC::CP_COPY:
4750    case PPC::CP_COPY8: {
4751      // op: RA
4752      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4753      op &= UINT64_C(31);
4754      op <<= 16;
4755      Value |= op;
4756      // op: RB
4757      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4758      op &= UINT64_C(31);
4759      op <<= 11;
4760      Value |= op;
4761      break;
4762    }
4763    case PPC::RLWINM:
4764    case PPC::RLWINM8:
4765    case PPC::RLWINM8_rec:
4766    case PPC::RLWINM_rec:
4767    case PPC::RLWNM:
4768    case PPC::RLWNM8:
4769    case PPC::RLWNM8_rec:
4770    case PPC::RLWNM_rec: {
4771      // op: RA
4772      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4773      op &= UINT64_C(31);
4774      op <<= 16;
4775      Value |= op;
4776      // op: RS
4777      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4778      op &= UINT64_C(31);
4779      op <<= 21;
4780      Value |= op;
4781      // op: RB
4782      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4783      op &= UINT64_C(31);
4784      op <<= 11;
4785      Value |= op;
4786      // op: MB
4787      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
4788      op &= UINT64_C(31);
4789      op <<= 6;
4790      Value |= op;
4791      // op: ME
4792      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
4793      op &= UINT64_C(31);
4794      op <<= 1;
4795      Value |= op;
4796      break;
4797    }
4798    case PPC::RLDCL:
4799    case PPC::RLDCL_rec:
4800    case PPC::RLDCR:
4801    case PPC::RLDCR_rec: {
4802      // op: RA
4803      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4804      op &= UINT64_C(31);
4805      op <<= 16;
4806      Value |= op;
4807      // op: RS
4808      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4809      op &= UINT64_C(31);
4810      op <<= 21;
4811      Value |= op;
4812      // op: RB
4813      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4814      op &= UINT64_C(31);
4815      op <<= 11;
4816      Value |= op;
4817      // op: MBE
4818      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
4819      Value |= (op & UINT64_C(31)) << 6;
4820      Value |= (op & UINT64_C(32));
4821      break;
4822    }
4823    case PPC::RLDIC:
4824    case PPC::RLDICL:
4825    case PPC::RLDICL_32:
4826    case PPC::RLDICL_32_64:
4827    case PPC::RLDICL_32_rec:
4828    case PPC::RLDICL_rec:
4829    case PPC::RLDICR:
4830    case PPC::RLDICR_32:
4831    case PPC::RLDICR_rec:
4832    case PPC::RLDIC_rec: {
4833      // op: RA
4834      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4835      op &= UINT64_C(31);
4836      op <<= 16;
4837      Value |= op;
4838      // op: RS
4839      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4840      op &= UINT64_C(31);
4841      op <<= 21;
4842      Value |= op;
4843      // op: SH
4844      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4845      Value |= (op & UINT64_C(31)) << 11;
4846      Value |= (op & UINT64_C(32)) >> 4;
4847      // op: MBE
4848      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
4849      Value |= (op & UINT64_C(31)) << 6;
4850      Value |= (op & UINT64_C(32));
4851      break;
4852    }
4853    case PPC::RLWIMI:
4854    case PPC::RLWIMI8:
4855    case PPC::RLWIMI8_rec:
4856    case PPC::RLWIMI_rec: {
4857      // op: RA
4858      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4859      op &= UINT64_C(31);
4860      op <<= 16;
4861      Value |= op;
4862      // op: RS
4863      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4864      op &= UINT64_C(31);
4865      op <<= 21;
4866      Value |= op;
4867      // op: RB
4868      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
4869      op &= UINT64_C(31);
4870      op <<= 11;
4871      Value |= op;
4872      // op: MB
4873      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
4874      op &= UINT64_C(31);
4875      op <<= 6;
4876      Value |= op;
4877      // op: ME
4878      op = getMachineOpValue(MI, MI.getOperand(5), Fixups, STI);
4879      op &= UINT64_C(31);
4880      op <<= 1;
4881      Value |= op;
4882      break;
4883    }
4884    case PPC::RLDIMI:
4885    case PPC::RLDIMI_rec: {
4886      // op: RA
4887      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4888      op &= UINT64_C(31);
4889      op <<= 16;
4890      Value |= op;
4891      // op: RS
4892      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4893      op &= UINT64_C(31);
4894      op <<= 21;
4895      Value |= op;
4896      // op: SH
4897      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
4898      Value |= (op & UINT64_C(31)) << 11;
4899      Value |= (op & UINT64_C(32)) >> 4;
4900      // op: MBE
4901      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
4902      Value |= (op & UINT64_C(31)) << 6;
4903      Value |= (op & UINT64_C(32));
4904      break;
4905    }
4906    case PPC::MTVSRBM:
4907    case PPC::MTVSRDM:
4908    case PPC::MTVSRHM:
4909    case PPC::MTVSRQM:
4910    case PPC::MTVSRWM:
4911    case PPC::VCLZLSBB:
4912    case PPC::VCTZB:
4913    case PPC::VCTZD:
4914    case PPC::VCTZH:
4915    case PPC::VCTZLSBB:
4916    case PPC::VCTZW:
4917    case PPC::VEXPANDBM:
4918    case PPC::VEXPANDDM:
4919    case PPC::VEXPANDHM:
4920    case PPC::VEXPANDQM:
4921    case PPC::VEXPANDWM:
4922    case PPC::VEXTRACTBM:
4923    case PPC::VEXTRACTDM:
4924    case PPC::VEXTRACTHM:
4925    case PPC::VEXTRACTQM:
4926    case PPC::VEXTRACTWM:
4927    case PPC::VEXTSB2D:
4928    case PPC::VEXTSB2Ds:
4929    case PPC::VEXTSB2W:
4930    case PPC::VEXTSB2Ws:
4931    case PPC::VEXTSD2Q:
4932    case PPC::VEXTSH2D:
4933    case PPC::VEXTSH2Ds:
4934    case PPC::VEXTSH2W:
4935    case PPC::VEXTSH2Ws:
4936    case PPC::VEXTSW2D:
4937    case PPC::VEXTSW2Ds:
4938    case PPC::VNEGD:
4939    case PPC::VNEGW:
4940    case PPC::VPRTYBD:
4941    case PPC::VPRTYBQ:
4942    case PPC::VPRTYBW: {
4943      // op: RD
4944      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4945      op &= UINT64_C(31);
4946      op <<= 21;
4947      Value |= op;
4948      // op: VB
4949      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4950      op &= UINT64_C(31);
4951      op <<= 11;
4952      Value |= op;
4953      break;
4954    }
4955    case PPC::VCNTMBB:
4956    case PPC::VCNTMBD:
4957    case PPC::VCNTMBH:
4958    case PPC::VCNTMBW: {
4959      // op: RD
4960      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4961      op &= UINT64_C(31);
4962      op <<= 21;
4963      Value |= op;
4964      // op: VB
4965      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4966      op &= UINT64_C(31);
4967      op <<= 11;
4968      Value |= op;
4969      // op: MP
4970      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4971      op &= UINT64_C(1);
4972      op <<= 16;
4973      Value |= op;
4974      break;
4975    }
4976    case PPC::VGNB: {
4977      // op: RD
4978      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4979      op &= UINT64_C(31);
4980      op <<= 21;
4981      Value |= op;
4982      // op: VB
4983      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
4984      op &= UINT64_C(31);
4985      op <<= 11;
4986      Value |= op;
4987      // op: N
4988      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
4989      op &= UINT64_C(7);
4990      op <<= 16;
4991      Value |= op;
4992      break;
4993    }
4994    case PPC::WRTEE: {
4995      // op: RS
4996      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
4997      op &= UINT64_C(31);
4998      op <<= 21;
4999      Value |= op;
5000      break;
5001    }
5002    case PPC::MTMSR:
5003    case PPC::MTMSRD: {
5004      // op: RS
5005      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5006      op &= UINT64_C(31);
5007      op <<= 21;
5008      Value |= op;
5009      // op: L
5010      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5011      op &= UINT64_C(1);
5012      op <<= 16;
5013      Value |= op;
5014      break;
5015    }
5016    case PPC::MFSRIN:
5017    case PPC::MTSRIN: {
5018      // op: RS
5019      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5020      op &= UINT64_C(31);
5021      op <<= 21;
5022      Value |= op;
5023      // op: RB
5024      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5025      op &= UINT64_C(31);
5026      op <<= 11;
5027      Value |= op;
5028      break;
5029    }
5030    case PPC::MFSR:
5031    case PPC::MTSR: {
5032      // op: RS
5033      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5034      op &= UINT64_C(31);
5035      op <<= 21;
5036      Value |= op;
5037      // op: SR
5038      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5039      op &= UINT64_C(15);
5040      op <<= 16;
5041      Value |= op;
5042      break;
5043    }
5044    case PPC::MFFS:
5045    case PPC::MFFSCE:
5046    case PPC::MFFSL:
5047    case PPC::MFFS_rec:
5048    case PPC::MFMSR: {
5049      // op: RST
5050      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5051      op &= UINT64_C(31);
5052      op <<= 21;
5053      Value |= op;
5054      break;
5055    }
5056    case PPC::SETBC:
5057    case PPC::SETBC8:
5058    case PPC::SETBCR:
5059    case PPC::SETBCR8:
5060    case PPC::SETNBC:
5061    case PPC::SETNBC8:
5062    case PPC::SETNBCR:
5063    case PPC::SETNBCR8: {
5064      // op: RST
5065      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5066      op &= UINT64_C(31);
5067      op <<= 21;
5068      Value |= op;
5069      // op: A
5070      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5071      op &= UINT64_C(31);
5072      op <<= 16;
5073      Value |= op;
5074      break;
5075    }
5076    case PPC::FCPSGND:
5077    case PPC::FCPSGND_rec:
5078    case PPC::FCPSGNS:
5079    case PPC::FCPSGNS_rec:
5080    case PPC::LBARX:
5081    case PPC::LBARXL:
5082    case PPC::LBEPX:
5083    case PPC::LBZCIX:
5084    case PPC::LBZX:
5085    case PPC::LBZX8:
5086    case PPC::LDARX:
5087    case PPC::LDARXL:
5088    case PPC::LDAT:
5089    case PPC::LDBRX:
5090    case PPC::LDCIX:
5091    case PPC::LDX:
5092    case PPC::LFDEPX:
5093    case PPC::LFDX:
5094    case PPC::LFIWAX:
5095    case PPC::LFIWZX:
5096    case PPC::LFSX:
5097    case PPC::LHARX:
5098    case PPC::LHARXL:
5099    case PPC::LHAX:
5100    case PPC::LHAX8:
5101    case PPC::LHBRX:
5102    case PPC::LHBRX8:
5103    case PPC::LHEPX:
5104    case PPC::LHZCIX:
5105    case PPC::LHZX:
5106    case PPC::LHZX8:
5107    case PPC::LQARX:
5108    case PPC::LQARXL:
5109    case PPC::LSWI:
5110    case PPC::LVEBX:
5111    case PPC::LVEHX:
5112    case PPC::LVEWX:
5113    case PPC::LVSL:
5114    case PPC::LVSR:
5115    case PPC::LVX:
5116    case PPC::LVXL:
5117    case PPC::LWARX:
5118    case PPC::LWARXL:
5119    case PPC::LWAT:
5120    case PPC::LWAX:
5121    case PPC::LWAX_32:
5122    case PPC::LWBRX:
5123    case PPC::LWBRX8:
5124    case PPC::LWEPX:
5125    case PPC::LWZCIX:
5126    case PPC::LWZX:
5127    case PPC::LWZX8:
5128    case PPC::MODSD:
5129    case PPC::MODSW:
5130    case PPC::MODUD:
5131    case PPC::MODUW:
5132    case PPC::SPELWZX:
5133    case PPC::SPESTWX:
5134    case PPC::STBCIX:
5135    case PPC::STBCX:
5136    case PPC::STBEPX:
5137    case PPC::STBX:
5138    case PPC::STBX8:
5139    case PPC::STDAT:
5140    case PPC::STDBRX:
5141    case PPC::STDCIX:
5142    case PPC::STDCX:
5143    case PPC::STDX:
5144    case PPC::STFDEPX:
5145    case PPC::STFDX:
5146    case PPC::STFIWX:
5147    case PPC::STFSX:
5148    case PPC::STHBRX:
5149    case PPC::STHCIX:
5150    case PPC::STHCX:
5151    case PPC::STHEPX:
5152    case PPC::STHX:
5153    case PPC::STHX8:
5154    case PPC::STQCX:
5155    case PPC::STSWI:
5156    case PPC::STVEBX:
5157    case PPC::STVEHX:
5158    case PPC::STVEWX:
5159    case PPC::STVX:
5160    case PPC::STVXL:
5161    case PPC::STWAT:
5162    case PPC::STWBRX:
5163    case PPC::STWCIX:
5164    case PPC::STWCX:
5165    case PPC::STWEPX:
5166    case PPC::STWX:
5167    case PPC::STWX8:
5168    case PPC::TABORTDC:
5169    case PPC::TABORTDCI:
5170    case PPC::TABORTWC:
5171    case PPC::TABORTWCI:
5172    case PPC::TD:
5173    case PPC::TLBSX2:
5174    case PPC::TLBSX2D:
5175    case PPC::TW:
5176    case PPC::XSADDQP:
5177    case PPC::XSADDQPO:
5178    case PPC::XSCMPEQQP:
5179    case PPC::XSCMPGEQP:
5180    case PPC::XSCMPGTQP:
5181    case PPC::XSCPSGNQP:
5182    case PPC::XSDIVQP:
5183    case PPC::XSDIVQPO:
5184    case PPC::XSMAXCQP:
5185    case PPC::XSMINCQP:
5186    case PPC::XSMULQP:
5187    case PPC::XSMULQPO:
5188    case PPC::XSSUBQP:
5189    case PPC::XSSUBQPO: {
5190      // op: RST
5191      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5192      op &= UINT64_C(31);
5193      op <<= 21;
5194      Value |= op;
5195      // op: A
5196      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5197      op &= UINT64_C(31);
5198      op <<= 16;
5199      Value |= op;
5200      // op: B
5201      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
5202      op &= UINT64_C(31);
5203      op <<= 11;
5204      Value |= op;
5205      break;
5206    }
5207    case PPC::LBZXTLS:
5208    case PPC::LBZXTLS_:
5209    case PPC::LBZXTLS_32:
5210    case PPC::LDXTLS:
5211    case PPC::LDXTLS_:
5212    case PPC::LHZXTLS:
5213    case PPC::LHZXTLS_:
5214    case PPC::LHZXTLS_32:
5215    case PPC::LWZXTLS:
5216    case PPC::LWZXTLS_:
5217    case PPC::LWZXTLS_32:
5218    case PPC::STBXTLS:
5219    case PPC::STBXTLS_:
5220    case PPC::STBXTLS_32:
5221    case PPC::STDXTLS:
5222    case PPC::STDXTLS_:
5223    case PPC::STHXTLS:
5224    case PPC::STHXTLS_:
5225    case PPC::STHXTLS_32:
5226    case PPC::STWXTLS:
5227    case PPC::STWXTLS_:
5228    case PPC::STWXTLS_32: {
5229      // op: RST
5230      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5231      op &= UINT64_C(31);
5232      op <<= 21;
5233      Value |= op;
5234      // op: A
5235      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5236      op &= UINT64_C(31);
5237      op <<= 16;
5238      Value |= op;
5239      // op: B
5240      op = getTLSRegEncoding(MI, 2, Fixups, STI);
5241      op &= UINT64_C(31);
5242      op <<= 11;
5243      Value |= op;
5244      break;
5245    }
5246    case PPC::TLBRE2:
5247    case PPC::TLBWE2: {
5248      // op: RST
5249      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5250      op &= UINT64_C(31);
5251      op <<= 21;
5252      Value |= op;
5253      // op: A
5254      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5255      op &= UINT64_C(31);
5256      op <<= 16;
5257      Value |= op;
5258      // op: WS
5259      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
5260      op &= UINT64_C(1);
5261      op <<= 11;
5262      Value |= op;
5263      break;
5264    }
5265    case PPC::LBZUX:
5266    case PPC::LBZUX8:
5267    case PPC::LDUX:
5268    case PPC::LFDUX:
5269    case PPC::LFSUX:
5270    case PPC::LHAUX:
5271    case PPC::LHAUX8:
5272    case PPC::LHZUX:
5273    case PPC::LHZUX8:
5274    case PPC::LWAUX:
5275    case PPC::LWZUX:
5276    case PPC::LWZUX8:
5277    case PPC::XSMADDQP:
5278    case PPC::XSMADDQPO:
5279    case PPC::XSMSUBQP:
5280    case PPC::XSMSUBQPO:
5281    case PPC::XSNMADDQP:
5282    case PPC::XSNMADDQPO:
5283    case PPC::XSNMSUBQP:
5284    case PPC::XSNMSUBQPO: {
5285      // op: RST
5286      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5287      op &= UINT64_C(31);
5288      op <<= 21;
5289      Value |= op;
5290      // op: A
5291      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
5292      op &= UINT64_C(31);
5293      op <<= 16;
5294      Value |= op;
5295      // op: B
5296      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
5297      op &= UINT64_C(31);
5298      op <<= 11;
5299      Value |= op;
5300      break;
5301    }
5302    case PPC::FABSD:
5303    case PPC::FABSD_rec:
5304    case PPC::FABSS:
5305    case PPC::FABSS_rec:
5306    case PPC::FCFID:
5307    case PPC::FCFIDS:
5308    case PPC::FCFIDS_rec:
5309    case PPC::FCFIDU:
5310    case PPC::FCFIDUS:
5311    case PPC::FCFIDUS_rec:
5312    case PPC::FCFIDU_rec:
5313    case PPC::FCFID_rec:
5314    case PPC::FCTID:
5315    case PPC::FCTIDU:
5316    case PPC::FCTIDUZ:
5317    case PPC::FCTIDUZ_rec:
5318    case PPC::FCTIDU_rec:
5319    case PPC::FCTIDZ:
5320    case PPC::FCTIDZ_rec:
5321    case PPC::FCTID_rec:
5322    case PPC::FCTIW:
5323    case PPC::FCTIWU:
5324    case PPC::FCTIWUZ:
5325    case PPC::FCTIWUZ_rec:
5326    case PPC::FCTIWU_rec:
5327    case PPC::FCTIWZ:
5328    case PPC::FCTIWZ_rec:
5329    case PPC::FCTIW_rec:
5330    case PPC::FMR:
5331    case PPC::FMR_rec:
5332    case PPC::FNABSD:
5333    case PPC::FNABSD_rec:
5334    case PPC::FNABSS:
5335    case PPC::FNABSS_rec:
5336    case PPC::FNEGD:
5337    case PPC::FNEGD_rec:
5338    case PPC::FNEGS:
5339    case PPC::FNEGS_rec:
5340    case PPC::FRE:
5341    case PPC::FRES:
5342    case PPC::FRES_rec:
5343    case PPC::FRE_rec:
5344    case PPC::FRIMD:
5345    case PPC::FRIMD_rec:
5346    case PPC::FRIMS:
5347    case PPC::FRIMS_rec:
5348    case PPC::FRIND:
5349    case PPC::FRIND_rec:
5350    case PPC::FRINS:
5351    case PPC::FRINS_rec:
5352    case PPC::FRIPD:
5353    case PPC::FRIPD_rec:
5354    case PPC::FRIPS:
5355    case PPC::FRIPS_rec:
5356    case PPC::FRIZD:
5357    case PPC::FRIZD_rec:
5358    case PPC::FRIZS:
5359    case PPC::FRIZS_rec:
5360    case PPC::FRSP:
5361    case PPC::FRSP_rec:
5362    case PPC::FRSQRTE:
5363    case PPC::FRSQRTES:
5364    case PPC::FRSQRTES_rec:
5365    case PPC::FRSQRTE_rec:
5366    case PPC::FSQRT:
5367    case PPC::FSQRTS:
5368    case PPC::FSQRTS_rec:
5369    case PPC::FSQRT_rec:
5370    case PPC::SLBFEE_rec:
5371    case PPC::SLBIEG:
5372    case PPC::SLBMFEE:
5373    case PPC::SLBMTE:
5374    case PPC::TLBIE:
5375    case PPC::XSABSQP:
5376    case PPC::XSCVDPQP:
5377    case PPC::XSCVQPDP:
5378    case PPC::XSCVQPDPO:
5379    case PPC::XSCVQPSDZ:
5380    case PPC::XSCVQPSQZ:
5381    case PPC::XSCVQPSWZ:
5382    case PPC::XSCVQPUDZ:
5383    case PPC::XSCVQPUQZ:
5384    case PPC::XSCVQPUWZ:
5385    case PPC::XSCVSDQP:
5386    case PPC::XSCVSQQP:
5387    case PPC::XSCVUDQP:
5388    case PPC::XSCVUQQP:
5389    case PPC::XSNABSQP:
5390    case PPC::XSNEGQP:
5391    case PPC::XSSQRTQP:
5392    case PPC::XSSQRTQPO:
5393    case PPC::XSXEXPQP:
5394    case PPC::XSXSIGQP: {
5395      // op: RST
5396      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5397      op &= UINT64_C(31);
5398      op <<= 21;
5399      Value |= op;
5400      // op: B
5401      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5402      op &= UINT64_C(31);
5403      op <<= 11;
5404      Value |= op;
5405      break;
5406    }
5407    case PPC::MFFSCDRNI: {
5408      // op: RST
5409      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5410      op &= UINT64_C(31);
5411      op <<= 21;
5412      Value |= op;
5413      // op: DRM
5414      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5415      op &= UINT64_C(7);
5416      op <<= 11;
5417      Value |= op;
5418      break;
5419    }
5420    case PPC::LD:
5421    case PPC::LWA:
5422    case PPC::LWA_32:
5423    case PPC::LXSD:
5424    case PPC::LXSSP:
5425    case PPC::STD:
5426    case PPC::STQ:
5427    case PPC::STXSD:
5428    case PPC::STXSSP: {
5429      // op: RST
5430      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5431      op &= UINT64_C(31);
5432      op <<= 21;
5433      Value |= op;
5434      // op: DS_RA
5435      op = getMemRIXEncoding(MI, 1, Fixups, STI);
5436      op &= UINT64_C(524287);
5437      op <<= 2;
5438      Value |= op;
5439      break;
5440    }
5441    case PPC::LDU: {
5442      // op: RST
5443      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5444      op &= UINT64_C(31);
5445      op <<= 21;
5446      Value |= op;
5447      // op: DS_RA
5448      op = getMemRIXEncoding(MI, 2, Fixups, STI);
5449      op &= UINT64_C(524287);
5450      op <<= 2;
5451      Value |= op;
5452      break;
5453    }
5454    case PPC::MFFSCDRN:
5455    case PPC::MFFSCRN: {
5456      // op: RST
5457      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5458      op &= UINT64_C(31);
5459      op <<= 21;
5460      Value |= op;
5461      // op: FRB
5462      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5463      op &= UINT64_C(31);
5464      op <<= 11;
5465      Value |= op;
5466      break;
5467    }
5468    case PPC::MFFSCRNI: {
5469      // op: RST
5470      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5471      op &= UINT64_C(31);
5472      op <<= 21;
5473      Value |= op;
5474      // op: RM
5475      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5476      op &= UINT64_C(3);
5477      op <<= 11;
5478      Value |= op;
5479      break;
5480    }
5481    case PPC::STBUX:
5482    case PPC::STBUX8:
5483    case PPC::STDUX:
5484    case PPC::STFDUX:
5485    case PPC::STFSUX:
5486    case PPC::STHUX:
5487    case PPC::STHUX8:
5488    case PPC::STWUX:
5489    case PPC::STWUX8: {
5490      // op: RST
5491      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5492      op &= UINT64_C(31);
5493      op <<= 21;
5494      Value |= op;
5495      // op: A
5496      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
5497      op &= UINT64_C(31);
5498      op <<= 16;
5499      Value |= op;
5500      // op: B
5501      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
5502      op &= UINT64_C(31);
5503      op <<= 11;
5504      Value |= op;
5505      break;
5506    }
5507    case PPC::STDU: {
5508      // op: RST
5509      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5510      op &= UINT64_C(31);
5511      op <<= 21;
5512      Value |= op;
5513      // op: DS_RA
5514      op = getMemRIXEncoding(MI, 2, Fixups, STI);
5515      op &= UINT64_C(524287);
5516      op <<= 2;
5517      Value |= op;
5518      break;
5519    }
5520    case PPC::MFCR:
5521    case PPC::MFCR8:
5522    case PPC::MFCTR:
5523    case PPC::MFCTR8:
5524    case PPC::MFLR:
5525    case PPC::MFLR8:
5526    case PPC::MFTB8:
5527    case PPC::MFUDSCR:
5528    case PPC::MFVRSAVE:
5529    case PPC::MFVRSAVEv:
5530    case PPC::MTCTR:
5531    case PPC::MTCTR8:
5532    case PPC::MTCTR8loop:
5533    case PPC::MTCTRloop:
5534    case PPC::MTLR:
5535    case PPC::MTLR8:
5536    case PPC::MTUDSCR:
5537    case PPC::MTVRSAVE:
5538    case PPC::MTVRSAVEv: {
5539      // op: RT
5540      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5541      op &= UINT64_C(31);
5542      op <<= 21;
5543      Value |= op;
5544      break;
5545    }
5546    case PPC::SETB:
5547    case PPC::SETB8: {
5548      // op: RT
5549      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5550      op &= UINT64_C(31);
5551      op <<= 21;
5552      Value |= op;
5553      // op: BFA
5554      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5555      op &= UINT64_C(7);
5556      op <<= 18;
5557      Value |= op;
5558      break;
5559    }
5560    case PPC::MTVSRBMI: {
5561      // op: RT
5562      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5563      op &= UINT64_C(31);
5564      op <<= 21;
5565      Value |= op;
5566      // op: D
5567      op = getImm16Encoding(MI, 1, Fixups, STI);
5568      Value |= (op & UINT64_C(62)) << 15;
5569      Value |= (op & UINT64_C(65472));
5570      Value |= (op & UINT64_C(1));
5571      break;
5572    }
5573    case PPC::ADDPCIS: {
5574      // op: RT
5575      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5576      op &= UINT64_C(31);
5577      op <<= 21;
5578      Value |= op;
5579      // op: D
5580      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5581      Value |= (op & UINT64_C(62)) << 15;
5582      Value |= (op & UINT64_C(65472));
5583      Value |= (op & UINT64_C(1));
5584      break;
5585    }
5586    case PPC::EVLHHESPLAT:
5587    case PPC::EVLHHOSSPLAT:
5588    case PPC::EVLHHOUSPLAT: {
5589      // op: RT
5590      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5591      op &= UINT64_C(31);
5592      op <<= 21;
5593      Value |= op;
5594      // op: D
5595      op = getSPE2DisEncoding(MI, 1, Fixups, STI);
5596      Value |= (op & UINT64_C(1)) << 20;
5597      Value |= (op & UINT64_C(2)) << 18;
5598      Value |= (op & UINT64_C(4)) << 16;
5599      Value |= (op & UINT64_C(8)) << 14;
5600      Value |= (op & UINT64_C(16)) << 12;
5601      Value |= (op & UINT64_C(32)) << 10;
5602      Value |= (op & UINT64_C(64)) << 8;
5603      Value |= (op & UINT64_C(128)) << 6;
5604      Value |= (op & UINT64_C(256)) << 4;
5605      Value |= (op & UINT64_C(512)) << 2;
5606      break;
5607    }
5608    case PPC::EVLWHE:
5609    case PPC::EVLWHOS:
5610    case PPC::EVLWHOU:
5611    case PPC::EVLWHSPLAT:
5612    case PPC::EVLWWSPLAT:
5613    case PPC::EVSTWHE:
5614    case PPC::EVSTWHO:
5615    case PPC::EVSTWWE:
5616    case PPC::EVSTWWO: {
5617      // op: RT
5618      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5619      op &= UINT64_C(31);
5620      op <<= 21;
5621      Value |= op;
5622      // op: D
5623      op = getSPE4DisEncoding(MI, 1, Fixups, STI);
5624      Value |= (op & UINT64_C(1)) << 20;
5625      Value |= (op & UINT64_C(2)) << 18;
5626      Value |= (op & UINT64_C(4)) << 16;
5627      Value |= (op & UINT64_C(8)) << 14;
5628      Value |= (op & UINT64_C(16)) << 12;
5629      Value |= (op & UINT64_C(32)) << 10;
5630      Value |= (op & UINT64_C(64)) << 8;
5631      Value |= (op & UINT64_C(128)) << 6;
5632      Value |= (op & UINT64_C(256)) << 4;
5633      Value |= (op & UINT64_C(512)) << 2;
5634      break;
5635    }
5636    case PPC::EVLDD:
5637    case PPC::EVLDH:
5638    case PPC::EVLDW:
5639    case PPC::EVSTDD:
5640    case PPC::EVSTDH:
5641    case PPC::EVSTDW: {
5642      // op: RT
5643      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5644      op &= UINT64_C(31);
5645      op <<= 21;
5646      Value |= op;
5647      // op: D
5648      op = getSPE8DisEncoding(MI, 1, Fixups, STI);
5649      Value |= (op & UINT64_C(1)) << 20;
5650      Value |= (op & UINT64_C(2)) << 18;
5651      Value |= (op & UINT64_C(4)) << 16;
5652      Value |= (op & UINT64_C(8)) << 14;
5653      Value |= (op & UINT64_C(16)) << 12;
5654      Value |= (op & UINT64_C(32)) << 10;
5655      Value |= (op & UINT64_C(64)) << 8;
5656      Value |= (op & UINT64_C(128)) << 6;
5657      Value |= (op & UINT64_C(256)) << 4;
5658      Value |= (op & UINT64_C(512)) << 2;
5659      break;
5660    }
5661    case PPC::PLD:
5662    case PPC::PLWA:
5663    case PPC::PLWA8:
5664    case PPC::PLXSD:
5665    case PPC::PLXSSP:
5666    case PPC::PSTD:
5667    case PPC::PSTXSD:
5668    case PPC::PSTXSSP: {
5669      // op: RT
5670      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5671      op &= UINT64_C(31);
5672      op <<= 21;
5673      Value |= op;
5674      // op: D_RA
5675      op = getMemRI34Encoding(MI, 1, Fixups, STI);
5676      Value |= (op & UINT64_C(17179803648)) << 16;
5677      Value |= (op & UINT64_C(532575944704)) >> 18;
5678      Value |= (op & UINT64_C(65535));
5679      break;
5680    }
5681    case PPC::PLDpc:
5682    case PPC::PLWA8pc:
5683    case PPC::PLWApc:
5684    case PPC::PLXSDpc:
5685    case PPC::PLXSSPpc:
5686    case PPC::PSTDpc:
5687    case PPC::PSTXSDpc:
5688    case PPC::PSTXSSPpc: {
5689      // op: RT
5690      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5691      op &= UINT64_C(31);
5692      op <<= 21;
5693      Value |= op;
5694      // op: D_RA
5695      op = getMemRI34PCRelEncoding(MI, 1, Fixups, STI);
5696      Value |= (op & UINT64_C(17179803648)) << 16;
5697      Value |= (op & UINT64_C(532575944704)) >> 18;
5698      Value |= (op & UINT64_C(65535));
5699      break;
5700    }
5701    case PPC::MFBHRBE: {
5702      // op: RT
5703      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5704      op &= UINT64_C(31);
5705      op <<= 21;
5706      Value |= op;
5707      // op: Entry
5708      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5709      op &= UINT64_C(1023);
5710      op <<= 11;
5711      Value |= op;
5712      break;
5713    }
5714    case PPC::DARN: {
5715      // op: RT
5716      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5717      op &= UINT64_C(31);
5718      op <<= 21;
5719      Value |= op;
5720      // op: L
5721      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5722      op &= UINT64_C(3);
5723      op <<= 16;
5724      Value |= op;
5725      break;
5726    }
5727    case PPC::ADDME:
5728    case PPC::ADDME8:
5729    case PPC::ADDME8O:
5730    case PPC::ADDME8O_rec:
5731    case PPC::ADDME8_rec:
5732    case PPC::ADDMEO:
5733    case PPC::ADDMEO_rec:
5734    case PPC::ADDME_rec:
5735    case PPC::ADDZE:
5736    case PPC::ADDZE8:
5737    case PPC::ADDZE8O:
5738    case PPC::ADDZE8O_rec:
5739    case PPC::ADDZE8_rec:
5740    case PPC::ADDZEO:
5741    case PPC::ADDZEO_rec:
5742    case PPC::ADDZE_rec:
5743    case PPC::EFDABS:
5744    case PPC::EFDNABS:
5745    case PPC::EFDNEG:
5746    case PPC::EFSABS:
5747    case PPC::EFSNABS:
5748    case PPC::EFSNEG:
5749    case PPC::EVABS:
5750    case PPC::EVADDSMIAAW:
5751    case PPC::EVADDSSIAAW:
5752    case PPC::EVADDUMIAAW:
5753    case PPC::EVADDUSIAAW:
5754    case PPC::EVCNTLSW:
5755    case PPC::EVCNTLZW:
5756    case PPC::EVEXTSB:
5757    case PPC::EVEXTSH:
5758    case PPC::EVFSABS:
5759    case PPC::EVFSNABS:
5760    case PPC::EVFSNEG:
5761    case PPC::EVMRA:
5762    case PPC::EVNEG:
5763    case PPC::EVRNDW:
5764    case PPC::EVSPLATFI:
5765    case PPC::EVSPLATI:
5766    case PPC::EVSUBFSMIAAW:
5767    case PPC::EVSUBFSSIAAW:
5768    case PPC::EVSUBFUMIAAW:
5769    case PPC::EVSUBFUSIAAW:
5770    case PPC::NEG:
5771    case PPC::NEG8:
5772    case PPC::NEG8O:
5773    case PPC::NEG8O_rec:
5774    case PPC::NEG8_rec:
5775    case PPC::NEGO:
5776    case PPC::NEGO_rec:
5777    case PPC::NEG_rec:
5778    case PPC::SUBFME:
5779    case PPC::SUBFME8:
5780    case PPC::SUBFME8O:
5781    case PPC::SUBFME8O_rec:
5782    case PPC::SUBFME8_rec:
5783    case PPC::SUBFMEO:
5784    case PPC::SUBFMEO_rec:
5785    case PPC::SUBFME_rec:
5786    case PPC::SUBFZE:
5787    case PPC::SUBFZE8:
5788    case PPC::SUBFZE8O:
5789    case PPC::SUBFZE8O_rec:
5790    case PPC::SUBFZE8_rec:
5791    case PPC::SUBFZEO:
5792    case PPC::SUBFZEO_rec:
5793    case PPC::SUBFZE_rec: {
5794      // op: RT
5795      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
5796      op &= UINT64_C(31);
5797      op <<= 21;
5798      Value |= op;
5799      // op: RA
5800      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
5801      op &= UINT64_C(31);
5802      op <<= 16;
5803      Value |= op;
5804      break;
5805    }
5806    case PPC::ADD4:
5807    case PPC::ADD4O:
5808    case PPC::ADD4O_rec:
5809    case PPC::ADD4_rec:
5810    case PPC::ADD8:
5811    case PPC::ADD8O:
5812    case PPC::ADD8O_rec:
5813    case PPC::ADD8_rec:
5814    case PPC::ADDC:
5815    case PPC::ADDC8:
5816    case PPC::ADDC8O:
5817    case PPC::ADDC8O_rec:
5818    case PPC::ADDC8_rec:
5819    case PPC::ADDCO:
5820    case PPC::ADDCO_rec:
5821    case PPC::ADDC_rec:
5822    case PPC::ADDE:
5823    case PPC::ADDE8:
5824    case PPC::ADDE8O:
5825    case PPC::ADDE8O_rec:
5826    case PPC::ADDE8_rec:
5827    case PPC::ADDEO:
5828    case PPC::ADDEO_rec:
5829    case PPC::ADDE_rec:
5830    case PPC::BRINC:
5831    case PPC::DIVD:
5832    case PPC::DIVDE:
5833    case PPC::DIVDEO:
5834    case PPC::DIVDEO_rec:
5835    case PPC::DIVDEU:
5836    case PPC::DIVDEUO:
5837    case PPC::DIVDEUO_rec:
5838    case PPC::DIVDEU_rec:
5839    case PPC::DIVDE_rec:
5840    case PPC::DIVDO:
5841    case PPC::DIVDO_rec:
5842    case PPC::DIVDU:
5843    case PPC::DIVDUO:
5844    case PPC::DIVDUO_rec:
5845    case PPC::DIVDU_rec:
5846    case PPC::DIVD_rec:
5847    case PPC::DIVW:
5848    case PPC::DIVWE:
5849    case PPC::DIVWEO:
5850    case PPC::DIVWEO_rec:
5851    case PPC::DIVWEU:
5852    case PPC::DIVWEUO:
5853    case PPC::DIVWEUO_rec:
5854    case PPC::DIVWEU_rec:
5855    case PPC::DIVWE_rec:
5856    case PPC::DIVWO:
5857    case PPC::DIVWO_rec:
5858    case PPC::DIVWU:
5859    case PPC::DIVWUO:
5860    case PPC::DIVWUO_rec:
5861    case PPC::DIVWU_rec:
5862    case PPC::DIVW_rec:
5863    case PPC::EFDADD:
5864    case PPC::EFDDIV:
5865    case PPC::EFDMUL:
5866    case PPC::EFDSUB:
5867    case PPC::EFSADD:
5868    case PPC::EFSDIV:
5869    case PPC::EFSMUL:
5870    case PPC::EFSSUB:
5871    case PPC::EVADDIW:
5872    case PPC::EVADDW:
5873    case PPC::EVAND:
5874    case PPC::EVANDC:
5875    case PPC::EVDIVWS:
5876    case PPC::EVDIVWU:
5877    case PPC::EVEQV:
5878    case PPC::EVFSADD:
5879    case PPC::EVFSDIV:
5880    case PPC::EVFSMUL:
5881    case PPC::EVFSSUB:
5882    case PPC::EVLDDX:
5883    case PPC::EVLDHX:
5884    case PPC::EVLDWX:
5885    case PPC::EVLHHESPLATX:
5886    case PPC::EVLHHOSSPLATX:
5887    case PPC::EVLHHOUSPLATX:
5888    case PPC::EVLWHEX:
5889    case PPC::EVLWHOSX:
5890    case PPC::EVLWHOUX:
5891    case PPC::EVLWHSPLATX:
5892    case PPC::EVLWWSPLATX:
5893    case PPC::EVMERGEHI:
5894    case PPC::EVMERGEHILO:
5895    case PPC::EVMERGELO:
5896    case PPC::EVMERGELOHI:
5897    case PPC::EVMHEGSMFAA:
5898    case PPC::EVMHEGSMFAN:
5899    case PPC::EVMHEGSMIAA:
5900    case PPC::EVMHEGSMIAN:
5901    case PPC::EVMHEGUMIAA:
5902    case PPC::EVMHEGUMIAN:
5903    case PPC::EVMHESMF:
5904    case PPC::EVMHESMFA:
5905    case PPC::EVMHESMFAAW:
5906    case PPC::EVMHESMFANW:
5907    case PPC::EVMHESMI:
5908    case PPC::EVMHESMIA:
5909    case PPC::EVMHESMIAAW:
5910    case PPC::EVMHESMIANW:
5911    case PPC::EVMHESSF:
5912    case PPC::EVMHESSFA:
5913    case PPC::EVMHESSFAAW:
5914    case PPC::EVMHESSFANW:
5915    case PPC::EVMHESSIAAW:
5916    case PPC::EVMHESSIANW:
5917    case PPC::EVMHEUMI:
5918    case PPC::EVMHEUMIA:
5919    case PPC::EVMHEUMIAAW:
5920    case PPC::EVMHEUMIANW:
5921    case PPC::EVMHEUSIAAW:
5922    case PPC::EVMHEUSIANW:
5923    case PPC::EVMHOGSMFAA:
5924    case PPC::EVMHOGSMFAN:
5925    case PPC::EVMHOGSMIAA:
5926    case PPC::EVMHOGSMIAN:
5927    case PPC::EVMHOGUMIAA:
5928    case PPC::EVMHOGUMIAN:
5929    case PPC::EVMHOSMF:
5930    case PPC::EVMHOSMFA:
5931    case PPC::EVMHOSMFAAW:
5932    case PPC::EVMHOSMFANW:
5933    case PPC::EVMHOSMI:
5934    case PPC::EVMHOSMIA:
5935    case PPC::EVMHOSMIAAW:
5936    case PPC::EVMHOSMIANW:
5937    case PPC::EVMHOSSF:
5938    case PPC::EVMHOSSFA:
5939    case PPC::EVMHOSSFAAW:
5940    case PPC::EVMHOSSFANW:
5941    case PPC::EVMHOSSIAAW:
5942    case PPC::EVMHOSSIANW:
5943    case PPC::EVMHOUMI:
5944    case PPC::EVMHOUMIA:
5945    case PPC::EVMHOUMIAAW:
5946    case PPC::EVMHOUMIANW:
5947    case PPC::EVMHOUSIAAW:
5948    case PPC::EVMHOUSIANW:
5949    case PPC::EVMWHSMF:
5950    case PPC::EVMWHSMFA:
5951    case PPC::EVMWHSMI:
5952    case PPC::EVMWHSMIA:
5953    case PPC::EVMWHSSF:
5954    case PPC::EVMWHSSFA:
5955    case PPC::EVMWHUMI:
5956    case PPC::EVMWHUMIA:
5957    case PPC::EVMWLSMIAAW:
5958    case PPC::EVMWLSMIANW:
5959    case PPC::EVMWLSSIAAW:
5960    case PPC::EVMWLSSIANW:
5961    case PPC::EVMWLUMI:
5962    case PPC::EVMWLUMIA:
5963    case PPC::EVMWLUMIAAW:
5964    case PPC::EVMWLUMIANW:
5965    case PPC::EVMWLUSIAAW:
5966    case PPC::EVMWLUSIANW:
5967    case PPC::EVMWSMF:
5968    case PPC::EVMWSMFA:
5969    case PPC::EVMWSMFAA:
5970    case PPC::EVMWSMFAN:
5971    case PPC::EVMWSMI:
5972    case PPC::EVMWSMIA:
5973    case PPC::EVMWSMIAA:
5974    case PPC::EVMWSMIAN:
5975    case PPC::EVMWSSF:
5976    case PPC::EVMWSSFA:
5977    case PPC::EVMWSSFAA:
5978    case PPC::EVMWSSFAN:
5979    case PPC::EVMWUMI:
5980    case PPC::EVMWUMIA:
5981    case PPC::EVMWUMIAA:
5982    case PPC::EVMWUMIAN:
5983    case PPC::EVNAND:
5984    case PPC::EVNOR:
5985    case PPC::EVOR:
5986    case PPC::EVORC:
5987    case PPC::EVRLW:
5988    case PPC::EVRLWI:
5989    case PPC::EVSLW:
5990    case PPC::EVSLWI:
5991    case PPC::EVSRWIS:
5992    case PPC::EVSRWIU:
5993    case PPC::EVSRWS:
5994    case PPC::EVSRWU:
5995    case PPC::EVSTDDX:
5996    case PPC::EVSTDHX:
5997    case PPC::EVSTDWX:
5998    case PPC::EVSTWHEX:
5999    case PPC::EVSTWHOX:
6000    case PPC::EVSTWWEX:
6001    case PPC::EVSTWWOX:
6002    case PPC::EVSUBFW:
6003    case PPC::EVSUBIFW:
6004    case PPC::EVXOR:
6005    case PPC::MULHD:
6006    case PPC::MULHDU:
6007    case PPC::MULHDU_rec:
6008    case PPC::MULHD_rec:
6009    case PPC::MULHW:
6010    case PPC::MULHWU:
6011    case PPC::MULHWU_rec:
6012    case PPC::MULHW_rec:
6013    case PPC::MULLD:
6014    case PPC::MULLDO:
6015    case PPC::MULLDO_rec:
6016    case PPC::MULLD_rec:
6017    case PPC::MULLW:
6018    case PPC::MULLWO:
6019    case PPC::MULLWO_rec:
6020    case PPC::MULLW_rec:
6021    case PPC::SUBF:
6022    case PPC::SUBF8:
6023    case PPC::SUBF8O:
6024    case PPC::SUBF8O_rec:
6025    case PPC::SUBF8_rec:
6026    case PPC::SUBFC:
6027    case PPC::SUBFC8:
6028    case PPC::SUBFC8O:
6029    case PPC::SUBFC8O_rec:
6030    case PPC::SUBFC8_rec:
6031    case PPC::SUBFCO:
6032    case PPC::SUBFCO_rec:
6033    case PPC::SUBFC_rec:
6034    case PPC::SUBFE:
6035    case PPC::SUBFE8:
6036    case PPC::SUBFE8O:
6037    case PPC::SUBFE8O_rec:
6038    case PPC::SUBFE8_rec:
6039    case PPC::SUBFEO:
6040    case PPC::SUBFEO_rec:
6041    case PPC::SUBFE_rec:
6042    case PPC::SUBFO:
6043    case PPC::SUBFO_rec:
6044    case PPC::SUBF_rec: {
6045      // op: RT
6046      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6047      op &= UINT64_C(31);
6048      op <<= 21;
6049      Value |= op;
6050      // op: RA
6051      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6052      op &= UINT64_C(31);
6053      op <<= 16;
6054      Value |= op;
6055      // op: RB
6056      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6057      op &= UINT64_C(31);
6058      op <<= 11;
6059      Value |= op;
6060      break;
6061    }
6062    case PPC::ISEL:
6063    case PPC::ISEL8: {
6064      // op: RT
6065      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6066      op &= UINT64_C(31);
6067      op <<= 21;
6068      Value |= op;
6069      // op: RA
6070      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6071      op &= UINT64_C(31);
6072      op <<= 16;
6073      Value |= op;
6074      // op: RB
6075      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6076      op &= UINT64_C(31);
6077      op <<= 11;
6078      Value |= op;
6079      // op: COND
6080      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6081      op &= UINT64_C(31);
6082      op <<= 6;
6083      Value |= op;
6084      break;
6085    }
6086    case PPC::ADDEX:
6087    case PPC::ADDEX8: {
6088      // op: RT
6089      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6090      op &= UINT64_C(31);
6091      op <<= 21;
6092      Value |= op;
6093      // op: RA
6094      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6095      op &= UINT64_C(31);
6096      op <<= 16;
6097      Value |= op;
6098      // op: RB
6099      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6100      op &= UINT64_C(31);
6101      op <<= 11;
6102      Value |= op;
6103      // op: CY
6104      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6105      op &= UINT64_C(3);
6106      op <<= 9;
6107      Value |= op;
6108      break;
6109    }
6110    case PPC::SUBFUS:
6111    case PPC::SUBFUS_rec: {
6112      // op: RT
6113      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6114      op &= UINT64_C(31);
6115      op <<= 21;
6116      Value |= op;
6117      // op: RA
6118      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6119      op &= UINT64_C(31);
6120      op <<= 16;
6121      Value |= op;
6122      // op: RB
6123      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6124      op &= UINT64_C(31);
6125      op <<= 11;
6126      Value |= op;
6127      // op: L
6128      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6129      op &= UINT64_C(1);
6130      op <<= 10;
6131      Value |= op;
6132      break;
6133    }
6134    case PPC::ADD4TLS:
6135    case PPC::ADD8TLS:
6136    case PPC::ADD8TLS_: {
6137      // op: RT
6138      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6139      op &= UINT64_C(31);
6140      op <<= 21;
6141      Value |= op;
6142      // op: RA
6143      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6144      op &= UINT64_C(31);
6145      op <<= 16;
6146      Value |= op;
6147      // op: RB
6148      op = getTLSRegEncoding(MI, 2, Fixups, STI);
6149      op &= UINT64_C(31);
6150      op <<= 11;
6151      Value |= op;
6152      break;
6153    }
6154    case PPC::PADDI:
6155    case PPC::PADDI8: {
6156      // op: RT
6157      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6158      op &= UINT64_C(31);
6159      op <<= 21;
6160      Value |= op;
6161      // op: RA
6162      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6163      op &= UINT64_C(31);
6164      op <<= 16;
6165      Value |= op;
6166      // op: SI
6167      op = getImm34EncodingNoPCRel(MI, 2, Fixups, STI);
6168      Value |= (op & UINT64_C(17179803648)) << 16;
6169      Value |= (op & UINT64_C(65535));
6170      break;
6171    }
6172    case PPC::PADDI8pc:
6173    case PPC::PADDIpc: {
6174      // op: RT
6175      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6176      op &= UINT64_C(31);
6177      op <<= 21;
6178      Value |= op;
6179      // op: RA
6180      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6181      op &= UINT64_C(31);
6182      op <<= 16;
6183      Value |= op;
6184      // op: SI
6185      op = getImm34EncodingPCRel(MI, 2, Fixups, STI);
6186      Value |= (op & UINT64_C(17179803648)) << 16;
6187      Value |= (op & UINT64_C(65535));
6188      break;
6189    }
6190    case PPC::EFDCFS:
6191    case PPC::EFDCFSF:
6192    case PPC::EFDCFSI:
6193    case PPC::EFDCFSID:
6194    case PPC::EFDCFUF:
6195    case PPC::EFDCFUI:
6196    case PPC::EFDCFUID:
6197    case PPC::EFDCTSF:
6198    case PPC::EFDCTSI:
6199    case PPC::EFDCTSIDZ:
6200    case PPC::EFDCTSIZ:
6201    case PPC::EFDCTUF:
6202    case PPC::EFDCTUI:
6203    case PPC::EFDCTUIDZ:
6204    case PPC::EFDCTUIZ:
6205    case PPC::EFSCFD:
6206    case PPC::EFSCFSF:
6207    case PPC::EFSCFSI:
6208    case PPC::EFSCFUF:
6209    case PPC::EFSCFUI:
6210    case PPC::EFSCTSF:
6211    case PPC::EFSCTSI:
6212    case PPC::EFSCTSIZ:
6213    case PPC::EFSCTUF:
6214    case PPC::EFSCTUI:
6215    case PPC::EFSCTUIZ:
6216    case PPC::EVFSCFSF:
6217    case PPC::EVFSCFSI:
6218    case PPC::EVFSCFUF:
6219    case PPC::EVFSCFUI:
6220    case PPC::EVFSCTSF:
6221    case PPC::EVFSCTSI:
6222    case PPC::EVFSCTSIZ:
6223    case PPC::EVFSCTUF:
6224    case PPC::EVFSCTUI:
6225    case PPC::EVFSCTUIZ:
6226    case PPC::SLBMFEV: {
6227      // op: RT
6228      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6229      op &= UINT64_C(31);
6230      op <<= 21;
6231      Value |= op;
6232      // op: RB
6233      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6234      op &= UINT64_C(31);
6235      op <<= 11;
6236      Value |= op;
6237      break;
6238    }
6239    case PPC::PLI:
6240    case PPC::PLI8: {
6241      // op: RT
6242      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6243      op &= UINT64_C(31);
6244      op <<= 21;
6245      Value |= op;
6246      // op: SI
6247      op = getImm34EncodingNoPCRel(MI, 1, Fixups, STI);
6248      Value |= (op & UINT64_C(17179803648)) << 16;
6249      Value |= (op & UINT64_C(65535));
6250      break;
6251    }
6252    case PPC::MFDCR:
6253    case PPC::MFPMR:
6254    case PPC::MFSPR:
6255    case PPC::MFSPR8:
6256    case PPC::MFTB:
6257    case PPC::MTDCR: {
6258      // op: RT
6259      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6260      op &= UINT64_C(31);
6261      op <<= 21;
6262      Value |= op;
6263      // op: SPR
6264      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6265      Value |= (op & UINT64_C(31)) << 16;
6266      Value |= (op & UINT64_C(992)) << 6;
6267      break;
6268    }
6269    case PPC::XSXEXPDP:
6270    case PPC::XSXSIGDP: {
6271      // op: RT
6272      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6273      op &= UINT64_C(31);
6274      op <<= 21;
6275      Value |= op;
6276      // op: XB
6277      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6278      Value |= (op & UINT64_C(31)) << 11;
6279      Value |= (op & UINT64_C(32)) >> 4;
6280      break;
6281    }
6282    case PPC::MTPMR:
6283    case PPC::MTSPR:
6284    case PPC::MTSPR8: {
6285      // op: RT
6286      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6287      op &= UINT64_C(31);
6288      op <<= 21;
6289      Value |= op;
6290      // op: SPR
6291      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6292      Value |= (op & UINT64_C(31)) << 16;
6293      Value |= (op & UINT64_C(992)) << 6;
6294      break;
6295    }
6296    case PPC::LQ: {
6297      // op: RTp
6298      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6299      op &= UINT64_C(31);
6300      op <<= 21;
6301      Value |= op;
6302      // op: DQ_RA
6303      op = getMemRIX16Encoding(MI, 1, Fixups, STI);
6304      op &= UINT64_C(131071);
6305      op <<= 4;
6306      Value |= op;
6307      break;
6308    }
6309    case PPC::RFEBB: {
6310      // op: S
6311      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6312      op &= UINT64_C(1);
6313      op <<= 11;
6314      Value |= op;
6315      break;
6316    }
6317    case PPC::MFOCRF:
6318    case PPC::MFOCRF8: {
6319      // op: ST
6320      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6321      op &= UINT64_C(31);
6322      op <<= 21;
6323      Value |= op;
6324      // op: FXM
6325      op = get_crbitm_encoding(MI, 1, Fixups, STI);
6326      op &= UINT64_C(255);
6327      op <<= 12;
6328      Value |= op;
6329      break;
6330    }
6331    case PPC::MTOCRF:
6332    case PPC::MTOCRF8: {
6333      // op: ST
6334      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6335      op &= UINT64_C(31);
6336      op <<= 21;
6337      Value |= op;
6338      // op: FXM
6339      op = get_crbitm_encoding(MI, 0, Fixups, STI);
6340      op &= UINT64_C(255);
6341      op <<= 12;
6342      Value |= op;
6343      break;
6344    }
6345    case PPC::DSS: {
6346      // op: STRM
6347      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6348      op &= UINT64_C(3);
6349      op <<= 21;
6350      Value |= op;
6351      break;
6352    }
6353    case PPC::DST:
6354    case PPC::DST64:
6355    case PPC::DSTST:
6356    case PPC::DSTST64:
6357    case PPC::DSTSTT:
6358    case PPC::DSTSTT64:
6359    case PPC::DSTT:
6360    case PPC::DSTT64: {
6361      // op: STRM
6362      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6363      op &= UINT64_C(3);
6364      op <<= 21;
6365      Value |= op;
6366      // op: A
6367      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6368      op &= UINT64_C(31);
6369      op <<= 16;
6370      Value |= op;
6371      // op: B
6372      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6373      op &= UINT64_C(31);
6374      op <<= 11;
6375      Value |= op;
6376      break;
6377    }
6378    case PPC::DCBF:
6379    case PPC::DCBT:
6380    case PPC::DCBTST: {
6381      // op: TH
6382      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6383      op &= UINT64_C(31);
6384      op <<= 21;
6385      Value |= op;
6386      // op: A
6387      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6388      op &= UINT64_C(31);
6389      op <<= 16;
6390      Value |= op;
6391      // op: B
6392      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6393      op &= UINT64_C(31);
6394      op <<= 11;
6395      Value |= op;
6396      break;
6397    }
6398    case PPC::DCBTEP:
6399    case PPC::DCBTSTEP: {
6400      // op: TH
6401      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6402      op &= UINT64_C(31);
6403      op <<= 21;
6404      Value |= op;
6405      // op: A
6406      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6407      op &= UINT64_C(31);
6408      op <<= 16;
6409      Value |= op;
6410      // op: B
6411      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6412      op &= UINT64_C(31);
6413      op <<= 11;
6414      Value |= op;
6415      break;
6416    }
6417    case PPC::MTVSCR: {
6418      // op: VB
6419      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6420      op &= UINT64_C(31);
6421      op <<= 11;
6422      Value |= op;
6423      break;
6424    }
6425    case PPC::V_SET0:
6426    case PPC::V_SET0B:
6427    case PPC::V_SET0H: {
6428      // op: VD
6429      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6430      Value |= (op & UINT64_C(31)) << 21;
6431      Value |= (op & UINT64_C(31)) << 16;
6432      Value |= (op & UINT64_C(31)) << 11;
6433      break;
6434    }
6435    case PPC::MFVSCR:
6436    case PPC::V_SETALLONES:
6437    case PPC::V_SETALLONESB:
6438    case PPC::V_SETALLONESH: {
6439      // op: VD
6440      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6441      op &= UINT64_C(31);
6442      op <<= 21;
6443      Value |= op;
6444      break;
6445    }
6446    case PPC::VSPLTISB:
6447    case PPC::VSPLTISH:
6448    case PPC::VSPLTISW: {
6449      // op: VD
6450      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6451      op &= UINT64_C(31);
6452      op <<= 21;
6453      Value |= op;
6454      // op: IMM
6455      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6456      op &= UINT64_C(31);
6457      op <<= 16;
6458      Value |= op;
6459      break;
6460    }
6461    case PPC::VMUL10CUQ:
6462    case PPC::VMUL10UQ:
6463    case PPC::VSBOX: {
6464      // op: VD
6465      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6466      op &= UINT64_C(31);
6467      op <<= 21;
6468      Value |= op;
6469      // op: VA
6470      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6471      op &= UINT64_C(31);
6472      op <<= 16;
6473      Value |= op;
6474      break;
6475    }
6476    case PPC::VSHASIGMAD:
6477    case PPC::VSHASIGMAW: {
6478      // op: VD
6479      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6480      op &= UINT64_C(31);
6481      op <<= 21;
6482      Value |= op;
6483      // op: VA
6484      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6485      op &= UINT64_C(31);
6486      op <<= 16;
6487      Value |= op;
6488      // op: ST
6489      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6490      op &= UINT64_C(1);
6491      op <<= 15;
6492      Value |= op;
6493      // op: SIX
6494      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6495      op &= UINT64_C(15);
6496      op <<= 11;
6497      Value |= op;
6498      break;
6499    }
6500    case PPC::BCDCPSGN_rec:
6501    case PPC::BCDUS_rec:
6502    case PPC::BCDUTRUNC_rec:
6503    case PPC::VABSDUB:
6504    case PPC::VABSDUH:
6505    case PPC::VABSDUW:
6506    case PPC::VADDCUQ:
6507    case PPC::VADDCUW:
6508    case PPC::VADDFP:
6509    case PPC::VADDSBS:
6510    case PPC::VADDSHS:
6511    case PPC::VADDSWS:
6512    case PPC::VADDUBM:
6513    case PPC::VADDUBS:
6514    case PPC::VADDUDM:
6515    case PPC::VADDUHM:
6516    case PPC::VADDUHS:
6517    case PPC::VADDUQM:
6518    case PPC::VADDUWM:
6519    case PPC::VADDUWS:
6520    case PPC::VAND:
6521    case PPC::VANDC:
6522    case PPC::VAVGSB:
6523    case PPC::VAVGSH:
6524    case PPC::VAVGSW:
6525    case PPC::VAVGUB:
6526    case PPC::VAVGUH:
6527    case PPC::VAVGUW:
6528    case PPC::VBPERMD:
6529    case PPC::VBPERMQ:
6530    case PPC::VCFSX:
6531    case PPC::VCFUGED:
6532    case PPC::VCFUX:
6533    case PPC::VCIPHER:
6534    case PPC::VCIPHERLAST:
6535    case PPC::VCLRLB:
6536    case PPC::VCLRRB:
6537    case PPC::VCLZDM:
6538    case PPC::VCMPBFP:
6539    case PPC::VCMPBFP_rec:
6540    case PPC::VCMPEQFP:
6541    case PPC::VCMPEQFP_rec:
6542    case PPC::VCMPEQUB:
6543    case PPC::VCMPEQUB_rec:
6544    case PPC::VCMPEQUD:
6545    case PPC::VCMPEQUD_rec:
6546    case PPC::VCMPEQUH:
6547    case PPC::VCMPEQUH_rec:
6548    case PPC::VCMPEQUQ:
6549    case PPC::VCMPEQUQ_rec:
6550    case PPC::VCMPEQUW:
6551    case PPC::VCMPEQUW_rec:
6552    case PPC::VCMPGEFP:
6553    case PPC::VCMPGEFP_rec:
6554    case PPC::VCMPGTFP:
6555    case PPC::VCMPGTFP_rec:
6556    case PPC::VCMPGTSB:
6557    case PPC::VCMPGTSB_rec:
6558    case PPC::VCMPGTSD:
6559    case PPC::VCMPGTSD_rec:
6560    case PPC::VCMPGTSH:
6561    case PPC::VCMPGTSH_rec:
6562    case PPC::VCMPGTSQ:
6563    case PPC::VCMPGTSQ_rec:
6564    case PPC::VCMPGTSW:
6565    case PPC::VCMPGTSW_rec:
6566    case PPC::VCMPGTUB:
6567    case PPC::VCMPGTUB_rec:
6568    case PPC::VCMPGTUD:
6569    case PPC::VCMPGTUD_rec:
6570    case PPC::VCMPGTUH:
6571    case PPC::VCMPGTUH_rec:
6572    case PPC::VCMPGTUQ:
6573    case PPC::VCMPGTUQ_rec:
6574    case PPC::VCMPGTUW:
6575    case PPC::VCMPGTUW_rec:
6576    case PPC::VCMPNEB:
6577    case PPC::VCMPNEB_rec:
6578    case PPC::VCMPNEH:
6579    case PPC::VCMPNEH_rec:
6580    case PPC::VCMPNEW:
6581    case PPC::VCMPNEW_rec:
6582    case PPC::VCMPNEZB:
6583    case PPC::VCMPNEZB_rec:
6584    case PPC::VCMPNEZH:
6585    case PPC::VCMPNEZH_rec:
6586    case PPC::VCMPNEZW:
6587    case PPC::VCMPNEZW_rec:
6588    case PPC::VCTSXS:
6589    case PPC::VCTUXS:
6590    case PPC::VCTZDM:
6591    case PPC::VDIVESD:
6592    case PPC::VDIVESQ:
6593    case PPC::VDIVESW:
6594    case PPC::VDIVEUD:
6595    case PPC::VDIVEUQ:
6596    case PPC::VDIVEUW:
6597    case PPC::VDIVSD:
6598    case PPC::VDIVSQ:
6599    case PPC::VDIVSW:
6600    case PPC::VDIVUD:
6601    case PPC::VDIVUQ:
6602    case PPC::VDIVUW:
6603    case PPC::VEQV:
6604    case PPC::VEXTRACTD:
6605    case PPC::VEXTRACTUB:
6606    case PPC::VEXTRACTUH:
6607    case PPC::VEXTRACTUW:
6608    case PPC::VEXTUBLX:
6609    case PPC::VEXTUBRX:
6610    case PPC::VEXTUHLX:
6611    case PPC::VEXTUHRX:
6612    case PPC::VEXTUWLX:
6613    case PPC::VEXTUWRX:
6614    case PPC::VINSERTD:
6615    case PPC::VINSERTW:
6616    case PPC::VMAXFP:
6617    case PPC::VMAXSB:
6618    case PPC::VMAXSD:
6619    case PPC::VMAXSH:
6620    case PPC::VMAXSW:
6621    case PPC::VMAXUB:
6622    case PPC::VMAXUD:
6623    case PPC::VMAXUH:
6624    case PPC::VMAXUW:
6625    case PPC::VMINFP:
6626    case PPC::VMINSB:
6627    case PPC::VMINSD:
6628    case PPC::VMINSH:
6629    case PPC::VMINSW:
6630    case PPC::VMINUB:
6631    case PPC::VMINUD:
6632    case PPC::VMINUH:
6633    case PPC::VMINUW:
6634    case PPC::VMODSD:
6635    case PPC::VMODSQ:
6636    case PPC::VMODSW:
6637    case PPC::VMODUD:
6638    case PPC::VMODUQ:
6639    case PPC::VMODUW:
6640    case PPC::VMRGEW:
6641    case PPC::VMRGHB:
6642    case PPC::VMRGHH:
6643    case PPC::VMRGHW:
6644    case PPC::VMRGLB:
6645    case PPC::VMRGLH:
6646    case PPC::VMRGLW:
6647    case PPC::VMRGOW:
6648    case PPC::VMUL10ECUQ:
6649    case PPC::VMUL10EUQ:
6650    case PPC::VMULESB:
6651    case PPC::VMULESD:
6652    case PPC::VMULESH:
6653    case PPC::VMULESW:
6654    case PPC::VMULEUB:
6655    case PPC::VMULEUD:
6656    case PPC::VMULEUH:
6657    case PPC::VMULEUW:
6658    case PPC::VMULHSD:
6659    case PPC::VMULHSW:
6660    case PPC::VMULHUD:
6661    case PPC::VMULHUW:
6662    case PPC::VMULLD:
6663    case PPC::VMULOSB:
6664    case PPC::VMULOSD:
6665    case PPC::VMULOSH:
6666    case PPC::VMULOSW:
6667    case PPC::VMULOUB:
6668    case PPC::VMULOUD:
6669    case PPC::VMULOUH:
6670    case PPC::VMULOUW:
6671    case PPC::VMULUWM:
6672    case PPC::VNAND:
6673    case PPC::VNCIPHER:
6674    case PPC::VNCIPHERLAST:
6675    case PPC::VNOR:
6676    case PPC::VOR:
6677    case PPC::VORC:
6678    case PPC::VPDEPD:
6679    case PPC::VPEXTD:
6680    case PPC::VPKPX:
6681    case PPC::VPKSDSS:
6682    case PPC::VPKSDUS:
6683    case PPC::VPKSHSS:
6684    case PPC::VPKSHUS:
6685    case PPC::VPKSWSS:
6686    case PPC::VPKSWUS:
6687    case PPC::VPKUDUM:
6688    case PPC::VPKUDUS:
6689    case PPC::VPKUHUM:
6690    case PPC::VPKUHUS:
6691    case PPC::VPKUWUM:
6692    case PPC::VPKUWUS:
6693    case PPC::VPMSUMB:
6694    case PPC::VPMSUMD:
6695    case PPC::VPMSUMH:
6696    case PPC::VPMSUMW:
6697    case PPC::VRLB:
6698    case PPC::VRLD:
6699    case PPC::VRLDMI:
6700    case PPC::VRLDNM:
6701    case PPC::VRLH:
6702    case PPC::VRLQ:
6703    case PPC::VRLQMI:
6704    case PPC::VRLQNM:
6705    case PPC::VRLW:
6706    case PPC::VRLWMI:
6707    case PPC::VRLWNM:
6708    case PPC::VSL:
6709    case PPC::VSLB:
6710    case PPC::VSLD:
6711    case PPC::VSLH:
6712    case PPC::VSLO:
6713    case PPC::VSLQ:
6714    case PPC::VSLV:
6715    case PPC::VSLW:
6716    case PPC::VSPLTB:
6717    case PPC::VSPLTBs:
6718    case PPC::VSPLTH:
6719    case PPC::VSPLTHs:
6720    case PPC::VSPLTW:
6721    case PPC::VSR:
6722    case PPC::VSRAB:
6723    case PPC::VSRAD:
6724    case PPC::VSRAH:
6725    case PPC::VSRAQ:
6726    case PPC::VSRAW:
6727    case PPC::VSRB:
6728    case PPC::VSRD:
6729    case PPC::VSRH:
6730    case PPC::VSRO:
6731    case PPC::VSRQ:
6732    case PPC::VSRV:
6733    case PPC::VSRW:
6734    case PPC::VSUBCUQ:
6735    case PPC::VSUBCUW:
6736    case PPC::VSUBFP:
6737    case PPC::VSUBSBS:
6738    case PPC::VSUBSHS:
6739    case PPC::VSUBSWS:
6740    case PPC::VSUBUBM:
6741    case PPC::VSUBUBS:
6742    case PPC::VSUBUDM:
6743    case PPC::VSUBUHM:
6744    case PPC::VSUBUHS:
6745    case PPC::VSUBUQM:
6746    case PPC::VSUBUWM:
6747    case PPC::VSUBUWS:
6748    case PPC::VSUM2SWS:
6749    case PPC::VSUM4SBS:
6750    case PPC::VSUM4SHS:
6751    case PPC::VSUM4UBS:
6752    case PPC::VSUMSWS:
6753    case PPC::VXOR: {
6754      // op: VD
6755      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6756      op &= UINT64_C(31);
6757      op <<= 21;
6758      Value |= op;
6759      // op: VA
6760      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6761      op &= UINT64_C(31);
6762      op <<= 16;
6763      Value |= op;
6764      // op: VB
6765      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6766      op &= UINT64_C(31);
6767      op <<= 11;
6768      Value |= op;
6769      break;
6770    }
6771    case PPC::BCDADD_rec:
6772    case PPC::BCDSR_rec:
6773    case PPC::BCDSUB_rec:
6774    case PPC::BCDS_rec:
6775    case PPC::BCDTRUNC_rec: {
6776      // op: VD
6777      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6778      op &= UINT64_C(31);
6779      op <<= 21;
6780      Value |= op;
6781      // op: VA
6782      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6783      op &= UINT64_C(31);
6784      op <<= 16;
6785      Value |= op;
6786      // op: VB
6787      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6788      op &= UINT64_C(31);
6789      op <<= 11;
6790      Value |= op;
6791      // op: PS
6792      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6793      op &= UINT64_C(1);
6794      op <<= 9;
6795      Value |= op;
6796      break;
6797    }
6798    case PPC::VSLDOI: {
6799      // op: VD
6800      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6801      op &= UINT64_C(31);
6802      op <<= 21;
6803      Value |= op;
6804      // op: VA
6805      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6806      op &= UINT64_C(31);
6807      op <<= 16;
6808      Value |= op;
6809      // op: VB
6810      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6811      op &= UINT64_C(31);
6812      op <<= 11;
6813      Value |= op;
6814      // op: SH
6815      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6816      op &= UINT64_C(15);
6817      op <<= 6;
6818      Value |= op;
6819      break;
6820    }
6821    case PPC::MADDHD:
6822    case PPC::MADDHDU:
6823    case PPC::MADDLD:
6824    case PPC::MADDLD8:
6825    case PPC::VADDECUQ:
6826    case PPC::VADDEUQM:
6827    case PPC::VEXTDDVLX:
6828    case PPC::VEXTDDVRX:
6829    case PPC::VEXTDUBVLX:
6830    case PPC::VEXTDUBVRX:
6831    case PPC::VEXTDUHVLX:
6832    case PPC::VEXTDUHVRX:
6833    case PPC::VEXTDUWVLX:
6834    case PPC::VEXTDUWVRX:
6835    case PPC::VMHADDSHS:
6836    case PPC::VMHRADDSHS:
6837    case PPC::VMLADDUHM:
6838    case PPC::VMSUMCUD:
6839    case PPC::VMSUMMBM:
6840    case PPC::VMSUMSHM:
6841    case PPC::VMSUMSHS:
6842    case PPC::VMSUMUBM:
6843    case PPC::VMSUMUDM:
6844    case PPC::VMSUMUHM:
6845    case PPC::VMSUMUHS:
6846    case PPC::VPERM:
6847    case PPC::VPERMR:
6848    case PPC::VSEL:
6849    case PPC::VSUBECUQ:
6850    case PPC::VSUBEUQM: {
6851      // op: VD
6852      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6853      op &= UINT64_C(31);
6854      op <<= 21;
6855      Value |= op;
6856      // op: VA
6857      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6858      op &= UINT64_C(31);
6859      op <<= 16;
6860      Value |= op;
6861      // op: VB
6862      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6863      op &= UINT64_C(31);
6864      op <<= 11;
6865      Value |= op;
6866      // op: VC
6867      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6868      op &= UINT64_C(31);
6869      op <<= 6;
6870      Value |= op;
6871      break;
6872    }
6873    case PPC::VMADDFP:
6874    case PPC::VNMSUBFP: {
6875      // op: VD
6876      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6877      op &= UINT64_C(31);
6878      op <<= 21;
6879      Value |= op;
6880      // op: VA
6881      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6882      op &= UINT64_C(31);
6883      op <<= 16;
6884      Value |= op;
6885      // op: VC
6886      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6887      op &= UINT64_C(31);
6888      op <<= 6;
6889      Value |= op;
6890      // op: VB
6891      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6892      op &= UINT64_C(31);
6893      op <<= 11;
6894      Value |= op;
6895      break;
6896    }
6897    case PPC::VPERMXOR: {
6898      // op: VD
6899      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6900      op &= UINT64_C(31);
6901      op <<= 21;
6902      Value |= op;
6903      // op: VA
6904      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6905      op &= UINT64_C(31);
6906      op <<= 16;
6907      Value |= op;
6908      // op: VC
6909      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6910      op &= UINT64_C(31);
6911      op <<= 6;
6912      Value |= op;
6913      // op: VB
6914      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6915      op &= UINT64_C(31);
6916      op <<= 11;
6917      Value |= op;
6918      break;
6919    }
6920    case PPC::VINSBLX:
6921    case PPC::VINSBRX:
6922    case PPC::VINSBVLX:
6923    case PPC::VINSBVRX:
6924    case PPC::VINSD:
6925    case PPC::VINSDLX:
6926    case PPC::VINSDRX:
6927    case PPC::VINSERTB:
6928    case PPC::VINSERTH:
6929    case PPC::VINSHLX:
6930    case PPC::VINSHRX:
6931    case PPC::VINSHVLX:
6932    case PPC::VINSHVRX:
6933    case PPC::VINSW:
6934    case PPC::VINSWLX:
6935    case PPC::VINSWRX:
6936    case PPC::VINSWVLX:
6937    case PPC::VINSWVRX: {
6938      // op: VD
6939      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6940      op &= UINT64_C(31);
6941      op <<= 21;
6942      Value |= op;
6943      // op: VA
6944      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
6945      op &= UINT64_C(31);
6946      op <<= 16;
6947      Value |= op;
6948      // op: VB
6949      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
6950      op &= UINT64_C(31);
6951      op <<= 11;
6952      Value |= op;
6953      break;
6954    }
6955    case PPC::BCDCTN_rec:
6956    case PPC::BCDCTSQ_rec:
6957    case PPC::VCFSX_0:
6958    case PPC::VCFUX_0:
6959    case PPC::VCLZB:
6960    case PPC::VCLZD:
6961    case PPC::VCLZH:
6962    case PPC::VCLZW:
6963    case PPC::VCTSXS_0:
6964    case PPC::VCTUXS_0:
6965    case PPC::VEXPTEFP:
6966    case PPC::VGBBD:
6967    case PPC::VLOGEFP:
6968    case PPC::VPOPCNTB:
6969    case PPC::VPOPCNTD:
6970    case PPC::VPOPCNTH:
6971    case PPC::VPOPCNTW:
6972    case PPC::VREFP:
6973    case PPC::VRFIM:
6974    case PPC::VRFIN:
6975    case PPC::VRFIP:
6976    case PPC::VRFIZ:
6977    case PPC::VRSQRTEFP:
6978    case PPC::VUPKHPX:
6979    case PPC::VUPKHSB:
6980    case PPC::VUPKHSH:
6981    case PPC::VUPKHSW:
6982    case PPC::VUPKLPX:
6983    case PPC::VUPKLSB:
6984    case PPC::VUPKLSH:
6985    case PPC::VUPKLSW: {
6986      // op: VD
6987      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
6988      op &= UINT64_C(31);
6989      op <<= 21;
6990      Value |= op;
6991      // op: VB
6992      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
6993      op &= UINT64_C(31);
6994      op <<= 11;
6995      Value |= op;
6996      break;
6997    }
6998    case PPC::BCDCFN_rec:
6999    case PPC::BCDCFSQ_rec:
7000    case PPC::BCDCFZ_rec:
7001    case PPC::BCDCTZ_rec:
7002    case PPC::BCDSETSGN_rec: {
7003      // op: VD
7004      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7005      op &= UINT64_C(31);
7006      op <<= 21;
7007      Value |= op;
7008      // op: VB
7009      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7010      op &= UINT64_C(31);
7011      op <<= 11;
7012      Value |= op;
7013      // op: PS
7014      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7015      op &= UINT64_C(1);
7016      op <<= 9;
7017      Value |= op;
7018      break;
7019    }
7020    case PPC::XSRQPI:
7021    case PPC::XSRQPIX:
7022    case PPC::XSRQPXP: {
7023      // op: VRT
7024      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7025      op &= UINT64_C(31);
7026      op <<= 21;
7027      Value |= op;
7028      // op: R
7029      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7030      op &= UINT64_C(1);
7031      op <<= 16;
7032      Value |= op;
7033      // op: VRB
7034      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7035      op &= UINT64_C(31);
7036      op <<= 11;
7037      Value |= op;
7038      // op: idx
7039      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7040      op &= UINT64_C(3);
7041      op <<= 9;
7042      Value |= op;
7043      break;
7044    }
7045    case PPC::VSLDBI:
7046    case PPC::VSRDBI: {
7047      // op: VRT
7048      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7049      op &= UINT64_C(31);
7050      op <<= 21;
7051      Value |= op;
7052      // op: VRA
7053      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7054      op &= UINT64_C(31);
7055      op <<= 16;
7056      Value |= op;
7057      // op: VRB
7058      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7059      op &= UINT64_C(31);
7060      op <<= 11;
7061      Value |= op;
7062      // op: SD
7063      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7064      op &= UINT64_C(7);
7065      op <<= 6;
7066      Value |= op;
7067      break;
7068    }
7069    case PPC::VSTRIBL:
7070    case PPC::VSTRIBL_rec:
7071    case PPC::VSTRIBR:
7072    case PPC::VSTRIBR_rec:
7073    case PPC::VSTRIHL:
7074    case PPC::VSTRIHL_rec:
7075    case PPC::VSTRIHR:
7076    case PPC::VSTRIHR_rec: {
7077      // op: VT
7078      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7079      op &= UINT64_C(31);
7080      op <<= 21;
7081      Value |= op;
7082      // op: VB
7083      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7084      op &= UINT64_C(31);
7085      op <<= 11;
7086      Value |= op;
7087      break;
7088    }
7089    case PPC::XXLEQVOnes:
7090    case PPC::XXLXORdpz:
7091    case PPC::XXLXORspz:
7092    case PPC::XXLXORz: {
7093      // op: XT
7094      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7095      Value |= (op & UINT64_C(31)) << 21;
7096      Value |= (op & UINT64_C(31)) << 16;
7097      Value |= (op & UINT64_C(31)) << 11;
7098      Value |= (op & UINT64_C(32)) >> 3;
7099      Value |= (op & UINT64_C(32)) >> 4;
7100      Value |= (op & UINT64_C(32)) >> 5;
7101      break;
7102    }
7103    case PPC::XXSPLTIDP:
7104    case PPC::XXSPLTIW: {
7105      // op: XT
7106      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7107      Value |= (op & UINT64_C(31)) << 21;
7108      Value |= (op & UINT64_C(32)) << 11;
7109      // op: IMM32
7110      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7111      Value |= (op & UINT64_C(4294901760)) << 16;
7112      Value |= (op & UINT64_C(65535));
7113      break;
7114    }
7115    case PPC::XXSPLTI32DX: {
7116      // op: XT
7117      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7118      Value |= (op & UINT64_C(31)) << 21;
7119      Value |= (op & UINT64_C(32)) << 11;
7120      // op: IX
7121      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7122      op &= UINT64_C(1);
7123      op <<= 17;
7124      Value |= op;
7125      // op: IMM32
7126      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7127      Value |= (op & UINT64_C(4294901760)) << 16;
7128      Value |= (op & UINT64_C(65535));
7129      break;
7130    }
7131    case PPC::LXV:
7132    case PPC::STXV: {
7133      // op: XT
7134      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7135      Value |= (op & UINT64_C(31)) << 21;
7136      Value |= (op & UINT64_C(32)) >> 2;
7137      // op: DS_RA
7138      op = getMemRIX16Encoding(MI, 1, Fixups, STI);
7139      op &= UINT64_C(131071);
7140      op <<= 4;
7141      Value |= op;
7142      break;
7143    }
7144    case PPC::MTVRD:
7145    case PPC::MTVRWA:
7146    case PPC::MTVRWZ:
7147    case PPC::MTVSRD:
7148    case PPC::MTVSRWA:
7149    case PPC::MTVSRWS:
7150    case PPC::MTVSRWZ: {
7151      // op: XT
7152      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7153      Value |= (op & UINT64_C(31)) << 21;
7154      Value |= (op & UINT64_C(32)) >> 5;
7155      // op: A
7156      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7157      op &= UINT64_C(31);
7158      op <<= 16;
7159      Value |= op;
7160      break;
7161    }
7162    case PPC::LXSDX:
7163    case PPC::LXSIBZX:
7164    case PPC::LXSIHZX:
7165    case PPC::LXSIWAX:
7166    case PPC::LXSIWZX:
7167    case PPC::LXSSPX:
7168    case PPC::LXVB16X:
7169    case PPC::LXVD2X:
7170    case PPC::LXVDSX:
7171    case PPC::LXVH8X:
7172    case PPC::LXVL:
7173    case PPC::LXVLL:
7174    case PPC::LXVRBX:
7175    case PPC::LXVRDX:
7176    case PPC::LXVRHX:
7177    case PPC::LXVRL:
7178    case PPC::LXVRLL:
7179    case PPC::LXVRWX:
7180    case PPC::LXVW4X:
7181    case PPC::LXVWSX:
7182    case PPC::LXVX:
7183    case PPC::MTVSRDD:
7184    case PPC::STXSDX:
7185    case PPC::STXSIBX:
7186    case PPC::STXSIBXv:
7187    case PPC::STXSIHX:
7188    case PPC::STXSIHXv:
7189    case PPC::STXSIWX:
7190    case PPC::STXSSPX:
7191    case PPC::STXVB16X:
7192    case PPC::STXVD2X:
7193    case PPC::STXVH8X:
7194    case PPC::STXVL:
7195    case PPC::STXVLL:
7196    case PPC::STXVRBX:
7197    case PPC::STXVRDX:
7198    case PPC::STXVRHX:
7199    case PPC::STXVRL:
7200    case PPC::STXVRLL:
7201    case PPC::STXVRWX:
7202    case PPC::STXVW4X:
7203    case PPC::STXVX:
7204    case PPC::XSIEXPDP: {
7205      // op: XT
7206      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7207      Value |= (op & UINT64_C(31)) << 21;
7208      Value |= (op & UINT64_C(32)) >> 5;
7209      // op: A
7210      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7211      op &= UINT64_C(31);
7212      op <<= 16;
7213      Value |= op;
7214      // op: B
7215      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7216      op &= UINT64_C(31);
7217      op <<= 11;
7218      Value |= op;
7219      break;
7220    }
7221    case PPC::XVTSTDCDP:
7222    case PPC::XVTSTDCSP: {
7223      // op: XT
7224      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7225      Value |= (op & UINT64_C(31)) << 21;
7226      Value |= (op & UINT64_C(32)) >> 5;
7227      // op: DCMX
7228      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7229      Value |= (op & UINT64_C(31)) << 16;
7230      Value |= (op & UINT64_C(64));
7231      Value |= (op & UINT64_C(32)) >> 3;
7232      // op: XB
7233      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7234      Value |= (op & UINT64_C(31)) << 11;
7235      Value |= (op & UINT64_C(32)) >> 4;
7236      break;
7237    }
7238    case PPC::XXSPLTIB: {
7239      // op: XT
7240      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7241      Value |= (op & UINT64_C(31)) << 21;
7242      Value |= (op & UINT64_C(32)) >> 5;
7243      // op: IMM8
7244      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7245      op &= UINT64_C(255);
7246      op <<= 11;
7247      Value |= op;
7248      break;
7249    }
7250    case PPC::LXVKQ: {
7251      // op: XT
7252      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7253      Value |= (op & UINT64_C(31)) << 21;
7254      Value |= (op & UINT64_C(32)) >> 5;
7255      // op: UIM
7256      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7257      op &= UINT64_C(31);
7258      op <<= 11;
7259      Value |= op;
7260      break;
7261    }
7262    case PPC::XXGENPCVBM:
7263    case PPC::XXGENPCVDM:
7264    case PPC::XXGENPCVHM:
7265    case PPC::XXGENPCVWM: {
7266      // op: XT
7267      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7268      Value |= (op & UINT64_C(31)) << 21;
7269      Value |= (op & UINT64_C(32)) >> 5;
7270      // op: VRB
7271      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7272      op &= UINT64_C(31);
7273      op <<= 11;
7274      Value |= op;
7275      // op: IMM
7276      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7277      op &= UINT64_C(31);
7278      op <<= 16;
7279      Value |= op;
7280      break;
7281    }
7282    case PPC::XXPERMDIs:
7283    case PPC::XXSLDWIs: {
7284      // op: XT
7285      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7286      Value |= (op & UINT64_C(31)) << 21;
7287      Value |= (op & UINT64_C(32)) >> 5;
7288      // op: XA
7289      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7290      Value |= (op & UINT64_C(31)) << 16;
7291      Value |= (op & UINT64_C(31)) << 11;
7292      Value |= (op & UINT64_C(32)) >> 3;
7293      Value |= (op & UINT64_C(32)) >> 4;
7294      // op: D
7295      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7296      op &= UINT64_C(3);
7297      op <<= 8;
7298      Value |= op;
7299      break;
7300    }
7301    case PPC::XSADDDP:
7302    case PPC::XSADDSP:
7303    case PPC::XSCMPEQDP:
7304    case PPC::XSCMPGEDP:
7305    case PPC::XSCMPGTDP:
7306    case PPC::XSCPSGNDP:
7307    case PPC::XSDIVDP:
7308    case PPC::XSDIVSP:
7309    case PPC::XSMAXCDP:
7310    case PPC::XSMAXDP:
7311    case PPC::XSMAXJDP:
7312    case PPC::XSMINCDP:
7313    case PPC::XSMINDP:
7314    case PPC::XSMINJDP:
7315    case PPC::XSMULDP:
7316    case PPC::XSMULSP:
7317    case PPC::XSSUBDP:
7318    case PPC::XSSUBSP:
7319    case PPC::XVADDDP:
7320    case PPC::XVADDSP:
7321    case PPC::XVCMPEQDP:
7322    case PPC::XVCMPEQDP_rec:
7323    case PPC::XVCMPEQSP:
7324    case PPC::XVCMPEQSP_rec:
7325    case PPC::XVCMPGEDP:
7326    case PPC::XVCMPGEDP_rec:
7327    case PPC::XVCMPGESP:
7328    case PPC::XVCMPGESP_rec:
7329    case PPC::XVCMPGTDP:
7330    case PPC::XVCMPGTDP_rec:
7331    case PPC::XVCMPGTSP:
7332    case PPC::XVCMPGTSP_rec:
7333    case PPC::XVCPSGNDP:
7334    case PPC::XVCPSGNSP:
7335    case PPC::XVDIVDP:
7336    case PPC::XVDIVSP:
7337    case PPC::XVIEXPDP:
7338    case PPC::XVIEXPSP:
7339    case PPC::XVMAXDP:
7340    case PPC::XVMAXSP:
7341    case PPC::XVMINDP:
7342    case PPC::XVMINSP:
7343    case PPC::XVMULDP:
7344    case PPC::XVMULSP:
7345    case PPC::XVSUBDP:
7346    case PPC::XVSUBSP:
7347    case PPC::XXLAND:
7348    case PPC::XXLANDC:
7349    case PPC::XXLEQV:
7350    case PPC::XXLNAND:
7351    case PPC::XXLNOR:
7352    case PPC::XXLOR:
7353    case PPC::XXLORC:
7354    case PPC::XXLORf:
7355    case PPC::XXLXOR:
7356    case PPC::XXMRGHW:
7357    case PPC::XXMRGLW: {
7358      // op: XT
7359      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7360      Value |= (op & UINT64_C(31)) << 21;
7361      Value |= (op & UINT64_C(32)) >> 5;
7362      // op: XA
7363      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7364      Value |= (op & UINT64_C(31)) << 16;
7365      Value |= (op & UINT64_C(32)) >> 3;
7366      // op: XB
7367      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7368      Value |= (op & UINT64_C(31)) << 11;
7369      Value |= (op & UINT64_C(32)) >> 4;
7370      break;
7371    }
7372    case PPC::XXPERMDI:
7373    case PPC::XXSLDWI: {
7374      // op: XT
7375      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7376      Value |= (op & UINT64_C(31)) << 21;
7377      Value |= (op & UINT64_C(32)) >> 5;
7378      // op: XA
7379      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7380      Value |= (op & UINT64_C(31)) << 16;
7381      Value |= (op & UINT64_C(32)) >> 3;
7382      // op: XB
7383      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7384      Value |= (op & UINT64_C(31)) << 11;
7385      Value |= (op & UINT64_C(32)) >> 4;
7386      // op: D
7387      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7388      op &= UINT64_C(3);
7389      op <<= 8;
7390      Value |= op;
7391      break;
7392    }
7393    case PPC::XXBLENDVB:
7394    case PPC::XXBLENDVD:
7395    case PPC::XXBLENDVH:
7396    case PPC::XXBLENDVW:
7397    case PPC::XXSEL: {
7398      // op: XT
7399      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7400      Value |= (op & UINT64_C(31)) << 21;
7401      Value |= (op & UINT64_C(32)) >> 5;
7402      // op: XA
7403      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7404      Value |= (op & UINT64_C(31)) << 16;
7405      Value |= (op & UINT64_C(32)) >> 3;
7406      // op: XB
7407      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7408      Value |= (op & UINT64_C(31)) << 11;
7409      Value |= (op & UINT64_C(32)) >> 4;
7410      // op: XC
7411      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7412      Value |= (op & UINT64_C(31)) << 6;
7413      Value |= (op & UINT64_C(32)) >> 2;
7414      break;
7415    }
7416    case PPC::XXEVAL: {
7417      // op: XT
7418      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7419      Value |= (op & UINT64_C(31)) << 21;
7420      Value |= (op & UINT64_C(32)) >> 5;
7421      // op: XA
7422      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7423      Value |= (op & UINT64_C(31)) << 16;
7424      Value |= (op & UINT64_C(32)) >> 3;
7425      // op: XB
7426      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7427      Value |= (op & UINT64_C(31)) << 11;
7428      Value |= (op & UINT64_C(32)) >> 4;
7429      // op: XC
7430      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7431      Value |= (op & UINT64_C(31)) << 6;
7432      Value |= (op & UINT64_C(32)) >> 2;
7433      // op: IMM
7434      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
7435      op &= UINT64_C(255);
7436      op <<= 32;
7437      Value |= op;
7438      break;
7439    }
7440    case PPC::XXPERMX: {
7441      // op: XT
7442      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7443      Value |= (op & UINT64_C(31)) << 21;
7444      Value |= (op & UINT64_C(32)) >> 5;
7445      // op: XA
7446      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7447      Value |= (op & UINT64_C(31)) << 16;
7448      Value |= (op & UINT64_C(32)) >> 3;
7449      // op: XB
7450      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7451      Value |= (op & UINT64_C(31)) << 11;
7452      Value |= (op & UINT64_C(32)) >> 4;
7453      // op: XC
7454      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7455      Value |= (op & UINT64_C(31)) << 6;
7456      Value |= (op & UINT64_C(32)) >> 2;
7457      // op: IMM
7458      op = getMachineOpValue(MI, MI.getOperand(4), Fixups, STI);
7459      op &= UINT64_C(7);
7460      op <<= 32;
7461      Value |= op;
7462      break;
7463    }
7464    case PPC::XXPERM:
7465    case PPC::XXPERMR: {
7466      // op: XT
7467      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7468      Value |= (op & UINT64_C(31)) << 21;
7469      Value |= (op & UINT64_C(32)) >> 5;
7470      // op: XA
7471      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7472      Value |= (op & UINT64_C(31)) << 16;
7473      Value |= (op & UINT64_C(32)) >> 3;
7474      // op: XB
7475      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7476      Value |= (op & UINT64_C(31)) << 11;
7477      Value |= (op & UINT64_C(32)) >> 4;
7478      break;
7479    }
7480    case PPC::XSMADDADP:
7481    case PPC::XSMADDASP:
7482    case PPC::XSMADDMDP:
7483    case PPC::XSMADDMSP:
7484    case PPC::XSMSUBADP:
7485    case PPC::XSMSUBASP:
7486    case PPC::XSMSUBMDP:
7487    case PPC::XSMSUBMSP:
7488    case PPC::XSNMADDADP:
7489    case PPC::XSNMADDASP:
7490    case PPC::XSNMADDMDP:
7491    case PPC::XSNMADDMSP:
7492    case PPC::XSNMSUBADP:
7493    case PPC::XSNMSUBASP:
7494    case PPC::XSNMSUBMDP:
7495    case PPC::XSNMSUBMSP:
7496    case PPC::XVMADDADP:
7497    case PPC::XVMADDASP:
7498    case PPC::XVMADDMDP:
7499    case PPC::XVMADDMSP:
7500    case PPC::XVMSUBADP:
7501    case PPC::XVMSUBASP:
7502    case PPC::XVMSUBMDP:
7503    case PPC::XVMSUBMSP:
7504    case PPC::XVNMADDADP:
7505    case PPC::XVNMADDASP:
7506    case PPC::XVNMADDMDP:
7507    case PPC::XVNMADDMSP:
7508    case PPC::XVNMSUBADP:
7509    case PPC::XVNMSUBASP:
7510    case PPC::XVNMSUBMDP:
7511    case PPC::XVNMSUBMSP: {
7512      // op: XT
7513      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7514      Value |= (op & UINT64_C(31)) << 21;
7515      Value |= (op & UINT64_C(32)) >> 5;
7516      // op: XA
7517      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7518      Value |= (op & UINT64_C(31)) << 16;
7519      Value |= (op & UINT64_C(32)) >> 3;
7520      // op: XB
7521      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7522      Value |= (op & UINT64_C(31)) << 11;
7523      Value |= (op & UINT64_C(32)) >> 4;
7524      break;
7525    }
7526    case PPC::XSABSDP:
7527    case PPC::XSCVDPHP:
7528    case PPC::XSCVDPSP:
7529    case PPC::XSCVDPSPN:
7530    case PPC::XSCVDPSXDS:
7531    case PPC::XSCVDPSXDSs:
7532    case PPC::XSCVDPSXWS:
7533    case PPC::XSCVDPSXWSs:
7534    case PPC::XSCVDPUXDS:
7535    case PPC::XSCVDPUXDSs:
7536    case PPC::XSCVDPUXWS:
7537    case PPC::XSCVDPUXWSs:
7538    case PPC::XSCVHPDP:
7539    case PPC::XSCVSPDP:
7540    case PPC::XSCVSPDPN:
7541    case PPC::XSCVSXDDP:
7542    case PPC::XSCVSXDSP:
7543    case PPC::XSCVUXDDP:
7544    case PPC::XSCVUXDSP:
7545    case PPC::XSNABSDP:
7546    case PPC::XSNABSDPs:
7547    case PPC::XSNEGDP:
7548    case PPC::XSRDPI:
7549    case PPC::XSRDPIC:
7550    case PPC::XSRDPIM:
7551    case PPC::XSRDPIP:
7552    case PPC::XSRDPIZ:
7553    case PPC::XSREDP:
7554    case PPC::XSRESP:
7555    case PPC::XSRSP:
7556    case PPC::XSRSQRTEDP:
7557    case PPC::XSRSQRTESP:
7558    case PPC::XSSQRTDP:
7559    case PPC::XSSQRTSP:
7560    case PPC::XVABSDP:
7561    case PPC::XVABSSP:
7562    case PPC::XVCVBF16SPN:
7563    case PPC::XVCVDPSP:
7564    case PPC::XVCVDPSXDS:
7565    case PPC::XVCVDPSXWS:
7566    case PPC::XVCVDPUXDS:
7567    case PPC::XVCVDPUXWS:
7568    case PPC::XVCVHPSP:
7569    case PPC::XVCVSPBF16:
7570    case PPC::XVCVSPDP:
7571    case PPC::XVCVSPHP:
7572    case PPC::XVCVSPSXDS:
7573    case PPC::XVCVSPSXWS:
7574    case PPC::XVCVSPUXDS:
7575    case PPC::XVCVSPUXWS:
7576    case PPC::XVCVSXDDP:
7577    case PPC::XVCVSXDSP:
7578    case PPC::XVCVSXWDP:
7579    case PPC::XVCVSXWSP:
7580    case PPC::XVCVUXDDP:
7581    case PPC::XVCVUXDSP:
7582    case PPC::XVCVUXWDP:
7583    case PPC::XVCVUXWSP:
7584    case PPC::XVNABSDP:
7585    case PPC::XVNABSSP:
7586    case PPC::XVNEGDP:
7587    case PPC::XVNEGSP:
7588    case PPC::XVRDPI:
7589    case PPC::XVRDPIC:
7590    case PPC::XVRDPIM:
7591    case PPC::XVRDPIP:
7592    case PPC::XVRDPIZ:
7593    case PPC::XVREDP:
7594    case PPC::XVRESP:
7595    case PPC::XVRSPI:
7596    case PPC::XVRSPIC:
7597    case PPC::XVRSPIM:
7598    case PPC::XVRSPIP:
7599    case PPC::XVRSPIZ:
7600    case PPC::XVRSQRTEDP:
7601    case PPC::XVRSQRTESP:
7602    case PPC::XVSQRTDP:
7603    case PPC::XVSQRTSP:
7604    case PPC::XVXEXPDP:
7605    case PPC::XVXEXPSP:
7606    case PPC::XVXSIGDP:
7607    case PPC::XVXSIGSP:
7608    case PPC::XXBRD:
7609    case PPC::XXBRH:
7610    case PPC::XXBRQ:
7611    case PPC::XXBRW: {
7612      // op: XT
7613      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7614      Value |= (op & UINT64_C(31)) << 21;
7615      Value |= (op & UINT64_C(32)) >> 5;
7616      // op: XB
7617      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7618      Value |= (op & UINT64_C(31)) << 11;
7619      Value |= (op & UINT64_C(32)) >> 4;
7620      break;
7621    }
7622    case PPC::XXSPLTW:
7623    case PPC::XXSPLTWs: {
7624      // op: XT
7625      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7626      Value |= (op & UINT64_C(31)) << 21;
7627      Value |= (op & UINT64_C(32)) >> 5;
7628      // op: XB
7629      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7630      Value |= (op & UINT64_C(31)) << 11;
7631      Value |= (op & UINT64_C(32)) >> 4;
7632      // op: D
7633      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7634      op &= UINT64_C(3);
7635      op <<= 16;
7636      Value |= op;
7637      break;
7638    }
7639    case PPC::XXEXTRACTUW: {
7640      // op: XT
7641      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7642      Value |= (op & UINT64_C(31)) << 21;
7643      Value |= (op & UINT64_C(32)) >> 5;
7644      // op: XB
7645      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7646      Value |= (op & UINT64_C(31)) << 11;
7647      Value |= (op & UINT64_C(32)) >> 4;
7648      // op: UIM5
7649      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7650      op &= UINT64_C(31);
7651      op <<= 16;
7652      Value |= op;
7653      break;
7654    }
7655    case PPC::XXINSERTW: {
7656      // op: XT
7657      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7658      Value |= (op & UINT64_C(31)) << 21;
7659      Value |= (op & UINT64_C(32)) >> 5;
7660      // op: XB
7661      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7662      Value |= (op & UINT64_C(31)) << 11;
7663      Value |= (op & UINT64_C(32)) >> 4;
7664      // op: UIM5
7665      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7666      op &= UINT64_C(31);
7667      op <<= 16;
7668      Value |= op;
7669      break;
7670    }
7671    case PPC::PLXV:
7672    case PPC::PSTXV: {
7673      // op: XT
7674      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7675      op &= UINT64_C(63);
7676      op <<= 21;
7677      Value |= op;
7678      // op: D_RA
7679      op = getMemRI34Encoding(MI, 1, Fixups, STI);
7680      Value |= (op & UINT64_C(17179803648)) << 16;
7681      Value |= (op & UINT64_C(532575944704)) >> 18;
7682      Value |= (op & UINT64_C(65535));
7683      break;
7684    }
7685    case PPC::PLXVpc:
7686    case PPC::PSTXVpc: {
7687      // op: XT
7688      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7689      op &= UINT64_C(63);
7690      op <<= 21;
7691      Value |= op;
7692      // op: D_RA
7693      op = getMemRI34PCRelEncoding(MI, 1, Fixups, STI);
7694      Value |= (op & UINT64_C(17179803648)) << 16;
7695      Value |= (op & UINT64_C(532575944704)) >> 18;
7696      Value |= (op & UINT64_C(65535));
7697      break;
7698    }
7699    case PPC::MFVRD:
7700    case PPC::MFVRWZ:
7701    case PPC::MFVSRD:
7702    case PPC::MFVSRLD:
7703    case PPC::MFVSRWZ: {
7704      // op: XT
7705      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7706      Value |= (op & UINT64_C(31)) << 21;
7707      Value |= (op & UINT64_C(32)) >> 5;
7708      // op: A
7709      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7710      op &= UINT64_C(31);
7711      op <<= 16;
7712      Value |= op;
7713      break;
7714    }
7715    case PPC::LXVPRL:
7716    case PPC::LXVPRLL:
7717    case PPC::LXVPX:
7718    case PPC::STXVPRL:
7719    case PPC::STXVPRLL:
7720    case PPC::STXVPX: {
7721      // op: XTp
7722      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7723      Value |= (op & UINT64_C(15)) << 22;
7724      Value |= (op & UINT64_C(16)) << 17;
7725      // op: A
7726      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7727      op &= UINT64_C(31);
7728      op <<= 16;
7729      Value |= op;
7730      // op: B
7731      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7732      op &= UINT64_C(31);
7733      op <<= 11;
7734      Value |= op;
7735      break;
7736    }
7737    case PPC::LXVP:
7738    case PPC::STXVP: {
7739      // op: XTp
7740      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7741      Value |= (op & UINT64_C(15)) << 22;
7742      Value |= (op & UINT64_C(16)) << 17;
7743      // op: DQ_RA
7744      op = getMemRIX16Encoding(MI, 1, Fixups, STI);
7745      op &= UINT64_C(131071);
7746      op <<= 4;
7747      Value |= op;
7748      break;
7749    }
7750    case PPC::PLXVP:
7751    case PPC::PSTXVP: {
7752      // op: XTp
7753      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7754      Value |= (op & UINT64_C(15)) << 22;
7755      Value |= (op & UINT64_C(16)) << 17;
7756      // op: D_RA
7757      op = getMemRI34Encoding(MI, 1, Fixups, STI);
7758      Value |= (op & UINT64_C(17179803648)) << 16;
7759      Value |= (op & UINT64_C(532575944704)) >> 18;
7760      Value |= (op & UINT64_C(65535));
7761      break;
7762    }
7763    case PPC::PLXVPpc:
7764    case PPC::PSTXVPpc: {
7765      // op: XTp
7766      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7767      Value |= (op & UINT64_C(15)) << 22;
7768      Value |= (op & UINT64_C(16)) << 17;
7769      // op: D_RA
7770      op = getMemRI34PCRelEncoding(MI, 1, Fixups, STI);
7771      Value |= (op & UINT64_C(17179803648)) << 16;
7772      Value |= (op & UINT64_C(532575944704)) >> 18;
7773      Value |= (op & UINT64_C(65535));
7774      break;
7775    }
7776    case PPC::EFDCMPEQ:
7777    case PPC::EFDCMPGT:
7778    case PPC::EFDCMPLT:
7779    case PPC::EFDTSTEQ:
7780    case PPC::EFDTSTGT:
7781    case PPC::EFDTSTLT:
7782    case PPC::EFSCMPEQ:
7783    case PPC::EFSCMPGT:
7784    case PPC::EFSCMPLT:
7785    case PPC::EFSTSTEQ:
7786    case PPC::EFSTSTGT:
7787    case PPC::EFSTSTLT:
7788    case PPC::EVCMPEQ:
7789    case PPC::EVCMPGTS:
7790    case PPC::EVCMPGTU:
7791    case PPC::EVCMPLTS:
7792    case PPC::EVCMPLTU:
7793    case PPC::EVFSCMPEQ:
7794    case PPC::EVFSCMPGT:
7795    case PPC::EVFSCMPLT:
7796    case PPC::EVFSTSTEQ:
7797    case PPC::EVFSTSTGT:
7798    case PPC::EVFSTSTLT: {
7799      // op: crD
7800      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7801      op &= UINT64_C(7);
7802      op <<= 23;
7803      Value |= op;
7804      // op: RA
7805      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7806      op &= UINT64_C(31);
7807      op <<= 16;
7808      Value |= op;
7809      // op: RB
7810      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7811      op &= UINT64_C(31);
7812      op <<= 11;
7813      Value |= op;
7814      break;
7815    }
7816    case PPC::EVSEL: {
7817      // op: crD
7818      op = getMachineOpValue(MI, MI.getOperand(3), Fixups, STI);
7819      op &= UINT64_C(7);
7820      Value |= op;
7821      // op: RA
7822      op = getMachineOpValue(MI, MI.getOperand(1), Fixups, STI);
7823      op &= UINT64_C(31);
7824      op <<= 16;
7825      Value |= op;
7826      // op: RB
7827      op = getMachineOpValue(MI, MI.getOperand(2), Fixups, STI);
7828      op &= UINT64_C(31);
7829      op <<= 11;
7830      Value |= op;
7831      // op: RT
7832      op = getMachineOpValue(MI, MI.getOperand(0), Fixups, STI);
7833      op &= UINT64_C(31);
7834      op <<= 21;
7835      Value |= op;
7836      break;
7837    }
7838  default:
7839    std::string msg;
7840    raw_string_ostream Msg(msg);
7841    Msg << "Not supported instr: " << MI;
7842    report_fatal_error(Msg.str().c_str());
7843  }
7844  return Value;
7845}
7846
7847