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