Split some PPC itinerary classes
[oota-llvm.git] / lib / Target / PowerPC / PPCSchedule.td
1 //===-- PPCSchedule.td - PowerPC Scheduling Definitions ----*- tablegen -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 //===----------------------------------------------------------------------===//
11 // Instruction Itinerary classes used for PowerPC
12 //
13 def IIC_IntSimple    : InstrItinClass;
14 def IIC_IntGeneral   : InstrItinClass;
15 def IIC_IntCompare   : InstrItinClass;
16 def IIC_IntDivD      : InstrItinClass;
17 def IIC_IntDivW      : InstrItinClass;
18 def IIC_IntMFFS      : InstrItinClass;
19 def IIC_IntMFVSCR    : InstrItinClass;
20 def IIC_IntMTFSB0    : InstrItinClass;
21 def IIC_IntMTSRD     : InstrItinClass;
22 def IIC_IntMulHD     : InstrItinClass;
23 def IIC_IntMulHW     : InstrItinClass;
24 def IIC_IntMulHWU    : InstrItinClass;
25 def IIC_IntMulLI     : InstrItinClass;
26 def IIC_IntRFID      : InstrItinClass;
27 def IIC_IntRotateD   : InstrItinClass;
28 def IIC_IntRotateDI  : InstrItinClass;
29 def IIC_IntRotate    : InstrItinClass;
30 def IIC_IntShift     : InstrItinClass;
31 def IIC_IntTrapD     : InstrItinClass;
32 def IIC_IntTrapW     : InstrItinClass;
33 def IIC_BrB          : InstrItinClass;
34 def IIC_BrCR         : InstrItinClass;
35 def IIC_BrMCR        : InstrItinClass;
36 def IIC_BrMCRX       : InstrItinClass;
37 def IIC_LdStDCBA     : InstrItinClass;
38 def IIC_LdStDCBF     : InstrItinClass;
39 def IIC_LdStDCBI     : InstrItinClass;
40 def IIC_LdStLoad     : InstrItinClass;
41 def IIC_LdStLoadUpd  : InstrItinClass;
42 def IIC_LdStLoadUpdX : InstrItinClass;
43 def IIC_LdStStore    : InstrItinClass;
44 def IIC_LdStStoreUpd : InstrItinClass;
45 def IIC_LdStDSS      : InstrItinClass;
46 def IIC_LdStICBI     : InstrItinClass;
47 def IIC_LdStLD       : InstrItinClass;
48 def IIC_LdStLDU      : InstrItinClass;
49 def IIC_LdStLDUX     : InstrItinClass;
50 def IIC_LdStLDARX    : InstrItinClass;
51 def IIC_LdStLFD      : InstrItinClass;
52 def IIC_LdStLFDU     : InstrItinClass;
53 def IIC_LdStLFDUX    : InstrItinClass;
54 def IIC_LdStLHA      : InstrItinClass;
55 def IIC_LdStLHAU     : InstrItinClass;
56 def IIC_LdStLHAUX    : InstrItinClass;
57 def IIC_LdStLMW      : InstrItinClass;
58 def IIC_LdStLVecX    : InstrItinClass;
59 def IIC_LdStLWA      : InstrItinClass;
60 def IIC_LdStLWARX    : InstrItinClass;
61 def IIC_LdStSLBIA    : InstrItinClass;
62 def IIC_LdStSLBIE    : InstrItinClass;
63 def IIC_LdStSTD      : InstrItinClass;
64 def IIC_LdStSTDCX    : InstrItinClass;
65 def IIC_LdStSTDU     : InstrItinClass;
66 def IIC_LdStSTDUX    : InstrItinClass;
67 def IIC_LdStSTFD     : InstrItinClass;
68 def IIC_LdStSTFDU    : InstrItinClass;
69 def IIC_LdStSTVEBX   : InstrItinClass;
70 def IIC_LdStSTWCX    : InstrItinClass;
71 def IIC_LdStSync     : InstrItinClass;
72 def IIC_SprISYNC     : InstrItinClass;
73 def IIC_SprMFSR      : InstrItinClass;
74 def IIC_SprMTMSR     : InstrItinClass;
75 def IIC_SprMTSR      : InstrItinClass;
76 def IIC_SprTLBSYNC   : InstrItinClass;
77 def IIC_SprMFCR      : InstrItinClass;
78 def IIC_SprMFCRF     : InstrItinClass;
79 def IIC_SprMFMSR     : InstrItinClass;
80 def IIC_SprMFSPR     : InstrItinClass;
81 def IIC_SprMFTB      : InstrItinClass;
82 def IIC_SprMTSPR     : InstrItinClass;
83 def IIC_SprMTSRIN    : InstrItinClass;
84 def IIC_SprRFI       : InstrItinClass;
85 def IIC_SprSC        : InstrItinClass;
86 def IIC_FPGeneral    : InstrItinClass;
87 def IIC_FPAddSub     : InstrItinClass;
88 def IIC_FPCompare    : InstrItinClass;
89 def IIC_FPDivD       : InstrItinClass;
90 def IIC_FPDivS       : InstrItinClass;
91 def IIC_FPFused      : InstrItinClass;
92 def IIC_FPRes        : InstrItinClass;
93 def IIC_FPSqrtD      : InstrItinClass;
94 def IIC_FPSqrtS      : InstrItinClass;
95 def IIC_VecGeneral   : InstrItinClass;
96 def IIC_VecFP        : InstrItinClass;
97 def IIC_VecFPCompare : InstrItinClass;
98 def IIC_VecComplex   : InstrItinClass;
99 def IIC_VecPerm      : InstrItinClass;
100 def IIC_VecFPRound   : InstrItinClass;
101 def IIC_VecVSL       : InstrItinClass;
102 def IIC_VecVSR       : InstrItinClass;
103 def IIC_SprMTMSRD    : InstrItinClass;
104 def IIC_SprSLIE      : InstrItinClass;
105 def IIC_SprSLBIE     : InstrItinClass;
106 def IIC_SprSLBMTE    : InstrItinClass;
107 def IIC_SprSLBMFEE   : InstrItinClass;
108 def IIC_SprSLBIA     : InstrItinClass;
109 def IIC_SprTLBIEL    : InstrItinClass;
110 def IIC_SprTLBIE     : InstrItinClass;
111
112 //===----------------------------------------------------------------------===//
113 // Processor instruction itineraries.
114
115 include "PPCScheduleG3.td"
116 include "PPCSchedule440.td"
117 include "PPCScheduleG4.td"
118 include "PPCScheduleG4Plus.td"
119 include "PPCScheduleG5.td"
120 include "PPCScheduleA2.td"
121 include "PPCScheduleE500mc.td"
122 include "PPCScheduleE5500.td"
123
124 //===----------------------------------------------------------------------===//
125 // Instruction to itinerary class map - When add new opcodes to the supported
126 // set, refer to the following table to determine which itinerary class the
127 // opcode belongs.
128 //
129 //    opcode     itinerary class
130 //    ======     ===============
131 //    add        IIC_IntSimple
132 //    addc       IIC_IntGeneral
133 //    adde       IIC_IntGeneral
134 //    addi       IIC_IntSimple
135 //    addic      IIC_IntGeneral
136 //    addic.     IIC_IntGeneral
137 //    addis      IIC_IntSimple
138 //    addme      IIC_IntGeneral
139 //    addze      IIC_IntGeneral
140 //    and        IIC_IntSimple
141 //    andc       IIC_IntSimple
142 //    andi.      IIC_IntGeneral
143 //    andis.     IIC_IntGeneral
144 //    b          IIC_BrB
145 //    bc         IIC_BrB
146 //    bcctr      IIC_BrB
147 //    bclr       IIC_BrB
148 //    cmp        IIC_IntCompare
149 //    cmpi       IIC_IntCompare
150 //    cmpl       IIC_IntCompare
151 //    cmpli      IIC_IntCompare
152 //    cntlzd     IIC_IntRotateD
153 //    cntlzw     IIC_IntGeneral
154 //    crand      IIC_BrCR
155 //    crandc     IIC_BrCR
156 //    creqv      IIC_BrCR
157 //    crnand     IIC_BrCR
158 //    crnor      IIC_BrCR
159 //    cror       IIC_BrCR
160 //    crorc      IIC_BrCR
161 //    crxor      IIC_BrCR
162 //    dcba       IIC_LdStDCBA
163 //    dcbf       IIC_LdStDCBF
164 //    dcbi       IIC_LdStDCBI
165 //    dcbst      IIC_LdStDCBF
166 //    dcbt       IIC_LdStLoad
167 //    dcbtst     IIC_LdStLoad
168 //    dcbz       IIC_LdStDCBF
169 //    divd       IIC_IntDivD
170 //    divdu      IIC_IntDivD
171 //    divw       IIC_IntDivW
172 //    divwu      IIC_IntDivW
173 //    dss        IIC_LdStDSS
174 //    dst        IIC_LdStDSS
175 //    dstst      IIC_LdStDSS
176 //    eciwx      IIC_LdStLoad
177 //    ecowx      IIC_LdStLoad
178 //    eieio      IIC_LdStLoad
179 //    eqv        IIC_IntSimple
180 //    extsb      IIC_IntSimple
181 //    extsh      IIC_IntSimple
182 //    extsw      IIC_IntSimple
183 //    fabs       IIC_FPGeneral
184 //    fadd       IIC_FPAddSub
185 //    fadds      IIC_FPGeneral
186 //    fcfid      IIC_FPGeneral
187 //    fcmpo      IIC_FPCompare
188 //    fcmpu      IIC_FPCompare
189 //    fctid      IIC_FPGeneral
190 //    fctidz     IIC_FPGeneral
191 //    fctiw      IIC_FPGeneral
192 //    fctiwz     IIC_FPGeneral
193 //    fdiv       IIC_FPDivD
194 //    fdivs      IIC_FPDivS
195 //    fmadd      IIC_FPFused
196 //    fmadds     IIC_FPGeneral
197 //    fmr        IIC_FPGeneral
198 //    fmsub      IIC_FPFused
199 //    fmsubs     IIC_FPGeneral
200 //    fmul       IIC_FPFused
201 //    fmuls      IIC_FPGeneral
202 //    fnabs      IIC_FPGeneral
203 //    fneg       IIC_FPGeneral
204 //    fnmadd     IIC_FPFused
205 //    fnmadds    IIC_FPGeneral
206 //    fnmsub     IIC_FPFused
207 //    fnmsubs    IIC_FPGeneral
208 //    fres       IIC_FPRes
209 //    frsp       IIC_FPGeneral
210 //    frsqrte    IIC_FPGeneral
211 //    fsel       IIC_FPGeneral
212 //    fsqrt      IIC_FPSqrtD
213 //    fsqrts     IIC_FPSqrtS
214 //    fsub       IIC_FPAddSub
215 //    fsubs      IIC_FPGeneral
216 //    icbi       IIC_LdStICBI
217 //    isync      IIC_SprISYNC
218 //    lbz        IIC_LdStLoad
219 //    lbzu       IIC_LdStLoadUpd
220 //    lbzux      IIC_LdStLoadUpdX
221 //    lbzx       IIC_LdStLoad
222 //    ld         IIC_LdStLD
223 //    ldarx      IIC_LdStLDARX
224 //    ldu        IIC_LdStLDU
225 //    ldux       IIC_LdStLDUX
226 //    ldx        IIC_LdStLD
227 //    lfd        IIC_LdStLFD
228 //    lfdu       IIC_LdStLFDU
229 //    lfdux      IIC_LdStLFDUX
230 //    lfdx       IIC_LdStLFD
231 //    lfs        IIC_LdStLFD
232 //    lfsu       IIC_LdStLFDU
233 //    lfsux      IIC_LdStLFDUX
234 //    lfsx       IIC_LdStLFD
235 //    lha        IIC_LdStLHA
236 //    lhau       IIC_LdStLHAU
237 //    lhaux      IIC_LdStLHAUX
238 //    lhax       IIC_LdStLHA
239 //    lhbrx      IIC_LdStLoad
240 //    lhz        IIC_LdStLoad
241 //    lhzu       IIC_LdStLoadUpd
242 //    lhzux      IIC_LdStLoadUpdX
243 //    lhzx       IIC_LdStLoad
244 //    lmw        IIC_LdStLMW
245 //    lswi       IIC_LdStLMW
246 //    lswx       IIC_LdStLMW
247 //    lvebx      IIC_LdStLVecX
248 //    lvehx      IIC_LdStLVecX
249 //    lvewx      IIC_LdStLVecX
250 //    lvsl       IIC_LdStLVecX
251 //    lvsr       IIC_LdStLVecX
252 //    lvx        IIC_LdStLVecX
253 //    lvxl       IIC_LdStLVecX
254 //    lwa        IIC_LdStLWA
255 //    lwarx      IIC_LdStLWARX
256 //    lwaux      IIC_LdStLHAUX
257 //    lwax       IIC_LdStLHA
258 //    lwbrx      IIC_LdStLoad
259 //    lwz        IIC_LdStLoad
260 //    lwzu       IIC_LdStLoadUpd
261 //    lwzux      IIC_LdStLoadUpdX
262 //    lwzx       IIC_LdStLoad
263 //    mcrf       IIC_BrMCR
264 //    mcrfs      IIC_FPGeneral
265 //    mcrxr      IIC_BrMCRX
266 //    mfcr       IIC_SprMFCR
267 //    mffs       IIC_IntMFFS
268 //    mfmsr      IIC_SprMFMSR
269 //    mfspr      IIC_SprMFSPR
270 //    mfsr       IIC_SprMFSR
271 //    mfsrin     IIC_SprMFSR
272 //    mftb       IIC_SprMFTB
273 //    mfvscr     IIC_IntMFVSCR
274 //    mtcrf      IIC_BrMCRX
275 //    mtfsb0     IIC_IntMTFSB0
276 //    mtfsb1     IIC_IntMTFSB0
277 //    mtfsf      IIC_IntMTFSB0
278 //    mtfsfi     IIC_IntMTFSB0
279 //    mtmsr      IIC_SprMTMSR
280 //    mtmsrd     IIC_LdStLD
281 //    mtspr      IIC_SprMTSPR
282 //    mtsr       IIC_SprMTSR
283 //    mtsrd      IIC_IntMTSRD
284 //    mtsrdin    IIC_IntMTSRD
285 //    mtsrin     IIC_SprMTSRIN
286 //    mtvscr     IIC_IntMFVSCR
287 //    mulhd      IIC_IntMulHD
288 //    mulhdu     IIC_IntMulHD
289 //    mulhw      IIC_IntMulHW
290 //    mulhwu     IIC_IntMulHWU
291 //    mulld      IIC_IntMulHD
292 //    mulli      IIC_IntMulLI
293 //    mullw      IIC_IntMulHW
294 //    nand       IIC_IntSimple
295 //    neg        IIC_IntSimple
296 //    nor        IIC_IntSimple
297 //    or         IIC_IntSimple
298 //    orc        IIC_IntSimple
299 //    ori        IIC_IntSimple
300 //    oris       IIC_IntSimple
301 //    rfi        IIC_SprRFI
302 //    rfid       IIC_IntRFID
303 //    rldcl      IIC_IntRotateD
304 //    rldcr      IIC_IntRotateD
305 //    rldic      IIC_IntRotateDI
306 //    rldicl     IIC_IntRotateDI
307 //    rldicr     IIC_IntRotateDI
308 //    rldimi     IIC_IntRotateDI
309 //    rlwimi     IIC_IntRotate
310 //    rlwinm     IIC_IntGeneral
311 //    rlwnm      IIC_IntGeneral
312 //    sc         IIC_SprSC
313 //    slbia      IIC_LdStSLBIA
314 //    slbie      IIC_LdStSLBIE
315 //    sld        IIC_IntRotateD
316 //    slw        IIC_IntGeneral
317 //    srad       IIC_IntRotateD
318 //    sradi      IIC_IntRotateDI
319 //    sraw       IIC_IntShift
320 //    srawi      IIC_IntShift
321 //    srd        IIC_IntRotateD
322 //    srw        IIC_IntGeneral
323 //    stb        IIC_LdStStore
324 //    stbu       IIC_LdStStoreUpd
325 //    stbux      IIC_LdStStoreUpd
326 //    stbx       IIC_LdStStore
327 //    std        IIC_LdStSTD
328 //    stdcx.     IIC_LdStSTDCX
329 //    stdu       IIC_LdStSTDU
330 //    stdux      IIC_LdStSTDUX
331 //    stdx       IIC_LdStSTD
332 //    stfd       IIC_LdStSTFD
333 //    stfdu      IIC_LdStSTFDU
334 //    stfdux     IIC_LdStSTFDU
335 //    stfdx      IIC_LdStSTFD
336 //    stfiwx     IIC_LdStSTFD
337 //    stfs       IIC_LdStSTFD
338 //    stfsu      IIC_LdStSTFDU
339 //    stfsux     IIC_LdStSTFDU
340 //    stfsx      IIC_LdStSTFD
341 //    sth        IIC_LdStStore
342 //    sthbrx     IIC_LdStStore
343 //    sthu       IIC_LdStStoreUpd
344 //    sthux      IIC_LdStStoreUpd
345 //    sthx       IIC_LdStStore
346 //    stmw       IIC_LdStLMW
347 //    stswi      IIC_LdStLMW
348 //    stswx      IIC_LdStLMW
349 //    stvebx     IIC_LdStSTVEBX
350 //    stvehx     IIC_LdStSTVEBX
351 //    stvewx     IIC_LdStSTVEBX
352 //    stvx       IIC_LdStSTVEBX
353 //    stvxl      IIC_LdStSTVEBX
354 //    stw        IIC_LdStStore
355 //    stwbrx     IIC_LdStStore
356 //    stwcx.     IIC_LdStSTWCX
357 //    stwu       IIC_LdStStoreUpd
358 //    stwux      IIC_LdStStoreUpd
359 //    stwx       IIC_LdStStore
360 //    subf       IIC_IntGeneral
361 //    subfc      IIC_IntGeneral
362 //    subfe      IIC_IntGeneral
363 //    subfic     IIC_IntGeneral
364 //    subfme     IIC_IntGeneral
365 //    subfze     IIC_IntGeneral
366 //    sync       IIC_LdStSync
367 //    td         IIC_IntTrapD
368 //    tdi        IIC_IntTrapD
369 //    tlbia      IIC_LdStSLBIA
370 //    tlbie      IIC_LdStDCBF
371 //    tlbsync    IIC_SprTLBSYNC
372 //    tw         IIC_IntTrapW
373 //    twi        IIC_IntTrapW
374 //    vaddcuw    IIC_VecGeneral
375 //    vaddfp     IIC_VecFP
376 //    vaddsbs    IIC_VecGeneral
377 //    vaddshs    IIC_VecGeneral
378 //    vaddsws    IIC_VecGeneral
379 //    vaddubm    IIC_VecGeneral
380 //    vaddubs    IIC_VecGeneral
381 //    vadduhm    IIC_VecGeneral
382 //    vadduhs    IIC_VecGeneral
383 //    vadduwm    IIC_VecGeneral
384 //    vadduws    IIC_VecGeneral
385 //    vand       IIC_VecGeneral
386 //    vandc      IIC_VecGeneral
387 //    vavgsb     IIC_VecGeneral
388 //    vavgsh     IIC_VecGeneral
389 //    vavgsw     IIC_VecGeneral
390 //    vavgub     IIC_VecGeneral
391 //    vavguh     IIC_VecGeneral
392 //    vavguw     IIC_VecGeneral
393 //    vcfsx      IIC_VecFP
394 //    vcfux      IIC_VecFP
395 //    vcmpbfp    IIC_VecFPCompare
396 //    vcmpeqfp   IIC_VecFPCompare
397 //    vcmpequb   IIC_VecGeneral
398 //    vcmpequh   IIC_VecGeneral
399 //    vcmpequw   IIC_VecGeneral
400 //    vcmpgefp   IIC_VecFPCompare
401 //    vcmpgtfp   IIC_VecFPCompare
402 //    vcmpgtsb   IIC_VecGeneral
403 //    vcmpgtsh   IIC_VecGeneral
404 //    vcmpgtsw   IIC_VecGeneral
405 //    vcmpgtub   IIC_VecGeneral
406 //    vcmpgtuh   IIC_VecGeneral
407 //    vcmpgtuw   IIC_VecGeneral
408 //    vctsxs     IIC_VecFP
409 //    vctuxs     IIC_VecFP
410 //    vexptefp   IIC_VecFP
411 //    vlogefp    IIC_VecFP
412 //    vmaddfp    IIC_VecFP
413 //    vmaxfp     IIC_VecFPCompare
414 //    vmaxsb     IIC_VecGeneral
415 //    vmaxsh     IIC_VecGeneral
416 //    vmaxsw     IIC_VecGeneral
417 //    vmaxub     IIC_VecGeneral
418 //    vmaxuh     IIC_VecGeneral
419 //    vmaxuw     IIC_VecGeneral
420 //    vmhaddshs  IIC_VecComplex
421 //    vmhraddshs IIC_VecComplex
422 //    vminfp     IIC_VecFPCompare
423 //    vminsb     IIC_VecGeneral
424 //    vminsh     IIC_VecGeneral
425 //    vminsw     IIC_VecGeneral
426 //    vminub     IIC_VecGeneral
427 //    vminuh     IIC_VecGeneral
428 //    vminuw     IIC_VecGeneral
429 //    vmladduhm  IIC_VecComplex
430 //    vmrghb     IIC_VecPerm
431 //    vmrghh     IIC_VecPerm
432 //    vmrghw     IIC_VecPerm
433 //    vmrglb     IIC_VecPerm
434 //    vmrglh     IIC_VecPerm
435 //    vmrglw     IIC_VecPerm
436 //    vmsubfp    IIC_VecFP
437 //    vmsummbm   IIC_VecComplex
438 //    vmsumshm   IIC_VecComplex
439 //    vmsumshs   IIC_VecComplex
440 //    vmsumubm   IIC_VecComplex
441 //    vmsumuhm   IIC_VecComplex
442 //    vmsumuhs   IIC_VecComplex
443 //    vmulesb    IIC_VecComplex
444 //    vmulesh    IIC_VecComplex
445 //    vmuleub    IIC_VecComplex
446 //    vmuleuh    IIC_VecComplex
447 //    vmulosb    IIC_VecComplex
448 //    vmulosh    IIC_VecComplex
449 //    vmuloub    IIC_VecComplex
450 //    vmulouh    IIC_VecComplex
451 //    vnor       IIC_VecGeneral
452 //    vor        IIC_VecGeneral
453 //    vperm      IIC_VecPerm
454 //    vpkpx      IIC_VecPerm
455 //    vpkshss    IIC_VecPerm
456 //    vpkshus    IIC_VecPerm
457 //    vpkswss    IIC_VecPerm
458 //    vpkswus    IIC_VecPerm
459 //    vpkuhum    IIC_VecPerm
460 //    vpkuhus    IIC_VecPerm
461 //    vpkuwum    IIC_VecPerm
462 //    vpkuwus    IIC_VecPerm
463 //    vrefp      IIC_VecFPRound
464 //    vrfim      IIC_VecFPRound
465 //    vrfin      IIC_VecFPRound
466 //    vrfip      IIC_VecFPRound
467 //    vrfiz      IIC_VecFPRound
468 //    vrlb       IIC_VecGeneral
469 //    vrlh       IIC_VecGeneral
470 //    vrlw       IIC_VecGeneral
471 //    vrsqrtefp  IIC_VecFP
472 //    vsel       IIC_VecGeneral
473 //    vsl        IIC_VecVSL
474 //    vslb       IIC_VecGeneral
475 //    vsldoi     IIC_VecPerm
476 //    vslh       IIC_VecGeneral
477 //    vslo       IIC_VecPerm
478 //    vslw       IIC_VecGeneral
479 //    vspltb     IIC_VecPerm
480 //    vsplth     IIC_VecPerm
481 //    vspltisb   IIC_VecPerm
482 //    vspltish   IIC_VecPerm
483 //    vspltisw   IIC_VecPerm
484 //    vspltw     IIC_VecPerm
485 //    vsr        IIC_VecVSR
486 //    vsrab      IIC_VecGeneral
487 //    vsrah      IIC_VecGeneral
488 //    vsraw      IIC_VecGeneral
489 //    vsrb       IIC_VecGeneral
490 //    vsrh       IIC_VecGeneral
491 //    vsro       IIC_VecPerm
492 //    vsrw       IIC_VecGeneral
493 //    vsubcuw    IIC_VecGeneral
494 //    vsubfp     IIC_VecFP
495 //    vsubsbs    IIC_VecGeneral
496 //    vsubshs    IIC_VecGeneral
497 //    vsubsws    IIC_VecGeneral
498 //    vsububm    IIC_VecGeneral
499 //    vsububs    IIC_VecGeneral
500 //    vsubuhm    IIC_VecGeneral
501 //    vsubuhs    IIC_VecGeneral
502 //    vsubuwm    IIC_VecGeneral
503 //    vsubuws    IIC_VecGeneral
504 //    vsum2sws   IIC_VecComplex
505 //    vsum4sbs   IIC_VecComplex
506 //    vsum4shs   IIC_VecComplex
507 //    vsum4ubs   IIC_VecComplex
508 //    vsumsws    IIC_VecComplex
509 //    vupkhpx    IIC_VecPerm
510 //    vupkhsb    IIC_VecPerm
511 //    vupkhsh    IIC_VecPerm
512 //    vupklpx    IIC_VecPerm
513 //    vupklsb    IIC_VecPerm
514 //    vupklsh    IIC_VecPerm
515 //    vxor       IIC_VecGeneral
516 //    xor        IIC_IntSimple
517 //    xori       IIC_IntSimple
518 //    xoris      IIC_IntSimple
519 //