~louis/ubuntu/trusty/clamav/lp799623_fix_logrotate

« back to all changes in this revision

Viewing changes to libclamav/c++/PPCGenCodeEmitter.inc

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-03-12 11:30:04 UTC
  • mfrom: (0.41.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20100312113004-b0fop4bkycszdd0z
Tags: 0.96~rc1+dfsg-0ubuntu1
* New upstream RC - FFE (LP: #537636):
  - Add OfficialDatabaseOnly option to clamav-base.postinst.in
  - Add LocalSocketGroup option to clamav-base.postinst.in
  - Add LocalSocketMode option to clamav-base.postinst.in
  - Add CrossFilesystems option to clamav-base.postinst.in
  - Add ClamukoScannerCount option to clamav-base.postinst.in
  - Add BytecodeSecurity opiton to clamav-base.postinst.in
  - Add DetectionStatsHostID option to clamav-freshclam.postinst.in
  - Add Bytecode option to clamav-freshclam.postinst.in
  - Add MilterSocketGroup option to clamav-milter.postinst.in
  - Add MilterSocketMode option to clamav-milter.postinst.in
  - Add ReportHostname option to clamav-milter.postinst.in
  - Bump libclamav SO version to 6.1.0 in libclamav6.install
  - Drop clamdmon from clamav.examples (no longer shipped by upstream)
  - Drop libclamav.a from libclamav-dev.install (not built by upstream)
  - Update SO version for lintian override for libclamav6
  - Add new Bytecode Testing Tool, usr/bin/clambc, to clamav.install
  - Add build-depends on python and python-setuptools for new test suite
  - Update debian/copyright for the embedded copy of llvm (using the system
    llvm is not currently feasible)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===- TableGen'erated file -------------------------------------*- C++ -*-===//
 
2
//
 
3
// Machine Code Emitter
 
4
//
 
5
// Automatically generated file, do not edit!
 
6
//
 
7
//===----------------------------------------------------------------------===//
 
8
 
 
9
unsigned PPCCodeEmitter::getBinaryCodeForInstr(const MachineInstr &MI) {
 
10
  static const unsigned InstBits[] = {
 
11
    0U,
 
12
    0U,
 
13
    0U,
 
14
    0U,
 
15
    0U,
 
16
    0U,
 
17
    0U,
 
18
    0U,
 
19
    0U,
 
20
    0U,
 
21
    0U,
 
22
    0U,
 
23
    2080375316U,        // ADD4
 
24
    2080375316U,        // ADD8
 
25
    2080374804U,        // ADDC
 
26
    2080374804U,        // ADDC8
 
27
    2080375060U,        // ADDE
 
28
    2080375060U,        // ADDE8
 
29
    939524096U, // ADDI
 
30
    939524096U, // ADDI8
 
31
    805306368U, // ADDIC
 
32
    805306368U, // ADDIC8
 
33
    872415232U, // ADDICo
 
34
    1006632960U,        // ADDIS
 
35
    1006632960U,        // ADDIS8
 
36
    2080375252U,        // ADDME
 
37
    2080375252U,        // ADDME8
 
38
    2080375188U,        // ADDZE
 
39
    2080375188U,        // ADDZE8
 
40
    0U, // ADJCALLSTACKDOWN
 
41
    0U, // ADJCALLSTACKUP
 
42
    2080374840U,        // AND
 
43
    2080374840U,        // AND8
 
44
    2080374904U,        // ANDC
 
45
    2080374904U,        // ANDC8
 
46
    1946157056U,        // ANDISo
 
47
    1946157056U,        // ANDISo8
 
48
    1879048192U,        // ANDIo
 
49
    1879048192U,        // ANDIo8
 
50
    0U, // ATOMIC_CMP_SWAP_I16
 
51
    0U, // ATOMIC_CMP_SWAP_I32
 
52
    0U, // ATOMIC_CMP_SWAP_I64
 
53
    0U, // ATOMIC_CMP_SWAP_I8
 
54
    0U, // ATOMIC_LOAD_ADD_I16
 
55
    0U, // ATOMIC_LOAD_ADD_I32
 
56
    0U, // ATOMIC_LOAD_ADD_I64
 
57
    0U, // ATOMIC_LOAD_ADD_I8
 
58
    0U, // ATOMIC_LOAD_AND_I16
 
59
    0U, // ATOMIC_LOAD_AND_I32
 
60
    0U, // ATOMIC_LOAD_AND_I64
 
61
    0U, // ATOMIC_LOAD_AND_I8
 
62
    0U, // ATOMIC_LOAD_NAND_I16
 
63
    0U, // ATOMIC_LOAD_NAND_I32
 
64
    0U, // ATOMIC_LOAD_NAND_I64
 
65
    0U, // ATOMIC_LOAD_NAND_I8
 
66
    0U, // ATOMIC_LOAD_OR_I16
 
67
    0U, // ATOMIC_LOAD_OR_I32
 
68
    0U, // ATOMIC_LOAD_OR_I64
 
69
    0U, // ATOMIC_LOAD_OR_I8
 
70
    0U, // ATOMIC_LOAD_SUB_I16
 
71
    0U, // ATOMIC_LOAD_SUB_I32
 
72
    0U, // ATOMIC_LOAD_SUB_I64
 
73
    0U, // ATOMIC_LOAD_SUB_I8
 
74
    0U, // ATOMIC_LOAD_XOR_I16
 
75
    0U, // ATOMIC_LOAD_XOR_I32
 
76
    0U, // ATOMIC_LOAD_XOR_I64
 
77
    0U, // ATOMIC_LOAD_XOR_I8
 
78
    0U, // ATOMIC_SWAP_I16
 
79
    0U, // ATOMIC_SWAP_I32
 
80
    0U, // ATOMIC_SWAP_I64
 
81
    0U, // ATOMIC_SWAP_I8
 
82
    1207959552U,        // B
 
83
    1073741824U,        // BCC
 
84
    1317012512U,        // BCTR
 
85
    1317012513U,        // BCTRL8_Darwin
 
86
    1317012513U,        // BCTRL8_ELF
 
87
    1317012513U,        // BCTRL_Darwin
 
88
    1317012513U,        // BCTRL_SVR4
 
89
    1207959553U,        // BL8_Darwin
 
90
    1207959553U,        // BL8_ELF
 
91
    1207959555U,        // BLA8_Darwin
 
92
    1207959555U,        // BLA8_ELF
 
93
    1207959555U,        // BLA_Darwin
 
94
    1207959555U,        // BLA_SVR4
 
95
    1275068448U,        // BLR
 
96
    1207959553U,        // BL_Darwin
 
97
    1207959553U,        // BL_SVR4
 
98
    2082471936U,        // CMPD
 
99
    740294656U, // CMPDI
 
100
    2082472000U,        // CMPLD
 
101
    673185792U, // CMPLDI
 
102
    2080374848U,        // CMPLW
 
103
    671088640U, // CMPLWI
 
104
    2080374784U,        // CMPW
 
105
    738197504U, // CMPWI
 
106
    2080374900U,        // CNTLZD
 
107
    2080374836U,        // CNTLZW
 
108
    1275068994U,        // CREQV
 
109
    1275069314U,        // CROR
 
110
    1275068994U,        // CRSET
 
111
    2080376300U,        // DCBA
 
112
    2080374956U,        // DCBF
 
113
    2080375724U,        // DCBI
 
114
    2080374892U,        // DCBST
 
115
    2080375340U,        // DCBT
 
116
    2080375276U,        // DCBTST
 
117
    2080376812U,        // DCBZ
 
118
    2082473964U,        // DCBZL
 
119
    2080375762U,        // DIVD
 
120
    2080375698U,        // DIVDU
 
121
    2080375766U,        // DIVW
 
122
    2080375702U,        // DIVWU
 
123
    2080376428U,        // DSS
 
124
    2080376428U,        // DSSALL
 
125
    2080375468U,        // DST
 
126
    2080375468U,        // DST64
 
127
    2080375532U,        // DSTST
 
128
    2080375532U,        // DSTST64
 
129
    2080375532U,        // DSTSTT
 
130
    2080375532U,        // DSTSTT64
 
131
    2080375468U,        // DSTT
 
132
    2080375468U,        // DSTT64
 
133
    0U, // DYNALLOC
 
134
    0U, // DYNALLOC8
 
135
    2080375352U,        // EQV
 
136
    2080375352U,        // EQV8
 
137
    2080376692U,        // EXTSB
 
138
    2080376692U,        // EXTSB8
 
139
    2080376628U,        // EXTSH
 
140
    2080376628U,        // EXTSH8
 
141
    2080376756U,        // EXTSW
 
142
    2080376756U,        // EXTSW_32
 
143
    2080376756U,        // EXTSW_32_64
 
144
    4227858960U,        // FABSD
 
145
    4227858960U,        // FABSS
 
146
    4227858474U,        // FADD
 
147
    3959423018U,        // FADDS
 
148
    4227858474U,        // FADDrtz
 
149
    4227860124U,        // FCFID
 
150
    4227858432U,        // FCMPUD
 
151
    4227858432U,        // FCMPUS
 
152
    4227860062U,        // FCTIDZ
 
153
    4227858462U,        // FCTIWZ
 
154
    4227858468U,        // FDIV
 
155
    3959423012U,        // FDIVS
 
156
    4227858490U,        // FMADD
 
157
    3959423034U,        // FMADDS
 
158
    4227858576U,        // FMR
 
159
    4227858576U,        // FMRSD
 
160
    4227858488U,        // FMSUB
 
161
    3959423032U,        // FMSUBS
 
162
    4227858482U,        // FMUL
 
163
    3959423026U,        // FMULS
 
164
    4227858704U,        // FNABSD
 
165
    4227858704U,        // FNABSS
 
166
    4227858512U,        // FNEGD
 
167
    4227858512U,        // FNEGS
 
168
    4227858494U,        // FNMADD
 
169
    3959423038U,        // FNMADDS
 
170
    4227858492U,        // FNMSUB
 
171
    3959423036U,        // FNMSUBS
 
172
    4227858456U,        // FRSP
 
173
    4227858478U,        // FSELD
 
174
    4227858478U,        // FSELS
 
175
    4227858476U,        // FSQRT
 
176
    3959423020U,        // FSQRTS
 
177
    4227858472U,        // FSUB
 
178
    3959423016U,        // FSUBS
 
179
    939524096U, // LA
 
180
    2281701376U,        // LBZ
 
181
    2281701376U,        // LBZ8
 
182
    2348810240U,        // LBZU
 
183
    2348810240U,        // LBZU8
 
184
    2080374958U,        // LBZX
 
185
    2080374958U,        // LBZX8
 
186
    3892314112U,        // LD
 
187
    2080374952U,        // LDARX
 
188
    3892314113U,        // LDU
 
189
    2080374826U,        // LDX
 
190
    3896508448U,        // LDinto_toc
 
191
    3892314112U,        // LDtoc
 
192
    3896574112U,        // LDtoc_restore
 
193
    3355443200U,        // LFD
 
194
    3422552064U,        // LFDU
 
195
    2080375982U,        // LFDX
 
196
    3221225472U,        // LFS
 
197
    3288334336U,        // LFSU
 
198
    2080375854U,        // LFSX
 
199
    2818572288U,        // LHA
 
200
    2818572288U,        // LHA8
 
201
    2885681152U,        // LHAU
 
202
    2885681152U,        // LHAU8
 
203
    2080375470U,        // LHAX
 
204
    2080375470U,        // LHAX8
 
205
    2080376364U,        // LHBRX
 
206
    2684354560U,        // LHZ
 
207
    2684354560U,        // LHZ8
 
208
    2751463424U,        // LHZU
 
209
    2751463424U,        // LHZU8
 
210
    2080375342U,        // LHZX
 
211
    2080375342U,        // LHZX8
 
212
    939524096U, // LI
 
213
    939524096U, // LI8
 
214
    1006632960U,        // LIS
 
215
    1006632960U,        // LIS8
 
216
    2080374798U,        // LVEBX
 
217
    2080374862U,        // LVEHX
 
218
    2080374926U,        // LVEWX
 
219
    2080374796U,        // LVSL
 
220
    2080374860U,        // LVSR
 
221
    2080374990U,        // LVX
 
222
    2080375502U,        // LVXL
 
223
    3892314114U,        // LWA
 
224
    2080374824U,        // LWARX
 
225
    2080375466U,        // LWAX
 
226
    2080375852U,        // LWBRX
 
227
    2147483648U,        // LWZ
 
228
    2147483648U,        // LWZ8
 
229
    2214592512U,        // LWZU
 
230
    2214592512U,        // LWZU8
 
231
    2080374830U,        // LWZX
 
232
    2080374830U,        // LWZX8
 
233
    1275068416U,        // MCRF
 
234
    2080374822U,        // MFCR
 
235
    2080965286U,        // MFCTR
 
236
    2080965286U,        // MFCTR8
 
237
    4227859598U,        // MFFS
 
238
    2080899750U,        // MFLR
 
239
    2080899750U,        // MFLR8
 
240
    2081423398U,        // MFOCRF
 
241
    2080391846U,        // MFVRSAVE
 
242
    268436996U, // MFVSCR
 
243
    2080375072U,        // MTCRF
 
244
    2080965542U,        // MTCTR
 
245
    2080965542U,        // MTCTR8
 
246
    4227858572U,        // MTFSB0
 
247
    4227858508U,        // MTFSB1
 
248
    4227859854U,        // MTFSF
 
249
    2080900006U,        // MTLR
 
250
    2080900006U,        // MTLR8
 
251
    2080392102U,        // MTVRSAVE
 
252
    268437060U, // MTVSCR
 
253
    2080374930U,        // MULHD
 
254
    2080374802U,        // MULHDU
 
255
    2080374934U,        // MULHW
 
256
    2080374806U,        // MULHWU
 
257
    2080375250U,        // MULLD
 
258
    469762048U, // MULLI
 
259
    2080375254U,        // MULLW
 
260
    0U, // MovePCtoLR
 
261
    0U, // MovePCtoLR8
 
262
    2080375736U,        // NAND
 
263
    2080375736U,        // NAND8
 
264
    2080374992U,        // NEG
 
265
    2080374992U,        // NEG8
 
266
    1610612736U,        // NOP
 
267
    2080375032U,        // NOR
 
268
    2080375032U,        // NOR8
 
269
    2080375672U,        // OR
 
270
    2080375672U,        // OR4To8
 
271
    2080375672U,        // OR8
 
272
    2080375672U,        // OR8To4
 
273
    2080375608U,        // ORC
 
274
    2080375608U,        // ORC8
 
275
    1610612736U,        // ORI
 
276
    1610612736U,        // ORI8
 
277
    1677721600U,        // ORIS
 
278
    1677721600U,        // ORIS8
 
279
    2013265920U,        // RLDCL
 
280
    2013265920U,        // RLDICL
 
281
    2013265924U,        // RLDICR
 
282
    2013265932U,        // RLDIMI
 
283
    1342177280U,        // RLWIMI
 
284
    1409286144U,        // RLWINM
 
285
    1409286145U,        // RLWINMo
 
286
    1543503872U,        // RLWNM
 
287
    0U, // SELECT_CC_F4
 
288
    0U, // SELECT_CC_F8
 
289
    0U, // SELECT_CC_I4
 
290
    0U, // SELECT_CC_I8
 
291
    0U, // SELECT_CC_VRRC
 
292
    2080374838U,        // SLD
 
293
    2080374832U,        // SLW
 
294
    0U, // SPILL_CR
 
295
    2080376372U,        // SRAD
 
296
    2080376436U,        // SRADI
 
297
    2080376368U,        // SRAW
 
298
    2080376432U,        // SRAWI
 
299
    2080375862U,        // SRD
 
300
    2080375856U,        // SRW
 
301
    2550136832U,        // STB
 
302
    2550136832U,        // STB8
 
303
    2617245696U,        // STBU
 
304
    2550136832U,        // STBU8
 
305
    2080375214U,        // STBX
 
306
    2080375214U,        // STBX8
 
307
    4160749568U,        // STD
 
308
    2080375213U,        // STDCX
 
309
    4160749569U,        // STDU
 
310
    2080375146U,        // STDUX
 
311
    2080375082U,        // STDX
 
312
    2080375082U,        // STDX_32
 
313
    4160749568U,        // STD_32
 
314
    3623878656U,        // STFD
 
315
    2483027968U,        // STFDU
 
316
    2080376238U,        // STFDX
 
317
    2080376750U,        // STFIWX
 
318
    3489660928U,        // STFS
 
319
    2483027968U,        // STFSU
 
320
    2080376110U,        // STFSX
 
321
    2952790016U,        // STH
 
322
    2952790016U,        // STH8
 
323
    2080376620U,        // STHBRX
 
324
    3019898880U,        // STHU
 
325
    3019898880U,        // STHU8
 
326
    2080375598U,        // STHX
 
327
    2080375598U,        // STHX8
 
328
    2080375054U,        // STVEBX
 
329
    2080375118U,        // STVEHX
 
330
    2080375182U,        // STVEWX
 
331
    2080375246U,        // STVX
 
332
    2080375758U,        // STVXL
 
333
    2415919104U,        // STW
 
334
    2415919104U,        // STW8
 
335
    2080376108U,        // STWBRX
 
336
    2080375085U,        // STWCX
 
337
    2483027968U,        // STWU
 
338
    2080375150U,        // STWUX
 
339
    2080375086U,        // STWX
 
340
    2080375086U,        // STWX8
 
341
    2080374864U,        // SUBF
 
342
    2080374864U,        // SUBF8
 
343
    2080374800U,        // SUBFC
 
344
    2080374800U,        // SUBFC8
 
345
    2080375056U,        // SUBFE
 
346
    2080375056U,        // SUBFE8
 
347
    536870912U, // SUBFIC
 
348
    536870912U, // SUBFIC8
 
349
    2080375248U,        // SUBFME
 
350
    2080375248U,        // SUBFME8
 
351
    2080375184U,        // SUBFZE
 
352
    2080375184U,        // SUBFZE8
 
353
    2080375980U,        // SYNC
 
354
    1207959552U,        // TAILB
 
355
    1207959552U,        // TAILB8
 
356
    1207959552U,        // TAILBA
 
357
    1207959552U,        // TAILBA8
 
358
    1317012512U,        // TAILBCTR
 
359
    1317012512U,        // TAILBCTR8
 
360
    0U, // TCRETURNai
 
361
    0U, // TCRETURNai8
 
362
    0U, // TCRETURNdi
 
363
    0U, // TCRETURNdi8
 
364
    0U, // TCRETURNri
 
365
    0U, // TCRETURNri8
 
366
    2145386504U,        // TRAP
 
367
    0U, // UPDATE_VRSAVE
 
368
    268435840U, // VADDCUW
 
369
    268435466U, // VADDFP
 
370
    268436224U, // VADDSBS
 
371
    268436288U, // VADDSHS
 
372
    268436352U, // VADDSWS
 
373
    268435456U, // VADDUBM
 
374
    268435968U, // VADDUBS
 
375
    268435520U, // VADDUHM
 
376
    268436032U, // VADDUHS
 
377
    268435584U, // VADDUWM
 
378
    268436096U, // VADDUWS
 
379
    268436484U, // VAND
 
380
    268436548U, // VANDC
 
381
    268436738U, // VAVGSB
 
382
    268436802U, // VAVGSH
 
383
    268436866U, // VAVGSW
 
384
    268436482U, // VAVGUB
 
385
    268436546U, // VAVGUH
 
386
    268436610U, // VAVGUW
 
387
    268436298U, // VCFSX
 
388
    268436234U, // VCFUX
 
389
    268436422U, // VCMPBFP
 
390
    268437446U, // VCMPBFPo
 
391
    268435654U, // VCMPEQFP
 
392
    268436678U, // VCMPEQFPo
 
393
    268435462U, // VCMPEQUB
 
394
    268436486U, // VCMPEQUBo
 
395
    268435526U, // VCMPEQUH
 
396
    268436550U, // VCMPEQUHo
 
397
    268435590U, // VCMPEQUW
 
398
    268436614U, // VCMPEQUWo
 
399
    268435910U, // VCMPGEFP
 
400
    268436934U, // VCMPGEFPo
 
401
    268436166U, // VCMPGTFP
 
402
    268437190U, // VCMPGTFPo
 
403
    268436230U, // VCMPGTSB
 
404
    268437254U, // VCMPGTSBo
 
405
    268436294U, // VCMPGTSH
 
406
    268437318U, // VCMPGTSHo
 
407
    268436358U, // VCMPGTSW
 
408
    268437382U, // VCMPGTSWo
 
409
    268435974U, // VCMPGTUB
 
410
    268436998U, // VCMPGTUBo
 
411
    268436038U, // VCMPGTUH
 
412
    268437062U, // VCMPGTUHo
 
413
    268436102U, // VCMPGTUW
 
414
    268437126U, // VCMPGTUWo
 
415
    268436426U, // VCTSXS
 
416
    268436362U, // VCTUXS
 
417
    268435850U, // VEXPTEFP
 
418
    268435914U, // VLOGEFP
 
419
    268435502U, // VMADDFP
 
420
    268436490U, // VMAXFP
 
421
    268435714U, // VMAXSB
 
422
    268435778U, // VMAXSH
 
423
    268435842U, // VMAXSW
 
424
    268435458U, // VMAXUB
 
425
    268435522U, // VMAXUH
 
426
    268435586U, // VMAXUW
 
427
    268435488U, // VMHADDSHS
 
428
    268435489U, // VMHRADDSHS
 
429
    268436554U, // VMINFP
 
430
    268436226U, // VMINSB
 
431
    268436290U, // VMINSH
 
432
    268436354U, // VMINSW
 
433
    268435970U, // VMINUB
 
434
    268436034U, // VMINUH
 
435
    268436098U, // VMINUW
 
436
    268435490U, // VMLADDUHM
 
437
    268435468U, // VMRGHB
 
438
    268435532U, // VMRGHH
 
439
    268435596U, // VMRGHW
 
440
    268435724U, // VMRGLB
 
441
    268435788U, // VMRGLH
 
442
    268435852U, // VMRGLW
 
443
    268435493U, // VMSUMMBM
 
444
    268435496U, // VMSUMSHM
 
445
    268435497U, // VMSUMSHS
 
446
    268435492U, // VMSUMUBM
 
447
    268435494U, // VMSUMUHM
 
448
    268435495U, // VMSUMUHS
 
449
    268436232U, // VMULESB
 
450
    268436296U, // VMULESH
 
451
    268435976U, // VMULEUB
 
452
    268436040U, // VMULEUH
 
453
    268435720U, // VMULOSB
 
454
    268435784U, // VMULOSH
 
455
    268435464U, // VMULOUB
 
456
    268435528U, // VMULOUH
 
457
    268435503U, // VNMSUBFP
 
458
    268436740U, // VNOR
 
459
    268436612U, // VOR
 
460
    268435499U, // VPERM
 
461
    268436238U, // VPKPX
 
462
    268435854U, // VPKSHSS
 
463
    268435726U, // VPKSHUS
 
464
    268435918U, // VPKSWSS
 
465
    268435790U, // VPKSWUS
 
466
    268435470U, // VPKUHUM
 
467
    268435598U, // VPKUHUS
 
468
    268435534U, // VPKUWUM
 
469
    268435662U, // VPKUWUS
 
470
    268435722U, // VREFP
 
471
    268436170U, // VRFIM
 
472
    268435978U, // VRFIN
 
473
    268436106U, // VRFIP
 
474
    268436042U, // VRFIZ
 
475
    268435460U, // VRLB
 
476
    268435524U, // VRLH
 
477
    268435588U, // VRLW
 
478
    268435786U, // VRSQRTEFP
 
479
    268435498U, // VSEL
 
480
    268435908U, // VSL
 
481
    268435716U, // VSLB
 
482
    268435500U, // VSLDOI
 
483
    268435780U, // VSLH
 
484
    268436492U, // VSLO
 
485
    268435844U, // VSLW
 
486
    268435980U, // VSPLTB
 
487
    268436044U, // VSPLTH
 
488
    268436236U, // VSPLTISB
 
489
    268436300U, // VSPLTISH
 
490
    268436364U, // VSPLTISW
 
491
    268436108U, // VSPLTW
 
492
    268436164U, // VSR
 
493
    268436228U, // VSRAB
 
494
    268436292U, // VSRAH
 
495
    268436356U, // VSRAW
 
496
    268435972U, // VSRB
 
497
    268436036U, // VSRH
 
498
    268436556U, // VSRO
 
499
    268436100U, // VSRW
 
500
    268435530U, // VSUBCUW
 
501
    268435530U, // VSUBFP
 
502
    268437248U, // VSUBSBS
 
503
    268437312U, // VSUBSHS
 
504
    268437376U, // VSUBSWS
 
505
    268436480U, // VSUBUBM
 
506
    268436992U, // VSUBUBS
 
507
    268436544U, // VSUBUHM
 
508
    268437056U, // VSUBUHS
 
509
    268436608U, // VSUBUWM
 
510
    268437120U, // VSUBUWS
 
511
    268437128U, // VSUM2SWS
 
512
    268437128U, // VSUM4SBS
 
513
    268437064U, // VSUM4SHS
 
514
    268437000U, // VSUM4UBS
 
515
    268437384U, // VSUMSWS
 
516
    268436302U, // VUPKHPX
 
517
    268435982U, // VUPKHSB
 
518
    268436046U, // VUPKHSH
 
519
    268436430U, // VUPKLPX
 
520
    268436110U, // VUPKLSB
 
521
    268436174U, // VUPKLSH
 
522
    268436676U, // VXOR
 
523
    268436676U, // V_SET0
 
524
    2080375416U,        // XOR
 
525
    2080375416U,        // XOR8
 
526
    1744830464U,        // XORI
 
527
    1744830464U,        // XORI8
 
528
    1811939328U,        // XORIS
 
529
    1811939328U,        // XORIS8
 
530
    0U
 
531
  };
 
532
  const unsigned opcode = MI.getOpcode();
 
533
  unsigned Value = InstBits[opcode];
 
534
  unsigned op = 0;
 
535
  op = op;  // suppress warning
 
536
  switch (opcode) {
 
537
    case PPC::ADJCALLSTACKDOWN:
 
538
    case PPC::ADJCALLSTACKUP:
 
539
    case PPC::ATOMIC_CMP_SWAP_I16:
 
540
    case PPC::ATOMIC_CMP_SWAP_I32:
 
541
    case PPC::ATOMIC_CMP_SWAP_I64:
 
542
    case PPC::ATOMIC_CMP_SWAP_I8:
 
543
    case PPC::ATOMIC_LOAD_ADD_I16:
 
544
    case PPC::ATOMIC_LOAD_ADD_I32:
 
545
    case PPC::ATOMIC_LOAD_ADD_I64:
 
546
    case PPC::ATOMIC_LOAD_ADD_I8:
 
547
    case PPC::ATOMIC_LOAD_AND_I16:
 
548
    case PPC::ATOMIC_LOAD_AND_I32:
 
549
    case PPC::ATOMIC_LOAD_AND_I64:
 
550
    case PPC::ATOMIC_LOAD_AND_I8:
 
551
    case PPC::ATOMIC_LOAD_NAND_I16:
 
552
    case PPC::ATOMIC_LOAD_NAND_I32:
 
553
    case PPC::ATOMIC_LOAD_NAND_I64:
 
554
    case PPC::ATOMIC_LOAD_NAND_I8:
 
555
    case PPC::ATOMIC_LOAD_OR_I16:
 
556
    case PPC::ATOMIC_LOAD_OR_I32:
 
557
    case PPC::ATOMIC_LOAD_OR_I64:
 
558
    case PPC::ATOMIC_LOAD_OR_I8:
 
559
    case PPC::ATOMIC_LOAD_SUB_I16:
 
560
    case PPC::ATOMIC_LOAD_SUB_I32:
 
561
    case PPC::ATOMIC_LOAD_SUB_I64:
 
562
    case PPC::ATOMIC_LOAD_SUB_I8:
 
563
    case PPC::ATOMIC_LOAD_XOR_I16:
 
564
    case PPC::ATOMIC_LOAD_XOR_I32:
 
565
    case PPC::ATOMIC_LOAD_XOR_I64:
 
566
    case PPC::ATOMIC_LOAD_XOR_I8:
 
567
    case PPC::ATOMIC_SWAP_I16:
 
568
    case PPC::ATOMIC_SWAP_I32:
 
569
    case PPC::ATOMIC_SWAP_I64:
 
570
    case PPC::ATOMIC_SWAP_I8:
 
571
    case PPC::BCTR:
 
572
    case PPC::BCTRL8_Darwin:
 
573
    case PPC::BCTRL8_ELF:
 
574
    case PPC::BCTRL_Darwin:
 
575
    case PPC::BCTRL_SVR4:
 
576
    case PPC::DYNALLOC:
 
577
    case PPC::DYNALLOC8:
 
578
    case PPC::LDtoc_restore:
 
579
    case PPC::MovePCtoLR:
 
580
    case PPC::MovePCtoLR8:
 
581
    case PPC::NOP:
 
582
    case PPC::SELECT_CC_F4:
 
583
    case PPC::SELECT_CC_F8:
 
584
    case PPC::SELECT_CC_I4:
 
585
    case PPC::SELECT_CC_I8:
 
586
    case PPC::SELECT_CC_VRRC:
 
587
    case PPC::SPILL_CR:
 
588
    case PPC::SYNC:
 
589
    case PPC::TAILBCTR:
 
590
    case PPC::TAILBCTR8:
 
591
    case PPC::TCRETURNai:
 
592
    case PPC::TCRETURNai8:
 
593
    case PPC::TCRETURNdi:
 
594
    case PPC::TCRETURNdi8:
 
595
    case PPC::TCRETURNri:
 
596
    case PPC::TCRETURNri8:
 
597
    case PPC::TRAP:
 
598
    case PPC::UPDATE_VRSAVE: {
 
599
      break;
 
600
    }
 
601
    case PPC::DCBA:
 
602
    case PPC::DCBF:
 
603
    case PPC::DCBI:
 
604
    case PPC::DCBST:
 
605
    case PPC::DCBT:
 
606
    case PPC::DCBTST:
 
607
    case PPC::DCBZ:
 
608
    case PPC::DCBZL: {
 
609
      // op: A
 
610
      op = getMachineOpValue(MI, MI.getOperand(0));
 
611
      Value |= (op & 31U) << 16;
 
612
      // op: B
 
613
      op = getMachineOpValue(MI, MI.getOperand(1));
 
614
      Value |= (op & 31U) << 11;
 
615
      break;
 
616
    }
 
617
    case PPC::SRADI: {
 
618
      // op: A
 
619
      op = getMachineOpValue(MI, MI.getOperand(0));
 
620
      Value |= (op & 31U) << 16;
 
621
      // op: RS
 
622
      op = getMachineOpValue(MI, MI.getOperand(1));
 
623
      Value |= (op & 31U) << 21;
 
624
      // op: SH
 
625
      op = getMachineOpValue(MI, MI.getOperand(2));
 
626
      Value |= (op & 31U) << 11;
 
627
      Value |= (op & 32U) >> 4;
 
628
      break;
 
629
    }
 
630
    case PPC::CNTLZD:
 
631
    case PPC::CNTLZW:
 
632
    case PPC::EXTSB:
 
633
    case PPC::EXTSB8:
 
634
    case PPC::EXTSH:
 
635
    case PPC::EXTSH8:
 
636
    case PPC::EXTSW:
 
637
    case PPC::EXTSW_32:
 
638
    case PPC::EXTSW_32_64: {
 
639
      // op: A
 
640
      op = getMachineOpValue(MI, MI.getOperand(0));
 
641
      Value |= (op & 31U) << 16;
 
642
      // op: RST
 
643
      op = getMachineOpValue(MI, MI.getOperand(1));
 
644
      Value |= (op & 31U) << 21;
 
645
      break;
 
646
    }
 
647
    case PPC::AND:
 
648
    case PPC::AND8:
 
649
    case PPC::ANDC:
 
650
    case PPC::ANDC8:
 
651
    case PPC::EQV:
 
652
    case PPC::EQV8:
 
653
    case PPC::NAND:
 
654
    case PPC::NAND8:
 
655
    case PPC::NOR:
 
656
    case PPC::NOR8:
 
657
    case PPC::OR:
 
658
    case PPC::OR4To8:
 
659
    case PPC::OR8:
 
660
    case PPC::OR8To4:
 
661
    case PPC::ORC:
 
662
    case PPC::ORC8:
 
663
    case PPC::SLD:
 
664
    case PPC::SLW:
 
665
    case PPC::SRAD:
 
666
    case PPC::SRAW:
 
667
    case PPC::SRAWI:
 
668
    case PPC::SRD:
 
669
    case PPC::SRW:
 
670
    case PPC::XOR:
 
671
    case PPC::XOR8: {
 
672
      // op: A
 
673
      op = getMachineOpValue(MI, MI.getOperand(0));
 
674
      Value |= (op & 31U) << 16;
 
675
      // op: RST
 
676
      op = getMachineOpValue(MI, MI.getOperand(1));
 
677
      Value |= (op & 31U) << 21;
 
678
      // op: B
 
679
      op = getMachineOpValue(MI, MI.getOperand(2));
 
680
      Value |= (op & 31U) << 11;
 
681
      break;
 
682
    }
 
683
    case PPC::ADDI:
 
684
    case PPC::ADDI8:
 
685
    case PPC::ADDIC:
 
686
    case PPC::ADDIC8:
 
687
    case PPC::ADDICo:
 
688
    case PPC::ADDIS:
 
689
    case PPC::ADDIS8:
 
690
    case PPC::LA:
 
691
    case PPC::MULLI:
 
692
    case PPC::SUBFIC:
 
693
    case PPC::SUBFIC8: {
 
694
      // op: A
 
695
      op = getMachineOpValue(MI, MI.getOperand(0));
 
696
      Value |= (op & 31U) << 21;
 
697
      // op: B
 
698
      op = getMachineOpValue(MI, MI.getOperand(1));
 
699
      Value |= (op & 31U) << 16;
 
700
      // op: C
 
701
      op = getMachineOpValue(MI, MI.getOperand(2));
 
702
      Value |= op & 65535U;
 
703
      break;
 
704
    }
 
705
    case PPC::LI:
 
706
    case PPC::LI8:
 
707
    case PPC::LIS:
 
708
    case PPC::LIS8: {
 
709
      // op: A
 
710
      op = getMachineOpValue(MI, MI.getOperand(0));
 
711
      Value |= (op & 31U) << 21;
 
712
      // op: B
 
713
      op = getMachineOpValue(MI, MI.getOperand(1));
 
714
      Value |= op & 65535U;
 
715
      break;
 
716
    }
 
717
    case PPC::LBZ:
 
718
    case PPC::LBZ8:
 
719
    case PPC::LFD:
 
720
    case PPC::LFS:
 
721
    case PPC::LHA:
 
722
    case PPC::LHA8:
 
723
    case PPC::LHZ:
 
724
    case PPC::LHZ8:
 
725
    case PPC::LWZ:
 
726
    case PPC::LWZ8:
 
727
    case PPC::STB:
 
728
    case PPC::STB8:
 
729
    case PPC::STFD:
 
730
    case PPC::STFS:
 
731
    case PPC::STH:
 
732
    case PPC::STH8:
 
733
    case PPC::STW:
 
734
    case PPC::STW8: {
 
735
      // op: A
 
736
      op = getMachineOpValue(MI, MI.getOperand(0));
 
737
      Value |= (op & 31U) << 21;
 
738
      // op: C
 
739
      op = getMachineOpValue(MI, MI.getOperand(1));
 
740
      Value |= op & 65535U;
 
741
      // op: B
 
742
      op = getMachineOpValue(MI, MI.getOperand(2));
 
743
      Value |= (op & 31U) << 16;
 
744
      break;
 
745
    }
 
746
    case PPC::LBZU:
 
747
    case PPC::LBZU8:
 
748
    case PPC::LFDU:
 
749
    case PPC::LFSU:
 
750
    case PPC::LHAU:
 
751
    case PPC::LHAU8:
 
752
    case PPC::LHZU:
 
753
    case PPC::LHZU8:
 
754
    case PPC::LWZU:
 
755
    case PPC::LWZU8: {
 
756
      // op: A
 
757
      op = getMachineOpValue(MI, MI.getOperand(0));
 
758
      Value |= (op & 31U) << 21;
 
759
      // op: C
 
760
      op = getMachineOpValue(MI, MI.getOperand(2));
 
761
      Value |= op & 65535U;
 
762
      // op: B
 
763
      op = getMachineOpValue(MI, MI.getOperand(3));
 
764
      Value |= (op & 31U) << 16;
 
765
      break;
 
766
    }
 
767
    case PPC::STBU:
 
768
    case PPC::STBU8:
 
769
    case PPC::STFDU:
 
770
    case PPC::STFSU:
 
771
    case PPC::STHU:
 
772
    case PPC::STHU8:
 
773
    case PPC::STWU: {
 
774
      // op: A
 
775
      op = getMachineOpValue(MI, MI.getOperand(1));
 
776
      Value |= (op & 31U) << 21;
 
777
      // op: C
 
778
      op = getMachineOpValue(MI, MI.getOperand(2));
 
779
      Value |= op & 65535U;
 
780
      // op: B
 
781
      op = getMachineOpValue(MI, MI.getOperand(3));
 
782
      Value |= (op & 31U) << 16;
 
783
      break;
 
784
    }
 
785
    case PPC::ANDISo:
 
786
    case PPC::ANDISo8:
 
787
    case PPC::ANDIo:
 
788
    case PPC::ANDIo8:
 
789
    case PPC::ORI:
 
790
    case PPC::ORI8:
 
791
    case PPC::ORIS:
 
792
    case PPC::ORIS8:
 
793
    case PPC::XORI:
 
794
    case PPC::XORI8:
 
795
    case PPC::XORIS:
 
796
    case PPC::XORIS8: {
 
797
      // op: B
 
798
      op = getMachineOpValue(MI, MI.getOperand(0));
 
799
      Value |= (op & 31U) << 16;
 
800
      // op: A
 
801
      op = getMachineOpValue(MI, MI.getOperand(1));
 
802
      Value |= (op & 31U) << 21;
 
803
      // op: C
 
804
      op = getMachineOpValue(MI, MI.getOperand(2));
 
805
      Value |= op & 65535U;
 
806
      break;
 
807
    }
 
808
    case PPC::MCRF: {
 
809
      // op: BF
 
810
      op = getMachineOpValue(MI, MI.getOperand(0));
 
811
      Value |= (op & 7U) << 23;
 
812
      // op: BFA
 
813
      op = getMachineOpValue(MI, MI.getOperand(1));
 
814
      Value |= (op & 7U) << 18;
 
815
      break;
 
816
    }
 
817
    case PPC::FCMPUD:
 
818
    case PPC::FCMPUS: {
 
819
      // op: BF
 
820
      op = getMachineOpValue(MI, MI.getOperand(0));
 
821
      Value |= (op & 7U) << 23;
 
822
      // op: FRA
 
823
      op = getMachineOpValue(MI, MI.getOperand(1));
 
824
      Value |= (op & 31U) << 16;
 
825
      // op: FRB
 
826
      op = getMachineOpValue(MI, MI.getOperand(2));
 
827
      Value |= (op & 31U) << 11;
 
828
      break;
 
829
    }
 
830
    case PPC::CMPDI:
 
831
    case PPC::CMPLDI:
 
832
    case PPC::CMPLWI:
 
833
    case PPC::CMPWI: {
 
834
      // op: BF
 
835
      op = getMachineOpValue(MI, MI.getOperand(0));
 
836
      Value |= (op & 7U) << 23;
 
837
      // op: RA
 
838
      op = getMachineOpValue(MI, MI.getOperand(1));
 
839
      Value |= (op & 31U) << 16;
 
840
      // op: I
 
841
      op = getMachineOpValue(MI, MI.getOperand(2));
 
842
      Value |= op & 65535U;
 
843
      break;
 
844
    }
 
845
    case PPC::CMPD:
 
846
    case PPC::CMPLD:
 
847
    case PPC::CMPLW:
 
848
    case PPC::CMPW: {
 
849
      // op: BF
 
850
      op = getMachineOpValue(MI, MI.getOperand(0));
 
851
      Value |= (op & 7U) << 23;
 
852
      // op: RA
 
853
      op = getMachineOpValue(MI, MI.getOperand(1));
 
854
      Value |= (op & 31U) << 16;
 
855
      // op: RB
 
856
      op = getMachineOpValue(MI, MI.getOperand(2));
 
857
      Value |= (op & 31U) << 11;
 
858
      break;
 
859
    }
 
860
    case PPC::BCC: {
 
861
      // op: BIBO
 
862
      op = getMachineOpValue(MI, MI.getOperand(0));
 
863
      Value |= (op & 31U) << 21;
 
864
      Value |= (op & 96U) << 11;
 
865
      // op: CR
 
866
      op = getMachineOpValue(MI, MI.getOperand(1));
 
867
      Value |= (op & 7U) << 18;
 
868
      // op: BD
 
869
      op = getMachineOpValue(MI, MI.getOperand(2));
 
870
      Value |= (op & 16383U) << 2;
 
871
      break;
 
872
    }
 
873
    case PPC::BLR: {
 
874
      // op: BIBO
 
875
      op = getMachineOpValue(MI, MI.getOperand(0));
 
876
      Value |= (op & 4U) << 23;
 
877
      Value |= (op & 8U) << 21;
 
878
      Value |= (op & 16U) << 19;
 
879
      Value |= (op & 32U) << 17;
 
880
      Value |= (op & 64U) << 15;
 
881
      Value |= (op & 3U) << 16;
 
882
      // op: CR
 
883
      op = getMachineOpValue(MI, MI.getOperand(1));
 
884
      Value |= (op & 1U) << 20;
 
885
      Value |= (op & 2U) << 18;
 
886
      Value |= (op & 4U) << 16;
 
887
      break;
 
888
    }
 
889
    case PPC::CREQV:
 
890
    case PPC::CROR: {
 
891
      // op: CRD
 
892
      op = getMachineOpValue(MI, MI.getOperand(0));
 
893
      Value |= (op & 31U) << 21;
 
894
      // op: CRA
 
895
      op = getMachineOpValue(MI, MI.getOperand(1));
 
896
      Value |= (op & 31U) << 16;
 
897
      // op: CRB
 
898
      op = getMachineOpValue(MI, MI.getOperand(2));
 
899
      Value |= (op & 31U) << 11;
 
900
      break;
 
901
    }
 
902
    case PPC::CRSET: {
 
903
      // op: CRD
 
904
      op = getMachineOpValue(MI, MI.getOperand(0));
 
905
      Value |= (op & 31U) << 21;
 
906
      Value |= (op & 31U) << 16;
 
907
      Value |= (op & 31U) << 11;
 
908
      break;
 
909
    }
 
910
    case PPC::MTFSF: {
 
911
      // op: FM
 
912
      op = getMachineOpValue(MI, MI.getOperand(0));
 
913
      Value |= (op & 255U) << 17;
 
914
      // op: RT
 
915
      op = getMachineOpValue(MI, MI.getOperand(1));
 
916
      Value |= (op & 31U) << 11;
 
917
      break;
 
918
    }
 
919
    case PPC::MTFSB0:
 
920
    case PPC::MTFSB1: {
 
921
      // op: FM
 
922
      op = getMachineOpValue(MI, MI.getOperand(0));
 
923
      Value |= (op & 31U) << 21;
 
924
      break;
 
925
    }
 
926
    case PPC::FADD:
 
927
    case PPC::FADDS:
 
928
    case PPC::FADDrtz:
 
929
    case PPC::FDIV:
 
930
    case PPC::FDIVS:
 
931
    case PPC::FSUB:
 
932
    case PPC::FSUBS: {
 
933
      // op: FRT
 
934
      op = getMachineOpValue(MI, MI.getOperand(0));
 
935
      Value |= (op & 31U) << 21;
 
936
      // op: FRA
 
937
      op = getMachineOpValue(MI, MI.getOperand(1));
 
938
      Value |= (op & 31U) << 16;
 
939
      // op: FRB
 
940
      op = getMachineOpValue(MI, MI.getOperand(2));
 
941
      Value |= (op & 31U) << 11;
 
942
      break;
 
943
    }
 
944
    case PPC::FMUL:
 
945
    case PPC::FMULS: {
 
946
      // op: FRT
 
947
      op = getMachineOpValue(MI, MI.getOperand(0));
 
948
      Value |= (op & 31U) << 21;
 
949
      // op: FRA
 
950
      op = getMachineOpValue(MI, MI.getOperand(1));
 
951
      Value |= (op & 31U) << 16;
 
952
      // op: FRC
 
953
      op = getMachineOpValue(MI, MI.getOperand(2));
 
954
      Value |= (op & 31U) << 6;
 
955
      break;
 
956
    }
 
957
    case PPC::FMADD:
 
958
    case PPC::FMADDS:
 
959
    case PPC::FMSUB:
 
960
    case PPC::FMSUBS:
 
961
    case PPC::FNMADD:
 
962
    case PPC::FNMADDS:
 
963
    case PPC::FNMSUB:
 
964
    case PPC::FNMSUBS:
 
965
    case PPC::FSELD:
 
966
    case PPC::FSELS: {
 
967
      // op: FRT
 
968
      op = getMachineOpValue(MI, MI.getOperand(0));
 
969
      Value |= (op & 31U) << 21;
 
970
      // op: FRA
 
971
      op = getMachineOpValue(MI, MI.getOperand(1));
 
972
      Value |= (op & 31U) << 16;
 
973
      // op: FRC
 
974
      op = getMachineOpValue(MI, MI.getOperand(2));
 
975
      Value |= (op & 31U) << 6;
 
976
      // op: FRB
 
977
      op = getMachineOpValue(MI, MI.getOperand(3));
 
978
      Value |= (op & 31U) << 11;
 
979
      break;
 
980
    }
 
981
    case PPC::MTCRF: {
 
982
      // op: FXM
 
983
      op = getMachineOpValue(MI, MI.getOperand(0));
 
984
      Value |= (op & 255U) << 12;
 
985
      // op: ST
 
986
      op = getMachineOpValue(MI, MI.getOperand(1));
 
987
      Value |= (op & 31U) << 21;
 
988
      break;
 
989
    }
 
990
    case PPC::B:
 
991
    case PPC::BL8_Darwin:
 
992
    case PPC::BL8_ELF:
 
993
    case PPC::BLA8_Darwin:
 
994
    case PPC::BLA8_ELF:
 
995
    case PPC::BLA_Darwin:
 
996
    case PPC::BLA_SVR4:
 
997
    case PPC::BL_Darwin:
 
998
    case PPC::BL_SVR4:
 
999
    case PPC::TAILB:
 
1000
    case PPC::TAILB8:
 
1001
    case PPC::TAILBA:
 
1002
    case PPC::TAILBA8: {
 
1003
      // op: LI
 
1004
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1005
      Value |= (op & 16777215U) << 2;
 
1006
      break;
 
1007
    }
 
1008
    case PPC::LDinto_toc: {
 
1009
      // op: RA
 
1010
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1011
      Value |= (op & 31U) << 16;
 
1012
      break;
 
1013
    }
 
1014
    case PPC::RLWINM:
 
1015
    case PPC::RLWINMo:
 
1016
    case PPC::RLWNM: {
 
1017
      // op: RA
 
1018
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1019
      Value |= (op & 31U) << 16;
 
1020
      // op: RS
 
1021
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1022
      Value |= (op & 31U) << 21;
 
1023
      // op: RB
 
1024
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1025
      Value |= (op & 31U) << 11;
 
1026
      // op: MB
 
1027
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1028
      Value |= (op & 31U) << 6;
 
1029
      // op: ME
 
1030
      op = getMachineOpValue(MI, MI.getOperand(4));
 
1031
      Value |= (op & 31U) << 1;
 
1032
      break;
 
1033
    }
 
1034
    case PPC::RLDCL:
 
1035
    case PPC::RLDICL:
 
1036
    case PPC::RLDICR: {
 
1037
      // op: RA
 
1038
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1039
      Value |= (op & 31U) << 16;
 
1040
      // op: RS
 
1041
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1042
      Value |= (op & 31U) << 21;
 
1043
      // op: SH
 
1044
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1045
      Value |= (op & 31U) << 11;
 
1046
      Value |= (op & 32U) >> 4;
 
1047
      // op: MBE
 
1048
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1049
      Value |= (op & 31U) << 6;
 
1050
      Value |= op & 32U;
 
1051
      break;
 
1052
    }
 
1053
    case PPC::RLWIMI: {
 
1054
      // op: RA
 
1055
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1056
      Value |= (op & 31U) << 16;
 
1057
      // op: RS
 
1058
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1059
      Value |= (op & 31U) << 21;
 
1060
      // op: RB
 
1061
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1062
      Value |= (op & 31U) << 11;
 
1063
      // op: MB
 
1064
      op = getMachineOpValue(MI, MI.getOperand(4));
 
1065
      Value |= (op & 31U) << 6;
 
1066
      // op: ME
 
1067
      op = getMachineOpValue(MI, MI.getOperand(5));
 
1068
      Value |= (op & 31U) << 1;
 
1069
      break;
 
1070
    }
 
1071
    case PPC::RLDIMI: {
 
1072
      // op: RA
 
1073
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1074
      Value |= (op & 31U) << 16;
 
1075
      // op: RS
 
1076
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1077
      Value |= (op & 31U) << 21;
 
1078
      // op: SH
 
1079
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1080
      Value |= (op & 31U) << 11;
 
1081
      Value |= (op & 32U) >> 4;
 
1082
      // op: MBE
 
1083
      op = getMachineOpValue(MI, MI.getOperand(4));
 
1084
      Value |= (op & 31U) << 6;
 
1085
      Value |= op & 32U;
 
1086
      break;
 
1087
    }
 
1088
    case PPC::MFFS: {
 
1089
      // op: RST
 
1090
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1091
      Value |= (op & 31U) << 21;
 
1092
      break;
 
1093
    }
 
1094
    case PPC::LBZX:
 
1095
    case PPC::LBZX8:
 
1096
    case PPC::LDARX:
 
1097
    case PPC::LDX:
 
1098
    case PPC::LFDX:
 
1099
    case PPC::LFSX:
 
1100
    case PPC::LHAX:
 
1101
    case PPC::LHAX8:
 
1102
    case PPC::LHBRX:
 
1103
    case PPC::LHZX:
 
1104
    case PPC::LHZX8:
 
1105
    case PPC::LVEBX:
 
1106
    case PPC::LVEHX:
 
1107
    case PPC::LVEWX:
 
1108
    case PPC::LVSL:
 
1109
    case PPC::LVSR:
 
1110
    case PPC::LVX:
 
1111
    case PPC::LVXL:
 
1112
    case PPC::LWARX:
 
1113
    case PPC::LWAX:
 
1114
    case PPC::LWBRX:
 
1115
    case PPC::LWZX:
 
1116
    case PPC::LWZX8:
 
1117
    case PPC::STBX:
 
1118
    case PPC::STBX8:
 
1119
    case PPC::STDCX:
 
1120
    case PPC::STDUX:
 
1121
    case PPC::STDX:
 
1122
    case PPC::STDX_32:
 
1123
    case PPC::STFDX:
 
1124
    case PPC::STFIWX:
 
1125
    case PPC::STFSX:
 
1126
    case PPC::STHBRX:
 
1127
    case PPC::STHX:
 
1128
    case PPC::STHX8:
 
1129
    case PPC::STVEBX:
 
1130
    case PPC::STVEHX:
 
1131
    case PPC::STVEWX:
 
1132
    case PPC::STVX:
 
1133
    case PPC::STVXL:
 
1134
    case PPC::STWBRX:
 
1135
    case PPC::STWCX:
 
1136
    case PPC::STWUX:
 
1137
    case PPC::STWX:
 
1138
    case PPC::STWX8: {
 
1139
      // op: RST
 
1140
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1141
      Value |= (op & 31U) << 21;
 
1142
      // op: A
 
1143
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1144
      Value |= (op & 31U) << 16;
 
1145
      // op: B
 
1146
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1147
      Value |= (op & 31U) << 11;
 
1148
      break;
 
1149
    }
 
1150
    case PPC::FABSD:
 
1151
    case PPC::FABSS:
 
1152
    case PPC::FCFID:
 
1153
    case PPC::FCTIDZ:
 
1154
    case PPC::FCTIWZ:
 
1155
    case PPC::FMR:
 
1156
    case PPC::FMRSD:
 
1157
    case PPC::FNABSD:
 
1158
    case PPC::FNABSS:
 
1159
    case PPC::FNEGD:
 
1160
    case PPC::FNEGS:
 
1161
    case PPC::FRSP:
 
1162
    case PPC::FSQRT:
 
1163
    case PPC::FSQRTS: {
 
1164
      // op: RST
 
1165
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1166
      Value |= (op & 31U) << 21;
 
1167
      // op: B
 
1168
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1169
      Value |= (op & 31U) << 11;
 
1170
      break;
 
1171
    }
 
1172
    case PPC::LD:
 
1173
    case PPC::LDtoc:
 
1174
    case PPC::LWA:
 
1175
    case PPC::STD:
 
1176
    case PPC::STD_32: {
 
1177
      // op: RST
 
1178
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1179
      Value |= (op & 31U) << 21;
 
1180
      // op: DS
 
1181
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1182
      Value |= (op & 16383U) << 2;
 
1183
      // op: RA
 
1184
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1185
      Value |= (op & 31U) << 16;
 
1186
      break;
 
1187
    }
 
1188
    case PPC::LDU: {
 
1189
      // op: RST
 
1190
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1191
      Value |= (op & 31U) << 21;
 
1192
      // op: DS
 
1193
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1194
      Value |= (op & 16383U) << 2;
 
1195
      // op: RA
 
1196
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1197
      Value |= (op & 31U) << 16;
 
1198
      break;
 
1199
    }
 
1200
    case PPC::STDU: {
 
1201
      // op: RST
 
1202
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1203
      Value |= (op & 31U) << 21;
 
1204
      // op: DS
 
1205
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1206
      Value |= (op & 16383U) << 2;
 
1207
      // op: RA
 
1208
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1209
      Value |= (op & 31U) << 16;
 
1210
      break;
 
1211
    }
 
1212
    case PPC::MFCR:
 
1213
    case PPC::MFCTR:
 
1214
    case PPC::MFCTR8:
 
1215
    case PPC::MFLR:
 
1216
    case PPC::MFLR8:
 
1217
    case PPC::MFVRSAVE:
 
1218
    case PPC::MTCTR:
 
1219
    case PPC::MTCTR8:
 
1220
    case PPC::MTLR:
 
1221
    case PPC::MTLR8:
 
1222
    case PPC::MTVRSAVE: {
 
1223
      // op: RT
 
1224
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1225
      Value |= (op & 31U) << 21;
 
1226
      break;
 
1227
    }
 
1228
    case PPC::ADDME:
 
1229
    case PPC::ADDME8:
 
1230
    case PPC::ADDZE:
 
1231
    case PPC::ADDZE8:
 
1232
    case PPC::NEG:
 
1233
    case PPC::NEG8:
 
1234
    case PPC::SUBFME:
 
1235
    case PPC::SUBFME8:
 
1236
    case PPC::SUBFZE:
 
1237
    case PPC::SUBFZE8: {
 
1238
      // op: RT
 
1239
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1240
      Value |= (op & 31U) << 21;
 
1241
      // op: RA
 
1242
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1243
      Value |= (op & 31U) << 16;
 
1244
      break;
 
1245
    }
 
1246
    case PPC::ADD4:
 
1247
    case PPC::ADD8:
 
1248
    case PPC::ADDC:
 
1249
    case PPC::ADDC8:
 
1250
    case PPC::ADDE:
 
1251
    case PPC::ADDE8:
 
1252
    case PPC::DIVD:
 
1253
    case PPC::DIVDU:
 
1254
    case PPC::DIVW:
 
1255
    case PPC::DIVWU:
 
1256
    case PPC::MULHD:
 
1257
    case PPC::MULHDU:
 
1258
    case PPC::MULHW:
 
1259
    case PPC::MULHWU:
 
1260
    case PPC::MULLD:
 
1261
    case PPC::MULLW:
 
1262
    case PPC::SUBF:
 
1263
    case PPC::SUBF8:
 
1264
    case PPC::SUBFC:
 
1265
    case PPC::SUBFC8:
 
1266
    case PPC::SUBFE:
 
1267
    case PPC::SUBFE8: {
 
1268
      // op: RT
 
1269
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1270
      Value |= (op & 31U) << 21;
 
1271
      // op: RA
 
1272
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1273
      Value |= (op & 31U) << 16;
 
1274
      // op: RB
 
1275
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1276
      Value |= (op & 31U) << 11;
 
1277
      break;
 
1278
    }
 
1279
    case PPC::MFOCRF: {
 
1280
      // op: ST
 
1281
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1282
      Value |= (op & 31U) << 21;
 
1283
      // op: FXM
 
1284
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1285
      Value |= (op & 255U) << 12;
 
1286
      break;
 
1287
    }
 
1288
    case PPC::DSS:
 
1289
    case PPC::DSSALL:
 
1290
    case PPC::DST:
 
1291
    case PPC::DST64:
 
1292
    case PPC::DSTST:
 
1293
    case PPC::DSTST64:
 
1294
    case PPC::DSTSTT:
 
1295
    case PPC::DSTSTT64:
 
1296
    case PPC::DSTT:
 
1297
    case PPC::DSTT64: {
 
1298
      // op: T
 
1299
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1300
      Value |= (op & 1U) << 25;
 
1301
      // op: STRM
 
1302
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1303
      Value |= (op & 3U) << 21;
 
1304
      // op: A
 
1305
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1306
      Value |= (op & 31U) << 16;
 
1307
      // op: B
 
1308
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1309
      Value |= (op & 31U) << 11;
 
1310
      break;
 
1311
    }
 
1312
    case PPC::MTVSCR: {
 
1313
      // op: VB
 
1314
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1315
      Value |= (op & 31U) << 11;
 
1316
      break;
 
1317
    }
 
1318
    case PPC::MFVSCR: {
 
1319
      // op: VD
 
1320
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1321
      Value |= (op & 31U) << 21;
 
1322
      break;
 
1323
    }
 
1324
    case PPC::VSPLTISB:
 
1325
    case PPC::VSPLTISH:
 
1326
    case PPC::VSPLTISW: {
 
1327
      // op: VD
 
1328
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1329
      Value |= (op & 31U) << 21;
 
1330
      // op: IMM
 
1331
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1332
      Value |= (op & 31U) << 16;
 
1333
      break;
 
1334
    }
 
1335
    case PPC::VADDCUW:
 
1336
    case PPC::VADDFP:
 
1337
    case PPC::VADDSBS:
 
1338
    case PPC::VADDSHS:
 
1339
    case PPC::VADDSWS:
 
1340
    case PPC::VADDUBM:
 
1341
    case PPC::VADDUBS:
 
1342
    case PPC::VADDUHM:
 
1343
    case PPC::VADDUHS:
 
1344
    case PPC::VADDUWM:
 
1345
    case PPC::VADDUWS:
 
1346
    case PPC::VAND:
 
1347
    case PPC::VANDC:
 
1348
    case PPC::VAVGSB:
 
1349
    case PPC::VAVGSH:
 
1350
    case PPC::VAVGSW:
 
1351
    case PPC::VAVGUB:
 
1352
    case PPC::VAVGUH:
 
1353
    case PPC::VAVGUW:
 
1354
    case PPC::VCFSX:
 
1355
    case PPC::VCFUX:
 
1356
    case PPC::VCMPBFP:
 
1357
    case PPC::VCMPBFPo:
 
1358
    case PPC::VCMPEQFP:
 
1359
    case PPC::VCMPEQFPo:
 
1360
    case PPC::VCMPEQUB:
 
1361
    case PPC::VCMPEQUBo:
 
1362
    case PPC::VCMPEQUH:
 
1363
    case PPC::VCMPEQUHo:
 
1364
    case PPC::VCMPEQUW:
 
1365
    case PPC::VCMPEQUWo:
 
1366
    case PPC::VCMPGEFP:
 
1367
    case PPC::VCMPGEFPo:
 
1368
    case PPC::VCMPGTFP:
 
1369
    case PPC::VCMPGTFPo:
 
1370
    case PPC::VCMPGTSB:
 
1371
    case PPC::VCMPGTSBo:
 
1372
    case PPC::VCMPGTSH:
 
1373
    case PPC::VCMPGTSHo:
 
1374
    case PPC::VCMPGTSW:
 
1375
    case PPC::VCMPGTSWo:
 
1376
    case PPC::VCMPGTUB:
 
1377
    case PPC::VCMPGTUBo:
 
1378
    case PPC::VCMPGTUH:
 
1379
    case PPC::VCMPGTUHo:
 
1380
    case PPC::VCMPGTUW:
 
1381
    case PPC::VCMPGTUWo:
 
1382
    case PPC::VCTSXS:
 
1383
    case PPC::VCTUXS:
 
1384
    case PPC::VMAXFP:
 
1385
    case PPC::VMAXSB:
 
1386
    case PPC::VMAXSH:
 
1387
    case PPC::VMAXSW:
 
1388
    case PPC::VMAXUB:
 
1389
    case PPC::VMAXUH:
 
1390
    case PPC::VMAXUW:
 
1391
    case PPC::VMINFP:
 
1392
    case PPC::VMINSB:
 
1393
    case PPC::VMINSH:
 
1394
    case PPC::VMINSW:
 
1395
    case PPC::VMINUB:
 
1396
    case PPC::VMINUH:
 
1397
    case PPC::VMINUW:
 
1398
    case PPC::VMRGHB:
 
1399
    case PPC::VMRGHH:
 
1400
    case PPC::VMRGHW:
 
1401
    case PPC::VMRGLB:
 
1402
    case PPC::VMRGLH:
 
1403
    case PPC::VMRGLW:
 
1404
    case PPC::VMULESB:
 
1405
    case PPC::VMULESH:
 
1406
    case PPC::VMULEUB:
 
1407
    case PPC::VMULEUH:
 
1408
    case PPC::VMULOSB:
 
1409
    case PPC::VMULOSH:
 
1410
    case PPC::VMULOUB:
 
1411
    case PPC::VMULOUH:
 
1412
    case PPC::VNOR:
 
1413
    case PPC::VOR:
 
1414
    case PPC::VPKPX:
 
1415
    case PPC::VPKSHSS:
 
1416
    case PPC::VPKSHUS:
 
1417
    case PPC::VPKSWSS:
 
1418
    case PPC::VPKSWUS:
 
1419
    case PPC::VPKUHUM:
 
1420
    case PPC::VPKUHUS:
 
1421
    case PPC::VPKUWUM:
 
1422
    case PPC::VPKUWUS:
 
1423
    case PPC::VRLB:
 
1424
    case PPC::VRLH:
 
1425
    case PPC::VRLW:
 
1426
    case PPC::VSL:
 
1427
    case PPC::VSLB:
 
1428
    case PPC::VSLH:
 
1429
    case PPC::VSLO:
 
1430
    case PPC::VSLW:
 
1431
    case PPC::VSPLTB:
 
1432
    case PPC::VSPLTH:
 
1433
    case PPC::VSPLTW:
 
1434
    case PPC::VSR:
 
1435
    case PPC::VSRAB:
 
1436
    case PPC::VSRAH:
 
1437
    case PPC::VSRAW:
 
1438
    case PPC::VSRB:
 
1439
    case PPC::VSRH:
 
1440
    case PPC::VSRO:
 
1441
    case PPC::VSRW:
 
1442
    case PPC::VSUBCUW:
 
1443
    case PPC::VSUBFP:
 
1444
    case PPC::VSUBSBS:
 
1445
    case PPC::VSUBSHS:
 
1446
    case PPC::VSUBSWS:
 
1447
    case PPC::VSUBUBM:
 
1448
    case PPC::VSUBUBS:
 
1449
    case PPC::VSUBUHM:
 
1450
    case PPC::VSUBUHS:
 
1451
    case PPC::VSUBUWM:
 
1452
    case PPC::VSUBUWS:
 
1453
    case PPC::VSUM2SWS:
 
1454
    case PPC::VSUM4SBS:
 
1455
    case PPC::VSUM4SHS:
 
1456
    case PPC::VSUM4UBS:
 
1457
    case PPC::VSUMSWS:
 
1458
    case PPC::VXOR: {
 
1459
      // op: VD
 
1460
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1461
      Value |= (op & 31U) << 21;
 
1462
      // op: VA
 
1463
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1464
      Value |= (op & 31U) << 16;
 
1465
      // op: VB
 
1466
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1467
      Value |= (op & 31U) << 11;
 
1468
      break;
 
1469
    }
 
1470
    case PPC::VSLDOI: {
 
1471
      // op: VD
 
1472
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1473
      Value |= (op & 31U) << 21;
 
1474
      // op: VA
 
1475
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1476
      Value |= (op & 31U) << 16;
 
1477
      // op: VB
 
1478
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1479
      Value |= (op & 31U) << 11;
 
1480
      // op: SH
 
1481
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1482
      Value |= (op & 15U) << 6;
 
1483
      break;
 
1484
    }
 
1485
    case PPC::VMHADDSHS:
 
1486
    case PPC::VMHRADDSHS:
 
1487
    case PPC::VMLADDUHM:
 
1488
    case PPC::VMSUMMBM:
 
1489
    case PPC::VMSUMSHM:
 
1490
    case PPC::VMSUMSHS:
 
1491
    case PPC::VMSUMUBM:
 
1492
    case PPC::VMSUMUHM:
 
1493
    case PPC::VMSUMUHS:
 
1494
    case PPC::VPERM:
 
1495
    case PPC::VSEL: {
 
1496
      // op: VD
 
1497
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1498
      Value |= (op & 31U) << 21;
 
1499
      // op: VA
 
1500
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1501
      Value |= (op & 31U) << 16;
 
1502
      // op: VB
 
1503
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1504
      Value |= (op & 31U) << 11;
 
1505
      // op: VC
 
1506
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1507
      Value |= (op & 31U) << 6;
 
1508
      break;
 
1509
    }
 
1510
    case PPC::VMADDFP:
 
1511
    case PPC::VNMSUBFP: {
 
1512
      // op: VD
 
1513
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1514
      Value |= (op & 31U) << 21;
 
1515
      // op: VA
 
1516
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1517
      Value |= (op & 31U) << 16;
 
1518
      // op: VC
 
1519
      op = getMachineOpValue(MI, MI.getOperand(2));
 
1520
      Value |= (op & 31U) << 6;
 
1521
      // op: VB
 
1522
      op = getMachineOpValue(MI, MI.getOperand(3));
 
1523
      Value |= (op & 31U) << 11;
 
1524
      break;
 
1525
    }
 
1526
    case PPC::VEXPTEFP:
 
1527
    case PPC::VLOGEFP:
 
1528
    case PPC::VREFP:
 
1529
    case PPC::VRFIM:
 
1530
    case PPC::VRFIN:
 
1531
    case PPC::VRFIP:
 
1532
    case PPC::VRFIZ:
 
1533
    case PPC::VRSQRTEFP:
 
1534
    case PPC::VUPKHPX:
 
1535
    case PPC::VUPKHSB:
 
1536
    case PPC::VUPKHSH:
 
1537
    case PPC::VUPKLPX:
 
1538
    case PPC::VUPKLSB:
 
1539
    case PPC::VUPKLSH: {
 
1540
      // op: VD
 
1541
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1542
      Value |= (op & 31U) << 21;
 
1543
      // op: VB
 
1544
      op = getMachineOpValue(MI, MI.getOperand(1));
 
1545
      Value |= (op & 31U) << 11;
 
1546
      break;
 
1547
    }
 
1548
    case PPC::V_SET0: {
 
1549
      // op: VD
 
1550
      op = getMachineOpValue(MI, MI.getOperand(0));
 
1551
      Value |= (op & 31U) << 21;
 
1552
      Value |= (op & 31U) << 16;
 
1553
      Value |= (op & 31U) << 11;
 
1554
      break;
 
1555
    }
 
1556
  default:
 
1557
    std::string msg;
 
1558
    raw_string_ostream Msg(msg);
 
1559
    Msg << "Not supported instr: " << MI;
 
1560
    llvm_report_error(Msg.str());
 
1561
  }
 
1562
  return Value;
 
1563
}
 
1564