summaryrefslogtreecommitdiff
path: root/compiler_and_linker/unsorted/OpcodeInfo.c
blob: 14d9032e5214ce825beb9995b3e9cabb95ad2976 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
#include "compiler/PCodeInfo.h"
#include "compiler/PCode.h"

OpcodeInfo opcodeinfo[] = {
    "B",          "l;p",           2,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x48000000,
    "BL",         "#,m;p",         2,  0, fIsCall | fLink | fCanLink | fCanBeAbsolute,                          0x48000001,
    "BC",         "B,Q,l;p",       5,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x40000000,
    "BCLR",       "B,Q;L",         4,  0, fIsBranch | fCanLink,                                                 0x4C000020,
    "BCCTR",      "B,Q;Cp",        5,  0, fIsBranch | fCanLink,                                                 0x4C000420,
    "BT",         "Q,l;p",         4,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x41800000,
    "BTLR",       "Q;L",           3,  0, fIsBranch | fCanLink,                                                 0x4D800020,
    "BTCTR",      "Q;Cp",          4,  0, fIsBranch | fCanLink,                                                 0x4D800420,
    "BF",         "Q,l;p",         4,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x40800000,
    "BFLR",       "Q;L",           3,  0, fIsBranch | fCanLink,                                                 0x4C800020,
    "BFCTR",      "Q;Cp",          4,  0, fIsBranch | fCanLink,                                                 0x4C800420,
    "BDNZ",       "l;Cp",          3,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x42000000,
    "BDNZT",      "Q,l;Cp",        4,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x41000000,
    "BDNZF",      "Q,l;Cp",        4,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x40000000,
    "BDZ",        "l;Cp",          2,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x42400000,
    "BDZT",       "Q,l;Cp",        4,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x41400000,
    "BDZF",       "Q,l;Cp",        4,  0, fIsBranch | fCanLink | fCanBeAbsolute,                                0x40400000,
    "BLR",        ";L",            1,  0, fIsBranch | fCanLink,                                                 0x4E800020,
    "BCTR",       ";Cmp",          3,  0, fIsBranch | fCanLink,                                                 0x4E800420,
    "BCTRL",      "#;C=L",         2,  0, fIsCall | fLink | fCanLink,                                           0x4E800421,
    "BLRL",       "#;+L",          1,  0, fIsCall | fLink | fCanLink,                                           0x4E800021,
    "LBZ",        "=r,d(b)",       3,  3, fIsRead,                                                              0x88000000,
    "LBZU",       "=r,d(+b)",      3,  3, fIsRead | fUpdatesPtr,                                                0x8C000000,
    "LBZX",       "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C0000AE,
    "LBZUX",      "=r,(+b,r)",     3,  3, fIsRead | fIsPtrOp | fUpdatesPtr,                                     0x7C0000EE,
    "LHZ",        "=r,d(b)",       3,  3, fIsRead,                                                              0xA0000000,
    "LHZU",       "=r,d(+b)",      3,  3, fIsRead | fUpdatesPtr,                                                0xA4000000,
    "LHZX",       "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C00022E,
    "LHZUX",      "=r,(+b,r)",     3,  3, fIsRead | fIsPtrOp | fUpdatesPtr,                                     0x7C00026E,
    "LHA",        "=r,d(b)",       3,  3, fIsRead,                                                              0xA8000000,
    "LHAU",       "=r,d(+b)",      3,  3, fIsRead | fUpdatesPtr,                                                0xAC000000,
    "LHAX",       "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C0002AE,
    "LHAUX",      "=r,(+b,r)",     3,  3, fIsRead | fIsPtrOp | fUpdatesPtr,                                     0x7C0002EE,
    "LHBRX",      "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C00062C,
    "LWZ",        "=r,d(b)",       3,  3, fIsRead,                                                              0x80000000,
    "LWZU",       "=r,d(+b)",      3,  3, fIsRead | fUpdatesPtr,                                                0x84000000,
    "LWZX",       "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C00002E,
    "LWZUX",      "=r,(+b,r)",     3,  3, fIsRead | fIsPtrOp | fUpdatesPtr,                                     0x7C00006E,
    "LWBRX",      "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C00042C,
    "LMW",        "#,=r,d(b);=V",  3,  3, fIsRead,                                                              0xB8000000,
    "STB",        "r,d(b)",        3,  1, fIsWrite,                                                             0x98000000,
    "STBU",       "r,d(+b)",       3,  2, fIsWrite | fUpdatesPtr,                                               0x9C000000,
    "STBX",       "r,(b,r)",       3,  1, fIsWrite | fIsPtrOp,                                                  0x7C0001AE,
    "STBUX",      "r,(+b,r)",      3,  2, fIsWrite | fIsPtrOp | fUpdatesPtr,                                    0x7C0001EE,
    "STH",        "r,d(b)",        3,  1, fIsWrite,                                                             0xB0000000,
    "STHU",       "r,d(+b)",       3,  2, fIsWrite | fUpdatesPtr,                                               0xB4000000,
    "STHX",       "r,(b,r)",       3,  1, fIsWrite | fIsPtrOp,                                                  0x7C00032E,
    "STHUX",      "r,(+b,r)",      3,  2, fIsWrite | fIsPtrOp | fUpdatesPtr,                                    0x7C00036E,
    "STHBRX",     "r,(b,r)",       3,  1, fIsWrite | fIsPtrOp,                                                  0x7C00072C,
    "STW",        "r,d(b)",        3,  1, fIsWrite,                                                             0x90000000,
    "STWU",       "r,d(+b)",       3,  2, fIsWrite | fUpdatesPtr,                                               0x94000000,
    "STWX",       "r,(b,r)",       3,  1, fIsWrite | fIsPtrOp,                                                  0x7C00012E,
    "STWUX",      "r,(+b,r)",      3,  2, fIsWrite | fIsPtrOp | fUpdatesPtr,                                    0x7C00016E,
    "STWBRX",     "r,(b,r)",       3,  1, fIsWrite | fIsPtrOp,                                                  0x7C00052C,
    "STMW",       "#,r,d(b);V",    3,  1, fIsWrite,                                                             0xBC000000,
    "DCBF",       "b,r",           2,  1, fSideEffects | fOpTypeGPR,                                            0x7C0000AC,
    "DCBST",      "b,r",           2,  1, fSideEffects | fOpTypeGPR,                                            0x7C00006C,
    "DCBT",       "b,r",           2,  1, fSideEffects | fOpTypeGPR,                                            0x7C00022C,
    "DCBTST",     "b,r",           2,  1, fSideEffects | fOpTypeGPR,                                            0x7C0001EC,
    "DCBZ",       "b,r",           2,  1, fSideEffects | fOpTypeGPR,                                            0x7C0007EC,
    "ADD",        "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C000214,
    "ADDC",       "=r,r,r;+X",     4,  2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR,            0x7C000014,
    "ADDE",       "=r,r,r;+X",     4,  2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR,            0x7C000114,
    "ADDI",       "=r,b,m;p",      4,  2, fIsCSE | fPCodeFlag400000 | fCanSetRecordBit | fOpTypeGPR,            0x38000000,
    "ADDIC",      "=r,r,i;+X",     4,  2, fCanSetRecordBit | fSetsCarry | fOpTypeGPR,                           0x30000000,
    "ADDICR",     "=r,r,n;+X=Z",   5,  2, fCanSetRecordBit | fSetsCarry | fRecordBit | fOpTypeGPR,              0x34000000,
    "ADDIS",      "=r,b,M",        3,  2, fIsCSE | fPCodeFlag400000 | fOpTypeGPR,                               0x3C000000,
    "ADDME",      "=r,r;+X",       3,  2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR,            0x7C0001D4,
    "ADDZE",      "=r,r;+X",       3,  2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR,            0x7C000194,
    "DIVW",       "=r,r,r",        3,  2, fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                0x7C0003D6,
    "DIVWU",      "=r,r,r",        3,  2, fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                0x7C000396,
    "MULHW",      "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR,                0x7C000096,
    "MULHWU",     "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR,                0x7C000016,
    "MULLI",      "=r,r,i",        3,  2, fIsCSE | fOpTypeGPR,                                                  0x1C000000,
    "MULLW",      "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR, 0x7C0001D6,
    "NEG",        "=r,r",          2,  2, fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                0x7C0000D0,
    "SUBF",       "=r,r,r",        3,  2, fIsCSE | fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                0x7C000050,
    "SUBFC",      "=r,r,r;+X",     4,  2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR,            0x7C000010,
    "SUBFE",      "=r,r,r;+X",     4,  2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR,            0x7C000110,
    "SUBFIC",     "=r,r,i;+X",     4,  2, fSetsCarry | fOpTypeGPR,                                              0x20000000,
    "SUBFME",     "=r,r;+X",       3,  2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR,            0x7C0001D0,
    "SUBFZE",     "=r,r;+X",       3,  2, fCanSetCarry | fCanSetRecordBit | fSetsCarry | fOpTypeGPR,            0x7C000190,
    "CMPI",       "=?c,Or,i",      3,  1, fIsCSE | fOpTypeGPR,                                                  0x2C000000,
    "CMP",        "=?c,Or,r",      3,  1, fIsCSE | fOpTypeGPR,                                                  0x7C000000,
    "CMPLI",      "=?c,Or,u",      3,  1, fIsCSE | fOpTypeGPR,                                                  0x28000000,
    "CMPL",       "=?c,Or,r",      3,  1, fIsCSE | fOpTypeGPR,                                                  0x7C000040,
    "ANDI",       "=r,r,x;=Z",     4,  2, fCanSetRecordBit | fRecordBit | fOpTypeGPR,                           0x70000000,
    "ANDIS",      "=r,r,x;=Z",     4,  2, fCanSetRecordBit | fRecordBit | fOpTypeGPR,                           0x74000000,
    "ORI",        "=r,r,x",        3,  2, fIsCSE | fOpTypeGPR,                                                  0x60000000,
    "ORIS",       "=r,r,x",        3,  2, fIsCSE | fOpTypeGPR,                                                  0x64000000,
    "XORI",       "=r,r,x",        3,  2, fIsCSE | fOpTypeGPR,                                                  0x68000000,
    "XORIS",      "=r,r,x",        3,  2, fIsCSE | fOpTypeGPR,                                                  0x6C000000,
    "AND",        "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR,                0x7C000038,
    "OR",         "=r,r,r;pp",     5,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR,                0x7C000378,
    "XOR",        "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR,                0x7C000278,
    "NAND",       "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR,                0x7C0003B8,
    "NOR",        "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR,                0x7C0000F8,
    "EQV",        "=r,r,r",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeGPR,                0x7C000238,
    "ANDC",       "=r,r,r",        3,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x7C000078,
    "ORC",        "=r,r,r",        3,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x7C000338,
    "EXTSB",      "=r,r",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x7C000774,
    "EXTSH",      "=r,r",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x7C000734,
    "CNTLZW",     "=r,r",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x7C000034,
    "RLWINM",     "=r,r,u5,u5,u5", 5,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x54000000,
    "RLWNM",      "=r,r,r,u5,u5",  5,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x5C000000,
    "RLWIMI",     "+r,r,u5,u5,u5", 5,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x50000000,
    "SLW",        "=r,r,r",        3,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x7C000030,
    "SRW",        "=r,r,r",        3,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x7C000430,
    "SRAWI",      "=r,r,u5;+X",    4,  2, fCanSetRecordBit | fSetsCarry | fOpTypeGPR,                           0x7C000670,
    "SRAW",       "=r,r,r;+X",     4,  2, fCanSetRecordBit | fSetsCarry | fOpTypeGPR,                           0x7C000630,
    "CRAND",      "=Q,Q,Q",        6,  2, fCommutative | fIsCSE | fOpTypeGPR,                                   0x4C000202,
    "CRANDC",     "=Q,Q,Q",        6,  2, fIsCSE | fOpTypeGPR,                                                  0x4C000102,
    "CREQV",      "=Q,Q,Q",        6,  2, fCommutative | fIsCSE | fOpTypeGPR,                                   0x4C000242,
    "CRNAND",     "=Q,Q,Q",        6,  2, fCommutative | fIsCSE | fOpTypeGPR,                                   0x4C0001C2,
    "CRNOR",      "=Q,Q,Q",        6,  2, fCommutative | fIsCSE | fOpTypeGPR,                                   0x4C000042,
    "CROR",       "=Q,Q,Q",        6,  2, fCommutative | fIsCSE | fOpTypeGPR,                                   0x4C000382,
    "CRORC",      "=Q,Q,Q",        6,  2, fIsCSE | fOpTypeGPR,                                                  0x4C000342,
    "CRXOR",      "=Q,Q,Q",        6,  2, fCommutative | fIsCSE | fOpTypeGPR,                                   0x4C000182,
    "MCRF",       "=c,c",          2,  1, fIsMove | fOpTypeGPR,                                                 0x4C000000,
    "MTXER",      "r;=X",          2,  1, fSetsCarry | fOpTypeGPR,                                              0x7C0103A6,
    "MTCTR",      "r;=C",          2,  1, fOpTypeGPR,                                                           0x7C0903A6,
    "MTLR",       "r;=L",          2,  1, fOpTypeGPR,                                                           0x7C0803A6,
    "MTCRF",      "x8,r;=Y",       10, 1, fOpTypeGPR,                                                           0x7C000120,
    "MTMSR",      "r",             1,  4, fSideEffects | fOpTypeGPR,                                            0x7C000124,
    "MTSPR",      "=s,r",          2,  4, fOpTypeGPR,                                                           0x7C0003A6,
    "MFMSR",      "=r",            1,  4, fOpTypeGPR,                                                           0x7C0000A6,
    "MFSPR",      "=r,s",          2,  4, fOpTypeGPR,                                                           0x7C0002A6,
    "MFXER",      "=r;X",          2,  4, fOpTypeGPR,                                                           0x7C0102A6,
    "MFCTR",      "=r;C",          2,  4, fOpTypeGPR,                                                           0x7C0902A6,
    "MFLR",       "=r;L",          2,  4, fOpTypeGPR,                                                           0x7C0802A6,
    "MFCR",       "=r;Y",          9,  4, fOpTypeGPR,                                                           0x7C000026,
    "MFFS",       "=f",            1,  4, fCanSetRecordBit | fOpTypeFPR,                                        0xFC00048E,
    "MTFSF",      "x8,f",          2,  1, fSideEffects | fCanSetRecordBit | fOpTypeFPR,                         0xFC00058E,
    "EIEIO",      "",              0,  0, fSideEffects | fOpTypeGPR,                                            0x7C0006AC,
    "ISYNC",      "",              0,  0, fSideEffects | fOpTypeGPR,                                            0x4C00012C,
    "SYNC",       "",              0,  0, fSideEffects | fOpTypeGPR,                                            0x7C0004AC,
    "RFI",        "",              0,  0, fSideEffects,                                                         0x4C000064,
    "LI",         "=r,n",          2,  4, fIsCSE | fOpTypeGPR,                                                  0x38000000,
    "LIS",        "=r,M",          2,  4, fIsCSE | fOpTypeGPR,                                                  0x3C000000,
    "MR",         "=r,r;p",        3,  0, fIsMove | fCanSetRecordBit | fOpTypeGPR,                              0x7C000378,
    "NOP",        "",              0,  0, fSideEffects | fOpTypeGPR,                                            0x60000000,
    "NOT",        "=r,r",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeGPR,                               0x7C0000F8,
    "LFS",        "=f,d(b)",       3,  3, fIsRead,                                                              0xC0000000,
    "LFSU",       "=f,d(+b)",      3,  3, fIsRead | fUpdatesPtr,                                                0xC4000000,
    "LFSX",       "=f,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C00042E,
    "LFSUX",      "=f,(+b,r)",     3,  3, fIsRead | fIsPtrOp | fUpdatesPtr,                                     0x7C00046E,
    "LFD",        "=f,d(b)",       3,  3, fIsRead,                                                              0xC8000000,
    "LFDU",       "=f,d(+b)",      3,  3, fIsRead | fUpdatesPtr,                                                0xCC000000,
    "LFDX",       "=f,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C0004AE,
    "LFDUX",      "=f,(+b,r)",     3,  3, fIsRead | fIsPtrOp | fUpdatesPtr,                                     0x7C0004EE,
    "STFS",       "f,d(b)",        3,  1, fIsWrite,                                                             0xD0000000,
    "STFSU",      "f,d(+b)",       3,  2, fIsWrite | fUpdatesPtr,                                               0xD4000000,
    "STFSX",      "f,(b,r)",       3,  1, fIsWrite | fIsPtrOp,                                                  0x7C00052E,
    "STFSUX",     "f,(+b,r)",      3,  2, fIsWrite | fIsPtrOp | fUpdatesPtr,                                    0x7C00056E,
    "STFD",       "f,d(b)",        3,  1, fIsWrite,                                                             0xD8000000,
    "STFDU",      "f,d(+b)",       3,  2, fIsWrite | fUpdatesPtr,                                               0xDC000000,
    "STFDX",      "f,(b,r)",       3,  1, fIsWrite | fIsPtrOp,                                                  0x7C0005AE,
    "STFDUX",     "f,(+b,r)",      3,  2, fIsWrite | fIsPtrOp | fUpdatesPtr,                                    0x7C0005EE,
    "FMR",        "=f,f",          2,  0, fIsMove | fCanSetRecordBit | fOpTypeFPR,                              0xFC000090,
    "FABS",       "=f,f",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC000210,
    "FNEG",       "=f,f",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC000050,
    "FNABS",      "=f,f",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC000110,
    "FADD",       "=f,f,f",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeFPR,                0xFC00002A,
    "FADDS",      "=f,f,f",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeFPR,                0xEC00002A,
    "FSUB",       "=f,f,f",        3,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC000028,
    "FSUBS",      "=f,f,f",        3,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xEC000028,
    "FMUL",       "=f,f,f",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeFPR,                0xFC000032,
    "FMULS",      "=f,f,f",        3,  2, fCommutative | fIsCSE | fCanSetRecordBit | fOpTypeFPR,                0xEC000032,
    "FDIV",       "=f,f,f",        3,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC000024,
    "FDIVS",      "=f,f,f",        3,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xEC000024,
    "FMADD",      "=f,f,f,f",      4,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC00003A,
    "FMADDS",     "=f,f,f,f",      4,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xEC00003A,
    "FMSUB",      "=f,f,f,f",      4,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC000038,
    "FMSUBS",     "=f,f,f,f",      4,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xEC000038,
    "FNMADD",     "=f,f,f,f",      4,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC00003E,
    "FNMADDS",    "=f,f,f,f",      4,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xEC00003E,
    "FNMSUB",     "=f,f,f,f",      4,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC00003C,
    "FNMSUBS",    "=f,f,f,f",      4,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xEC00003C,
    "FRES",       "=f,f",          2,  2, fCanSetRecordBit | fOpTypeFPR,                                        0xEC000030,
    "FRSQRTE",    "=f,f",          2,  2, fCanSetRecordBit | fOpTypeFPR,                                        0xFC000034,
    "FSEL",       "=f,f,f,f",      4,  2, fCanSetRecordBit | fOpTypeFPR,                                        0xFC00002E,
    "FRSP",       "=f,f",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC000018,
    "FCTIW",      "=f,f",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC00001C,
    "FCTIWZ",     "=f,f",          2,  2, fIsCSE | fCanSetRecordBit | fOpTypeFPR,                               0xFC00001E,
    "FCMPU",      "=?c,f,f",       3,  1, fIsCSE | fOpTypeFPR,                                                  0xFC000000,
    "FCMPO",      "=?c,f,f",       3,  1, fIsCSE | fOpTypeFPR,                                                  0xFC000040,
    "LWARX",      "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C000028,
    "LSWI",       "=r,b,N",        3,  3, fIsRead | fIsPtrOp | fSideEffects,                                    0x7C0004AA,
    "LSWX",       "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp | fSideEffects,                                    0x7C00042A,
    "STFIWX",     "f,(b,r)",       3,  3, fIsWrite | fIsPtrOp,                                                  0x7C0007AE,
    "STSWI",      "r,b,N",         3,  3, fIsWrite | fIsPtrOp,                                                  0x7C0005AA,
    "STSWX",      "r,(b,r)",       3,  3, fIsWrite | fIsPtrOp,                                                  0x7C00052A,
    "STWCX",      "r,(b,r);=Z",    4,  3, fIsWrite | fIsPtrOp | fCanSetRecordBit | fRecordBit,                  0x7C00012D,
    "ECIWX",      "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp,                                                   0x7C00026C,
    "ECOWX",      "r,(b,r)",       3,  1, fIsWrite | fIsPtrOp | fSideEffects,                                   0x7C00036C,
    "DCBI",       "b,r",           2,  1, fSideEffects | fOpTypeGPR,                                            0x7C0003AC,
    "ICBI",       "b,r",           2,  1, fSideEffects | fOpTypeGPR,                                            0x7C0007AC,
    "MCRFS",      "=c,x3",         2,  1, fSideEffects | fOpTypeGPR,                                            0xFC000080,
    "MCRXR",      "=c;+X",         2,  1, fOpTypeGPR,                                                           0x7C000400,
    "MFTB",       "=r?T",          2,  4, fOpTypeGPR,                                                           0x7C0002E6,
    "MFSR",       "=r,u4",         2,  4, fOpTypeGPR,                                                           0x7C0004A6,
    "MTSR",       "u4,r",          2,  4, fSideEffects | fOpTypeGPR,                                            0x7C0001A4,
    "MFSRIN",     "=r,r",          2,  4, fOpTypeGPR,                                                           0x7C000526,
    "MTSRIN",     "r,r",           2,  4, fSideEffects | fOpTypeGPR,                                            0x7C0001E4,
    "MTFSB0",     "u5",            1,  4, fSideEffects | fCanSetRecordBit | fOpTypeGPR,                         0xFC00008C,
    "MTFSB1",     "u5",            1,  4, fSideEffects | fCanSetRecordBit | fOpTypeGPR,                         0xFC00004C,
    "MTFSFI",     "c,x4",          2,  1, fSideEffects | fCanSetRecordBit | fOpTypeGPR,                         0xFC00010C,
    "SC",         "",              0,  0, fIsCall | fSideEffects,                                               0x44000002,
    "FSQRT",      "=f,f",          2,  2, fCanSetRecordBit | fOpTypeFPR,                                        0xFC00002C,
    "FSQRTS",     "=f,f",          2,  2, fCanSetRecordBit | fOpTypeFPR,                                        0xEC00002C,
    "TLBIA",      "",              0,  1, fSideEffects,                                                         0x7C0002E4,
    "TLBIE",      "r",             1,  1, fSideEffects,                                                         0x7C000264,
    "TLBLD",      "r",             1,  1, fSideEffects,                                                         0x7C0007A4,
    "TLBLI",      "r",             1,  1, fSideEffects,                                                         0x7C0007E4,
    "TLBSYNC",    "",              0,  1, fSideEffects,                                                         0x7C00046C,
    "TW",         "t,r,r",         3,  1, fIsCall | fSideEffects,                                               0x7C000008,
    "TRAP",       "",              0,  1, fIsCall | fSideEffects,                                               0x7FE00008,
    "TWI",        "t,r,x",         3,  1, fIsCall | fSideEffects,                                               0x0C000000,
    "OPWORD",     "w",             1,  0, fSideEffects,                                                         0x00000000,
    "MFROM",      "=r,r",          2,  4, fIsRead,                                                              0x7C000212,
    "DSA",        "",              0,  0, fSideEffects | fOpTypeGPR,                                            0x7C0004E8,
    "ESA",        "",              0,  0, fSideEffects | fOpTypeGPR,                                            0x7C0004A8,
    "DCCCI",      "b,r",           2,  0, fSideEffects | fOpTypeGPR,                                            0x7C00038C,
    "DCREAD",     "=r,(b,r)",      3,  0, fSideEffects | fPCodeFlag400000 | fOpTypeGPR,                         0x7C0003CC,
    "ICBT",       "b,r",           2,  0, fSideEffects | fOpTypeGPR,                                            0x7C00020C,
    "ICCCI",      "b,r",           2,  0, fSideEffects | fOpTypeGPR,                                            0x7C00078C,
    "ICREAD",     "b,r",           2,  0, fSideEffects | fOpTypeGPR,                                            0x7C0007CC,
    "RFCI",       "",              0,  0, fSideEffects | fOpTypeGPR,                                            0x4C000066,
    "TLBRE",      "=r,r,u1",       3,  0, fSideEffects | fOpTypeGPR,                                            0x7C000764,
    "TLBSX",      "=r,(b,r)",      3,  0, fSideEffects | fPCodeFlag400000 | fCanSetRecordBit | fOpTypeGPR,      0x7C000724,
    "TLBWE",      "=r,r,i",        3,  0, fSideEffects | fOpTypeGPR,                                            0x7C0007A4,
    "WRTEE",      "r",             1,  0, fSideEffects | fOpTypeGPR,                                            0x7C000106,
    "WRTEEI",     "u1",            1,  0, fSideEffects | fOpTypeGPR,                                            0x7C000146,
    "MFDCR",      "=r,D",          2,  4, fSideEffects | fOpTypeGPR,                                            0x7C000286,
    "MTDCR",      "D,r",           2,  4, fSideEffects | fOpTypeGPR,                                            0x7C000386,
    "DCBA",       "b,r",           2,  1, fSideEffects | fOpTypeGPR,                                            0x7C0005EC,
    "DSS",        "u2?u2",         2,  1, fSideEffects | fOpTypeGPR,                                            0x7C00066C,
    "DSSALL",     "",              0,  1, fSideEffects | fOpTypeGPR,                                            0x7E00066C,
    "DST",        "b,r,u2?u2",     4,  1, fSideEffects | fOpTypeGPR,                                            0x7C0002AC,
    "DSTT",       "b,r,u2",        3,  1, fSideEffects | fOpTypeGPR,                                            0x7E0002AC,
    "DSTST",      "b,r,u2?u2",     4,  1, fSideEffects | fOpTypeGPR,                                            0x7C0002EC,
    "DSTSTT",     "b,r,u2",        3,  1, fSideEffects | fOpTypeGPR,                                            0x7E0002EC,
    "LVEBX",      "=v,(b,r)",      3,  3, fIsRead | fIsPtrOp | fOpTypeVR,                                       0x7C00000E,
    "LVEHX",      "=v,(b,r)",      3,  3, fIsRead | fIsPtrOp | fOpTypeVR,                                       0x7C00004E,
    "LVEWX",      "=v,(b,r)",      3,  3, fIsRead | fIsPtrOp | fOpTypeVR,                                       0x7C00008E,
    "LVSL",       "=v,(b,r)",      3,  3, fPCodeFlag400000 | fOpTypeVR,                                         0x7C00000C,
    "LVSR",       "=v,(b,r)",      3,  3, fPCodeFlag400000 | fOpTypeVR,                                         0x7C00004C,
    "LVX",        "=v,(b,r)",      3,  3, fIsRead | fIsPtrOp | fOpTypeVR,                                       0x7C0000CE,
    "LVXL",       "=v,(b,r)",      3,  3, fIsRead | fIsPtrOp | fOpTypeVR,                                       0x7C0002CE,
    "STVEBX",     "v,(b,r)",       3,  1, fIsWrite | fIsPtrOp | fOpTypeVR,                                      0x7C00010E,
    "STVEHX",     "v,(b,r)",       3,  1, fIsWrite | fIsPtrOp | fOpTypeVR,                                      0x7C00014E,
    "STVEWX",     "v,(b,r)",       3,  1, fIsWrite | fIsPtrOp | fOpTypeVR,                                      0x7C00018E,
    "STVX",       "v,(b,r)",       3,  1, fIsWrite | fIsPtrOp | fOpTypeVR,                                      0x7C0001CE,
    "STVXL",      "v,(b,r)",       3,  1, fIsWrite | fIsPtrOp | fOpTypeVR,                                      0x7C0003CE,
    "MFVSCR",     "=v",            1,  3, fSideEffects | fOpTypeVR,                                             0x10000604,
    "MTVSCR",     "v",             1,  3, fSideEffects | fOpTypeVR,                                             0x10000644,
    "VADDCUW",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000180,
    "VADDFP",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x1000000A,
    "VADDSBS",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000300,
    "VADDSHS",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000340,
    "VADDSWS",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000380,
    "VADDUBM",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000000,
    "VADDUBS",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000200,
    "VADDUHM",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000040,
    "VADDUHS",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000240,
    "VADDUWM",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000080,
    "VADDUWS",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000280,
    "VAND",       "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000404,
    "VANDC",      "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000444,
    "VAVGSB",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000502,
    "VAVGSH",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000542,
    "VAVGSW",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000582,
    "VAVGUB",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000402,
    "VAVGUH",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000442,
    "VAVGUW",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000482,
    "VCFSX",      "=v,v,u5",       3,  2, fIsCSE | fOpTypeVR,                                                   0x1000034A,
    "VCFUX",      "=v,v,u5",       3,  2, fIsCSE | fOpTypeVR,                                                   0x1000030A,
    "VCMPBFP",    "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x100003C6,
    "VCMPEQFP",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x100000C6,
    "VCMPEQUB",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000006,
    "VCMPEQUH",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000046,
    "VCMPEQUW",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000086,
    "VCMPGEFP",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x100001C6,
    "VCMPGTFP",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x100002C6,
    "VCMPGTSB",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000306,
    "VCMPGTSH",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000346,
    "VCMPGTSW",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000386,
    "VCMPGTUB",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000206,
    "VCMPGTUH",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000246,
    "VCMPGTUW",   "=v,v,v",        3,  2, fCanSetRecordBit | fOpTypeVR,                                         0x10000286,
    "VCTSXS",     "=v,v,u5",       3,  2, fIsCSE | fOpTypeVR,                                                   0x100003CA,
    "VCTUXS",     "=v,v,u5",       3,  2, fIsCSE | fOpTypeVR,                                                   0x1000038A,
    "VEXPTEFP",   "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000018A,
    "VLOGEFP",    "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x100001CA,
    "VMAXFP",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x1000040A,
    "VMAXSB",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000102,
    "VMAXSH",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000142,
    "VMAXSW",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000182,
    "VMAXUB",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000002,
    "VMAXUH",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000042,
    "VMAXUW",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000082,
    "VMINFP",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x1000044A,
    "VMINSB",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000302,
    "VMINSH",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000342,
    "VMINSW",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000382,
    "VMINUB",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000202,
    "VMINUH",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000242,
    "VMINUW",     "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000282,
    "VMRGHB",     "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000000C,
    "VMRGHH",     "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000004C,
    "VMRGHW",     "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000008C,
    "VMRGLB",     "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000010C,
    "VMRGLH",     "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000014C,
    "VMRGLW",     "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000018C,
    "VMULESB",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000308,
    "VMULESH",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000348,
    "VMULEUB",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000208,
    "VMULEUH",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000248,
    "VMULOSB",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000108,
    "VMULOSH",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000148,
    "VMULOUB",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000008,
    "VMULOUH",    "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000048,
    "VNOR",       "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000504,
    "VOR",        "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x10000484,
    "VPKPX",      "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000030E,
    "VPKSHSS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000018E,
    "VPKSHUS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000010E,
    "VPKSWSS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x100001CE,
    "VPKSWUS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000014E,
    "VPKUHUM",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000000E,
    "VPKUHUS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000008E,
    "VPKUWUM",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000004E,
    "VPKUWUS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x100000CE,
    "VREFP",      "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000010A,
    "VRFIM",      "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x100002CA,
    "VRFIN",      "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000020A,
    "VRFIP",      "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000028A,
    "VRFIZ",      "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000024A,
    "VRLB",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000004,
    "VRLH",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000044,
    "VRLW",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000084,
    "VRSQRTEFP",  "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000014A,
    "VSL",        "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x100001C4,
    "VSLB",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000104,
    "VSLH",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000144,
    "VSLO",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000040C,
    "VSLW",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000184,
    "VSPLTB",     "=v,v,u5",       3,  2, fIsCSE | fOpTypeVR,                                                   0x1000020C,
    "VSPLTH",     "=v,v,u5",       3,  2, fIsCSE | fOpTypeVR,                                                   0x1000024C,
    "VSPLTW",     "=v,v,u5",       3,  2, fIsCSE | fOpTypeVR,                                                   0x1000028C,
    "VSPLTISB",   "=v,i5",         2,  2, fIsCSE | fOpTypeVR,                                                   0x1000030C,
    "VSPLTISH",   "=v,i5",         2,  2, fIsCSE | fOpTypeVR,                                                   0x1000034C,
    "VSPLTISW",   "=v,i5",         2,  2, fIsCSE | fOpTypeVR,                                                   0x1000038C,
    "VSR",        "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x100002C4,
    "VSRAB",      "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000304,
    "VSRAH",      "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000344,
    "VSRAW",      "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000384,
    "VSRB",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000204,
    "VSRH",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000244,
    "VSRO",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000044C,
    "VSRW",       "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000284,
    "VSUBCUW",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000580,
    "VSUBFP",     "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x1000004A,
    "VSUBSBS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000700,
    "VSUBSHS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000740,
    "VSUBSWS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000780,
    "VSUBUBM",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000400,
    "VSUBUBS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000600,
    "VSUBUHM",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000440,
    "VSUBUHS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000640,
    "VSUBUWM",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000480,
    "VSUBUWS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000680,
    "VSUMSWS",    "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000788,
    "VSUM2SWS",   "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000688,
    "VSUM4SBS",   "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000708,
    "VSUM4SHS",   "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000648,
    "VSUM4UBS",   "=v,v,v",        3,  2, fIsCSE | fOpTypeVR,                                                   0x10000608,
    "VUPKHPX",    "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000034E,
    "VUPKHSB",    "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000020E,
    "VUPKHSH",    "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000024E,
    "VUPKLPX",    "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x100003CE,
    "VUPKLSB",    "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x1000028E,
    "VUPKLSH",    "=v,v",          2,  2, fIsCSE | fOpTypeVR,                                                   0x100002CE,
    "VXOR",       "=v,v,v",        3,  2, fCommutative | fIsCSE | fOpTypeVR,                                    0x100004C4,
    "VMADDFP",    "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x1000002E,
    "VMHADDSHS",  "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000020,
    "VMHRADDSHS", "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000021,
    "VMLADDUHM",  "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000022,
    "VMSUMMBM",   "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000025,
    "VMSUMSHM",   "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000028,
    "VMSUMSHS",   "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000029,
    "VMSUMUBM",   "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000024,
    "VMSUMUHM",   "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000026,
    "VMSUMUHS",   "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x10000027,
    "VNMSUBFP",   "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x1000002F,
    "VPERM",      "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x1000002B,
    "VSEL",       "=v,v,v,v",      4,  2, fIsCSE | fOpTypeVR,                                                   0x1000002A,
    "VSLDOI",     "=v,v,v,u4",     4,  2, fIsCSE | fOpTypeVR,                                                   0x1000002C,
    "VMR",        "=v,v",          2,  2, fIsMove | fOpTypeVR,                                                  0x10000484,
    "VMRP",       "=v,v",          2,  2, fIsMove | fOpTypeVR,                                                  0x1000002C,
    "SLE",        "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000132,
    "SLEQ",       "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C0001B2,
    "SLIQ",       "=r,r,u5",       3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000170,
    "SLLIQ",      "=r,r,u5",       3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C0001F0,
    "SLLQ",       "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C0001B0,
    "SLQ",        "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000130,
    "SRAIQ",      "=r,r,u5",       3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000770,
    "SRAQ",       "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000730,
    "SRE",        "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000532,
    "SREA",       "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000732,
    "SREQ",       "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C0005B2,
    "SRIQ",       "=r,r,u5",       3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000570,
    "SRLIQ",      "=r,r,u5",       3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C0005F0,
    "SRLQ",       "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C0005B0,
    "SRQ",        "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000530,
    "MASKG",      "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C00003A,
    "MASKIR",     "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C00043A,
    "LSCBX",      "=r,(b,r)",      3,  3, fIsRead | fIsPtrOp | fSideEffects | fCanSetRecordBit,                 0x7C00022A,
    "DIV",        "=r,r,r",        3,  2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                         0x7C000296,
    "DIVS",       "=r,r,r",        3,  2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                         0x7C0002D6,
    "DOZ",        "=r,r,r",        3,  2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                         0x7C000210,
    "MUL",        "=r,r,r",        3,  2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                         0x7C0000D6,
    "NABS",       "=r,r",          2,  2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                         0x7C0003D0,
    "ABS",        "=r,r",          2,  2, fCanSetCarry | fCanSetRecordBit | fOpTypeGPR,                         0x7C0002D0,
    "CLCS",       "=r,r",          2,  2, fOpTypeGPR,                                                           0x7C000426,
    "DOZI",       "=r,r,u5",       3,  2, fOpTypeGPR,                                                           0x24000000,
    "RLMI",       "+r,r,r,u5,u5",  5,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x58000000,
    "RRIB",       "=r,r,r",        3,  2, fCanSetRecordBit | fOpTypeGPR,                                        0x7C000432,
    "PENTRY",     "",              0,  0, 0,                                                                    0x00000000,
    "PEXIT",      "",              0,  0, 0,                                                                    0x00000000
};