LLVM API Documentation
00001 //===- TableGen'erated file -------------------------------------*- C++ -*-===// 00002 // 00003 // Assembly Writer Source Fragment 00004 // 00005 // Automatically generated file, do not edit! 00006 // 00007 //===----------------------------------------------------------------------===// 00008 00009 /// printInstruction - This method is automatically generated by tablegen 00010 /// from the instruction set description. This method returns true if the 00011 /// machine instruction was sufficiently described to print it, otherwise 00012 /// it returns false. 00013 bool PPCAsmPrinter::printInstruction(const MachineInstr *MI) { 00014 static const unsigned OpInfo[] = { 00015 2U, // PHI 00016 0U, // INLINEASM 00017 0U, // DBG_LABEL 00018 0U, // EH_LABEL 00019 0U, // GC_LABEL 00020 0U, // DECLARE 00021 0U, // EXTRACT_SUBREG 00022 0U, // INSERT_SUBREG 00023 0U, // IMPLICIT_DEF 00024 0U, // SUBREG_TO_REG 00025 268435467U, // ADD4 00026 268435467U, // ADD8 00027 268435472U, // ADDC 00028 268435472U, // ADDC8 00029 268435478U, // ADDE 00030 268435478U, // ADDE8 00031 268439580U, // ADDI 00032 268439580U, // ADDI8 00033 268439586U, // ADDIC 00034 268439593U, // ADDICo 00035 268443697U, // ADDIS 00036 268443697U, // ADDIS8 00037 268468280U, // ADDME 00038 268468280U, // ADDME8 00039 268468287U, // ADDZE 00040 268468287U, // ADDZE8 00041 541065217U, // ADJCALLSTACKDOWN 00042 545259521U, // ADJCALLSTACKUP 00043 268435526U, // AND 00044 268435526U, // AND8 00045 268435531U, // ANDC 00046 268435531U, // ANDC8 00047 268447825U, // ANDISo 00048 268447825U, // ANDISo8 00049 268447833U, // ANDIo 00050 268447833U, // ANDIo8 00051 549453825U, // ATOMIC_CMP_SWAP_I16 00052 553648129U, // ATOMIC_CMP_SWAP_I32 00053 557842433U, // ATOMIC_CMP_SWAP_I64 00054 562036737U, // ATOMIC_CMP_SWAP_I8 00055 566231041U, // ATOMIC_LOAD_ADD_I16 00056 570425345U, // ATOMIC_LOAD_ADD_I32 00057 574619649U, // ATOMIC_LOAD_ADD_I64 00058 578813953U, // ATOMIC_LOAD_ADD_I8 00059 583008257U, // ATOMIC_LOAD_AND_I16 00060 587202561U, // ATOMIC_LOAD_AND_I32 00061 591396865U, // ATOMIC_LOAD_AND_I64 00062 595591169U, // ATOMIC_LOAD_AND_I8 00063 599785473U, // ATOMIC_LOAD_NAND_I16 00064 603979777U, // ATOMIC_LOAD_NAND_I32 00065 608174081U, // ATOMIC_LOAD_NAND_I64 00066 612368385U, // ATOMIC_LOAD_NAND_I8 00067 616562689U, // ATOMIC_LOAD_OR_I16 00068 620756993U, // ATOMIC_LOAD_OR_I32 00069 624951297U, // ATOMIC_LOAD_OR_I64 00070 629145601U, // ATOMIC_LOAD_OR_I8 00071 633339905U, // ATOMIC_LOAD_SUB_I16 00072 637534209U, // ATOMIC_LOAD_SUB_I32 00073 641728513U, // ATOMIC_LOAD_SUB_I64 00074 645922817U, // ATOMIC_LOAD_SUB_I8 00075 650117121U, // ATOMIC_LOAD_XOR_I16 00076 654311425U, // ATOMIC_LOAD_XOR_I32 00077 658505729U, // ATOMIC_LOAD_XOR_I64 00078 662700033U, // ATOMIC_LOAD_XOR_I8 00079 666894337U, // ATOMIC_SWAP_I16 00080 671088641U, // ATOMIC_SWAP_I32 00081 675282945U, // ATOMIC_SWAP_I64 00082 679477249U, // ATOMIC_SWAP_I8 00083 805306464U, // B 00084 1220804707U, // BCC 00085 101U, // BCTR 00086 107U, // BCTRL8_ELF 00087 107U, // BCTRL8_Macho 00088 107U, // BCTRL_ELF 00089 107U, // BCTRL_Macho 00090 1493172338U, // BL8_ELF 00091 1493172338U, // BL8_Macho 00092 1761607798U, // BLA8_ELF 00093 1761607798U, // BLA8_Macho 00094 1761607798U, // BLA_ELF 00095 1761607798U, // BLA_Macho 00096 1228931171U, // BLR 00097 1493172338U, // BL_ELF 00098 1493172338U, // BL_Macho 00099 268435579U, // CMPD 00100 268439681U, // CMPDI 00101 268435592U, // CMPLD 00102 268447887U, // CMPLDI 00103 268435607U, // CMPLW 00104 268447902U, // CMPLWI 00105 268435622U, // CMPW 00106 268439724U, // CMPWI 00107 268468403U, // CNTLZD 00108 268468411U, // CNTLZW 00109 268435651U, // CREQV 00110 268435658U, // CROR 00111 268959939U, // CRSET 00112 1879048400U, // DCBA 00113 1879048406U, // DCBF 00114 1879048412U, // DCBI 00115 1879048418U, // DCBST 00116 1879048425U, // DCBT 00117 1879048431U, // DCBTST 00118 1879048439U, // DCBZ 00119 1879048445U, // DCBZL 00120 268435716U, // DIVD 00121 268435722U, // DIVDU 00122 268435729U, // DIVW 00123 268435735U, // DIVWU 00124 2147483934U, // DSS 00125 291U, // DSSALL 00126 2415919403U, // DST 00127 2415919403U, // DST64 00128 2415919408U, // DSTST 00129 2415919408U, // DSTST64 00130 2415919415U, // DSTSTT 00131 2415919415U, // DSTSTT64 00132 2415919423U, // DSTT 00133 2415919423U, // DSTT64 00134 696254465U, // DWARF_LOC 00135 700448769U, // DYNALLOC 00136 704643073U, // DYNALLOC8 00137 268435781U, // EQV 00138 268435781U, // EQV8 00139 268468554U, // EXTSB 00140 268468554U, // EXTSB8 00141 268468561U, // EXTSH 00142 268468561U, // EXTSH8 00143 268468568U, // EXTSW 00144 268468568U, // EXTSW_32 00145 268468568U, // EXTSW_32_64 00146 268468575U, // FABSD 00147 268468575U, // FABSS 00148 268435813U, // FADD 00149 268435819U, // FADDS 00150 268435813U, // FADDrtz 00151 268468594U, // FCFID 00152 268435833U, // FCMPUD 00153 268435833U, // FCMPUS 00154 268468608U, // FCTIDZ 00155 268468616U, // FCTIWZ 00156 268435856U, // FDIV 00157 268435862U, // FDIVS 00158 268435869U, // FMADD 00159 268435876U, // FMADDS 00160 268468652U, // FMRD 00161 268468652U, // FMRS 00162 268468652U, // FMRSD 00163 268435889U, // FMSUB 00164 268435896U, // FMSUBS 00165 268435904U, // FMUL 00166 268435910U, // FMULS 00167 268468685U, // FNABSD 00168 268468685U, // FNABSS 00169 268468692U, // FNEGD 00170 268468692U, // FNEGS 00171 268435930U, // FNMADD 00172 268435938U, // FNMADDS 00173 268435947U, // FNMSUB 00174 268435955U, // FNMSUBS 00175 268468732U, // FRSP 00176 268435970U, // FSELD 00177 268435970U, // FSELS 00178 268468744U, // FSQRT 00179 268468751U, // FSQRTS 00180 268435991U, // FSUB 00181 268435997U, // FSUBS 00182 269287972U, // LA 00183 269484584U, // LBZ 00184 269484584U, // LBZ8 00185 269746733U, // LBZU 00186 269746733U, // LBZU8 00187 270008883U, // LBZX 00188 270008883U, // LBZX8 00189 270271033U, // LD 00190 270008893U, // LDARX 00191 270533188U, // LDU 00192 270008905U, // LDX 00193 269484622U, // LFD 00194 269746766U, // LFDU 00195 270008915U, // LFDX 00196 269484633U, // LFS 00197 269746777U, // LFSU 00198 270008926U, // LFSX 00199 269484644U, // LHA 00200 269484644U, // LHA8 00201 269746793U, // LHAU 00202 269320809U, // LHAU8 00203 270008943U, // LHAX 00204 270008943U, // LHAX8 00205 270008949U, // LHBRX 00206 269484668U, // LHZ 00207 269484668U, // LHZ8 00208 269746817U, // LHZU 00209 269746817U, // LHZU8 00210 270008967U, // LHZX 00211 270008967U, // LHZX8 00212 270795405U, // LI 00213 270795405U, // LI8 00214 271057553U, // LIS 00215 271057553U, // LIS8 00216 270008982U, // LVEBX 00217 270008989U, // LVEHX 00218 270008996U, // LVEWX 00219 270009003U, // LVSL 00220 270009009U, // LVSR 00221 270009015U, // LVX 00222 270009020U, // LVXL 00223 270271170U, // LWA 00224 270009031U, // LWARX 00225 270009038U, // LWAX 00226 270009044U, // LWBRX 00227 269484763U, // LWZ 00228 269484763U, // LWZ8 00229 269746912U, // LWZU 00230 269746912U, // LWZU8 00231 270009062U, // LWZX 00232 270009062U, // LWZX8 00233 268468972U, // MCRF 00234 419431154U, // MFCR 00235 419431160U, // MFCTR 00236 419431160U, // MFCTR8 00237 419431167U, // MFFS 00238 419431173U, // MFLR 00239 419431173U, // MFLR8 00240 271319794U, // MFOCRF 00241 440402699U, // MFVRSAVE 00242 419431186U, // MFVSCR 00243 2684355354U, // MTCRF 00244 419431201U, // MTCTR 00245 419431201U, // MTCTR8 00246 2952790824U, // MTFSB0 00247 2952790832U, // MTFSB1 00248 3397387064U, // MTFSF 00249 419431231U, // MTLR 00250 419431231U, // MTLR8 00251 419431237U, // MTVRSAVE 00252 419431249U, // MTVSCR 00253 268436313U, // MULHD 00254 268436320U, // MULHDU 00255 268436328U, // MULHW 00256 268436335U, // MULHWU 00257 268436343U, // MULLD 00258 268440446U, // MULLI 00259 268436357U, // MULLW 00260 3489661042U, // MovePCtoLR 00261 3489661042U, // MovePCtoLR8 00262 268436364U, // NAND 00263 268436364U, // NAND8 00264 268469138U, // NEG 00265 268469138U, // NEG8 00266 919U, // NOP 00267 268436380U, // NOR 00268 268436380U, // NOR8 00269 268436385U, // OR 00270 268436385U, // OR4To8 00271 268436385U, // OR8 00272 268436385U, // OR8To4 00273 268436389U, // ORC 00274 268436389U, // ORC8 00275 268448682U, // ORI 00276 268448682U, // ORI8 00277 268448687U, // ORIS 00278 268448687U, // ORIS8 00279 268436405U, // RLDCL 00280 268452796U, // RLDICL 00281 268452804U, // RLDICR 00282 271713228U, // RLDIMI 00283 271746004U, // RLWIMI 00284 268456924U, // RLWINM 00285 268456932U, // RLWINMo 00286 268436461U, // RLWNM 00287 717225985U, // SELECT_CC_F4 00288 717225985U, // SELECT_CC_F8 00289 717225985U, // SELECT_CC_I4 00290 717225985U, // SELECT_CC_I8 00291 717225985U, // SELECT_CC_VRRC 00292 268436468U, // SLD 00293 268436473U, // SLW 00294 721420289U, // SPILL_CR 00295 268436478U, // SRAD 00296 268452868U, // SRADI 00297 268436491U, // SRAW 00298 268456977U, // SRAWI 00299 268436504U, // SRD 00300 268436509U, // SRW 00301 269485090U, // STB 00302 269485090U, // STB8 00303 3409970215U, // STBU 00304 3409970215U, // STBU8 00305 270009389U, // STBX 00306 270009389U, // STBX8 00307 270271539U, // STD 00308 270009400U, // STDCX 00309 3414164544U, // STDU 00310 270009414U, // STDUX 00311 270009421U, // STDX 00312 270009421U, // STDX_32 00313 270271539U, // STD_32 00314 269485139U, // STFD 00315 3409970265U, // STFDU 00316 270009440U, // STFDX 00317 270009447U, // STFIWX 00318 269485167U, // STFS 00319 3409970293U, // STFSU 00320 270009468U, // STFSX 00321 269485187U, // STH 00322 269485187U, // STH8 00323 270009480U, // STHBRX 00324 3409970320U, // STHU 00325 3409970320U, // STHU8 00326 270009494U, // STHX 00327 270009494U, // STHX8 00328 270009500U, // STVEBX 00329 270009508U, // STVEHX 00330 270009516U, // STVEWX 00331 270009524U, // STVX 00332 270009530U, // STVXL 00333 269485249U, // STW 00334 269485249U, // STW8 00335 270009542U, // STWBRX 00336 270009550U, // STWCX 00337 3409970390U, // STWU 00338 3409970390U, // STWU8 00339 268436700U, // STWUX 00340 270009571U, // STWX 00341 270009571U, // STWX8 00342 268436713U, // SUBF 00343 268436713U, // SUBF8 00344 268436719U, // SUBFC 00345 268436719U, // SUBFC8 00346 268436726U, // SUBFE 00347 268436726U, // SUBFE8 00348 268440829U, // SUBFIC 00349 268440829U, // SUBFIC8 00350 268469509U, // SUBFME 00351 268469509U, // SUBFME8 00352 268469517U, // SUBFZE 00353 268469517U, // SUBFZE8 00354 1301U, // SYNC 00355 1493172320U, // TAILB 00356 1493172320U, // TAILB8 00357 1761608987U, // TAILBA 00358 1761608987U, // TAILBA8 00359 101U, // TAILBCTR 00360 101U, // TAILBCTR8 00361 1757447455U, // TCRETURNai 00362 1757447468U, // TCRETURNai8 00363 1489012026U, // TCRETURNdi 00364 1489012039U, // TCRETURNdi8 00365 415270229U, // TCRETURNri 00366 415270242U, // TCRETURNri8 00367 1392U, // TRAP 00368 268469622U, // UPDATE_VRSAVE 00369 268436869U, // VADDCUW 00370 268436878U, // VADDFP 00371 268436886U, // VADDSBS 00372 268436895U, // VADDSHS 00373 268436904U, // VADDSWS 00374 268436913U, // VADDUBM 00375 268436922U, // VADDUBS 00376 268436931U, // VADDUHM 00377 268436940U, // VADDUHS 00378 268436949U, // VADDUWM 00379 268436958U, // VADDUWS 00380 268436967U, // VAND 00381 268436973U, // VANDC 00382 268436980U, // VAVGSB 00383 268436988U, // VAVGSH 00384 268436996U, // VAVGSW 00385 268437004U, // VAVGUB 00386 268437012U, // VAVGUH 00387 268437020U, // VAVGUW 00388 271779364U, // VCFSX 00389 271779371U, // VCFUX 00390 268437042U, // VCMPBFP 00391 268437051U, // VCMPBFPo 00392 268437061U, // VCMPEQFP 00393 268437071U, // VCMPEQFPo 00394 268437082U, // VCMPEQUB 00395 268437092U, // VCMPEQUBo 00396 268437103U, // VCMPEQUH 00397 268437113U, // VCMPEQUHo 00398 268437124U, // VCMPEQUW 00399 268437134U, // VCMPEQUWo 00400 268437145U, // VCMPGEFP 00401 268437155U, // VCMPGEFPo 00402 268437166U, // VCMPGTFP 00403 268437176U, // VCMPGTFPo 00404 268437187U, // VCMPGTSB 00405 268437197U, // VCMPGTSBo 00406 268437208U, // VCMPGTSH 00407 268437218U, // VCMPGTSHo 00408 268437229U, // VCMPGTSW 00409 268437239U, // VCMPGTSWo 00410 268437250U, // VCMPGTUB 00411 268437260U, // VCMPGTUBo 00412 268437271U, // VCMPGTUH 00413 268437281U, // VCMPGTUHo 00414 268437292U, // VCMPGTUW 00415 268437302U, // VCMPGTUWo 00416 271779649U, // VCTSXS 00417 271779657U, // VCTUXS 00418 268470097U, // VEXPTEFP 00419 268470107U, // VLOGEFP 00420 268437348U, // VMADDFP 00421 268437357U, // VMAXFP 00422 268437365U, // VMAXSB 00423 268437373U, // VMAXSH 00424 268437381U, // VMAXSW 00425 268437389U, // VMAXUB 00426 268437397U, // VMAXUH 00427 268437405U, // VMAXUW 00428 268437413U, // VMHADDSHS 00429 268437424U, // VMHRADDSHS 00430 268437436U, // VMINFP 00431 268437444U, // VMINSB 00432 268437452U, // VMINSH 00433 268437460U, // VMINSW 00434 268437468U, // VMINUB 00435 268437476U, // VMINUH 00436 268437484U, // VMINUW 00437 268437492U, // VMLADDUHM 00438 268437503U, // VMRGHB 00439 268437511U, // VMRGHH 00440 268437519U, // VMRGHW 00441 268437527U, // VMRGLB 00442 268437535U, // VMRGLH 00443 268437543U, // VMRGLW 00444 268437551U, // VMSUMMBM 00445 268437561U, // VMSUMSHM 00446 268437571U, // VMSUMSHS 00447 268437581U, // VMSUMUBM 00448 268437591U, // VMSUMUHM 00449 268437601U, // VMSUMUHS 00450 268437611U, // VMULESB 00451 268437620U, // VMULESH 00452 268437629U, // VMULEUB 00453 268437638U, // VMULEUH 00454 268437647U, // VMULOSB 00455 268437656U, // VMULOSH 00456 268437665U, // VMULOUB 00457 268437674U, // VMULOUH 00458 268437683U, // VNMSUBFP 00459 268437693U, // VNOR 00460 268437699U, // VOR 00461 268437704U, // VPERM 00462 268437711U, // VPKPX 00463 268437718U, // VPKSHSS 00464 268437727U, // VPKSHUS 00465 268437736U, // VPKSWSS 00466 268437745U, // VPKSWUS 00467 268437754U, // VPKUHUM 00468 268437763U, // VPKUHUS 00469 268437772U, // VPKUWUM 00470 268437781U, // VPKUWUS 00471 268470558U, // VREFP 00472 268470565U, // VRFIM 00473 268470572U, // VRFIN 00474 268470579U, // VRFIP 00475 268470586U, // VRFIZ 00476 268437825U, // VRLB 00477 268437831U, // VRLH 00478 268437837U, // VRLW 00479 268470611U, // VRSQRTEFP 00480 268437854U, // VSEL 00481 268437860U, // VSL 00482 268437865U, // VSLB 00483 268437871U, // VSLDOI 00484 268437879U, // VSLH 00485 268437885U, // VSLO 00486 268437891U, // VSLW 00487 271780233U, // VSPLTB 00488 271780241U, // VSPLTH 00489 271845785U, // VSPLTISB 00490 271845795U, // VSPLTISH 00491 271845805U, // VSPLTISW 00492 271780279U, // VSPLTW 00493 268437951U, // VSR 00494 268437956U, // VSRAB 00495 268437963U, // VSRAH 00496 268437970U, // VSRAW 00497 268437977U, // VSRB 00498 268437983U, // VSRH 00499 268437989U, // VSRO 00500 268437995U, // VSRW 00501 268438001U, // VSUBCUW 00502 268438010U, // VSUBFP 00503 268438018U, // VSUBSBS 00504 268438027U, // VSUBSHS 00505 268438036U, // VSUBSWS 00506 268438045U, // VSUBUBM 00507 268438054U, // VSUBUBS 00508 268438063U, // VSUBUHM 00509 268438072U, // VSUBUHS 00510 268438081U, // VSUBUWM 00511 268438090U, // VSUBUWS 00512 268438099U, // VSUM2SWS 00513 268438109U, // VSUM4SBS 00514 268438119U, // VSUM4SHS 00515 268438129U, // VSUM4UBS 00516 268438139U, // VSUMSWS 00517 268470916U, // VUPKHPX 00518 268470925U, // VUPKHSB 00519 268470934U, // VUPKHSH 00520 268470943U, // VUPKLPX 00521 268470952U, // VUPKLSB 00522 268470961U, // VUPKLSH 00523 268438202U, // VXOR 00524 268962490U, // V_SET0 00525 268438208U, // XOR 00526 268438208U, // XOR8 00527 268450501U, // XORI 00528 268450501U, // XORI8 00529 268450507U, // XORIS 00530 268450507U, // XORIS8 00531 0U 00532 }; 00533 00534 const char *AsmStrs = 00535 "\000\000PHINODE\n\000add \000addc \000adde \000addi \000addic \000addic" 00536 ". \000addis \000addme \000addze \000and \000andc \000andis. \000andi. \000" 00537 "b \000b\000bctr\n\000bctrl\n\000bl \000bla \000cmpd \000cmpdi \000cmpld" 00538 " \000cmpldi \000cmplw \000cmplwi \000cmpw \000cmpwi \000cntlzd \000cntl" 00539 "zw \000creqv \000cror \000dcba \000dcbf \000dcbi \000dcbst \000dcbt \000" 00540 "dcbtst \000dcbz \000dcbzl \000divd \000divdu \000divw \000divwu \000dss" 00541 " \000dssall\n\000dst \000dstst \000dststt \000dstt \000eqv \000extsb \000" 00542 "extsh \000extsw \000fabs \000fadd \000fadds \000fcfid \000fcmpu \000fct" 00543 "idz \000fctiwz \000fdiv \000fdivs \000fmadd \000fmadds \000fmr \000fmsu" 00544 "b \000fmsubs \000fmul \000fmuls \000fnabs \000fneg \000fnmadd \000fnmad" 00545 "ds \000fnmsub \000fnmsubs \000frsp \000fsel \000fsqrt \000fsqrts \000fs" 00546 "ub \000fsubs \000la \000lbz \000lbzu \000lbzx \000ld \000ldarx \000ldu " 00547 "\000ldx \000lfd \000lfdx \000lfs \000lfsx \000lha \000lhau \000lhax \000" 00548 "lhbrx \000lhz \000lhzu \000lhzx \000li \000lis \000lvebx \000lvehx \000" 00549 "lvewx \000lvsl \000lvsr \000lvx \000lvxl \000lwa \000lwarx \000lwax \000" 00550 "lwbrx \000lwz \000lwzu \000lwzx \000mcrf \000mfcr \000mfctr \000mffs \000" 00551 "mflr \000mfspr \000mfvscr \000mtcrf \000mtctr \000mtfsb0 \000mtfsb1 \000" 00552 "mtfsf \000mtlr \000mtspr 256, \000mtvscr \000mulhd \000mulhdu \000mulhw" 00553 " \000mulhwu \000mulld \000mulli \000mullw \000nand \000neg \000nop\n\000" 00554 "nor \000or \000orc \000ori \000oris \000rldcl \000rldicl \000rldicr \000" 00555 "rldimi \000rlwimi \000rlwinm \000rlwinm. \000rlwnm \000sld \000slw \000" 00556 "srad \000sradi \000sraw \000srawi \000srd \000srw \000stb \000stbu \000" 00557 "stbx \000std \000stdcx. \000stdu \000stdux \000stdx \000stfd \000stfdu " 00558 "\000stfdx \000stfiwx \000stfs \000stfsu \000stfsx \000sth \000sthbrx \000" 00559 "sthu \000sthx \000stvebx \000stvehx \000stvewx \000stvx \000stvxl \000s" 00560 "tw \000stwbrx \000stwcx. \000stwu \000stwux \000stwx \000subf \000subfc" 00561 " \000subfe \000subfic \000subfme \000subfze \000sync\n\000ba \000#TC_RE" 00562 "TURNa \000#TC_RETURNa8 \000#TC_RETURNd \000#TC_RETURNd8 \000#TC_RETURNr" 00563 " \000#TC_RETURNr8 \000trap\n\000UPDATE_VRSAVE \000vaddcuw \000vaddfp \000" 00564 "vaddsbs \000vaddshs \000vaddsws \000vaddubm \000vaddubs \000vadduhm \000" 00565 "vadduhs \000vadduwm \000vadduws \000vand \000vandc \000vavgsb \000vavgs" 00566 "h \000vavgsw \000vavgub \000vavguh \000vavguw \000vcfsx \000vcfux \000v" 00567 "cmpbfp \000vcmpbfp. \000vcmpeqfp \000vcmpeqfp. \000vcmpequb \000vcmpequ" 00568 "b. \000vcmpequh \000vcmpequh. \000vcmpequw \000vcmpequw. \000vcmpgefp \000" 00569 "vcmpgefp. \000vcmpgtfp \000vcmpgtfp. \000vcmpgtsb \000vcmpgtsb. \000vcm" 00570 "pgtsh \000vcmpgtsh. \000vcmpgtsw \000vcmpgtsw. \000vcmpgtub \000vcmpgtu" 00571 "b. \000vcmpgtuh \000vcmpgtuh. \000vcmpgtuw \000vcmpgtuw. \000vctsxs \000" 00572 "vctuxs \000vexptefp \000vlogefp \000vmaddfp \000vmaxfp \000vmaxsb \000v" 00573 "maxsh \000vmaxsw \000vmaxub \000vmaxuh \000vmaxuw \000vmhaddshs \000vmh" 00574 "raddshs \000vminfp \000vminsb \000vminsh \000vminsw \000vminub \000vmin" 00575 "uh \000vminuw \000vmladduhm \000vmrghb \000vmrghh \000vmrghw \000vmrglb" 00576 " \000vmrglh \000vmrglw \000vmsummbm \000vmsumshm \000vmsumshs \000vmsum" 00577 "ubm \000vmsumuhm \000vmsumuhs \000vmulesb \000vmulesh \000vmuleub \000v" 00578 "muleuh \000vmulosb \000vmulosh \000vmuloub \000vmulouh \000vnmsubfp \000" 00579 "vnor \000vor \000vperm \000vpkpx \000vpkshss \000vpkshus \000vpkswss \000" 00580 "vpkswus \000vpkuhum \000vpkuhus \000vpkuwum \000vpkuwus \000vrefp \000v" 00581 "rfim \000vrfin \000vrfip \000vrfiz \000vrlb \000vrlh \000vrlw \000vrsqr" 00582 "tefp \000vsel \000vsl \000vslb \000vsldoi \000vslh \000vslo \000vslw \000" 00583 "vspltb \000vsplth \000vspltisb \000vspltish \000vspltisw \000vspltw \000" 00584 "vsr \000vsrab \000vsrah \000vsraw \000vsrb \000vsrh \000vsro \000vsrw \000" 00585 "vsubcuw \000vsubfp \000vsubsbs \000vsubshs \000vsubsws \000vsububm \000" 00586 "vsububs \000vsubuhm \000vsubuhs \000vsubuwm \000vsubuws \000vsum2sws \000" 00587 "vsum4sbs \000vsum4shs \000vsum4ubs \000vsumsws \000vupkhpx \000vupkhsb " 00588 "\000vupkhsh \000vupklpx \000vupklsb \000vupklsh \000vxor \000xor \000xo" 00589 "ri \000xoris \000"; 00590 00591 if (MI->getOpcode() == TargetInstrInfo::INLINEASM) { 00592 O << "\t"; 00593 printInlineAsm(MI); 00594 return true; 00595 } else if (MI->isLabel()) { 00596 printLabel(MI); 00597 return true; 00598 } else if (MI->getOpcode() == TargetInstrInfo::DECLARE) { 00599 printDeclare(MI); 00600 return true; 00601 } else if (MI->getOpcode() == TargetInstrInfo::IMPLICIT_DEF) { 00602 printImplicitDef(MI); 00603 return true; 00604 } 00605 00606 O << "\t"; 00607 00608 // Emit the opcode for the instruction. 00609 unsigned Bits = OpInfo[MI->getOpcode()]; 00610 if (Bits == 0) return false; 00611 O << AsmStrs+(Bits & 4095); 00612 00613 00614 // Fragment 0 encoded into 4 bits for 14 unique commands. 00615 switch ((Bits >> 28) & 15) { 00616 default: // unreachable. 00617 case 0: 00618 return true; 00619 break; 00620 case 1: 00621 // ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, ADDI, ADDI8, ADDIC, ADDICo, ADDI... 00622 printOperand(MI, 0); 00623 break; 00624 case 2: 00625 // ADJCALLSTACKDOWN, ADJCALLSTACKUP, ATOMIC_CMP_SWAP_I16, ATOMIC_CMP_SWAP... 00626 PrintSpecial(MI, "comment"); 00627 break; 00628 case 3: 00629 // B 00630 printBranchOperand(MI, 0); 00631 O << "\n"; 00632 return true; 00633 break; 00634 case 4: 00635 // BCC, BLR 00636 printPredicateOperand(MI, 0, "cc"); 00637 break; 00638 case 5: 00639 // BL8_ELF, BL8_Macho, BL_ELF, BL_Macho, TAILB, TAILB8, TCRETURNdi, TCRET... 00640 printCallOperand(MI, 0); 00641 break; 00642 case 6: 00643 // BLA8_ELF, BLA8_Macho, BLA_ELF, BLA_Macho, TAILBA, TAILBA8, TCRETURNai,... 00644 printAbsAddrOperand(MI, 0); 00645 break; 00646 case 7: 00647 // DCBA, DCBF, DCBI, DCBST, DCBT, DCBTST, DCBZ, DCBZL 00648 printMemRegReg(MI, 0); 00649 O << "\n"; 00650 return true; 00651 break; 00652 case 8: 00653 // DSS 00654 printU5ImmOperand(MI, 1); 00655 O << "\n"; 00656 return true; 00657 break; 00658 case 9: 00659 // DST, DST64, DSTST, DSTST64, DSTSTT, DSTSTT64, DSTT, DSTT64 00660 printOperand(MI, 2); 00661 O << ", "; 00662 printOperand(MI, 3); 00663 O << ", "; 00664 printU5ImmOperand(MI, 1); 00665 O << "\n"; 00666 return true; 00667 break; 00668 case 10: 00669 // MTCRF 00670 printcrbitm(MI, 0); 00671 O << ", "; 00672 printOperand(MI, 1); 00673 O << "\n"; 00674 return true; 00675 break; 00676 case 11: 00677 // MTFSB0, MTFSB1 00678 printU5ImmOperand(MI, 0); 00679 O << "\n"; 00680 return true; 00681 break; 00682 case 12: 00683 // MTFSF, STBU, STBU8, STDU, STFDU, STFSU, STHU, STHU8, STWU, STWU8 00684 printOperand(MI, 1); 00685 O << ", "; 00686 break; 00687 case 13: 00688 // MovePCtoLR, MovePCtoLR8 00689 printPICLabel(MI, 0); 00690 O << "\n"; 00691 return true; 00692 break; 00693 } 00694 00695 00696 // Fragment 1 encoded into 6 bits for 47 unique commands. 00697 switch ((Bits >> 22) & 63) { 00698 default: // unreachable. 00699 case 0: 00700 // ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, ADDI, ADDI8, ADDIC, ADDICo, ADDI... 00701 O << ", "; 00702 break; 00703 case 1: 00704 // ADJCALLSTACKDOWN 00705 O << " ADJCALLSTACKDOWN\n"; 00706 return true; 00707 break; 00708 case 2: 00709 // ADJCALLSTACKUP 00710 O << " ADJCALLSTACKUP\n"; 00711 return true; 00712 break; 00713 case 3: 00714 // ATOMIC_CMP_SWAP_I16 00715 O << " ATOMIC_CMP_SWAP_I16 PSEUDO!\n"; 00716 return true; 00717 break; 00718 case 4: 00719 // ATOMIC_CMP_SWAP_I32 00720 O << " ATOMIC_CMP_SWAP_I32 PSEUDO!\n"; 00721 return true; 00722 break; 00723 case 5: 00724 // ATOMIC_CMP_SWAP_I64 00725 O << " ATOMIC_CMP_SWAP_I64 PSEUDO!\n"; 00726 return true; 00727 break; 00728 case 6: 00729 // ATOMIC_CMP_SWAP_I8 00730 O << " ATOMIC_CMP_SWAP_I8 PSEUDO!\n"; 00731 return true; 00732 break; 00733 case 7: 00734 // ATOMIC_LOAD_ADD_I16 00735 O << " ATOMIC_LOAD_ADD_I16 PSEUDO!\n"; 00736 return true; 00737 break; 00738 case 8: 00739 // ATOMIC_LOAD_ADD_I32 00740 O << " ATOMIC_LOAD_ADD_I32 PSEUDO!\n"; 00741 return true; 00742 break; 00743 case 9: 00744 // ATOMIC_LOAD_ADD_I64 00745 O << " ATOMIC_LOAD_ADD_I64 PSEUDO!\n"; 00746 return true; 00747 break; 00748 case 10: 00749 // ATOMIC_LOAD_ADD_I8 00750 O << " ATOMIC_LOAD_ADD_I8 PSEUDO!\n"; 00751 return true; 00752 break; 00753 case 11: 00754 // ATOMIC_LOAD_AND_I16 00755 O << " ATOMIC_LOAD_AND_I16 PSEUDO!\n"; 00756 return true; 00757 break; 00758 case 12: 00759 // ATOMIC_LOAD_AND_I32 00760 O << " ATOMIC_LOAD_AND_I32 PSEUDO!\n"; 00761 return true; 00762 break; 00763 case 13: 00764 // ATOMIC_LOAD_AND_I64 00765 O << " ATOMIC_LOAD_AND_I64 PSEUDO!\n"; 00766 return true; 00767 break; 00768 case 14: 00769 // ATOMIC_LOAD_AND_I8 00770 O << " ATOMIC_LOAD_AND_I8 PSEUDO!\n"; 00771 return true; 00772 break; 00773 case 15: 00774 // ATOMIC_LOAD_NAND_I16 00775 O << " ATOMIC_LOAD_NAND_I16 PSEUDO!\n"; 00776 return true; 00777 break; 00778 case 16: 00779 // ATOMIC_LOAD_NAND_I32 00780 O << " ATOMIC_LOAD_NAND_I32 PSEUDO!\n"; 00781 return true; 00782 break; 00783 case 17: 00784 // ATOMIC_LOAD_NAND_I64 00785 O << " ATOMIC_LOAD_NAND_I64 PSEUDO!\n"; 00786 return true; 00787 break; 00788 case 18: 00789 // ATOMIC_LOAD_NAND_I8 00790 O << " ATOMIC_LOAD_NAND_I8 PSEUDO!\n"; 00791 return true; 00792 break; 00793 case 19: 00794 // ATOMIC_LOAD_OR_I16 00795 O << " ATOMIC_LOAD_OR_I16 PSEUDO!\n"; 00796 return true; 00797 break; 00798 case 20: 00799 // ATOMIC_LOAD_OR_I32 00800 O << " ATOMIC_LOAD_OR_I32 PSEUDO!\n"; 00801 return true; 00802 break; 00803 case 21: 00804 // ATOMIC_LOAD_OR_I64 00805 O << " ATOMIC_LOAD_OR_I64 PSEUDO!\n"; 00806 return true; 00807 break; 00808 case 22: 00809 // ATOMIC_LOAD_OR_I8 00810 O << " ATOMIC_LOAD_OR_I8 PSEUDO!\n"; 00811 return true; 00812 break; 00813 case 23: 00814 // ATOMIC_LOAD_SUB_I16 00815 O << " ATOMIC_LOAD_SUB_I16 PSEUDO!\n"; 00816 return true; 00817 break; 00818 case 24: 00819 // ATOMIC_LOAD_SUB_I32 00820 O << " ATOMIC_LOAD_SUB_I32 PSEUDO!\n"; 00821 return true; 00822 break; 00823 case 25: 00824 // ATOMIC_LOAD_SUB_I64 00825 O << " ATOMIC_LOAD_SUB_I64 PSEUDO!\n"; 00826 return true; 00827 break; 00828 case 26: 00829 // ATOMIC_LOAD_SUB_I8 00830 O << " ATOMIC_LOAD_SUB_I8 PSEUDO!\n"; 00831 return true; 00832 break; 00833 case 27: 00834 // ATOMIC_LOAD_XOR_I16 00835 O << " ATOMIC_LOAD_XOR_I16 PSEUDO!\n"; 00836 return true; 00837 break; 00838 case 28: 00839 // ATOMIC_LOAD_XOR_I32 00840 O << " ATOMIC_LOAD_XOR_I32 PSEUDO!\n"; 00841 return true; 00842 break; 00843 case 29: 00844 // ATOMIC_LOAD_XOR_I64 00845 O << " ATOMIC_LOAD_XOR_I64 PSEUDO!\n"; 00846 return true; 00847 break; 00848 case 30: 00849 // ATOMIC_LOAD_XOR_I8 00850 O << " ATOMIC_LOAD_XOR_I8 PSEUDO!\n"; 00851 return true; 00852 break; 00853 case 31: 00854 // ATOMIC_SWAP_I16 00855 O << " ATOMIC_SWAP_I16 PSEUDO!\n"; 00856 return true; 00857 break; 00858 case 32: 00859 // ATOMIC_SWAP_I32 00860 O << " ATOMIC_SWAP_I32 PSEUDO!\n"; 00861 return true; 00862 break; 00863 case 33: 00864 // ATOMIC_SWAP_I64 00865 O << " ATOMIC_SWAP_I64 PSEUDO!\n"; 00866 return true; 00867 break; 00868 case 34: 00869 // ATOMIC_SWAP_I8 00870 O << " ATOMIC_SWAP_I8 PSEUDO!\n"; 00871 return true; 00872 break; 00873 case 35: 00874 // BCC, TCRETURNai, TCRETURNai8, TCRETURNdi, TCRETURNdi8, TCRETURNri, TCR... 00875 O << " "; 00876 break; 00877 case 36: 00878 // BL8_ELF, BL8_Macho, BLA8_ELF, BLA8_Macho, BLA_ELF, BLA_Macho, BL_ELF, ... 00879 O << "\n"; 00880 return true; 00881 break; 00882 case 37: 00883 // BLR 00884 O << "lr "; 00885 printPredicateOperand(MI, 0, "reg"); 00886 O << "\n"; 00887 return true; 00888 break; 00889 case 38: 00890 // DWARF_LOC 00891 O << " .loc "; 00892 printOperand(MI, 2); 00893 O << ", "; 00894 printOperand(MI, 0); 00895 O << ", "; 00896 printOperand(MI, 1); 00897 O << "\n"; 00898 return true; 00899 break; 00900 case 39: 00901 // DYNALLOC 00902 O << " DYNALLOC "; 00903 printOperand(MI, 0); 00904 O << ", "; 00905 printOperand(MI, 1); 00906 O << ", "; 00907 printMemRegImm(MI, 2); 00908 O << "\n"; 00909 return true; 00910 break; 00911 case 40: 00912 // DYNALLOC8 00913 O << " DYNALLOC8 "; 00914 printOperand(MI, 0); 00915 O << ", "; 00916 printOperand(MI, 1); 00917 O << ", "; 00918 printMemRegImm(MI, 2); 00919 O << "\n"; 00920 return true; 00921 break; 00922 case 41: 00923 // MFVRSAVE 00924 O << ", 256\n"; 00925 return true; 00926 break; 00927 case 42: 00928 // MTFSF 00929 printOperand(MI, 2); 00930 O << "\n"; 00931 return true; 00932 break; 00933 case 43: 00934 // SELECT_CC_F4, SELECT_CC_F8, SELECT_CC_I4, SELECT_CC_I8, SELECT_CC_VRRC 00935 O << " SELECT_CC PSEUDO!\n"; 00936 return true; 00937 break; 00938 case 44: 00939 // SPILL_CR 00940 O << " SPILL_CR "; 00941 printOperand(MI, 0); 00942 O << " "; 00943 printMemRegImm(MI, 1); 00944 O << "\n"; 00945 return true; 00946 break; 00947 case 45: 00948 // STBU, STBU8, STFDU, STFSU, STHU, STHU8, STWU, STWU8 00949 printSymbolLo(MI, 2); 00950 O << "("; 00951 printOperand(MI, 3); 00952 O << ")\n"; 00953 return true; 00954 break; 00955 case 46: 00956 // STDU 00957 printS16X4ImmOperand(MI, 2); 00958 O << "("; 00959 printOperand(MI, 3); 00960 O << ")\n"; 00961 return true; 00962 break; 00963 } 00964 00965 00966 // Fragment 2 encoded into 4 bits for 14 unique commands. 00967 switch ((Bits >> 18) & 15) { 00968 default: // unreachable. 00969 case 0: 00970 // ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, ADDI, ADDI8, ADDIC, ADDICo, ADDI... 00971 printOperand(MI, 1); 00972 break; 00973 case 1: 00974 // BCC 00975 printPredicateOperand(MI, 0, "reg"); 00976 O << ", "; 00977 printBranchOperand(MI, 2); 00978 O << "\n"; 00979 return true; 00980 break; 00981 case 2: 00982 // CRSET, V_SET0 00983 printOperand(MI, 0); 00984 O << ", "; 00985 printOperand(MI, 0); 00986 O << "\n"; 00987 return true; 00988 break; 00989 case 3: 00990 // LA, LHAU8 00991 printSymbolLo(MI, 2); 00992 O << "("; 00993 break; 00994 case 4: 00995 // LBZ, LBZ8, LFD, LFS, LHA, LHA8, LHZ, LHZ8, LWZ, LWZ8, STB, STB8, STFD,... 00996 printMemRegImm(MI, 1); 00997 O << "\n"; 00998 return true; 00999 break; 01000 case 5: 01001 // LBZU, LBZU8, LFDU, LFSU, LHAU, LHZU, LHZU8, LWZU, LWZU8 01002 printMemRegImm(MI, 2); 01003 O << "\n"; 01004 return true; 01005 break; 01006 case 6: 01007 // LBZX, LBZX8, LDARX, LDX, LFDX, LFSX, LHAX, LHAX8, LHBRX, LHZX, LHZX8, ... 01008 printMemRegReg(MI, 1); 01009 O << "\n"; 01010 return true; 01011 break; 01012 case 7: 01013 // LD, LWA, STD, STD_32 01014 printMemRegImmShifted(MI, 1); 01015 O << "\n"; 01016 return true; 01017 break; 01018 case 8: 01019 // LDU 01020 printMemRegImmShifted(MI, 2); 01021 O << "\n"; 01022 return true; 01023 break; 01024 case 9: 01025 // LI, LI8 01026 printSymbolLo(MI, 1); 01027 O << "\n"; 01028 return true; 01029 break; 01030 case 10: 01031 // LIS, LIS8 01032 printSymbolHi(MI, 1); 01033 O << "\n"; 01034 return true; 01035 break; 01036 case 11: 01037 // MFOCRF 01038 printcrbitm(MI, 1); 01039 O << "\n"; 01040 return true; 01041 break; 01042 case 12: 01043 // RLDIMI, RLWIMI, VCFSX, VCFUX, VCTSXS, VCTUXS, VSPLTB, VSPLTH, VSPLTW 01044 printOperand(MI, 2); 01045 O << ", "; 01046 break; 01047 case 13: 01048 // VSPLTISB, VSPLTISH, VSPLTISW 01049 printS5ImmOperand(MI, 1); 01050 O << "\n"; 01051 return true; 01052 break; 01053 } 01054 01055 01056 // Fragment 3 encoded into 3 bits for 7 unique commands. 01057 switch ((Bits >> 15) & 7) { 01058 default: // unreachable. 01059 case 0: 01060 // ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, ADDI, ADDI8, ADDIC, ADDICo, ADDI... 01061 O << ", "; 01062 break; 01063 case 1: 01064 // ADDME, ADDME8, ADDZE, ADDZE8, CNTLZD, CNTLZW, EXTSB, EXTSB8, EXTSH, EX... 01065 O << "\n"; 01066 return true; 01067 break; 01068 case 2: 01069 // LA 01070 printOperand(MI, 1); 01071 O << ")\n"; 01072 return true; 01073 break; 01074 case 3: 01075 // LHAU8 01076 printOperand(MI, 3); 01077 O << ")\n"; 01078 return true; 01079 break; 01080 case 4: 01081 // RLDIMI 01082 printU6ImmOperand(MI, 3); 01083 O << ", "; 01084 printU6ImmOperand(MI, 4); 01085 O << "\n"; 01086 return true; 01087 break; 01088 case 5: 01089 // RLWIMI 01090 printU5ImmOperand(MI, 3); 01091 O << ", "; 01092 printU5ImmOperand(MI, 4); 01093 O << ", "; 01094 printU5ImmOperand(MI, 5); 01095 O << "\n"; 01096 return true; 01097 break; 01098 case 6: 01099 // VCFSX, VCFUX, VCTSXS, VCTUXS, VSPLTB, VSPLTH, VSPLTW 01100 printU5ImmOperand(MI, 1); 01101 O << "\n"; 01102 return true; 01103 break; 01104 } 01105 01106 01107 // Fragment 4 encoded into 3 bits for 6 unique commands. 01108 switch ((Bits >> 12) & 7) { 01109 default: // unreachable. 01110 case 0: 01111 // ADD4, ADD8, ADDC, ADDC8, ADDE, ADDE8, AND, AND8, ANDC, ANDC8, CMPD, CM... 01112 printOperand(MI, 2); 01113 break; 01114 case 1: 01115 // ADDI, ADDI8, ADDIC, ADDICo, CMPDI, CMPWI, MULLI, SUBFIC, SUBFIC8 01116 printS16ImmOperand(MI, 2); 01117 O << "\n"; 01118 return true; 01119 break; 01120 case 2: 01121 // ADDIS, ADDIS8 01122 printSymbolHi(MI, 2); 01123 O << "\n"; 01124 return true; 01125 break; 01126 case 3: 01127 // ANDISo, ANDISo8, ANDIo, ANDIo8, CMPLDI, CMPLWI, ORI, ORI8, ORIS, ORIS8... 01128 printU16ImmOperand(MI, 2); 01129 O << "\n"; 01130 return true; 01131 break; 01132 case 4: 01133 // RLDICL, RLDICR, SRADI 01134 printU6ImmOperand(MI, 2); 01135 break; 01136 case 5: 01137 // RLWINM, RLWINMo, SRAWI 01138 printU5ImmOperand(MI, 2); 01139 break; 01140 } 01141 01142 switch (MI->getOpcode()) { 01143 case PPC::ADD4: 01144 case PPC::ADD8: 01145 case PPC::ADDC: 01146 case PPC::ADDC8: 01147 case PPC::ADDE: 01148 case PPC::ADDE8: 01149 case PPC::AND: 01150 case PPC::AND8: 01151 case PPC::ANDC: 01152 case PPC::ANDC8: 01153 case PPC::CMPD: 01154 case PPC::CMPLD: 01155 case PPC::CMPLW: 01156 case PPC::CMPW: 01157 case PPC::CREQV: 01158 case PPC::CROR: 01159 case PPC::DIVD: 01160 case PPC::DIVDU: 01161 case PPC::DIVW: 01162 case PPC::DIVWU: 01163 case PPC::EQV: 01164 case PPC::EQV8: 01165 case PPC::FADD: 01166 case PPC::FADDS: 01167 case PPC::FADDrtz: 01168 case PPC::FCMPUD: 01169 case PPC::FCMPUS: 01170 case PPC::FDIV: 01171 case PPC::FDIVS: 01172 case PPC::FMUL: 01173 case PPC::FMULS: 01174 case PPC::FSUB: 01175 case PPC::FSUBS: 01176 case PPC::MULHD: 01177 case PPC::MULHDU: 01178 case PPC::MULHW: 01179 case PPC::MULHWU: 01180 case PPC::MULLD: 01181 case PPC::MULLW: 01182 case PPC::NAND: 01183 case PPC::NAND8: 01184 case PPC::NOR: 01185 case PPC::NOR8: 01186 case PPC::OR: 01187 case PPC::OR4To8: 01188 case PPC::OR8: 01189 case PPC::OR8To4: 01190 case PPC::ORC: 01191 case PPC::ORC8: 01192 case PPC::SLD: 01193 case PPC::SLW: 01194 case PPC::SRAD: 01195 case PPC::SRADI: 01196 case PPC::SRAW: 01197 case PPC::SRAWI: 01198 case PPC::SRD: 01199 case PPC::SRW: 01200 case PPC::STWUX: 01201 case PPC::SUBF: 01202 case PPC::SUBF8: 01203 case PPC::SUBFC: 01204 case PPC::SUBFC8: 01205 case PPC::SUBFE: 01206 case PPC::SUBFE8: 01207 case PPC::VADDCUW: 01208 case PPC::VADDFP: 01209 case PPC::VADDSBS: 01210 case PPC::VADDSHS: 01211 case PPC::VADDSWS: 01212 case PPC::VADDUBM: 01213 case PPC::VADDUBS: 01214 case PPC::VADDUHM: 01215 case PPC::VADDUHS: 01216 case PPC::VADDUWM: 01217 case PPC::VADDUWS: 01218 case PPC::VAND: 01219 case PPC::VANDC: 01220 case PPC::VAVGSB: 01221 case PPC::VAVGSH: 01222 case PPC::VAVGSW: 01223 case PPC::VAVGUB: 01224 case PPC::VAVGUH: 01225 case PPC::VAVGUW: 01226 case PPC::VCMPBFP: 01227 case PPC::VCMPBFPo: 01228 case PPC::VCMPEQFP: 01229 case PPC::VCMPEQFPo: 01230 case PPC::VCMPEQUB: 01231 case PPC::VCMPEQUBo: 01232 case PPC::VCMPEQUH: 01233 case PPC::VCMPEQUHo: 01234 case PPC::VCMPEQUW: 01235 case PPC::VCMPEQUWo: 01236 case PPC::VCMPGEFP: 01237 case PPC::VCMPGEFPo: 01238 case PPC::VCMPGTFP: 01239 case PPC::VCMPGTFPo: 01240 case PPC::VCMPGTSB: 01241 case PPC::VCMPGTSBo: 01242 case PPC::VCMPGTSH: 01243 case PPC::VCMPGTSHo: 01244 case PPC::VCMPGTSW: 01245 case PPC::VCMPGTSWo: 01246 case PPC::VCMPGTUB: 01247 case PPC::VCMPGTUBo: 01248 case PPC::VCMPGTUH: 01249 case PPC::VCMPGTUHo: 01250 case PPC::VCMPGTUW: 01251 case PPC::VCMPGTUWo: 01252 case PPC::VMAXFP: 01253 case PPC::VMAXSB: 01254 case PPC::VMAXSH: 01255 case PPC::VMAXSW: 01256 case PPC::VMAXUB: 01257 case PPC::VMAXUH: 01258 case PPC::VMAXUW: 01259 case PPC::VMINFP: 01260 case PPC::VMINSB: 01261 case PPC::VMINSH: 01262 case PPC::VMINSW: 01263 case PPC::VMINUB: 01264 case PPC::VMINUH: 01265 case PPC::VMINUW: 01266 case PPC::VMRGHB: 01267 case PPC::VMRGHH: 01268 case PPC::VMRGHW: 01269 case PPC::VMRGLB: 01270 case PPC::VMRGLH: 01271 case PPC::VMRGLW: 01272 case PPC::VMULESB: 01273 case PPC::VMULESH: 01274 case PPC::VMULEUB: 01275 case PPC::VMULEUH: 01276 case PPC::VMULOSB: 01277 case PPC::VMULOSH: 01278 case PPC::VMULOUB: 01279 case PPC::VMULOUH: 01280 case PPC::VNOR: 01281 case PPC::VOR: 01282 case PPC::VPKPX: 01283 case PPC::VPKSHSS: 01284 case PPC::VPKSHUS: 01285 case PPC::VPKSWSS: 01286 case PPC::VPKSWUS: 01287 case PPC::VPKUHUM: 01288 case PPC::VPKUHUS: 01289 case PPC::VPKUWUM: 01290 case PPC::VPKUWUS: 01291 case PPC::VRLB: 01292 case PPC::VRLH: 01293 case PPC::VRLW: 01294 case PPC::VSL: 01295 case PPC::VSLB: 01296 case PPC::VSLH: 01297 case PPC::VSLO: 01298 case PPC::VSLW: 01299 case PPC::VSR: 01300 case PPC::VSRAB: 01301 case PPC::VSRAH: 01302 case PPC::VSRAW: 01303 case PPC::VSRB: 01304 case PPC::VSRH: 01305 case PPC::VSRO: 01306 case PPC::VSRW: 01307 case PPC::VSUBCUW: 01308 case PPC::VSUBFP: 01309 case PPC::VSUBSBS: 01310 case PPC::VSUBSHS: 01311 case PPC::VSUBSWS: 01312 case PPC::VSUBUBM: 01313 case PPC::VSUBUBS: 01314 case PPC::VSUBUHM: 01315 case PPC::VSUBUHS: 01316 case PPC::VSUBUWM: 01317 case PPC::VSUBUWS: 01318 case PPC::VSUM2SWS: 01319 case PPC::VSUM4SBS: 01320 case PPC::VSUM4SHS: 01321 case PPC::VSUM4UBS: 01322 case PPC::VSUMSWS: 01323 case PPC::VXOR: 01324 case PPC::XOR: 01325 case PPC::XOR8: 01326 O << "\n"; 01327 break; 01328 case PPC::FMADD: 01329 case PPC::FMADDS: 01330 case PPC::FMSUB: 01331 case PPC::FMSUBS: 01332 case PPC::FNMADD: 01333 case PPC::FNMADDS: 01334 case PPC::FNMSUB: 01335 case PPC::FNMSUBS: 01336 case PPC::FSELD: 01337 case PPC::FSELS: 01338 case PPC::RLDCL: 01339 case PPC::RLDICL: 01340 case PPC::RLDICR: 01341 case PPC::VMADDFP: 01342 case PPC::VMHADDSHS: 01343 case PPC::VMHRADDSHS: 01344 case PPC::VMLADDUHM: 01345 case PPC::VMSUMMBM: 01346 case PPC::VMSUMSHM: 01347 case PPC::VMSUMSHS: 01348 case PPC::VMSUMUBM: 01349 case PPC::VMSUMUHM: 01350 case PPC::VMSUMUHS: 01351 case PPC::VNMSUBFP: 01352 case PPC::VPERM: 01353 case PPC::VSEL: 01354 case PPC::VSLDOI: 01355 O << ", "; 01356 switch (MI->getOpcode()) { 01357 case PPC::FMADD: 01358 case PPC::FMADDS: 01359 case PPC::FMSUB: 01360 case PPC::FMSUBS: 01361 case PPC::FNMADD: 01362 case PPC::FNMADDS: 01363 case PPC::FNMSUB: 01364 case PPC::FNMSUBS: 01365 case PPC::FSELD: 01366 case PPC::FSELS: 01367 case PPC::VMADDFP: 01368 case PPC::VMHADDSHS: 01369 case PPC::VMHRADDSHS: 01370 case PPC::VMLADDUHM: 01371 case PPC::VMSUMMBM: 01372 case PPC::VMSUMSHM: 01373 case PPC::VMSUMSHS: 01374 case PPC::VMSUMUBM: 01375 case PPC::VMSUMUHM: 01376 case PPC::VMSUMUHS: 01377 case PPC::VNMSUBFP: 01378 case PPC::VPERM: 01379 case PPC::VSEL: printOperand(MI, 3); break; 01380 case PPC::RLDCL: 01381 case PPC::RLDICL: 01382 case PPC::RLDICR: printU6ImmOperand(MI, 3); break; 01383 case PPC::VSLDOI: printU5ImmOperand(MI, 3); break; 01384 } 01385 O << "\n"; 01386 break; 01387 case PPC::RLWINM: 01388 case PPC::RLWINMo: 01389 case PPC::RLWNM: 01390 O << ", "; 01391 printU5ImmOperand(MI, 3); 01392 O << ", "; 01393 printU5ImmOperand(MI, 4); 01394 O << "\n"; 01395 break; 01396 } 01397 return true; 01398 }