brintos

brintos / llvm-project-archived public Read only

0
0
Text · 44.4 KiB · 4695a6f Raw
2056 lines · plain
1//===--- P10InstrResources.td - P10 Scheduling Definitions -*- tablegen -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8// Automatically generated file, do not edit!9//10// This file defines instruction data for SchedModel of the POWER10 processor.11//12//===----------------------------------------------------------------------===//13// 22 Cycles Binary Floating Point operations, 2 input operands14def : InstRW<[P10W_BF_22C, P10W_DISP_ANY, P10BF_Read, P10BF_Read],15      (instrs16    FDIVS,17    XSDIVSP18)>;19 20// 2-way crack instructions21// 22 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 2 input operands22def : InstRW<[P10W_BF_22C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],23      (instrs24    FDIVS_rec25)>;26 27// 24 Cycles Binary Floating Point operations, 2 input operands28def : InstRW<[P10W_BF_24C, P10W_DISP_ANY, P10BF_Read, P10BF_Read],29      (instrs30    XVDIVSP31)>;32 33// 26 Cycles Binary Floating Point operations, 1 input operands34def : InstRW<[P10W_BF_26C, P10W_DISP_ANY, P10BF_Read],35      (instrs36    FSQRTS,37    XSSQRTSP38)>;39 40// 2-way crack instructions41// 26 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 1 input operands42def : InstRW<[P10W_BF_26C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],43      (instrs44    FSQRTS_rec45)>;46 47// 27 Cycles Binary Floating Point operations, 1 input operands48def : InstRW<[P10W_BF_27C, P10W_DISP_ANY, P10BF_Read],49      (instrs50    XVSQRTSP51)>;52 53// 27 Cycles Binary Floating Point operations, 2 input operands54def : InstRW<[P10W_BF_27C, P10W_DISP_ANY, P10BF_Read, P10BF_Read],55      (instrs56    FDIV,57    XSDIVDP,58    XVDIVDP59)>;60 61// 2-way crack instructions62// 27 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 2 input operands63def : InstRW<[P10W_BF_27C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],64      (instrs65    FDIV_rec66)>;67 68// 36 Cycles Binary Floating Point operations, 1 input operands69def : InstRW<[P10W_BF_36C, P10W_DISP_ANY, P10BF_Read],70      (instrs71    FSQRT,72    XSSQRTDP,73    XVSQRTDP74)>;75 76// 2-way crack instructions77// 36 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 1 input operands78def : InstRW<[P10W_BF_36C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],79      (instrs80    FSQRT_rec81)>;82 83// 7 Cycles Binary Floating Point operations, 1 input operands84def : InstRW<[P10W_BF_7C, P10W_DISP_ANY, P10BF_Read],85      (instrs86    FCFID,87    FCFIDS,88    FCFIDU,89    FCFIDUS,90    FCTID,91    FCTIDU,92    FCTIDUZ,93    FCTIDZ,94    FCTIW,95    FCTIWU,96    FCTIWUZ,97    FCTIWZ,98    FRE,99    FRES,100    FRIMD, FRIMS,101    FRIND, FRINS,102    FRIPD, FRIPS,103    FRIZD, FRIZS,104    FRSP,105    FRSQRTE,106    FRSQRTES,107    VCFSX, VCFSX_0,108    VCFUX, VCFUX_0,109    VCTSXS, VCTSXS_0,110    VCTUXS, VCTUXS_0,111    VLOGEFP,112    VREFP,113    VRFIM,114    VRFIN,115    VRFIP,116    VRFIZ,117    VRSQRTEFP,118    XSCVDPHP,119    XSCVDPSP,120    XSCVDPSPN,121    XSCVDPSXDS, XSCVDPSXDSs,122    XSCVDPSXWS, XSCVDPSXWSs,123    XSCVDPUXDS, XSCVDPUXDSs,124    XSCVDPUXWS, XSCVDPUXWSs,125    XSCVSPDP,126    XSCVSXDDP,127    XSCVSXDSP,128    XSCVUXDDP,129    XSCVUXDSP,130    XSRDPI,131    XSRDPIC,132    XSRDPIM,133    XSRDPIP,134    XSRDPIZ,135    XSREDP,136    XSRESP,137    XSRSP,138    XSRSQRTEDP,139    XSRSQRTESP,140    XVCVDPSP,141    XVCVDPSXDS,142    XVCVDPSXWS,143    XVCVDPUXDS,144    XVCVDPUXWS,145    XVCVSPBF16,146    XVCVSPDP,147    XVCVSPHP,148    XVCVSPSXDS,149    XVCVSPSXWS,150    XVCVSPUXDS,151    XVCVSPUXWS,152    XVCVSXDDP,153    XVCVSXDSP,154    XVCVSXWDP,155    XVCVSXWSP,156    XVCVUXDDP,157    XVCVUXDSP,158    XVCVUXWDP,159    XVCVUXWSP,160    XVRDPI,161    XVRDPIC,162    XVRDPIM,163    XVRDPIP,164    XVRDPIZ,165    XVREDP,166    XVRESP,167    XVRSPI,168    XVRSPIC,169    XVRSPIM,170    XVRSPIP,171    XVRSPIZ,172    XVRSQRTEDP,173    XVRSQRTESP174)>;175 176// 7 Cycles Binary Floating Point operations, 2 input operands177def : InstRW<[P10W_BF_7C, P10W_DISP_ANY, P10BF_Read, P10BF_Read],178      (instrs179    FADD,180    FADDS,181    FMUL,182    FMULS,183    FSUB,184    FSUBS,185    VADDFP,186    VSUBFP,187    XSADDDP,188    XSADDSP,189    XSMULDP,190    XSMULSP,191    XSSUBDP,192    XSSUBSP,193    XVADDDP,194    XVADDSP,195    XVMULDP,196    XVMULSP,197    XVSUBDP,198    XVSUBSP199)>;200 201// 7 Cycles Binary Floating Point operations, 3 input operands202def : InstRW<[P10W_BF_7C, P10W_DISP_ANY, P10BF_Read, P10BF_Read, P10BF_Read],203      (instrs204    FMADD,205    FMADDS,206    FMSUB,207    FMSUBS,208    FNMADD,209    FNMADDS,210    FNMSUB,211    FNMSUBS,212    FSELD, FSELS,213    VMADDFP,214    VNMSUBFP,215    XSMADDADP,216    XSMADDASP,217    XSMADDMDP,218    XSMADDMSP,219    XSMSUBADP,220    XSMSUBASP,221    XSMSUBMDP,222    XSMSUBMSP,223    XSNMADDADP,224    XSNMADDASP,225    XSNMADDMDP,226    XSNMADDMSP,227    XSNMSUBADP,228    XSNMSUBASP,229    XSNMSUBMDP,230    XSNMSUBMSP,231    XVMADDADP,232    XVMADDASP,233    XVMADDMDP,234    XVMADDMSP,235    XVMSUBADP,236    XVMSUBASP,237    XVMSUBMDP,238    XVMSUBMSP,239    XVNMADDADP,240    XVNMADDASP,241    XVNMADDMDP,242    XVNMADDMSP,243    XVNMSUBADP,244    XVNMSUBASP,245    XVNMSUBMDP,246    XVNMSUBMSP247)>;248 249// 2-way crack instructions250// 7 Cycles Binary Floating Point operations, and 7 Cycles Binary Floating Point operations, 1 input operands251def : InstRW<[P10W_BF_7C, P10W_DISP_EVEN, P10W_BF_7C, P10W_DISP_ANY, P10BF_Read],252      (instrs253    VEXPTEFP254)>;255 256// 2-way crack instructions257// 7 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 2 input operands258def : InstRW<[P10W_BF_7C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],259      (instrs260    FADD_rec,261    FADDS_rec,262    FMUL_rec,263    FMULS_rec,264    FSUB_rec,265    FSUBS_rec266)>;267 268// 2-way crack instructions269// 7 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 1 input operands270def : InstRW<[P10W_BF_7C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],271      (instrs272    FCFID_rec,273    FCFIDS_rec,274    FCFIDU_rec,275    FCFIDUS_rec,276    FCTID_rec,277    FCTIDU_rec,278    FCTIDUZ_rec,279    FCTIDZ_rec,280    FCTIW_rec,281    FCTIWU_rec,282    FCTIWUZ_rec,283    FCTIWZ_rec,284    FRE_rec,285    FRES_rec,286    FRIMD_rec, FRIMS_rec,287    FRIND_rec, FRINS_rec,288    FRIPD_rec, FRIPS_rec,289    FRIZD_rec, FRIZS_rec,290    FRSP_rec,291    FRSQRTE_rec,292    FRSQRTES_rec293)>;294 295// 2-way crack instructions296// 7 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 3 input operands297def : InstRW<[P10W_BF_7C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],298      (instrs299    FMADD_rec,300    FMADDS_rec,301    FMSUB_rec,302    FMSUBS_rec,303    FNMADD_rec,304    FNMADDS_rec,305    FNMSUB_rec,306    FNMSUBS_rec,307    FSELD_rec, FSELS_rec308)>;309 310// 2 Cycles Branch operations, 1 input operands311def : InstRW<[P10W_BR_2C, P10W_DISP_ANY, P10BR_Read],312      (instrs313    B, BCC, BCCA, BCCCTR, BCCCTR8, BCCCTRL, BCCCTRL8, BCCL, BCCLA, BCCLR, BCCLRL, CTRL_DEP, TAILB, TAILB8,314    BA, TAILBA, TAILBA8,315    BCCTR, BCCTR8, BCCTR8n, BCCTRn, gBCCTR,316    BCCTRL, BCCTRL8, BCCTRL8n, BCCTRLn, gBCCTRL,317    BCLR, BCLRn, BDNZLR, BDNZLR8, BDNZLRm, BDNZLRp, BDZLR, BDZLR8, BDZLRm, BDZLRp, gBCLR,318    BCLRL, BCLRLn, BDNZLRL, BDNZLRLm, BDNZLRLp, BDZLRL, BDZLRLm, BDZLRLp, gBCLRL,319    BL, BL8, BL8_NOP, BL8_NOP_RM, BL8_NOP_TLS, BL8_NOTOC, BL8_NOTOC_RM, BL8_NOTOC_TLS, BL8_RM, BL8_TLS, BL8_TLS_, BLR, BLR8, BLRL, BL_NOP, BL_NOP_RM, BL_RM, BL_TLS,320    BLA, BLA8, BLA8_NOP, BLA8_NOP_RM, BLA8_RM, BLA_RM321)>;322 323// 2 Cycles Branch operations, 2 input operands324def : InstRW<[P10W_BR_2C, P10W_DISP_ANY, P10BR_Read, P10BR_Read],325      (instrs326    BC, BCTR, BCTR8, BCTRL, BCTRL8, BCTRL8_LDinto_toc, BCTRL8_LDinto_toc_RM, BCTRL8_RM, BCTRL_LWZinto_toc, BCTRL_LWZinto_toc_RM, BCTRL_RM, BCn, BDNZ, BDNZ8, BDNZm, BDNZp, BDZ, BDZ8, BDZm, BDZp, TAILBCTR, TAILBCTR8, gBC, gBCat,327    BDNZA, BDNZAm, BDNZAp, BDZA, BDZAm, BDZAp, gBCA, gBCAat,328    BCL, BCLalways, BCLn, BDNZL, BDNZLm, BDNZLp, BDZL, BDZLm, BDZLp, gBCL, gBCLat,329    BDNZLA, BDNZLAm, BDNZLAp, BDZLA, BDZLAm, BDZLAp, gBCLA, gBCLAat330)>;331 332// 7 Cycles Crypto operations, 1 input operands333def : InstRW<[P10W_CY_7C, P10W_DISP_ANY, P10CY_Read],334      (instrs335    VGNB,336    VSBOX337)>;338 339// 7 Cycles Crypto operations, 2 input operands340def : InstRW<[P10W_CY_7C, P10W_DISP_ANY, P10CY_Read, P10CY_Read],341      (instrs342    CFUGED,343    CNTLZDM,344    CNTTZDM,345    PDEPD,346    PEXTD,347    VCFUGED,348    VCIPHER,349    VCIPHERLAST,350    VCLZDM,351    VCTZDM,352    VNCIPHER,353    VNCIPHERLAST,354    VPDEPD,355    VPEXTD,356    VPMSUMB,357    VPMSUMD,358    VPMSUMH,359    VPMSUMW360)>;361 362// 13 Cycles Decimal Floating Point operations, 1 input operands363def : InstRW<[P10W_DF_13C, P10W_DISP_ANY, P10DF_Read],364      (instrs365    XSCVDPQP,366    XSCVQPDP,367    XSCVQPDPO,368    XSCVQPSDZ,369    XSCVQPSQZ,370    XSCVQPSWZ,371    XSCVQPUDZ,372    XSCVQPUQZ,373    XSCVQPUWZ,374    XSCVSDQP,375    XSCVSQQP,376    XSCVUDQP,377    XSCVUQQP,378    XSRQPI,379    XSRQPIX,380    XSRQPXP381)>;382 383// 13 Cycles Decimal Floating Point operations, 2 input operands384def : InstRW<[P10W_DF_13C, P10W_DISP_ANY, P10DF_Read, P10DF_Read],385      (instrs386    BCDSR_rec,387    XSADDQP,388    XSADDQPO,389    XSSUBQP,390    XSSUBQPO391)>;392 393// 2-way crack instructions394// 13 Cycles Decimal Floating Point operations, and 3 Cycles Store operations, 1 input operands395def : InstRW<[P10W_DF_13C, P10W_DISP_EVEN, P10W_ST_3C, P10W_DISP_ANY],396      (instrs397    HASHST, HASHST8,398    HASHSTP, HASHSTP8399)>;400 401// 24 Cycles Decimal Floating Point operations, 1 input operands402def : InstRW<[P10W_DF_24C, P10W_DISP_ANY, P10DF_Read],403      (instrs404    BCDCTSQ_rec405)>;406 407// 25 Cycles Decimal Floating Point operations, 2 input operands408def : InstRW<[P10W_DF_25C, P10W_DISP_ANY, P10DF_Read, P10DF_Read],409      (instrs410    XSMULQP,411    XSMULQPO412)>;413 414// 25 Cycles Decimal Floating Point operations, 3 input operands415def : InstRW<[P10W_DF_25C, P10W_DISP_ANY, P10DF_Read, P10DF_Read, P10DF_Read],416      (instrs417    XSMADDQP,418    XSMADDQPO,419    XSMSUBQP,420    XSMSUBQPO,421    XSNMADDQP,422    XSNMADDQPO,423    XSNMSUBQP,424    XSNMSUBQPO425)>;426 427// 38 Cycles Decimal Floating Point operations, 1 input operands428def : InstRW<[P10W_DF_38C, P10W_DISP_ANY, P10DF_Read],429      (instrs430    BCDCFSQ_rec431)>;432 433// 59 Cycles Decimal Floating Point operations, 2 input operands434def : InstRW<[P10W_DF_59C, P10W_DISP_ANY, P10DF_Read, P10DF_Read],435      (instrs436    XSDIVQP,437    XSDIVQPO438)>;439 440// 61 Cycles Decimal Floating Point operations, 2 input operands441def : InstRW<[P10W_DF_61C, P10W_DISP_ANY, P10DF_Read, P10DF_Read],442      (instrs443    VDIVESQ,444    VDIVEUQ,445    VDIVSQ,446    VDIVUQ447)>;448 449// 68 Cycles Decimal Floating Point operations, 2 input operands450def : InstRW<[P10W_DF_68C, P10W_DISP_ANY, P10DF_Read, P10DF_Read],451      (instrs452    VMODSQ,453    VMODUQ454)>;455 456// 77 Cycles Decimal Floating Point operations, 1 input operands457def : InstRW<[P10W_DF_77C, P10W_DISP_ANY, P10DF_Read],458      (instrs459    XSSQRTQP,460    XSSQRTQPO461)>;462 463// 20 Cycles Scalar Fixed-Point Divide operations, 2 input operands464def : InstRW<[P10W_DV_20C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],465      (instrs466    DIVW,467    DIVWO,468    DIVWU,469    DIVWUO,470    MODSW471)>;472 473// 2-way crack instructions474// 20 Cycles Scalar Fixed-Point Divide operations, and 3 Cycles ALU operations, 2 input operands475def : InstRW<[P10W_DV_20C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],476      (instrs477    DIVW_rec,478    DIVWO_rec,479    DIVWU_rec,480    DIVWUO_rec481)>;482 483// 25 Cycles Scalar Fixed-Point Divide operations, 2 input operands484def : InstRW<[P10W_DV_25C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],485      (instrs486    DIVD,487    DIVDO,488    DIVDU,489    DIVDUO,490    DIVWE,491    DIVWEO,492    DIVWEU,493    DIVWEUO494)>;495 496// 2-way crack instructions497// 25 Cycles Scalar Fixed-Point Divide operations, and 3 Cycles ALU operations, 2 input operands498def : InstRW<[P10W_DV_25C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],499      (instrs500    DIVD_rec,501    DIVDO_rec,502    DIVDU_rec,503    DIVDUO_rec,504    DIVWE_rec,505    DIVWEO_rec,506    DIVWEU_rec,507    DIVWEUO_rec508)>;509 510// 27 Cycles Scalar Fixed-Point Divide operations, 2 input operands511def : InstRW<[P10W_DV_27C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],512      (instrs513    MODSD,514    MODUD,515    MODUW516)>;517 518// 41 Cycles Scalar Fixed-Point Divide operations, 2 input operands519def : InstRW<[P10W_DV_41C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],520      (instrs521    DIVDE,522    DIVDEO,523    DIVDEU,524    DIVDEUO525)>;526 527// 2-way crack instructions528// 41 Cycles Scalar Fixed-Point Divide operations, and 3 Cycles ALU operations, 2 input operands529def : InstRW<[P10W_DV_41C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],530      (instrs531    DIVDE_rec,532    DIVDEO_rec,533    DIVDEU_rec,534    DIVDEUO_rec535)>;536 537// 43 Cycles Scalar Fixed-Point Divide operations, 2 input operands538def : InstRW<[P10W_DV_43C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],539      (instrs540    VDIVSD,541    VDIVUD542)>;543 544// 47 Cycles Scalar Fixed-Point Divide operations, 2 input operands545def : InstRW<[P10W_DV_47C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],546      (instrs547    VMODSD,548    VMODUD549)>;550 551// 54 Cycles Scalar Fixed-Point Divide operations, 2 input operands552def : InstRW<[P10W_DV_54C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],553      (instrs554    VDIVSW,555    VDIVUW556)>;557 558// 60 Cycles Scalar Fixed-Point Divide operations, 2 input operands559def : InstRW<[P10W_DV_60C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],560      (instrs561    VMODSW,562    VMODUW563)>;564 565// 75 Cycles Scalar Fixed-Point Divide operations, 2 input operands566def : InstRW<[P10W_DV_75C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],567      (instrs568    VDIVESD,569    VDIVEUD570)>;571 572// 83 Cycles Scalar Fixed-Point Divide operations, 2 input operands573def : InstRW<[P10W_DV_83C, P10W_DISP_ANY, P10DV_Read, P10DV_Read],574      (instrs575    VDIVESW,576    VDIVEUW577)>;578 579// 5 Cycles Fixed-Point and BCD operations, 1 input operands580def : InstRW<[P10W_DX_5C, P10W_DISP_ANY, P10DX_Read],581      (instrs582    BCDCFN_rec,583    BCDCFZ_rec,584    BCDCTN_rec,585    BCDCTZ_rec,586    BCDSETSGN_rec,587    VMUL10CUQ,588    VMUL10UQ,589    XSTSTDCQP,590    XSXSIGQP,591    XXGENPCVBM592)>;593 594// 5 Cycles Fixed-Point and BCD operations, 2 input operands595def : InstRW<[P10W_DX_5C, P10W_DISP_ANY, P10DX_Read, P10DX_Read],596      (instrs597    BCDADD_rec,598    BCDCPSGN_rec,599    BCDS_rec,600    BCDSUB_rec,601    BCDTRUNC_rec,602    BCDUS_rec,603    BCDUTRUNC_rec,604    VADDCUQ,605    VADDUQM,606    VMUL10ECUQ,607    VMUL10EUQ,608    VSUBCUQ,609    VSUBUQM,610    XSCMPEQQP,611    XSCMPEXPQP,612    XSCMPGEQP,613    XSCMPGTQP,614    XSCMPOQP,615    XSCMPUQP,616    XSMAXCQP,617    XSMINCQP618)>;619 620// 5 Cycles Fixed-Point and BCD operations, 3 input operands621def : InstRW<[P10W_DX_5C, P10W_DISP_ANY, P10DX_Read, P10DX_Read, P10DX_Read],622      (instrs623    VADDECUQ,624    VADDEUQM,625    VSUBECUQ,626    VSUBEUQM627)>;628 629// 4 Cycles ALU2 operations, 0 input operands630def : InstRW<[P10W_F2_4C, P10W_DISP_ANY],631      (instrs632    MTVSRBMI633)>;634 635// 4 Cycles ALU2 operations, 1 input operands636def : InstRW<[P10W_F2_4C, P10W_DISP_ANY, P10F2_Read],637      (instrs638    CBCDTD, CBCDTD8,639    CDTBCD, CDTBCD8,640    CNTLZD,641    CNTLZD_rec,642    CNTLZW, CNTLZW8,643    CNTLZW8_rec, CNTLZW_rec,644    CNTTZD,645    CNTTZD_rec,646    CNTTZW, CNTTZW8,647    CNTTZW8_rec, CNTTZW_rec,648    EXTSWSLI_32_64_rec, EXTSWSLI_rec,649    FTSQRT,650    MTVSRBM,651    MTVSRDM,652    MTVSRHM,653    MTVSRQM,654    MTVSRWM,655    POPCNTB, POPCNTB8,656    POPCNTD,657    POPCNTW,658    RLDIC_rec,659    RLDICL_32_rec, RLDICL_rec,660    RLDICR_rec,661    RLWINM8_rec, RLWINM_rec,662    VCLZB,663    VCLZD,664    VCLZH,665    VCLZW,666    VCNTMBB,667    VCNTMBD,668    VCNTMBH,669    VCNTMBW,670    VCTZB,671    VCTZD,672    VCTZH,673    VCTZW,674    VEXPANDBM,675    VEXPANDDM,676    VEXPANDHM,677    VEXPANDQM,678    VEXPANDWM,679    VEXTRACTBM,680    VEXTRACTDM,681    VEXTRACTHM,682    VEXTRACTQM,683    VEXTRACTWM,684    VPOPCNTB,685    VPOPCNTD,686    VPOPCNTH,687    VPOPCNTW,688    VPRTYBD,689    VPRTYBW,690    VSHASIGMAD,691    VSHASIGMAW,692    XSCVHPDP,693    XSCVSPDPN,694    XSTSQRTDP,695    XSTSTDCDP,696    XSTSTDCSP,697    XVCVHPSP,698    XVTLSBB,699    XVTSQRTDP,700    XVTSQRTSP,701    XVTSTDCDP,702    XVTSTDCSP703)>;704 705// 4 Cycles ALU2 operations, 2 input operands706def : InstRW<[P10W_F2_4C, P10W_DISP_ANY, P10F2_Read, P10F2_Read],707      (instrs708    CMPEQB,709    CMPRB, CMPRB8,710    FCMPOD, FCMPOS,711    FCMPUD, FCMPUS,712    FTDIV,713    RLDCL_rec,714    RLDCR_rec,715    RLDIMI_rec,716    RLWIMI8_rec, RLWIMI_rec,717    RLWNM8_rec, RLWNM_rec,718    SLD_rec,719    SLW8_rec, SLW_rec,720    SRD_rec,721    SRW8_rec, SRW_rec,722    TDI,723    TWI,724    VABSDUB,725    VABSDUH,726    VABSDUW,727    VADDCUW,728    VADDSBS,729    VADDSHS,730    VADDSWS,731    VADDUBS,732    VADDUHS,733    VADDUWS,734    VAVGSB,735    VAVGSH,736    VAVGSW,737    VAVGUB,738    VAVGUH,739    VAVGUW,740    VCMPBFP,741    VCMPBFP_rec,742    VCMPEQFP,743    VCMPEQFP_rec,744    VCMPEQUB_rec,745    VCMPEQUD_rec,746    VCMPEQUH_rec,747    VCMPEQUQ,748    VCMPEQUQ_rec,749    VCMPEQUW_rec,750    VCMPGEFP,751    VCMPGEFP_rec,752    VCMPGTFP,753    VCMPGTFP_rec,754    VCMPGTSB_rec,755    VCMPGTSD_rec,756    VCMPGTSH_rec,757    VCMPGTSQ,758    VCMPGTSQ_rec,759    VCMPGTSW_rec,760    VCMPGTUB_rec,761    VCMPGTUD_rec,762    VCMPGTUH_rec,763    VCMPGTUQ,764    VCMPGTUQ_rec,765    VCMPGTUW_rec,766    VCMPNEB_rec,767    VCMPNEH_rec,768    VCMPNEW_rec,769    VCMPNEZB_rec,770    VCMPNEZH_rec,771    VCMPNEZW_rec,772    VCMPSQ,773    VCMPUQ,774    VMAXFP,775    VMINFP,776    VSUBCUW,777    VSUBSBS,778    VSUBSHS,779    VSUBSWS,780    VSUBUBS,781    VSUBUHS,782    VSUBUWS,783    XSCMPEQDP,784    XSCMPEXPDP,785    XSCMPGEDP,786    XSCMPGTDP,787    XSCMPODP,788    XSCMPUDP,789    XSMAXCDP,790    XSMAXDP,791    XSMAXJDP,792    XSMINCDP,793    XSMINDP,794    XSMINJDP,795    XSTDIVDP,796    XVCMPEQDP,797    XVCMPEQDP_rec,798    XVCMPEQSP,799    XVCMPEQSP_rec,800    XVCMPGEDP,801    XVCMPGEDP_rec,802    XVCMPGESP,803    XVCMPGESP_rec,804    XVCMPGTDP,805    XVCMPGTDP_rec,806    XVCMPGTSP,807    XVCMPGTSP_rec,808    XVMAXDP,809    XVMAXSP,810    XVMINDP,811    XVMINSP,812    XVTDIVDP,813    XVTDIVSP814)>;815 816// 4 Cycles ALU2 operations, 3 input operands817def : InstRW<[P10W_F2_4C, P10W_DISP_ANY, P10F2_Read, P10F2_Read, P10F2_Read],818      (instrs819    TD,820    TRAP, TW821)>;822 823// Single crack instructions824// 4 Cycles ALU2 operations, 1 input operands825def : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_DISP_ANY, P10F2_Read],826      (instrs827    SRADI_rec,828    SRAWI8_rec, SRAWI_rec829)>;830 831// Single crack instructions832// 4 Cycles ALU2 operations, 2 input operands833def : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_DISP_ANY, P10F2_Read, P10F2_Read],834      (instrs835    SRAD_rec,836    SRAW8_rec, SRAW_rec837)>;838 839// 2-way crack instructions840// 4 Cycles ALU2 operations, and 4 Cycles Permute operations, 2 input operands841def : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_PM_4C, P10W_DISP_ANY],842      (instrs843    VRLQ,844    VRLQNM,845    VSLQ,846    VSRAQ,847    VSRQ848)>;849 850// 2-way crack instructions851// 4 Cycles ALU2 operations, and 4 Cycles Permute operations, 3 input operands852def : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_PM_4C, P10W_DISP_ANY],853      (instrs854    VRLQMI855)>;856 857// 2-way crack instructions858// 4 Cycles ALU2 operations, and 4 Cycles ALU2 operations, 0 input operands859def : InstRW<[P10W_F2_4C, P10W_DISP_PAIR, P10W_F2_4C],860      (instrs861    MFCR, MFCR8862)>;863 864// 2 Cycles ALU operations, 1 input operands865def : InstRW<[P10W_FX_2C, P10W_DISP_ANY, P10FX_Read],866      (instrs867    MTCTR, MTCTR8, MTCTR8loop, MTCTRloop,868    MTLR, MTLR8869)>;870 871// 3 Cycles ALU operations, 0 input operands872def : InstRW<[P10W_FX_3C, P10W_DISP_ANY],873      (instrs874    DSS, DSSALL,875    MCRXRX,876    MFCTR, MFCTR8,877    MFLR, MFLR8,878    WAIT, WAITP10879)>;880 881// 3 Cycles ALU operations, 1 input operands882def : InstRW<[P10W_FX_3C, P10W_DISP_ANY, P10FX_Read],883      (instrs884    ADDI, ADDI8, ADDIdtprelL32, ADDItlsldLADDR32, ADDItocL, LI, LI8,885    ADDIC, ADDIC8,886    ADDIS, ADDIS8, ADDISdtprelHA32, ADDIStocHA, ADDIStocHA8, LIS, LIS8,887    ADDME, ADDME8,888    ADDME8O, ADDMEO,889    ADDZE, ADDZE8,890    ADDZE8O, ADDZEO,891    ANDI8_rec, ANDI_rec,892    ANDIS8_rec, ANDIS_rec,893    CMPDI, CMPWI,894    CMPLDI, CMPLWI,895    EXTSB, EXTSB8, EXTSB8_32_64,896    EXTSB8_rec, EXTSB_rec,897    EXTSH, EXTSH8, EXTSH8_32_64,898    EXTSH8_rec, EXTSH_rec,899    EXTSW, EXTSW_32, EXTSW_32_64,900    EXTSW_32_64_rec, EXTSW_rec,901    EXTSWSLI, EXTSWSLI_32_64,902    FABSD, FABSS,903    FMR,904    FNABSD, FNABSS,905    FNEGD, FNEGS,906    MCRF,907    MFOCRF, MFOCRF8,908    MFVRD, MFVSRD,909    MFVRWZ, MFVSRWZ,910    MTOCRF, MTOCRF8,911    MTVRD, MTVSRD,912    MTVRWA, MTVSRWA,913    MTVRWZ, MTVSRWZ,914    NEG, NEG8,915    NEG8_rec, NEG_rec,916    NEG8O, NEGO,917    NOP, NOP_GT_PWR6, NOP_GT_PWR7, ORI, ORI8,918    ORIS, ORIS8,919    RLDIC,920    RLDICL, RLDICL_32, RLDICL_32_64,921    RLDICR, RLDICR_32,922    RLWINM, RLWINM8,923    SETB, SETB8,924    SETBC, SETBC8,925    SETBCR, SETBCR8,926    SETNBC, SETNBC8,927    SETNBCR, SETNBCR8,928    SRADI, SRADI_32,929    SRAWI, SRAWI8,930    SUBFIC, SUBFIC8,931    SUBFME, SUBFME8,932    SUBFME8O, SUBFMEO,933    SUBFZE, SUBFZE8,934    SUBFZE8O, SUBFZEO,935    VEXTSB2D, VEXTSB2Ds,936    VEXTSB2W, VEXTSB2Ws,937    VEXTSD2Q,938    VEXTSH2D, VEXTSH2Ds,939    VEXTSH2W, VEXTSH2Ws,940    VEXTSW2D, VEXTSW2Ds,941    VNEGD,942    VNEGW,943    XORI, XORI8,944    XORIS, XORIS8,945    XSABSDP,946    XSABSQP,947    XSNABSDP, XSNABSDPs,948    XSNABSQP,949    XSNEGDP,950    XSNEGQP,951    XSXEXPDP,952    XSXEXPQP,953    XSXSIGDP,954    XVABSDP,955    XVABSSP,956    XVNABSDP,957    XVNABSSP,958    XVNEGDP,959    XVNEGSP,960    XVXEXPDP,961    XVXEXPSP,962    XVXSIGDP,963    XVXSIGSP964)>;965 966// 3 Cycles ALU operations, 2 input operands967def : InstRW<[P10W_FX_3C, P10W_DISP_ANY, P10FX_Read, P10FX_Read],968      (instrs969    ADD4, ADD4TLS, ADD8, ADD8TLS, ADD8TLS_,970    ADD4_rec, ADD8_rec,971    ADDE, ADDE8,972    ADDE8O, ADDEO,973    ADDEX, ADDEX8,974    ADD4O, ADD8O,975    AND, AND8,976    AND8_rec, AND_rec,977    ANDC, ANDC8,978    ANDC8_rec, ANDC_rec,979    CMPD, CMPW,980    CMPB, CMPB8,981    CMPLD, CMPLW,982    CRAND,983    CRANDC,984    CR6SET, CREQV, CRSET,985    CRNAND,986    CRNOR,987    CROR,988    CRORC,989    CR6UNSET, CRUNSET, CRXOR,990    DST, DST64, DSTT, DSTT64,991    DSTST, DSTST64, DSTSTT, DSTSTT64,992    EQV, EQV8,993    EQV8_rec, EQV_rec,994    FCPSGND, FCPSGNS,995    NAND, NAND8,996    NAND8_rec, NAND_rec,997    NOR, NOR8,998    NOR8_rec, NOR_rec,999    COPY, OR, OR8,1000    OR8_rec, OR_rec,1001    ORC, ORC8,1002    ORC8_rec, ORC_rec,1003    RLDCL,1004    RLDCR,1005    RLDIMI,1006    RLWIMI, RLWIMI8,1007    RLWNM, RLWNM8,1008    SLD,1009    SLW, SLW8,1010    SRAD,1011    SRAW, SRAW8,1012    SRD,1013    SRW, SRW8,1014    SUBF, SUBF8,1015    SUBF8_rec, SUBF_rec,1016    SUBFE, SUBFE8,1017    SUBFE8O, SUBFEO,1018    SUBF8O, SUBFO,1019    VADDUBM,1020    VADDUDM,1021    VADDUHM,1022    VADDUWM,1023    VAND,1024    VANDC,1025    VCMPEQUB,1026    VCMPEQUD,1027    VCMPEQUH,1028    VCMPEQUW,1029    VCMPGTSB,1030    VCMPGTSD,1031    VCMPGTSH,1032    VCMPGTSW,1033    VCMPGTUB,1034    VCMPGTUD,1035    VCMPGTUH,1036    VCMPGTUW,1037    VCMPNEB,1038    VCMPNEH,1039    VCMPNEW,1040    VCMPNEZB,1041    VCMPNEZH,1042    VCMPNEZW,1043    VEQV,1044    VMAXSB,1045    VMAXSD,1046    VMAXSH,1047    VMAXSW,1048    VMAXUB,1049    VMAXUD,1050    VMAXUH,1051    VMAXUW,1052    VMINSB,1053    VMINSD,1054    VMINSH,1055    VMINSW,1056    VMINUB,1057    VMINUD,1058    VMINUH,1059    VMINUW,1060    VMRGEW,1061    VMRGOW,1062    VNAND,1063    VNOR,1064    VOR,1065    VORC,1066    VRLB,1067    VRLD,1068    VRLDNM,1069    VRLH,1070    VRLW,1071    VRLWNM,1072    VSLB,1073    VSLD,1074    VSLH,1075    VSLW,1076    VSRAB,1077    VSRAD,1078    VSRAH,1079    VSRAW,1080    VSRB,1081    VSRD,1082    VSRH,1083    VSRW,1084    VSUBUBM,1085    VSUBUDM,1086    VSUBUHM,1087    VSUBUWM,1088    VXOR, V_SET0, V_SET0B, V_SET0H,1089    XOR, XOR8,1090    XOR8_rec, XOR_rec,1091    XSCPSGNDP,1092    XSCPSGNQP,1093    XSIEXPDP,1094    XSIEXPQP,1095    XVCPSGNDP,1096    XVCPSGNSP,1097    XVIEXPDP,1098    XVIEXPSP,1099    XXLAND,1100    XXLANDC,1101    XXLEQV, XXLEQVOnes,1102    XXLNAND,1103    XXLNOR,1104    XXLOR, XXLORf,1105    XXLORC,1106    XXLXOR, XXLXORdpz, XXLXORspz, XXLXORz1107)>;1108 1109// 3 Cycles ALU operations, 3 input operands1110def : InstRW<[P10W_FX_3C, P10W_DISP_ANY, P10FX_Read, P10FX_Read, P10FX_Read],1111      (instrs1112    ISEL, ISEL8,1113    VRLDMI,1114    VRLWMI,1115    VSEL,1116    XXSEL1117)>;1118 1119// Single crack instructions1120// 3 Cycles ALU operations, 0 input operands1121def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_DISP_ANY],1122      (instrs1123    MFFS,1124    MFFS_rec,1125    MFFSCDRNI,1126    MFFSCRNI,1127    MFFSL,1128    MFVSCR,1129    MTFSB01130)>;1131 1132// Single crack instructions1133// 3 Cycles ALU operations, 1 input operands1134def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10FX_Read],1135      (instrs1136    ADDIC_rec,1137    ADDME8_rec, ADDME_rec,1138    ADDME8O_rec, ADDMEO_rec,1139    ADDZE8_rec, ADDZE_rec,1140    ADDZE8O_rec, ADDZEO_rec,1141    MCRFS,1142    MFFSCDRN,1143    MFFSCRN,1144    MTVSCR,1145    NEG8O_rec, NEGO_rec,1146    SUBFME8_rec, SUBFME_rec,1147    SUBFME8O_rec, SUBFMEO_rec,1148    SUBFZE8_rec, SUBFZE_rec,1149    SUBFZE8O_rec, SUBFZEO_rec1150)>;1151 1152// Single crack instructions1153// 3 Cycles ALU operations, 2 input operands1154def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10FX_Read, P10FX_Read],1155      (instrs1156    ADDE8_rec, ADDE_rec,1157    ADDE8O_rec, ADDEO_rec,1158    ADD4O_rec, ADD8O_rec,1159    SUBFE8_rec, SUBFE_rec,1160    SUBFE8O_rec, SUBFEO_rec,1161    SUBF8O_rec, SUBFO_rec1162)>;1163 1164// 2-way crack instructions1165// 3 Cycles ALU operations, and 4 Cycles ALU2 operations, 2 input operands1166def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_F2_4C, P10W_DISP_ANY],1167      (instrs1168    ADDG6S, ADDG6S81169)>;1170 1171// 2-way crack instructions1172// 3 Cycles ALU operations, and 3 Cycles ALU operations, 0 input operands1173def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],1174      (instrs1175    HRFID,1176    MFFSCE,1177    MTFSB1,1178    MTFSFI, MTFSFIb,1179    MTFSFI_rec,1180    RFEBB,1181    RFID,1182    SC,1183    STOP1184)>;1185 1186// 2-way crack instructions1187// 3 Cycles ALU operations, and 3 Cycles ALU operations, 1 input operands1188def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY, P10FX_Read],1189      (instrs1190    FABSD_rec, FABSS_rec,1191    FMR_rec,1192    FNABSD_rec, FNABSS_rec,1193    FNEGD_rec, FNEGS_rec,1194    MTFSF, MTFSFb,1195    MTFSF_rec1196)>;1197 1198// 2-way crack instructions1199// 3 Cycles ALU operations, and 3 Cycles ALU operations, 2 input operands1200def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY, P10FX_Read, P10FX_Read],1201      (instrs1202    ADDC, ADDC8,1203    ADDC8_rec, ADDC_rec,1204    ADDC8O, ADDCO,1205    FCPSGND_rec, FCPSGNS_rec,1206    SUBFC, SUBFC8,1207    SUBFC8_rec, SUBFC_rec,1208    SUBFC8O, SUBFCO1209)>;1210 1211// 4-way crack instructions1212// 3 Cycles ALU operations, 3 Cycles ALU operations, 3 Cycles ALU operations, and 3 Cycles ALU operations, 2 input operands1213def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY, P10W_FX_3C, P10W_DISP_ANY, P10W_FX_3C, P10W_DISP_ANY, P10FX_Read, P10FX_Read],1214      (instrs1215    ADDC8O_rec, ADDCO_rec,1216    SUBFC8O_rec, SUBFCO_rec1217)>;1218 1219// 2-way crack instructions1220// 3 Cycles ALU operations, and 4 Cycles Permute operations, 1 input operands1221def : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_PM_4C, P10W_DISP_ANY],1222      (instrs1223    VSTRIBL_rec,1224    VSTRIBR_rec,1225    VSTRIHL_rec,1226    VSTRIHR_rec1227)>;1228 1229// 2-way crack instructions1230// 3 Cycles ALU operations, and 3 Cycles ALU operations, 1 input operands1231def : InstRW<[P10W_FX_3C, P10W_DISP_PAIR, P10W_FX_3C, P10FX_Read],1232      (instrs1233    MTCRF, MTCRF81234)>;1235 1236// 6 Cycles Load operations, 0 input operands1237def : InstRW<[P10W_LD_6C, P10W_DISP_ANY],1238      (instrs1239    LBZ, LBZ8,1240    LD, LDtoc, LDtocBA, LDtocCPT, LDtocJTI,  LDtocL, SPILLTOVSR_LD,1241    DFLOADf32, DFLOADf64, LFD,1242    LHA, LHA8,1243    LHZ, LHZ8,1244    LWA, LWA_32,1245    LWZ, LWZ8, LWZtoc, LWZtocL,1246    LXSD,1247    LXV1248)>;1249 1250// 6 Cycles Load operations, 1 input operands1251def : InstRW<[P10W_LD_6C, P10W_DISP_ANY, P10LD_Read],1252      (instrs1253    LXVL,1254    LXVLL1255)>;1256 1257// 6 Cycles Load operations, 2 input operands1258def : InstRW<[P10W_LD_6C, P10W_DISP_ANY, P10LD_Read, P10LD_Read],1259      (instrs1260    DCBT,1261    DCBTST,1262    ICBT,1263    LBZX, LBZX8, LBZXTLS, LBZXTLS_, LBZXTLS_32,1264    LDBRX,1265    LDX, LDXTLS, LDXTLS_, SPILLTOVSR_LDX,1266    LFDX, LFDXTLS, LFDXTLS_, XFLOADf32, XFLOADf64,1267    LFIWAX, LIWAX,1268    LFIWZX, LIWZX,1269    LHAX, LHAX8, LHAXTLS, LHAXTLS_, LHAXTLS_32,1270    LHBRX, LHBRX8,1271    LHZX, LHZX8, LHZXTLS, LHZXTLS_, LHZXTLS_32,1272    LVEBX,1273    LVEHX,1274    LVEWX,1275    LVX,1276    LVXL,1277    LWAX, LWAXTLS, LWAXTLS_, LWAXTLS_32, LWAX_32,1278    LWBRX, LWBRX8,1279    LWZX, LWZX8, LWZXTLS, LWZXTLS_, LWZXTLS_32,1280    LXSDX,1281    LXSIBZX,1282    LXSIHZX,1283    LXSIWAX,1284    LXSIWZX,1285    LXVB16X,1286    LXVD2X,1287    LXVDSX,1288    LXVH8X,1289    LXVRBX,1290    LXVRDX,1291    LXVRHX,1292    LXVRWX,1293    LXVW4X,1294    LXVWSX,1295    LXVX1296)>;1297 1298// 2-way crack instructions1299// 6 Cycles Load operations, and 13 Cycles Decimal Floating Point operations, 1 input operands1300def : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_DF_13C, P10W_DISP_ANY],1301      (instrs1302    HASHCHK, HASHCHK8,1303    HASHCHKP, HASHCHKP81304)>;1305 1306// Single crack instructions1307// 6 Cycles Load operations, 0 input operands1308def : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_DISP_ANY],1309      (instrs1310    DARN,1311    SLBIA1312)>;1313 1314// Single crack instructions1315// 6 Cycles Load operations, 1 input operands1316def : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_DISP_ANY, P10LD_Read],1317      (instrs1318    MTSPR, MTSPR8, MTSR, MTUDSCR, MTVRSAVE, MTVRSAVEv,1319    SLBFEE_rec,1320    SLBIE,1321    SLBMFEE,1322    SLBMFEV1323)>;1324 1325// Single crack instructions1326// 6 Cycles Load operations, 2 input operands1327def : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_DISP_ANY, P10LD_Read, P10LD_Read],1328      (instrs1329    LBARX, LBARXL,1330    LBZCIX,1331    LDARX, LDARXL,1332    LDCIX,1333    LHARX, LHARXL,1334    LHZCIX,1335    LWARX, LWARXL,1336    LWZCIX1337)>;1338 1339// Expand instructions1340// 6 Cycles Load operations, 6 Cycles Load operations, 6 Cycles Load operations, and 6 Cycles Load operations, 0 input operands1341def : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_LD_6C, P10W_DISP_ANY, P10W_LD_6C, P10W_DISP_ANY, P10W_LD_6C, P10W_DISP_ANY],1342      (instrs1343    LMW1344)>;1345 1346// Expand instructions1347// 6 Cycles Load operations, 6 Cycles Load operations, 6 Cycles Load operations, and 6 Cycles Load operations, 1 input operands1348def : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_LD_6C, P10W_DISP_ANY, P10W_LD_6C, P10W_DISP_ANY, P10W_LD_6C, P10W_DISP_ANY, P10LD_Read],1349      (instrs1350    LSWI1351)>;1352 1353// 2-way crack instructions1354// 6 Cycles Load operations, and 3 Cycles Simple Fixed-point (SFX) operations, 0 input operands1355def : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_SX_3C, P10W_DISP_ANY],1356      (instrs1357    LBZU, LBZU8,1358    LDU,1359    LFDU,1360    LHAU, LHAU8,1361    LHZU, LHZU8,1362    LWZU, LWZU81363)>;1364 1365// 2-way crack instructions1366// 6 Cycles Load operations, and 3 Cycles Simple Fixed-point (SFX) operations, 2 input operands1367def : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_SX_3C, P10W_DISP_ANY],1368      (instrs1369    LBZUX, LBZUX8,1370    LDUX,1371    LFDUX,1372    LHAUX, LHAUX8,1373    LHZUX, LHZUX8,1374    LWAUX,1375    LWZUX, LWZUX81376)>;1377 1378// 6 Cycles Load operations, 0 input operands1379def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR],1380      (instrs1381    PLBZ, PLBZ8, PLBZ8pc, PLBZpc,1382    PLD, PLDpc,1383    PLFD, PLFDpc,1384    PLFS, PLFSpc,1385    PLHA, PLHA8, PLHA8pc, PLHApc,1386    PLHZ, PLHZ8, PLHZ8pc, PLHZpc,1387    PLWA, PLWA8, PLWA8pc, PLWApc,1388    PLWZ, PLWZ8, PLWZ8pc, PLWZpc,1389    PLXSD, PLXSDpc,1390    PLXSSP, PLXSSPpc,1391    PLXV, PLXVpc,1392    PLXVP, PLXVPpc1393)>;1394 1395// 2-way crack instructions1396// 6 Cycles Load operations, and 4 Cycles ALU2 operations, 0 input operands1397def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_F2_4C],1398      (instrs1399    LFS,1400    LXSSP1401)>;1402 1403// 2-way crack instructions1404// 6 Cycles Load operations, and 4 Cycles ALU2 operations, 2 input operands1405def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_F2_4C],1406      (instrs1407    LFSX, LFSXTLS, LFSXTLS_,1408    LXSSPX1409)>;1410 1411// 4-way crack instructions1412// 6 Cycles Load operations, 4 Cycles ALU2 operations, 3 Cycles Simple Fixed-point (SFX) operations, and 3 Cycles ALU operations, 0 input operands1413def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_F2_4C, P10W_SX_3C, P10W_DISP_ANY, P10W_FX_3C, P10W_DISP_ANY],1414      (instrs1415    LFSU1416)>;1417 1418// 4-way crack instructions1419// 6 Cycles Load operations, 4 Cycles ALU2 operations, 3 Cycles Simple Fixed-point (SFX) operations, and 3 Cycles ALU operations, 2 input operands1420def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_F2_4C, P10W_SX_3C, P10W_DISP_ANY, P10W_FX_3C, P10W_DISP_ANY],1421      (instrs1422    LFSUX1423)>;1424 1425// 2-way crack instructions1426// 6 Cycles Load operations, and 6 Cycles Load operations, 1 input operands1427def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_LD_6C, P10W_DISP_PAIR, P10LD_Read],1428      (instrs1429    TLBIEL1430)>;1431 1432// 2-way crack instructions1433// 6 Cycles Load operations, and 6 Cycles Load operations, 2 input operands1434def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_LD_6C, P10W_DISP_PAIR, P10LD_Read, P10LD_Read],1435      (instrs1436    SLBMTE1437)>;1438 1439// 2-way crack instructions1440// 6 Cycles Load operations, and 3 Cycles Simple Fixed-point (SFX) operations, 0 input operands1441def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_SX_3C],1442      (instrs1443    LXVP1444)>;1445 1446// 2-way crack instructions1447// 6 Cycles Load operations, and 3 Cycles Simple Fixed-point (SFX) operations, 2 input operands1448def : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_SX_3C],1449      (instrs1450    LXVPX1451)>;1452 1453// Single crack instructions1454// 13 Cycles Unknown operations, 1 input operands1455def : InstRW<[P10W_MFL_13C, P10W_DISP_EVEN, P10W_DISP_ANY],1456      (instrs1457    MFSPR, MFSPR8, MFSR, MFTB8, MFUDSCR, MFVRSAVE, MFVRSAVEv1458)>;1459 1460// 10 Cycles SIMD Matrix Multiply Engine operations, 0 input operands1461def : InstRW<[P10W_MM_10C, P10W_DISP_ANY],1462      (instrs1463    XXSETACCZ1464)>;1465 1466// 10 Cycles SIMD Matrix Multiply Engine operations, 2 input operands1467def : InstRW<[P10W_MM_10C, P10W_DISP_ANY, P10MM_Read, P10MM_Read],1468      (instrs1469    XVBF16GER2,1470    XVF16GER2,1471    XVF32GER,1472    XVF64GER,1473    XVI16GER2,1474    XVI16GER2S,1475    XVI4GER8,1476    XVI8GER41477)>;1478 1479// 10 Cycles SIMD Matrix Multiply Engine operations, 3 input operands1480def : InstRW<[P10W_MM_10C, P10W_DISP_ANY, P10MM_Read, P10MM_Read, P10MM_Read],1481      (instrs1482    XVBF16GER2NN,1483    XVBF16GER2NP,1484    XVBF16GER2PN,1485    XVBF16GER2PP,1486    XVF16GER2NN,1487    XVF16GER2NP,1488    XVF16GER2PN,1489    XVF16GER2PP,1490    XVF32GERNN,1491    XVF32GERNP,1492    XVF32GERPN,1493    XVF32GERPP,1494    XVF64GERNN,1495    XVF64GERNP,1496    XVF64GERPN,1497    XVF64GERPP,1498    XVI16GER2PP,1499    XVI16GER2SPP,1500    XVI4GER8PP,1501    XVI8GER4PP,1502    XVI8GER4SPP1503)>;1504 1505// 10 Cycles SIMD Matrix Multiply Engine operations, 2 input operands1506def : InstRW<[P10W_MM_10C, P10W_DISP_PAIR, P10MM_Read, P10MM_Read],1507      (instrs1508    PMXVBF16GER2,1509    PMXVF16GER2,1510    PMXVF32GER,1511    PMXVF64GER,1512    PMXVI16GER2,1513    PMXVI16GER2S,1514    PMXVI4GER8,1515    PMXVI8GER41516)>;1517 1518// 10 Cycles SIMD Matrix Multiply Engine operations, 3 input operands1519def : InstRW<[P10W_MM_10C, P10W_DISP_PAIR, P10MM_Read, P10MM_Read, P10MM_Read],1520      (instrs1521    PMXVBF16GER2NN,1522    PMXVBF16GER2NP,1523    PMXVBF16GER2PN,1524    PMXVBF16GER2PP,1525    PMXVF16GER2NN,1526    PMXVF16GER2NP,1527    PMXVF16GER2PN,1528    PMXVF16GER2PP,1529    PMXVF32GERNN,1530    PMXVF32GERNP,1531    PMXVF32GERPN,1532    PMXVF32GERPP,1533    PMXVF64GERNN,1534    PMXVF64GERNP,1535    PMXVF64GERPN,1536    PMXVF64GERPP,1537    PMXVI16GER2PP,1538    PMXVI16GER2SPP,1539    PMXVI4GER8PP,1540    PMXVI8GER4PP,1541    PMXVI8GER4SPP1542)>;1543 1544// 2-way crack instructions1545// 10 Cycles SIMD Matrix Multiply Engine operations, and 3 Cycles ALU operations, 1 input operands1546def : InstRW<[P10W_MM_10C, P10W_DISP_PAIR, P10W_FX_3C],1547      (instrs1548    XXMTACC1549)>;1550 1551// 4-way crack instructions1552// 10 Cycles SIMD Matrix Multiply Engine operations, 3 Cycles ALU operations, 10 Cycles SIMD Matrix Multiply Engine operations, and 3 Cycles ALU operations, 1 input operands1553def : InstRW<[P10W_MM_10C, P10W_DISP_PAIR, P10W_FX_3C, P10W_MM_10C, P10W_DISP_PAIR, P10W_FX_3C],1554      (instrs1555    XXMFACC1556)>;1557 1558// 5 Cycles GPR Multiply operations, 1 input operands1559def : InstRW<[P10W_MU_5C, P10W_DISP_ANY, P10MU_Read],1560      (instrs1561    MULLI, MULLI81562)>;1563 1564// 5 Cycles GPR Multiply operations, 2 input operands1565def : InstRW<[P10W_MU_5C, P10W_DISP_ANY, P10MU_Read, P10MU_Read],1566      (instrs1567    MULHD,1568    MULHDU,1569    MULHW,1570    MULHWU,1571    MULLD,1572    MULLDO,1573    MULLW,1574    MULLWO,1575    VMULHSD,1576    VMULHUD,1577    VMULLD1578)>;1579 1580// 5 Cycles GPR Multiply operations, 3 input operands1581def : InstRW<[P10W_MU_5C, P10W_DISP_ANY, P10MU_Read, P10MU_Read, P10MU_Read],1582      (instrs1583    MADDHD,1584    MADDHDU,1585    MADDLD, MADDLD81586)>;1587 1588// 2-way crack instructions1589// 5 Cycles GPR Multiply operations, and 3 Cycles ALU operations, 2 input operands1590def : InstRW<[P10W_MU_5C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],1591      (instrs1592    MULHD_rec,1593    MULHDU_rec,1594    MULHW_rec,1595    MULHWU_rec,1596    MULLD_rec,1597    MULLDO_rec,1598    MULLW_rec,1599    MULLWO_rec1600)>;1601 1602// 4 Cycles Permute operations, 0 input operands1603def : InstRW<[P10W_PM_4C, P10W_DISP_ANY],1604      (instrs1605    LXVKQ,1606    VSPLTISB,1607    VSPLTISH,1608    VSPLTISW, V_SETALLONES, V_SETALLONESB, V_SETALLONESH,1609    XXSPLTIB1610)>;1611 1612// 4 Cycles Permute operations, 1 input operands1613def : InstRW<[P10W_PM_4C, P10W_DISP_ANY, P10PM_Read],1614      (instrs1615    BRD,1616    BRH, BRH8,1617    BRW, BRW8,1618    MFVSRLD,1619    MTVSRWS,1620    VCLZLSBB,1621    VCTZLSBB,1622    VEXTRACTD,1623    VEXTRACTUB,1624    VEXTRACTUH,1625    VEXTRACTUW,1626    VGBBD,1627    VINSERTD,1628    VINSERTW,1629    VPRTYBQ,1630    VSPLTB, VSPLTBs,1631    VSPLTH, VSPLTHs,1632    VSPLTW,1633    VSTRIBL,1634    VSTRIBR,1635    VSTRIHL,1636    VSTRIHR,1637    VUPKHPX,1638    VUPKHSB,1639    VUPKHSH,1640    VUPKHSW,1641    VUPKLPX,1642    VUPKLSB,1643    VUPKLSH,1644    VUPKLSW,1645    XVCVBF16SPN,1646    XXBRD,1647    XXBRH,1648    XXBRQ,1649    XXBRW,1650    XXEXTRACTUW,1651    XXGENPCVDM,1652    XXGENPCVHM,1653    XXGENPCVWM,1654    XXSPLTW, XXSPLTWs1655)>;1656 1657// 4 Cycles Permute operations, 2 input operands1658def : InstRW<[P10W_PM_4C, P10W_DISP_ANY, P10PM_Read, P10PM_Read],1659      (instrs1660    BPERMD,1661    LVSL,1662    LVSR,1663    MTVSRDD,1664    VBPERMD,1665    VBPERMQ,1666    VCLRLB,1667    VCLRRB,1668    VEXTUBLX,1669    VEXTUBRX,1670    VEXTUHLX,1671    VEXTUHRX,1672    VEXTUWLX,1673    VEXTUWRX,1674    VINSD,1675    VINSERTB,1676    VINSERTH,1677    VINSW,1678    VMRGHB,1679    VMRGHH,1680    VMRGHW,1681    VMRGLB,1682    VMRGLH,1683    VMRGLW,1684    VPKPX,1685    VPKSDSS,1686    VPKSDUS,1687    VPKSHSS,1688    VPKSHUS,1689    VPKSWSS,1690    VPKSWUS,1691    VPKUDUM,1692    VPKUDUS,1693    VPKUHUM,1694    VPKUHUS,1695    VPKUWUM,1696    VPKUWUS,1697    VSL,1698    VSLDBI,1699    VSLDOI,1700    VSLO,1701    VSLV,1702    VSR,1703    VSRDBI,1704    VSRO,1705    VSRV,1706    XXINSERTW,1707    XXMRGHW,1708    XXMRGLW,1709    XXPERMDI, XXPERMDIs,1710    XXSLDWI, XXSLDWIs1711)>;1712 1713// 4 Cycles Permute operations, 3 input operands1714def : InstRW<[P10W_PM_4C, P10W_DISP_ANY, P10PM_Read, P10PM_Read, P10PM_Read],1715      (instrs1716    VEXTDDVLX,1717    VEXTDDVRX,1718    VEXTDUBVLX,1719    VEXTDUBVRX,1720    VEXTDUHVLX,1721    VEXTDUHVRX,1722    VEXTDUWVLX,1723    VEXTDUWVRX,1724    VINSBLX,1725    VINSBRX,1726    VINSBVLX,1727    VINSBVRX,1728    VINSDLX,1729    VINSDRX,1730    VINSHLX,1731    VINSHRX,1732    VINSHVLX,1733    VINSHVRX,1734    VINSWLX,1735    VINSWRX,1736    VINSWVLX,1737    VINSWVRX,1738    VPERM,1739    VPERMR,1740    VPERMXOR,1741    XXPERM,1742    XXPERMR1743)>;1744 1745// 2-way crack instructions1746// 4 Cycles Permute operations, and 7 Cycles VMX Multiply operations, 2 input operands1747def : InstRW<[P10W_PM_4C, P10W_DISP_EVEN, P10W_vMU_7C, P10W_DISP_ANY],1748      (instrs1749    VSUMSWS1750)>;1751 1752// 4 Cycles Permute operations, 0 input operands1753def : InstRW<[P10W_PM_4C, P10W_DISP_PAIR],1754      (instrs1755    XXSPLTIDP,1756    XXSPLTIW1757)>;1758 1759// 4 Cycles Permute operations, 1 input operands1760def : InstRW<[P10W_PM_4C, P10W_DISP_PAIR, P10PM_Read],1761      (instrs1762    XXSPLTI32DX1763)>;1764 1765// 4 Cycles Permute operations, 3 input operands1766def : InstRW<[P10W_PM_4C, P10W_DISP_PAIR, P10PM_Read, P10PM_Read, P10PM_Read],1767      (instrs1768    XXBLENDVB,1769    XXBLENDVD,1770    XXBLENDVH,1771    XXBLENDVW,1772    XXEVAL,1773    XXPERMX1774)>;1775 1776// 3 Cycles Store operations, 1 input operands1777def : InstRW<[P10W_ST_3C, P10W_DISP_ANY, P10ST_Read],1778      (instrs1779    PSTXVP, PSTXVPpc,1780    STB, STB8,1781    STBU, STBU8,1782    SPILLTOVSR_ST, STD,1783    STDU,1784    DFSTOREf32, DFSTOREf64, STFD,1785    STFDU,1786    STFS,1787    STFSU,1788    STH, STH8,1789    STHU, STHU8,1790    STW, STW8,1791    STWU, STWU8,1792    STXSD,1793    STXSSP,1794    STXV1795)>;1796 1797// 3 Cycles Store operations, 2 input operands1798def : InstRW<[P10W_ST_3C, P10W_DISP_ANY, P10ST_Read, P10ST_Read],1799      (instrs1800    CP_COPY, CP_COPY8,1801    DCBF,1802    DCBST,1803    DCBZ,1804    ICBI,1805    STXVL,1806    STXVLL1807)>;1808 1809// 3 Cycles Store operations, 3 input operands1810def : InstRW<[P10W_ST_3C, P10W_DISP_ANY, P10ST_Read, P10ST_Read, P10ST_Read],1811      (instrs1812    STBUX, STBUX8,1813    STBX, STBX8, STBXTLS, STBXTLS_, STBXTLS_32,1814    STDBRX,1815    STDUX,1816    SPILLTOVSR_STX, STDX, STDXTLS, STDXTLS_,1817    STFDUX,1818    STFDX, STFDXTLS, STFDXTLS_,1819    STFIWX, STIWX,1820    STFSUX,1821    STFSX, STFSXTLS, STFSXTLS_,1822    STHBRX,1823    STHUX, STHUX8,1824    STHX, STHX8, STHXTLS, STHXTLS_, STHXTLS_32,1825    STVEBX,1826    STVEHX,1827    STVEWX,1828    STVX,1829    STVXL,1830    STWBRX,1831    STWUX, STWUX8,1832    STWX, STWX8, STWXTLS, STWXTLS_, STWXTLS_32,1833    STXSDX,1834    STXSIBX, STXSIBXv,1835    STXSIHX, STXSIHXv,1836    STXSIWX,1837    STXSSPX,1838    STXVB16X,1839    STXVD2X,1840    STXVH8X,1841    STXVRBX,1842    STXVRDX,1843    STXVRHX,1844    STXVRWX,1845    STXVW4X,1846    STXVX1847)>;1848 1849// Single crack instructions1850// 3 Cycles Store operations, 0 input operands1851def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_DISP_ANY],1852      (instrs1853    EnforceIEIO,1854    MSGSYNC,1855    SLBSYNC,1856    TLBSYNC1857)>;1858 1859// Single crack instructions1860// 3 Cycles Store operations, 2 input operands1861def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10ST_Read, P10ST_Read],1862      (instrs1863    CP_PASTE8_rec, CP_PASTE_rec,1864    SLBIEG,1865    TLBIE, TLBIE8P9, TLBIEP91866)>;1867 1868// Single crack instructions1869// 3 Cycles Store operations, 3 input operands1870def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10ST_Read, P10ST_Read, P10ST_Read],1871      (instrs1872    STBCIX,1873    STBCX,1874    STDCIX,1875    STDCX,1876    STHCIX,1877    STHCX,1878    STWCIX,1879    STWCX1880)>;1881 1882// 2-way crack instructions1883// 3 Cycles Store operations, and 3 Cycles ALU operations, 0 input operands1884def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],1885      (instrs1886    ISYNC,1887    SYNC, SYNCP101888)>;1889 1890// Expand instructions1891// 3 Cycles Store operations, 3 Cycles ALU operations, 3 Cycles Store operations, 3 Cycles ALU operations, 3 Cycles Store operations, 3 Cycles ALU operations, 6 Cycles Load operations, and 3 Cycles Store operations, 1 input operands1892def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY, P10W_FX_3C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY, P10W_FX_3C, P10W_DISP_ANY, P10W_LD_6C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY],1893      (instrs1894    LDAT,1895    LWAT1896)>;1897 1898// 4-way crack instructions1899// 3 Cycles Store operations, 3 Cycles ALU operations, 3 Cycles Store operations, and 3 Cycles Store operations, 2 input operands1900def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY],1901      (instrs1902    STDAT,1903    STWAT1904)>;1905 1906// Expand instructions1907// 3 Cycles Store operations, 3 Cycles Store operations, 3 Cycles Store operations, and 3 Cycles Store operations, 1 input operands1908def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_ST_3C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY, P10ST_Read],1909      (instrs1910    STMW1911)>;1912 1913// Expand instructions1914// 3 Cycles Store operations, 3 Cycles Store operations, 3 Cycles Store operations, and 3 Cycles Store operations, 2 input operands1915def : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_ST_3C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY, P10W_ST_3C, P10W_DISP_ANY, P10ST_Read, P10ST_Read],1916      (instrs1917    STSWI1918)>;1919 1920// 3 Cycles Store operations, 1 input operands1921def : InstRW<[P10W_ST_3C, P10W_DISP_PAIR, P10ST_Read],1922      (instrs1923    PSTB, PSTB8, PSTB8pc, PSTBpc,1924    PSTD, PSTDpc,1925    PSTFD, PSTFDpc,1926    PSTFS, PSTFSpc,1927    PSTH, PSTH8, PSTH8pc, PSTHpc,1928    PSTW, PSTW8, PSTW8pc, PSTWpc,1929    PSTXSD, PSTXSDpc,1930    PSTXSSP, PSTXSSPpc,1931    PSTXV, PSTXVpc1932)>;1933 1934// 2-way crack instructions1935// 3 Cycles Store operations, and 3 Cycles Store operations, 1 input operands1936def : InstRW<[P10W_ST_3C, P10W_DISP_PAIR, P10W_ST_3C, P10ST_Read],1937      (instrs1938    STXVP1939)>;1940 1941// 2-way crack instructions1942// 3 Cycles Store operations, and 3 Cycles Store operations, 3 input operands1943def : InstRW<[P10W_ST_3C, P10W_DISP_PAIR, P10W_ST_3C, P10ST_Read, P10ST_Read, P10ST_Read],1944      (instrs1945    STXVPX1946)>;1947 1948// FIXME - Miss scheduling information from datasheet1949// Temporary set it as 1 Cycles Simple Fixed-point (SFX) operations, 0 input operands1950def : InstRW<[P10W_SX, P10W_DISP_ANY],1951      (instrs1952    ATTN,1953    CP_ABORT,1954    CRNOT,1955    DCBA,1956    DCBI,1957    DCBZL,1958    DCCCI,1959    ICBLC,1960    ICBLQ,1961    ICBTLS,1962    ICCCI,1963    LA, LA8,1964    MFDCR,1965    MFPMR,1966    MFSRIN,1967    MSYNC,1968    MTDCR,1969    MTPMR,1970    MTSRIN,1971    NAP,1972    TLBIA,1973    TLBLD,1974    TLBLI,1975    TLBRE2,1976    TLBSX2,1977    TLBSX2D,1978    TLBWE21979)>;1980 1981// Single crack instructions1982// 3 Cycles Simple Fixed-point (SFX) operations, 0 input operands1983def : InstRW<[P10W_SX_3C, P10W_DISP_EVEN, P10W_DISP_ANY],1984      (instrs1985    CLRBHRB,1986    MFBHRBE,1987    MFMSR,1988    MFTB1989)>;1990 1991// Single crack instructions1992// 3 Cycles Simple Fixed-point (SFX) operations, 1 input operands1993def : InstRW<[P10W_SX_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10SX_Read],1994      (instrs1995    MTMSR,1996    MTMSRD1997)>;1998 1999// 2-way crack instructions2000// 3 Cycles Simple Fixed-point (SFX) operations, and 3 Cycles ALU operations, 0 input operands2001def : InstRW<[P10W_SX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY],2002      (instrs2003    ADDPCIS2004)>;2005 2006// 3 Cycles Simple Fixed-point (SFX) operations, 1 input operands2007def : InstRW<[P10W_SX_3C, P10W_DISP_PAIR, P10SX_Read],2008      (instrs2009    PADDI, PADDI8, PADDI8pc, PADDIpc, PLI, PLI82010)>;2011 2012// 7 Cycles VMX Multiply operations, 2 input operands2013def : InstRW<[P10W_vMU_7C, P10W_DISP_ANY, P10vMU_Read, P10vMU_Read],2014      (instrs2015    VMULESB,2016    VMULESD,2017    VMULESH,2018    VMULESW,2019    VMULEUB,2020    VMULEUD,2021    VMULEUH,2022    VMULEUW,2023    VMULHSW,2024    VMULHUW,2025    VMULOSB,2026    VMULOSD,2027    VMULOSH,2028    VMULOSW,2029    VMULOUB,2030    VMULOUD,2031    VMULOUH,2032    VMULOUW,2033    VMULUWM,2034    VSUM2SWS,2035    VSUM4SBS,2036    VSUM4SHS,2037    VSUM4UBS2038)>;2039 2040// 7 Cycles VMX Multiply operations, 3 input operands2041def : InstRW<[P10W_vMU_7C, P10W_DISP_ANY, P10vMU_Read, P10vMU_Read, P10vMU_Read],2042      (instrs2043    VMHADDSHS,2044    VMHRADDSHS,2045    VMLADDUHM,2046    VMSUMCUD,2047    VMSUMMBM,2048    VMSUMSHM,2049    VMSUMSHS,2050    VMSUMUBM,2051    VMSUMUDM,2052    VMSUMUHM,2053    VMSUMUHS2054)>;2055 2056