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