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