167c64d83SQiu Chaofan//===--- P10InstrResources.td - P10 Scheduling Definitions -*- tablegen -*-===// 267c64d83SQiu Chaofan// 367c64d83SQiu Chaofan// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 467c64d83SQiu Chaofan// See https://llvm.org/LICENSE.txt for license information. 567c64d83SQiu Chaofan// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 667c64d83SQiu Chaofan// 767c64d83SQiu Chaofan//===----------------------------------------------------------------------===// 867c64d83SQiu Chaofan// Automatically generated file, do not edit! 967c64d83SQiu Chaofan// 10a2b5117dSQiu Chaofan// This file defines instruction data for SchedModel of the POWER10 processor. 1167c64d83SQiu Chaofan// 1267c64d83SQiu Chaofan//===----------------------------------------------------------------------===// 1367c64d83SQiu Chaofan// 22 Cycles Binary Floating Point operations, 2 input operands 1467c64d83SQiu Chaofandef : InstRW<[P10W_BF_22C, P10W_DISP_ANY, P10BF_Read, P10BF_Read], 1567c64d83SQiu Chaofan (instrs 1667c64d83SQiu Chaofan FDIVS, 1767c64d83SQiu Chaofan XSDIVSP 1867c64d83SQiu Chaofan)>; 1967c64d83SQiu Chaofan 2067c64d83SQiu Chaofan// 2-way crack instructions 2167c64d83SQiu Chaofan// 22 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 2 input operands 2267c64d83SQiu Chaofandef : InstRW<[P10W_BF_22C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 2367c64d83SQiu Chaofan (instrs 2467c64d83SQiu Chaofan FDIVS_rec 2567c64d83SQiu Chaofan)>; 2667c64d83SQiu Chaofan 2767c64d83SQiu Chaofan// 24 Cycles Binary Floating Point operations, 2 input operands 2867c64d83SQiu Chaofandef : InstRW<[P10W_BF_24C, P10W_DISP_ANY, P10BF_Read, P10BF_Read], 2967c64d83SQiu Chaofan (instrs 3067c64d83SQiu Chaofan XVDIVSP 3167c64d83SQiu Chaofan)>; 3267c64d83SQiu Chaofan 3367c64d83SQiu Chaofan// 26 Cycles Binary Floating Point operations, 1 input operands 3467c64d83SQiu Chaofandef : InstRW<[P10W_BF_26C, P10W_DISP_ANY, P10BF_Read], 3567c64d83SQiu Chaofan (instrs 3667c64d83SQiu Chaofan FSQRTS, 3767c64d83SQiu Chaofan XSSQRTSP 3867c64d83SQiu Chaofan)>; 3967c64d83SQiu Chaofan 4067c64d83SQiu Chaofan// 2-way crack instructions 4167c64d83SQiu Chaofan// 26 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 1 input operands 4267c64d83SQiu Chaofandef : InstRW<[P10W_BF_26C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 4367c64d83SQiu Chaofan (instrs 4467c64d83SQiu Chaofan FSQRTS_rec 4567c64d83SQiu Chaofan)>; 4667c64d83SQiu Chaofan 4767c64d83SQiu Chaofan// 27 Cycles Binary Floating Point operations, 1 input operands 4867c64d83SQiu Chaofandef : InstRW<[P10W_BF_27C, P10W_DISP_ANY, P10BF_Read], 4967c64d83SQiu Chaofan (instrs 5067c64d83SQiu Chaofan XVSQRTSP 5167c64d83SQiu Chaofan)>; 5267c64d83SQiu Chaofan 5367c64d83SQiu Chaofan// 27 Cycles Binary Floating Point operations, 2 input operands 5467c64d83SQiu Chaofandef : InstRW<[P10W_BF_27C, P10W_DISP_ANY, P10BF_Read, P10BF_Read], 5567c64d83SQiu Chaofan (instrs 5667c64d83SQiu Chaofan FDIV, 5767c64d83SQiu Chaofan XSDIVDP, 5867c64d83SQiu Chaofan XVDIVDP 5967c64d83SQiu Chaofan)>; 6067c64d83SQiu Chaofan 6167c64d83SQiu Chaofan// 2-way crack instructions 6267c64d83SQiu Chaofan// 27 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 2 input operands 6367c64d83SQiu Chaofandef : InstRW<[P10W_BF_27C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 6467c64d83SQiu Chaofan (instrs 6567c64d83SQiu Chaofan FDIV_rec 6667c64d83SQiu Chaofan)>; 6767c64d83SQiu Chaofan 6867c64d83SQiu Chaofan// 36 Cycles Binary Floating Point operations, 1 input operands 6967c64d83SQiu Chaofandef : InstRW<[P10W_BF_36C, P10W_DISP_ANY, P10BF_Read], 7067c64d83SQiu Chaofan (instrs 7167c64d83SQiu Chaofan FSQRT, 7267c64d83SQiu Chaofan XSSQRTDP, 7367c64d83SQiu Chaofan XVSQRTDP 7467c64d83SQiu Chaofan)>; 7567c64d83SQiu Chaofan 7667c64d83SQiu Chaofan// 2-way crack instructions 7767c64d83SQiu Chaofan// 36 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 1 input operands 7867c64d83SQiu Chaofandef : InstRW<[P10W_BF_36C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 7967c64d83SQiu Chaofan (instrs 8067c64d83SQiu Chaofan FSQRT_rec 8167c64d83SQiu Chaofan)>; 8267c64d83SQiu Chaofan 8367c64d83SQiu Chaofan// 7 Cycles Binary Floating Point operations, 1 input operands 8467c64d83SQiu Chaofandef : InstRW<[P10W_BF_7C, P10W_DISP_ANY, P10BF_Read], 8567c64d83SQiu Chaofan (instrs 8667c64d83SQiu Chaofan FCFID, 8767c64d83SQiu Chaofan FCFIDS, 8867c64d83SQiu Chaofan FCFIDU, 8967c64d83SQiu Chaofan FCFIDUS, 9067c64d83SQiu Chaofan FCTID, 9167c64d83SQiu Chaofan FCTIDU, 9267c64d83SQiu Chaofan FCTIDUZ, 9367c64d83SQiu Chaofan FCTIDZ, 9467c64d83SQiu Chaofan FCTIW, 9567c64d83SQiu Chaofan FCTIWU, 9667c64d83SQiu Chaofan FCTIWUZ, 9767c64d83SQiu Chaofan FCTIWZ, 9867c64d83SQiu Chaofan FRE, 9967c64d83SQiu Chaofan FRES, 10067c64d83SQiu Chaofan FRIMD, FRIMS, 10167c64d83SQiu Chaofan FRIND, FRINS, 10267c64d83SQiu Chaofan FRIPD, FRIPS, 10367c64d83SQiu Chaofan FRIZD, FRIZS, 10467c64d83SQiu Chaofan FRSP, 10567c64d83SQiu Chaofan FRSQRTE, 10667c64d83SQiu Chaofan FRSQRTES, 10767c64d83SQiu Chaofan VCFSX, VCFSX_0, 10867c64d83SQiu Chaofan VCFUX, VCFUX_0, 10967c64d83SQiu Chaofan VCTSXS, VCTSXS_0, 11067c64d83SQiu Chaofan VCTUXS, VCTUXS_0, 11167c64d83SQiu Chaofan VLOGEFP, 11267c64d83SQiu Chaofan VREFP, 11367c64d83SQiu Chaofan VRFIM, 11467c64d83SQiu Chaofan VRFIN, 11567c64d83SQiu Chaofan VRFIP, 11667c64d83SQiu Chaofan VRFIZ, 11767c64d83SQiu Chaofan VRSQRTEFP, 11867c64d83SQiu Chaofan XSCVDPHP, 11967c64d83SQiu Chaofan XSCVDPSP, 12067c64d83SQiu Chaofan XSCVDPSPN, 12167c64d83SQiu Chaofan XSCVDPSXDS, XSCVDPSXDSs, 12267c64d83SQiu Chaofan XSCVDPSXWS, XSCVDPSXWSs, 12367c64d83SQiu Chaofan XSCVDPUXDS, XSCVDPUXDSs, 12467c64d83SQiu Chaofan XSCVDPUXWS, XSCVDPUXWSs, 12567c64d83SQiu Chaofan XSCVSPDP, 12667c64d83SQiu Chaofan XSCVSXDDP, 12767c64d83SQiu Chaofan XSCVSXDSP, 12867c64d83SQiu Chaofan XSCVUXDDP, 12967c64d83SQiu Chaofan XSCVUXDSP, 13067c64d83SQiu Chaofan XSRDPI, 13167c64d83SQiu Chaofan XSRDPIC, 13267c64d83SQiu Chaofan XSRDPIM, 13367c64d83SQiu Chaofan XSRDPIP, 13467c64d83SQiu Chaofan XSRDPIZ, 13567c64d83SQiu Chaofan XSREDP, 13667c64d83SQiu Chaofan XSRESP, 13767c64d83SQiu Chaofan XSRSP, 13867c64d83SQiu Chaofan XSRSQRTEDP, 13967c64d83SQiu Chaofan XSRSQRTESP, 14067c64d83SQiu Chaofan XVCVDPSP, 14167c64d83SQiu Chaofan XVCVDPSXDS, 14267c64d83SQiu Chaofan XVCVDPSXWS, 14367c64d83SQiu Chaofan XVCVDPUXDS, 14467c64d83SQiu Chaofan XVCVDPUXWS, 14567c64d83SQiu Chaofan XVCVSPBF16, 14667c64d83SQiu Chaofan XVCVSPDP, 14767c64d83SQiu Chaofan XVCVSPHP, 14867c64d83SQiu Chaofan XVCVSPSXDS, 14967c64d83SQiu Chaofan XVCVSPSXWS, 15067c64d83SQiu Chaofan XVCVSPUXDS, 15167c64d83SQiu Chaofan XVCVSPUXWS, 15267c64d83SQiu Chaofan XVCVSXDDP, 15367c64d83SQiu Chaofan XVCVSXDSP, 15467c64d83SQiu Chaofan XVCVSXWDP, 15567c64d83SQiu Chaofan XVCVSXWSP, 15667c64d83SQiu Chaofan XVCVUXDDP, 15767c64d83SQiu Chaofan XVCVUXDSP, 15867c64d83SQiu Chaofan XVCVUXWDP, 15967c64d83SQiu Chaofan XVCVUXWSP, 16067c64d83SQiu Chaofan XVRDPI, 16167c64d83SQiu Chaofan XVRDPIC, 16267c64d83SQiu Chaofan XVRDPIM, 16367c64d83SQiu Chaofan XVRDPIP, 16467c64d83SQiu Chaofan XVRDPIZ, 16567c64d83SQiu Chaofan XVREDP, 16667c64d83SQiu Chaofan XVRESP, 16767c64d83SQiu Chaofan XVRSPI, 16867c64d83SQiu Chaofan XVRSPIC, 16967c64d83SQiu Chaofan XVRSPIM, 17067c64d83SQiu Chaofan XVRSPIP, 17167c64d83SQiu Chaofan XVRSPIZ, 17267c64d83SQiu Chaofan XVRSQRTEDP, 17367c64d83SQiu Chaofan XVRSQRTESP 17467c64d83SQiu Chaofan)>; 17567c64d83SQiu Chaofan 17667c64d83SQiu Chaofan// 7 Cycles Binary Floating Point operations, 2 input operands 17767c64d83SQiu Chaofandef : InstRW<[P10W_BF_7C, P10W_DISP_ANY, P10BF_Read, P10BF_Read], 17867c64d83SQiu Chaofan (instrs 17967c64d83SQiu Chaofan FADD, 18067c64d83SQiu Chaofan FADDS, 18167c64d83SQiu Chaofan FMUL, 18267c64d83SQiu Chaofan FMULS, 18367c64d83SQiu Chaofan FSUB, 18467c64d83SQiu Chaofan FSUBS, 18567c64d83SQiu Chaofan VADDFP, 18667c64d83SQiu Chaofan VSUBFP, 18767c64d83SQiu Chaofan XSADDDP, 18867c64d83SQiu Chaofan XSADDSP, 18967c64d83SQiu Chaofan XSMULDP, 19067c64d83SQiu Chaofan XSMULSP, 19167c64d83SQiu Chaofan XSSUBDP, 19267c64d83SQiu Chaofan XSSUBSP, 19367c64d83SQiu Chaofan XVADDDP, 19467c64d83SQiu Chaofan XVADDSP, 19567c64d83SQiu Chaofan XVMULDP, 19667c64d83SQiu Chaofan XVMULSP, 19767c64d83SQiu Chaofan XVSUBDP, 19867c64d83SQiu Chaofan XVSUBSP 19967c64d83SQiu Chaofan)>; 20067c64d83SQiu Chaofan 20167c64d83SQiu Chaofan// 7 Cycles Binary Floating Point operations, 3 input operands 20267c64d83SQiu Chaofandef : InstRW<[P10W_BF_7C, P10W_DISP_ANY, P10BF_Read, P10BF_Read, P10BF_Read], 20367c64d83SQiu Chaofan (instrs 20467c64d83SQiu Chaofan FMADD, 20567c64d83SQiu Chaofan FMADDS, 20667c64d83SQiu Chaofan FMSUB, 20767c64d83SQiu Chaofan FMSUBS, 20867c64d83SQiu Chaofan FNMADD, 20967c64d83SQiu Chaofan FNMADDS, 21067c64d83SQiu Chaofan FNMSUB, 21167c64d83SQiu Chaofan FNMSUBS, 21267c64d83SQiu Chaofan FSELD, FSELS, 21367c64d83SQiu Chaofan VMADDFP, 21467c64d83SQiu Chaofan VNMSUBFP, 21567c64d83SQiu Chaofan XSMADDADP, 21667c64d83SQiu Chaofan XSMADDASP, 21767c64d83SQiu Chaofan XSMADDMDP, 21867c64d83SQiu Chaofan XSMADDMSP, 21967c64d83SQiu Chaofan XSMSUBADP, 22067c64d83SQiu Chaofan XSMSUBASP, 22167c64d83SQiu Chaofan XSMSUBMDP, 22267c64d83SQiu Chaofan XSMSUBMSP, 22367c64d83SQiu Chaofan XSNMADDADP, 22467c64d83SQiu Chaofan XSNMADDASP, 22567c64d83SQiu Chaofan XSNMADDMDP, 22667c64d83SQiu Chaofan XSNMADDMSP, 22767c64d83SQiu Chaofan XSNMSUBADP, 22867c64d83SQiu Chaofan XSNMSUBASP, 22967c64d83SQiu Chaofan XSNMSUBMDP, 23067c64d83SQiu Chaofan XSNMSUBMSP, 23167c64d83SQiu Chaofan XVMADDADP, 23267c64d83SQiu Chaofan XVMADDASP, 23367c64d83SQiu Chaofan XVMADDMDP, 23467c64d83SQiu Chaofan XVMADDMSP, 23567c64d83SQiu Chaofan XVMSUBADP, 23667c64d83SQiu Chaofan XVMSUBASP, 23767c64d83SQiu Chaofan XVMSUBMDP, 23867c64d83SQiu Chaofan XVMSUBMSP, 23967c64d83SQiu Chaofan XVNMADDADP, 24067c64d83SQiu Chaofan XVNMADDASP, 24167c64d83SQiu Chaofan XVNMADDMDP, 24267c64d83SQiu Chaofan XVNMADDMSP, 24367c64d83SQiu Chaofan XVNMSUBADP, 24467c64d83SQiu Chaofan XVNMSUBASP, 24567c64d83SQiu Chaofan XVNMSUBMDP, 24667c64d83SQiu Chaofan XVNMSUBMSP 24767c64d83SQiu Chaofan)>; 24867c64d83SQiu Chaofan 24967c64d83SQiu Chaofan// 2-way crack instructions 25067c64d83SQiu Chaofan// 7 Cycles Binary Floating Point operations, and 7 Cycles Binary Floating Point operations, 1 input operands 25167c64d83SQiu Chaofandef : InstRW<[P10W_BF_7C, P10W_DISP_EVEN, P10W_BF_7C, P10W_DISP_ANY, P10BF_Read], 25267c64d83SQiu Chaofan (instrs 25367c64d83SQiu Chaofan VEXPTEFP 25467c64d83SQiu Chaofan)>; 25567c64d83SQiu Chaofan 25667c64d83SQiu Chaofan// 2-way crack instructions 25767c64d83SQiu Chaofan// 7 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 2 input operands 25867c64d83SQiu Chaofandef : InstRW<[P10W_BF_7C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 25967c64d83SQiu Chaofan (instrs 26067c64d83SQiu Chaofan FADD_rec, 26167c64d83SQiu Chaofan FADDS_rec, 26267c64d83SQiu Chaofan FMUL_rec, 26367c64d83SQiu Chaofan FMULS_rec, 26467c64d83SQiu Chaofan FSUB_rec, 26567c64d83SQiu Chaofan FSUBS_rec 26667c64d83SQiu Chaofan)>; 26767c64d83SQiu Chaofan 26867c64d83SQiu Chaofan// 2-way crack instructions 26967c64d83SQiu Chaofan// 7 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 1 input operands 27067c64d83SQiu Chaofandef : InstRW<[P10W_BF_7C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 27167c64d83SQiu Chaofan (instrs 27267c64d83SQiu Chaofan FCFID_rec, 27367c64d83SQiu Chaofan FCFIDS_rec, 27467c64d83SQiu Chaofan FCFIDU_rec, 27567c64d83SQiu Chaofan FCFIDUS_rec, 27667c64d83SQiu Chaofan FCTID_rec, 27767c64d83SQiu Chaofan FCTIDU_rec, 27867c64d83SQiu Chaofan FCTIDUZ_rec, 27967c64d83SQiu Chaofan FCTIDZ_rec, 28067c64d83SQiu Chaofan FCTIW_rec, 28167c64d83SQiu Chaofan FCTIWU_rec, 28267c64d83SQiu Chaofan FCTIWUZ_rec, 28367c64d83SQiu Chaofan FCTIWZ_rec, 28467c64d83SQiu Chaofan FRE_rec, 28567c64d83SQiu Chaofan FRES_rec, 28667c64d83SQiu Chaofan FRIMD_rec, FRIMS_rec, 28767c64d83SQiu Chaofan FRIND_rec, FRINS_rec, 28867c64d83SQiu Chaofan FRIPD_rec, FRIPS_rec, 28967c64d83SQiu Chaofan FRIZD_rec, FRIZS_rec, 29067c64d83SQiu Chaofan FRSP_rec, 29167c64d83SQiu Chaofan FRSQRTE_rec, 29267c64d83SQiu Chaofan FRSQRTES_rec 29367c64d83SQiu Chaofan)>; 29467c64d83SQiu Chaofan 29567c64d83SQiu Chaofan// 2-way crack instructions 29667c64d83SQiu Chaofan// 7 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 3 input operands 29767c64d83SQiu Chaofandef : InstRW<[P10W_BF_7C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 29867c64d83SQiu Chaofan (instrs 29967c64d83SQiu Chaofan FMADD_rec, 30067c64d83SQiu Chaofan FMADDS_rec, 30167c64d83SQiu Chaofan FMSUB_rec, 30267c64d83SQiu Chaofan FMSUBS_rec, 30367c64d83SQiu Chaofan FNMADD_rec, 30467c64d83SQiu Chaofan FNMADDS_rec, 30567c64d83SQiu Chaofan FNMSUB_rec, 30667c64d83SQiu Chaofan FNMSUBS_rec, 30767c64d83SQiu Chaofan FSELD_rec, FSELS_rec 30867c64d83SQiu Chaofan)>; 30967c64d83SQiu Chaofan 31067c64d83SQiu Chaofan// 2 Cycles Branch operations, 1 input operands 31167c64d83SQiu Chaofandef : InstRW<[P10W_BR_2C, P10W_DISP_ANY, P10BR_Read], 31267c64d83SQiu Chaofan (instrs 31367c64d83SQiu Chaofan B, BCC, BCCA, BCCCTR, BCCCTR8, BCCCTRL, BCCCTRL8, BCCL, BCCLA, BCCLR, BCCLRL, CTRL_DEP, TAILB, TAILB8, 31467c64d83SQiu Chaofan BA, TAILBA, TAILBA8, 315a2b5117dSQiu Chaofan BCCTR, BCCTR8, BCCTR8n, BCCTRn, gBCCTR, 316a2b5117dSQiu Chaofan BCCTRL, BCCTRL8, BCCTRL8n, BCCTRLn, gBCCTRL, 317a2b5117dSQiu Chaofan BCLR, BCLRn, BDNZLR, BDNZLR8, BDNZLRm, BDNZLRp, BDZLR, BDZLR8, BDZLRm, BDZLRp, gBCLR, 318a2b5117dSQiu Chaofan BCLRL, BCLRLn, BDNZLRL, BDNZLRLm, BDNZLRLp, BDZLRL, BDZLRLm, BDZLRLp, gBCLRL, 319a2b5117dSQiu Chaofan 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, 3205840f719SNemanja Ivanovic BLA, BLA8, BLA8_NOP, BLA8_NOP_RM, BLA8_RM, BLA_RM 32167c64d83SQiu Chaofan)>; 32267c64d83SQiu Chaofan 323a2b5117dSQiu Chaofan// 2 Cycles Branch operations, 2 input operands 324a2b5117dSQiu Chaofandef : InstRW<[P10W_BR_2C, P10W_DISP_ANY, P10BR_Read, P10BR_Read], 32567c64d83SQiu Chaofan (instrs 326a2b5117dSQiu Chaofan 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, 32767c64d83SQiu Chaofan BDNZA, BDNZAm, BDNZAp, BDZA, BDZAm, BDZAp, gBCA, gBCAat, 328a2b5117dSQiu Chaofan BCL, BCLalways, BCLn, BDNZL, BDNZLm, BDNZLp, BDZL, BDZLm, BDZLp, gBCL, gBCLat, 32967c64d83SQiu Chaofan BDNZLA, BDNZLAm, BDNZLAp, BDZLA, BDZLAm, BDZLAp, gBCLA, gBCLAat 33067c64d83SQiu Chaofan)>; 33167c64d83SQiu Chaofan 33267c64d83SQiu Chaofan// 7 Cycles Crypto operations, 1 input operands 33367c64d83SQiu Chaofandef : InstRW<[P10W_CY_7C, P10W_DISP_ANY, P10CY_Read], 33467c64d83SQiu Chaofan (instrs 335a2b5117dSQiu Chaofan VGNB, 33667c64d83SQiu Chaofan VSBOX 33767c64d83SQiu Chaofan)>; 33867c64d83SQiu Chaofan 33967c64d83SQiu Chaofan// 7 Cycles Crypto operations, 2 input operands 34067c64d83SQiu Chaofandef : InstRW<[P10W_CY_7C, P10W_DISP_ANY, P10CY_Read, P10CY_Read], 34167c64d83SQiu Chaofan (instrs 34267c64d83SQiu Chaofan CFUGED, 34367c64d83SQiu Chaofan CNTLZDM, 34467c64d83SQiu Chaofan CNTTZDM, 34567c64d83SQiu Chaofan PDEPD, 34667c64d83SQiu Chaofan PEXTD, 34767c64d83SQiu Chaofan VCFUGED, 34867c64d83SQiu Chaofan VCIPHER, 34967c64d83SQiu Chaofan VCIPHERLAST, 35067c64d83SQiu Chaofan VCLZDM, 35167c64d83SQiu Chaofan VCTZDM, 35267c64d83SQiu Chaofan VNCIPHER, 35367c64d83SQiu Chaofan VNCIPHERLAST, 35467c64d83SQiu Chaofan VPDEPD, 35567c64d83SQiu Chaofan VPEXTD, 35667c64d83SQiu Chaofan VPMSUMB, 35767c64d83SQiu Chaofan VPMSUMD, 35867c64d83SQiu Chaofan VPMSUMH, 35967c64d83SQiu Chaofan VPMSUMW 36067c64d83SQiu Chaofan)>; 36167c64d83SQiu Chaofan 36267c64d83SQiu Chaofan// 13 Cycles Decimal Floating Point operations, 1 input operands 36367c64d83SQiu Chaofandef : InstRW<[P10W_DF_13C, P10W_DISP_ANY, P10DF_Read], 36467c64d83SQiu Chaofan (instrs 36567c64d83SQiu Chaofan XSCVDPQP, 36667c64d83SQiu Chaofan XSCVQPDP, 36767c64d83SQiu Chaofan XSCVQPDPO, 36867c64d83SQiu Chaofan XSCVQPSDZ, 36967c64d83SQiu Chaofan XSCVQPSQZ, 37067c64d83SQiu Chaofan XSCVQPSWZ, 37167c64d83SQiu Chaofan XSCVQPUDZ, 37267c64d83SQiu Chaofan XSCVQPUQZ, 37367c64d83SQiu Chaofan XSCVQPUWZ, 37467c64d83SQiu Chaofan XSCVSDQP, 37567c64d83SQiu Chaofan XSCVSQQP, 37667c64d83SQiu Chaofan XSCVUDQP, 377a2b5117dSQiu Chaofan XSCVUQQP, 378a2b5117dSQiu Chaofan XSRQPI, 379a2b5117dSQiu Chaofan XSRQPIX, 380a2b5117dSQiu Chaofan XSRQPXP 38167c64d83SQiu Chaofan)>; 38267c64d83SQiu Chaofan 38367c64d83SQiu Chaofan// 13 Cycles Decimal Floating Point operations, 2 input operands 38467c64d83SQiu Chaofandef : InstRW<[P10W_DF_13C, P10W_DISP_ANY, P10DF_Read, P10DF_Read], 38567c64d83SQiu Chaofan (instrs 386a2b5117dSQiu Chaofan BCDSR_rec, 38767c64d83SQiu Chaofan XSADDQP, 38867c64d83SQiu Chaofan XSADDQPO, 38967c64d83SQiu Chaofan XSSUBQP, 39067c64d83SQiu Chaofan XSSUBQPO 39167c64d83SQiu Chaofan)>; 39267c64d83SQiu Chaofan 39367c64d83SQiu Chaofan// 2-way crack instructions 394a2b5117dSQiu Chaofan// 13 Cycles Decimal Floating Point operations, and 3 Cycles Store operations, 1 input operands 39567c64d83SQiu Chaofandef : InstRW<[P10W_DF_13C, P10W_DISP_EVEN, P10W_ST_3C, P10W_DISP_ANY], 39667c64d83SQiu Chaofan (instrs 39704496201SStefan Pintilie HASHST, HASHST8, 39804496201SStefan Pintilie HASHSTP, HASHSTP8 39967c64d83SQiu Chaofan)>; 40067c64d83SQiu Chaofan 40167c64d83SQiu Chaofan// 24 Cycles Decimal Floating Point operations, 1 input operands 40267c64d83SQiu Chaofandef : InstRW<[P10W_DF_24C, P10W_DISP_ANY, P10DF_Read], 40367c64d83SQiu Chaofan (instrs 40467c64d83SQiu Chaofan BCDCTSQ_rec 40567c64d83SQiu Chaofan)>; 40667c64d83SQiu Chaofan 40767c64d83SQiu Chaofan// 25 Cycles Decimal Floating Point operations, 2 input operands 40867c64d83SQiu Chaofandef : InstRW<[P10W_DF_25C, P10W_DISP_ANY, P10DF_Read, P10DF_Read], 40967c64d83SQiu Chaofan (instrs 41067c64d83SQiu Chaofan XSMULQP, 41167c64d83SQiu Chaofan XSMULQPO 41267c64d83SQiu Chaofan)>; 41367c64d83SQiu Chaofan 41467c64d83SQiu Chaofan// 25 Cycles Decimal Floating Point operations, 3 input operands 41567c64d83SQiu Chaofandef : InstRW<[P10W_DF_25C, P10W_DISP_ANY, P10DF_Read, P10DF_Read, P10DF_Read], 41667c64d83SQiu Chaofan (instrs 41767c64d83SQiu Chaofan XSMADDQP, 41867c64d83SQiu Chaofan XSMADDQPO, 41967c64d83SQiu Chaofan XSMSUBQP, 42067c64d83SQiu Chaofan XSMSUBQPO, 42167c64d83SQiu Chaofan XSNMADDQP, 42267c64d83SQiu Chaofan XSNMADDQPO, 42367c64d83SQiu Chaofan XSNMSUBQP, 42467c64d83SQiu Chaofan XSNMSUBQPO 42567c64d83SQiu Chaofan)>; 42667c64d83SQiu Chaofan 427a2b5117dSQiu Chaofan// 38 Cycles Decimal Floating Point operations, 1 input operands 428a2b5117dSQiu Chaofandef : InstRW<[P10W_DF_38C, P10W_DISP_ANY, P10DF_Read], 42967c64d83SQiu Chaofan (instrs 43067c64d83SQiu Chaofan BCDCFSQ_rec 43167c64d83SQiu Chaofan)>; 43267c64d83SQiu Chaofan 43367c64d83SQiu Chaofan// 59 Cycles Decimal Floating Point operations, 2 input operands 43467c64d83SQiu Chaofandef : InstRW<[P10W_DF_59C, P10W_DISP_ANY, P10DF_Read, P10DF_Read], 43567c64d83SQiu Chaofan (instrs 43667c64d83SQiu Chaofan XSDIVQP, 43767c64d83SQiu Chaofan XSDIVQPO 43867c64d83SQiu Chaofan)>; 43967c64d83SQiu Chaofan 44067c64d83SQiu Chaofan// 61 Cycles Decimal Floating Point operations, 2 input operands 44167c64d83SQiu Chaofandef : InstRW<[P10W_DF_61C, P10W_DISP_ANY, P10DF_Read, P10DF_Read], 44267c64d83SQiu Chaofan (instrs 44367c64d83SQiu Chaofan VDIVESQ, 44467c64d83SQiu Chaofan VDIVEUQ, 44567c64d83SQiu Chaofan VDIVSQ, 44667c64d83SQiu Chaofan VDIVUQ 44767c64d83SQiu Chaofan)>; 44867c64d83SQiu Chaofan 44967c64d83SQiu Chaofan// 68 Cycles Decimal Floating Point operations, 2 input operands 45067c64d83SQiu Chaofandef : InstRW<[P10W_DF_68C, P10W_DISP_ANY, P10DF_Read, P10DF_Read], 45167c64d83SQiu Chaofan (instrs 45267c64d83SQiu Chaofan VMODSQ, 45367c64d83SQiu Chaofan VMODUQ 45467c64d83SQiu Chaofan)>; 45567c64d83SQiu Chaofan 45667c64d83SQiu Chaofan// 77 Cycles Decimal Floating Point operations, 1 input operands 45767c64d83SQiu Chaofandef : InstRW<[P10W_DF_77C, P10W_DISP_ANY, P10DF_Read], 45867c64d83SQiu Chaofan (instrs 45967c64d83SQiu Chaofan XSSQRTQP, 46067c64d83SQiu Chaofan XSSQRTQPO 46167c64d83SQiu Chaofan)>; 46267c64d83SQiu Chaofan 46367c64d83SQiu Chaofan// 20 Cycles Scalar Fixed-Point Divide operations, 2 input operands 46467c64d83SQiu Chaofandef : InstRW<[P10W_DV_20C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 46567c64d83SQiu Chaofan (instrs 46667c64d83SQiu Chaofan DIVW, 46767c64d83SQiu Chaofan DIVWO, 46867c64d83SQiu Chaofan DIVWU, 46967c64d83SQiu Chaofan DIVWUO, 47067c64d83SQiu Chaofan MODSW 47167c64d83SQiu Chaofan)>; 47267c64d83SQiu Chaofan 47367c64d83SQiu Chaofan// 2-way crack instructions 47467c64d83SQiu Chaofan// 20 Cycles Scalar Fixed-Point Divide operations, and 3 Cycles ALU operations, 2 input operands 47567c64d83SQiu Chaofandef : InstRW<[P10W_DV_20C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 47667c64d83SQiu Chaofan (instrs 47767c64d83SQiu Chaofan DIVW_rec, 47867c64d83SQiu Chaofan DIVWO_rec, 47967c64d83SQiu Chaofan DIVWU_rec, 48067c64d83SQiu Chaofan DIVWUO_rec 48167c64d83SQiu Chaofan)>; 48267c64d83SQiu Chaofan 48367c64d83SQiu Chaofan// 25 Cycles Scalar Fixed-Point Divide operations, 2 input operands 48467c64d83SQiu Chaofandef : InstRW<[P10W_DV_25C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 48567c64d83SQiu Chaofan (instrs 48667c64d83SQiu Chaofan DIVD, 48767c64d83SQiu Chaofan DIVDO, 48867c64d83SQiu Chaofan DIVDU, 48967c64d83SQiu Chaofan DIVDUO, 49067c64d83SQiu Chaofan DIVWE, 49167c64d83SQiu Chaofan DIVWEO, 49267c64d83SQiu Chaofan DIVWEU, 49367c64d83SQiu Chaofan DIVWEUO 49467c64d83SQiu Chaofan)>; 49567c64d83SQiu Chaofan 49667c64d83SQiu Chaofan// 2-way crack instructions 49767c64d83SQiu Chaofan// 25 Cycles Scalar Fixed-Point Divide operations, and 3 Cycles ALU operations, 2 input operands 49867c64d83SQiu Chaofandef : InstRW<[P10W_DV_25C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 49967c64d83SQiu Chaofan (instrs 50067c64d83SQiu Chaofan DIVD_rec, 50167c64d83SQiu Chaofan DIVDO_rec, 50267c64d83SQiu Chaofan DIVDU_rec, 50367c64d83SQiu Chaofan DIVDUO_rec, 50467c64d83SQiu Chaofan DIVWE_rec, 50567c64d83SQiu Chaofan DIVWEO_rec, 50667c64d83SQiu Chaofan DIVWEU_rec, 50767c64d83SQiu Chaofan DIVWEUO_rec 50867c64d83SQiu Chaofan)>; 50967c64d83SQiu Chaofan 51067c64d83SQiu Chaofan// 27 Cycles Scalar Fixed-Point Divide operations, 2 input operands 51167c64d83SQiu Chaofandef : InstRW<[P10W_DV_27C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 51267c64d83SQiu Chaofan (instrs 51367c64d83SQiu Chaofan MODSD, 51467c64d83SQiu Chaofan MODUD, 51567c64d83SQiu Chaofan MODUW 51667c64d83SQiu Chaofan)>; 51767c64d83SQiu Chaofan 51867c64d83SQiu Chaofan// 41 Cycles Scalar Fixed-Point Divide operations, 2 input operands 51967c64d83SQiu Chaofandef : InstRW<[P10W_DV_41C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 52067c64d83SQiu Chaofan (instrs 52167c64d83SQiu Chaofan DIVDE, 52267c64d83SQiu Chaofan DIVDEO, 52367c64d83SQiu Chaofan DIVDEU, 52467c64d83SQiu Chaofan DIVDEUO 52567c64d83SQiu Chaofan)>; 52667c64d83SQiu Chaofan 52767c64d83SQiu Chaofan// 2-way crack instructions 52867c64d83SQiu Chaofan// 41 Cycles Scalar Fixed-Point Divide operations, and 3 Cycles ALU operations, 2 input operands 52967c64d83SQiu Chaofandef : InstRW<[P10W_DV_41C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 53067c64d83SQiu Chaofan (instrs 53167c64d83SQiu Chaofan DIVDE_rec, 53267c64d83SQiu Chaofan DIVDEO_rec, 53367c64d83SQiu Chaofan DIVDEU_rec, 53467c64d83SQiu Chaofan DIVDEUO_rec 53567c64d83SQiu Chaofan)>; 53667c64d83SQiu Chaofan 53767c64d83SQiu Chaofan// 43 Cycles Scalar Fixed-Point Divide operations, 2 input operands 53867c64d83SQiu Chaofandef : InstRW<[P10W_DV_43C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 53967c64d83SQiu Chaofan (instrs 54067c64d83SQiu Chaofan VDIVSD, 54167c64d83SQiu Chaofan VDIVUD 54267c64d83SQiu Chaofan)>; 54367c64d83SQiu Chaofan 54467c64d83SQiu Chaofan// 47 Cycles Scalar Fixed-Point Divide operations, 2 input operands 54567c64d83SQiu Chaofandef : InstRW<[P10W_DV_47C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 54667c64d83SQiu Chaofan (instrs 54767c64d83SQiu Chaofan VMODSD, 54867c64d83SQiu Chaofan VMODUD 54967c64d83SQiu Chaofan)>; 55067c64d83SQiu Chaofan 55167c64d83SQiu Chaofan// 54 Cycles Scalar Fixed-Point Divide operations, 2 input operands 55267c64d83SQiu Chaofandef : InstRW<[P10W_DV_54C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 55367c64d83SQiu Chaofan (instrs 55467c64d83SQiu Chaofan VDIVSW, 55567c64d83SQiu Chaofan VDIVUW 55667c64d83SQiu Chaofan)>; 55767c64d83SQiu Chaofan 55867c64d83SQiu Chaofan// 60 Cycles Scalar Fixed-Point Divide operations, 2 input operands 55967c64d83SQiu Chaofandef : InstRW<[P10W_DV_60C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 56067c64d83SQiu Chaofan (instrs 56167c64d83SQiu Chaofan VMODSW, 56267c64d83SQiu Chaofan VMODUW 56367c64d83SQiu Chaofan)>; 56467c64d83SQiu Chaofan 56567c64d83SQiu Chaofan// 75 Cycles Scalar Fixed-Point Divide operations, 2 input operands 56667c64d83SQiu Chaofandef : InstRW<[P10W_DV_75C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 56767c64d83SQiu Chaofan (instrs 56867c64d83SQiu Chaofan VDIVESD, 56967c64d83SQiu Chaofan VDIVEUD 57067c64d83SQiu Chaofan)>; 57167c64d83SQiu Chaofan 57267c64d83SQiu Chaofan// 83 Cycles Scalar Fixed-Point Divide operations, 2 input operands 57367c64d83SQiu Chaofandef : InstRW<[P10W_DV_83C, P10W_DISP_ANY, P10DV_Read, P10DV_Read], 57467c64d83SQiu Chaofan (instrs 57567c64d83SQiu Chaofan VDIVESW, 57667c64d83SQiu Chaofan VDIVEUW 57767c64d83SQiu Chaofan)>; 57867c64d83SQiu Chaofan 57967c64d83SQiu Chaofan// 5 Cycles Fixed-Point and BCD operations, 1 input operands 58067c64d83SQiu Chaofandef : InstRW<[P10W_DX_5C, P10W_DISP_ANY, P10DX_Read], 58167c64d83SQiu Chaofan (instrs 582a2b5117dSQiu Chaofan BCDCFN_rec, 583a2b5117dSQiu Chaofan BCDCFZ_rec, 58467c64d83SQiu Chaofan BCDCTN_rec, 585a2b5117dSQiu Chaofan BCDCTZ_rec, 586a2b5117dSQiu Chaofan BCDSETSGN_rec, 58767c64d83SQiu Chaofan VMUL10CUQ, 58867c64d83SQiu Chaofan VMUL10UQ, 589a2b5117dSQiu Chaofan XSTSTDCQP, 590a2b5117dSQiu Chaofan XSXSIGQP, 591a2b5117dSQiu Chaofan XXGENPCVBM 59267c64d83SQiu Chaofan)>; 59367c64d83SQiu Chaofan 59467c64d83SQiu Chaofan// 5 Cycles Fixed-Point and BCD operations, 2 input operands 59567c64d83SQiu Chaofandef : InstRW<[P10W_DX_5C, P10W_DISP_ANY, P10DX_Read, P10DX_Read], 59667c64d83SQiu Chaofan (instrs 597a2b5117dSQiu Chaofan BCDADD_rec, 59867c64d83SQiu Chaofan BCDCPSGN_rec, 599a2b5117dSQiu Chaofan BCDS_rec, 600a2b5117dSQiu Chaofan BCDSUB_rec, 601a2b5117dSQiu Chaofan BCDTRUNC_rec, 60267c64d83SQiu Chaofan BCDUS_rec, 60367c64d83SQiu Chaofan BCDUTRUNC_rec, 60467c64d83SQiu Chaofan VADDCUQ, 60567c64d83SQiu Chaofan VADDUQM, 60667c64d83SQiu Chaofan VMUL10ECUQ, 60767c64d83SQiu Chaofan VMUL10EUQ, 60867c64d83SQiu Chaofan VSUBCUQ, 60967c64d83SQiu Chaofan VSUBUQM, 610c19f905fSMaryam Moghadas XSCMPEQQP, 61167c64d83SQiu Chaofan XSCMPEXPQP, 612c19f905fSMaryam Moghadas XSCMPGEQP, 613c19f905fSMaryam Moghadas XSCMPGTQP, 61467c64d83SQiu Chaofan XSCMPOQP, 61567c64d83SQiu Chaofan XSCMPUQP, 6166f25cb86STing Wang XSMAXCQP, 617a2b5117dSQiu Chaofan XSMINCQP 61867c64d83SQiu Chaofan)>; 61967c64d83SQiu Chaofan 62067c64d83SQiu Chaofan// 5 Cycles Fixed-Point and BCD operations, 3 input operands 62167c64d83SQiu Chaofandef : InstRW<[P10W_DX_5C, P10W_DISP_ANY, P10DX_Read, P10DX_Read, P10DX_Read], 62267c64d83SQiu Chaofan (instrs 62367c64d83SQiu Chaofan VADDECUQ, 62467c64d83SQiu Chaofan VADDEUQM, 62567c64d83SQiu Chaofan VSUBECUQ, 62667c64d83SQiu Chaofan VSUBEUQM 62767c64d83SQiu Chaofan)>; 62867c64d83SQiu Chaofan 62967c64d83SQiu Chaofan// 4 Cycles ALU2 operations, 0 input operands 63067c64d83SQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_ANY], 63167c64d83SQiu Chaofan (instrs 632a2b5117dSQiu Chaofan MTVSRBMI 63367c64d83SQiu Chaofan)>; 63467c64d83SQiu Chaofan 63567c64d83SQiu Chaofan// 4 Cycles ALU2 operations, 1 input operands 63667c64d83SQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_ANY, P10F2_Read], 63767c64d83SQiu Chaofan (instrs 638b4747390SStefan Pintilie CBCDTD, CBCDTD8, 639b4747390SStefan Pintilie CDTBCD, CDTBCD8, 64067c64d83SQiu Chaofan CNTLZD, 64167c64d83SQiu Chaofan CNTLZD_rec, 64267c64d83SQiu Chaofan CNTLZW, CNTLZW8, 64367c64d83SQiu Chaofan CNTLZW8_rec, CNTLZW_rec, 64467c64d83SQiu Chaofan CNTTZD, 64567c64d83SQiu Chaofan CNTTZD_rec, 64667c64d83SQiu Chaofan CNTTZW, CNTTZW8, 64767c64d83SQiu Chaofan CNTTZW8_rec, CNTTZW_rec, 648a2b5117dSQiu Chaofan EXTSWSLI_32_64_rec, EXTSWSLI_rec, 64967c64d83SQiu Chaofan FTSQRT, 65067c64d83SQiu Chaofan MTVSRBM, 65167c64d83SQiu Chaofan MTVSRDM, 65267c64d83SQiu Chaofan MTVSRHM, 65367c64d83SQiu Chaofan MTVSRQM, 65467c64d83SQiu Chaofan MTVSRWM, 65567c64d83SQiu Chaofan POPCNTB, POPCNTB8, 65667c64d83SQiu Chaofan POPCNTD, 65767c64d83SQiu Chaofan POPCNTW, 658a2b5117dSQiu Chaofan RLDIC_rec, 659a2b5117dSQiu Chaofan RLDICL_32_rec, RLDICL_rec, 660a2b5117dSQiu Chaofan RLDICR_rec, 661a2b5117dSQiu Chaofan RLWINM8_rec, RLWINM_rec, 66267c64d83SQiu Chaofan VCLZB, 66367c64d83SQiu Chaofan VCLZD, 66467c64d83SQiu Chaofan VCLZH, 66567c64d83SQiu Chaofan VCLZW, 666a2b5117dSQiu Chaofan VCNTMBB, 667a2b5117dSQiu Chaofan VCNTMBD, 668a2b5117dSQiu Chaofan VCNTMBH, 669a2b5117dSQiu Chaofan VCNTMBW, 67067c64d83SQiu Chaofan VCTZB, 67167c64d83SQiu Chaofan VCTZD, 67267c64d83SQiu Chaofan VCTZH, 67367c64d83SQiu Chaofan VCTZW, 67467c64d83SQiu Chaofan VEXPANDBM, 67567c64d83SQiu Chaofan VEXPANDDM, 67667c64d83SQiu Chaofan VEXPANDHM, 67767c64d83SQiu Chaofan VEXPANDQM, 67867c64d83SQiu Chaofan VEXPANDWM, 67967c64d83SQiu Chaofan VEXTRACTBM, 68067c64d83SQiu Chaofan VEXTRACTDM, 68167c64d83SQiu Chaofan VEXTRACTHM, 68267c64d83SQiu Chaofan VEXTRACTQM, 68367c64d83SQiu Chaofan VEXTRACTWM, 68467c64d83SQiu Chaofan VPOPCNTB, 68567c64d83SQiu Chaofan VPOPCNTD, 68667c64d83SQiu Chaofan VPOPCNTH, 68767c64d83SQiu Chaofan VPOPCNTW, 68867c64d83SQiu Chaofan VPRTYBD, 68967c64d83SQiu Chaofan VPRTYBW, 690a2b5117dSQiu Chaofan VSHASIGMAD, 691a2b5117dSQiu Chaofan VSHASIGMAW, 69267c64d83SQiu Chaofan XSCVHPDP, 69367c64d83SQiu Chaofan XSCVSPDPN, 69467c64d83SQiu Chaofan XSTSQRTDP, 695a2b5117dSQiu Chaofan XSTSTDCDP, 696a2b5117dSQiu Chaofan XSTSTDCSP, 69767c64d83SQiu Chaofan XVCVHPSP, 69867c64d83SQiu Chaofan XVTLSBB, 69967c64d83SQiu Chaofan XVTSQRTDP, 700a2b5117dSQiu Chaofan XVTSQRTSP, 701a2b5117dSQiu Chaofan XVTSTDCDP, 702a2b5117dSQiu Chaofan XVTSTDCSP 70367c64d83SQiu Chaofan)>; 70467c64d83SQiu Chaofan 70567c64d83SQiu Chaofan// 4 Cycles ALU2 operations, 2 input operands 70667c64d83SQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_ANY, P10F2_Read, P10F2_Read], 70767c64d83SQiu Chaofan (instrs 70867c64d83SQiu Chaofan CMPEQB, 709a2b5117dSQiu Chaofan CMPRB, CMPRB8, 71067c64d83SQiu Chaofan FCMPOD, FCMPOS, 71167c64d83SQiu Chaofan FCMPUD, FCMPUS, 71267c64d83SQiu Chaofan FTDIV, 713a2b5117dSQiu Chaofan RLDCL_rec, 714a2b5117dSQiu Chaofan RLDCR_rec, 715a2b5117dSQiu Chaofan RLDIMI_rec, 716a2b5117dSQiu Chaofan RLWIMI8_rec, RLWIMI_rec, 717a2b5117dSQiu Chaofan RLWNM8_rec, RLWNM_rec, 71867c64d83SQiu Chaofan SLD_rec, 71967c64d83SQiu Chaofan SLW8_rec, SLW_rec, 72067c64d83SQiu Chaofan SRD_rec, 72167c64d83SQiu Chaofan SRW8_rec, SRW_rec, 722a2b5117dSQiu Chaofan TDI, 723a2b5117dSQiu Chaofan TWI, 72467c64d83SQiu Chaofan VABSDUB, 72567c64d83SQiu Chaofan VABSDUH, 72667c64d83SQiu Chaofan VABSDUW, 72767c64d83SQiu Chaofan VADDCUW, 72867c64d83SQiu Chaofan VADDSBS, 72967c64d83SQiu Chaofan VADDSHS, 73067c64d83SQiu Chaofan VADDSWS, 73167c64d83SQiu Chaofan VADDUBS, 73267c64d83SQiu Chaofan VADDUHS, 73367c64d83SQiu Chaofan VADDUWS, 73467c64d83SQiu Chaofan VAVGSB, 73567c64d83SQiu Chaofan VAVGSH, 73667c64d83SQiu Chaofan VAVGSW, 73767c64d83SQiu Chaofan VAVGUB, 73867c64d83SQiu Chaofan VAVGUH, 73967c64d83SQiu Chaofan VAVGUW, 74067c64d83SQiu Chaofan VCMPBFP, 74167c64d83SQiu Chaofan VCMPBFP_rec, 74267c64d83SQiu Chaofan VCMPEQFP, 74367c64d83SQiu Chaofan VCMPEQFP_rec, 74467c64d83SQiu Chaofan VCMPEQUB_rec, 74567c64d83SQiu Chaofan VCMPEQUD_rec, 74667c64d83SQiu Chaofan VCMPEQUH_rec, 74767c64d83SQiu Chaofan VCMPEQUQ, 74867c64d83SQiu Chaofan VCMPEQUQ_rec, 74967c64d83SQiu Chaofan VCMPEQUW_rec, 75067c64d83SQiu Chaofan VCMPGEFP, 75167c64d83SQiu Chaofan VCMPGEFP_rec, 75267c64d83SQiu Chaofan VCMPGTFP, 75367c64d83SQiu Chaofan VCMPGTFP_rec, 75467c64d83SQiu Chaofan VCMPGTSB_rec, 75567c64d83SQiu Chaofan VCMPGTSD_rec, 75667c64d83SQiu Chaofan VCMPGTSH_rec, 75767c64d83SQiu Chaofan VCMPGTSQ, 75867c64d83SQiu Chaofan VCMPGTSQ_rec, 75967c64d83SQiu Chaofan VCMPGTSW_rec, 76067c64d83SQiu Chaofan VCMPGTUB_rec, 76167c64d83SQiu Chaofan VCMPGTUD_rec, 76267c64d83SQiu Chaofan VCMPGTUH_rec, 76367c64d83SQiu Chaofan VCMPGTUQ, 76467c64d83SQiu Chaofan VCMPGTUQ_rec, 76567c64d83SQiu Chaofan VCMPGTUW_rec, 76667c64d83SQiu Chaofan VCMPNEB_rec, 76767c64d83SQiu Chaofan VCMPNEH_rec, 76867c64d83SQiu Chaofan VCMPNEW_rec, 76967c64d83SQiu Chaofan VCMPNEZB_rec, 77067c64d83SQiu Chaofan VCMPNEZH_rec, 77167c64d83SQiu Chaofan VCMPNEZW_rec, 77267c64d83SQiu Chaofan VCMPSQ, 77367c64d83SQiu Chaofan VCMPUQ, 77467c64d83SQiu Chaofan VMAXFP, 77567c64d83SQiu Chaofan VMINFP, 77667c64d83SQiu Chaofan VSUBCUW, 77767c64d83SQiu Chaofan VSUBSBS, 77867c64d83SQiu Chaofan VSUBSHS, 77967c64d83SQiu Chaofan VSUBSWS, 78067c64d83SQiu Chaofan VSUBUBS, 78167c64d83SQiu Chaofan VSUBUHS, 78267c64d83SQiu Chaofan VSUBUWS, 78367c64d83SQiu Chaofan XSCMPEQDP, 78467c64d83SQiu Chaofan XSCMPEXPDP, 78567c64d83SQiu Chaofan XSCMPGEDP, 78667c64d83SQiu Chaofan XSCMPGTDP, 78767c64d83SQiu Chaofan XSCMPODP, 78867c64d83SQiu Chaofan XSCMPUDP, 78967c64d83SQiu Chaofan XSMAXCDP, 79067c64d83SQiu Chaofan XSMAXDP, 79167c64d83SQiu Chaofan XSMAXJDP, 79267c64d83SQiu Chaofan XSMINCDP, 79367c64d83SQiu Chaofan XSMINDP, 79467c64d83SQiu Chaofan XSMINJDP, 79567c64d83SQiu Chaofan XSTDIVDP, 79667c64d83SQiu Chaofan XVCMPEQDP, 79767c64d83SQiu Chaofan XVCMPEQDP_rec, 79867c64d83SQiu Chaofan XVCMPEQSP, 79967c64d83SQiu Chaofan XVCMPEQSP_rec, 80067c64d83SQiu Chaofan XVCMPGEDP, 80167c64d83SQiu Chaofan XVCMPGEDP_rec, 80267c64d83SQiu Chaofan XVCMPGESP, 80367c64d83SQiu Chaofan XVCMPGESP_rec, 80467c64d83SQiu Chaofan XVCMPGTDP, 80567c64d83SQiu Chaofan XVCMPGTDP_rec, 80667c64d83SQiu Chaofan XVCMPGTSP, 80767c64d83SQiu Chaofan XVCMPGTSP_rec, 80867c64d83SQiu Chaofan XVMAXDP, 80967c64d83SQiu Chaofan XVMAXSP, 81067c64d83SQiu Chaofan XVMINDP, 81167c64d83SQiu Chaofan XVMINSP, 81267c64d83SQiu Chaofan XVTDIVDP, 813a2b5117dSQiu Chaofan XVTDIVSP 81467c64d83SQiu Chaofan)>; 81567c64d83SQiu Chaofan 81667c64d83SQiu Chaofan// 4 Cycles ALU2 operations, 3 input operands 81767c64d83SQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_ANY, P10F2_Read, P10F2_Read, P10F2_Read], 81867c64d83SQiu Chaofan (instrs 81967c64d83SQiu Chaofan TD, 820a2b5117dSQiu Chaofan TRAP, TW 82167c64d83SQiu Chaofan)>; 82267c64d83SQiu Chaofan 823a2b5117dSQiu Chaofan// Single crack instructions 824a2b5117dSQiu Chaofan// 4 Cycles ALU2 operations, 1 input operands 825a2b5117dSQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_DISP_ANY, P10F2_Read], 82667c64d83SQiu Chaofan (instrs 827a2b5117dSQiu Chaofan SRADI_rec, 828*674574d2Szhijian lin SRAWI_rec, 829*674574d2Szhijian lin SRAWI8_rec 83067c64d83SQiu Chaofan)>; 83167c64d83SQiu Chaofan 83267c64d83SQiu Chaofan// Single crack instructions 83367c64d83SQiu Chaofan// 4 Cycles ALU2 operations, 2 input operands 83467c64d83SQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_DISP_ANY, P10F2_Read, P10F2_Read], 83567c64d83SQiu Chaofan (instrs 83667c64d83SQiu Chaofan SRAD_rec, 837*674574d2Szhijian lin SRAW_rec, 838*674574d2Szhijian lin SRAW8_rec 83967c64d83SQiu Chaofan)>; 84067c64d83SQiu Chaofan 84167c64d83SQiu Chaofan// 2-way crack instructions 84267c64d83SQiu Chaofan// 4 Cycles ALU2 operations, and 4 Cycles Permute operations, 2 input operands 84367c64d83SQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_PM_4C, P10W_DISP_ANY], 84467c64d83SQiu Chaofan (instrs 84567c64d83SQiu Chaofan VRLQ, 84667c64d83SQiu Chaofan VRLQNM, 84767c64d83SQiu Chaofan VSLQ, 84867c64d83SQiu Chaofan VSRAQ, 84967c64d83SQiu Chaofan VSRQ 85067c64d83SQiu Chaofan)>; 85167c64d83SQiu Chaofan 85267c64d83SQiu Chaofan// 2-way crack instructions 85367c64d83SQiu Chaofan// 4 Cycles ALU2 operations, and 4 Cycles Permute operations, 3 input operands 85467c64d83SQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_EVEN, P10W_PM_4C, P10W_DISP_ANY], 85567c64d83SQiu Chaofan (instrs 85667c64d83SQiu Chaofan VRLQMI 85767c64d83SQiu Chaofan)>; 85867c64d83SQiu Chaofan 85967c64d83SQiu Chaofan// 2-way crack instructions 86067c64d83SQiu Chaofan// 4 Cycles ALU2 operations, and 4 Cycles ALU2 operations, 0 input operands 86167c64d83SQiu Chaofandef : InstRW<[P10W_F2_4C, P10W_DISP_PAIR, P10W_F2_4C], 86267c64d83SQiu Chaofan (instrs 86367c64d83SQiu Chaofan MFCR, MFCR8 86467c64d83SQiu Chaofan)>; 86567c64d83SQiu Chaofan 86667c64d83SQiu Chaofan// 2 Cycles ALU operations, 1 input operands 86767c64d83SQiu Chaofandef : InstRW<[P10W_FX_2C, P10W_DISP_ANY, P10FX_Read], 86867c64d83SQiu Chaofan (instrs 86967c64d83SQiu Chaofan MTCTR, MTCTR8, MTCTR8loop, MTCTRloop, 87067c64d83SQiu Chaofan MTLR, MTLR8 87167c64d83SQiu Chaofan)>; 87267c64d83SQiu Chaofan 87367c64d83SQiu Chaofan// 3 Cycles ALU operations, 0 input operands 87467c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_ANY], 87567c64d83SQiu Chaofan (instrs 87667c64d83SQiu Chaofan DSS, DSSALL, 87767c64d83SQiu Chaofan MCRXRX, 87867c64d83SQiu Chaofan MFCTR, MFCTR8, 87967c64d83SQiu Chaofan MFLR, MFLR8, 880ea8b95d0SStefan Pintilie WAIT, WAITP10 88167c64d83SQiu Chaofan)>; 88267c64d83SQiu Chaofan 88367c64d83SQiu Chaofan// 3 Cycles ALU operations, 1 input operands 88467c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_ANY, P10FX_Read], 88567c64d83SQiu Chaofan (instrs 88676ad2897SZaara Syeda ADDI, ADDI8, ADDIdtprelL32, ADDItlsldLADDR32, ADDItocL, ADDItocL8, LI, LI8, 887a2b5117dSQiu Chaofan ADDIC, ADDIC8, 88867c64d83SQiu Chaofan ADDIS, ADDIS8, ADDISdtprelHA32, ADDIStocHA, ADDIStocHA8, LIS, LIS8, 88967c64d83SQiu Chaofan ADDME, ADDME8, 89067c64d83SQiu Chaofan ADDME8O, ADDMEO, 89167c64d83SQiu Chaofan ADDZE, ADDZE8, 89267c64d83SQiu Chaofan ADDZE8O, ADDZEO, 893a2b5117dSQiu Chaofan ANDI8_rec, ANDI_rec, 894a2b5117dSQiu Chaofan ANDIS8_rec, ANDIS_rec, 895a2b5117dSQiu Chaofan CMPDI, CMPWI, 896a2b5117dSQiu Chaofan CMPLDI, CMPLWI, 89767c64d83SQiu Chaofan EXTSB, EXTSB8, EXTSB8_32_64, 89867c64d83SQiu Chaofan EXTSB8_rec, EXTSB_rec, 89967c64d83SQiu Chaofan EXTSH, EXTSH8, EXTSH8_32_64, 90067c64d83SQiu Chaofan EXTSH8_rec, EXTSH_rec, 90167c64d83SQiu Chaofan EXTSW, EXTSW_32, EXTSW_32_64, 90267c64d83SQiu Chaofan EXTSW_32_64_rec, EXTSW_rec, 903a2b5117dSQiu Chaofan EXTSWSLI, EXTSWSLI_32_64, 90467c64d83SQiu Chaofan FABSD, FABSS, 90567c64d83SQiu Chaofan FMR, 90667c64d83SQiu Chaofan FNABSD, FNABSS, 90767c64d83SQiu Chaofan FNEGD, FNEGS, 90867c64d83SQiu Chaofan MCRF, 90967c64d83SQiu Chaofan MFOCRF, MFOCRF8, 91067c64d83SQiu Chaofan MFVRD, MFVSRD, 91167c64d83SQiu Chaofan MFVRWZ, MFVSRWZ, 91267c64d83SQiu Chaofan MTOCRF, MTOCRF8, 91367c64d83SQiu Chaofan MTVRD, MTVSRD, 91467c64d83SQiu Chaofan MTVRWA, MTVSRWA, 91567c64d83SQiu Chaofan MTVRWZ, MTVSRWZ, 91667c64d83SQiu Chaofan NEG, NEG8, 91767c64d83SQiu Chaofan NEG8_rec, NEG_rec, 91867c64d83SQiu Chaofan NEG8O, NEGO, 919a2b5117dSQiu Chaofan NOP, NOP_GT_PWR6, NOP_GT_PWR7, ORI, ORI8, 920a2b5117dSQiu Chaofan ORIS, ORIS8, 921a2b5117dSQiu Chaofan RLDIC, 922a2b5117dSQiu Chaofan RLDICL, RLDICL_32, RLDICL_32_64, 923a2b5117dSQiu Chaofan RLDICR, RLDICR_32, 924a2b5117dSQiu Chaofan RLWINM, RLWINM8, 92567c64d83SQiu Chaofan SETB, SETB8, 92667c64d83SQiu Chaofan SETBC, SETBC8, 92767c64d83SQiu Chaofan SETBCR, SETBCR8, 92867c64d83SQiu Chaofan SETNBC, SETNBC8, 92967c64d83SQiu Chaofan SETNBCR, SETNBCR8, 930a2b5117dSQiu Chaofan SRADI, SRADI_32, 931*674574d2Szhijian lin SRAWI, SRAWI8, 932a2b5117dSQiu Chaofan SUBFIC, SUBFIC8, 93367c64d83SQiu Chaofan SUBFME, SUBFME8, 93467c64d83SQiu Chaofan SUBFME8O, SUBFMEO, 93567c64d83SQiu Chaofan SUBFZE, SUBFZE8, 93667c64d83SQiu Chaofan SUBFZE8O, SUBFZEO, 93767c64d83SQiu Chaofan VEXTSB2D, VEXTSB2Ds, 93867c64d83SQiu Chaofan VEXTSB2W, VEXTSB2Ws, 93967c64d83SQiu Chaofan VEXTSD2Q, 94067c64d83SQiu Chaofan VEXTSH2D, VEXTSH2Ds, 94167c64d83SQiu Chaofan VEXTSH2W, VEXTSH2Ws, 94267c64d83SQiu Chaofan VEXTSW2D, VEXTSW2Ds, 94367c64d83SQiu Chaofan VNEGD, 94467c64d83SQiu Chaofan VNEGW, 945a2b5117dSQiu Chaofan XORI, XORI8, 946a2b5117dSQiu Chaofan XORIS, XORIS8, 94767c64d83SQiu Chaofan XSABSDP, 94867c64d83SQiu Chaofan XSABSQP, 949c35ca3a1SAmy Kwan XSNABSDP, XSNABSDPs, 95067c64d83SQiu Chaofan XSNABSQP, 95167c64d83SQiu Chaofan XSNEGDP, 95267c64d83SQiu Chaofan XSNEGQP, 95367c64d83SQiu Chaofan XSXEXPDP, 95467c64d83SQiu Chaofan XSXEXPQP, 95567c64d83SQiu Chaofan XSXSIGDP, 95667c64d83SQiu Chaofan XVABSDP, 95767c64d83SQiu Chaofan XVABSSP, 95867c64d83SQiu Chaofan XVNABSDP, 95967c64d83SQiu Chaofan XVNABSSP, 96067c64d83SQiu Chaofan XVNEGDP, 96167c64d83SQiu Chaofan XVNEGSP, 96267c64d83SQiu Chaofan XVXEXPDP, 96367c64d83SQiu Chaofan XVXEXPSP, 96467c64d83SQiu Chaofan XVXSIGDP, 96567c64d83SQiu Chaofan XVXSIGSP 96667c64d83SQiu Chaofan)>; 96767c64d83SQiu Chaofan 96867c64d83SQiu Chaofan// 3 Cycles ALU operations, 2 input operands 96967c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_ANY, P10FX_Read, P10FX_Read], 97067c64d83SQiu Chaofan (instrs 97167c64d83SQiu Chaofan ADD4, ADD4TLS, ADD8, ADD8TLS, ADD8TLS_, 97267c64d83SQiu Chaofan ADD4_rec, ADD8_rec, 97367c64d83SQiu Chaofan ADDE, ADDE8, 97467c64d83SQiu Chaofan ADDE8O, ADDEO, 975a2b5117dSQiu Chaofan ADDEX, ADDEX8, 97667c64d83SQiu Chaofan ADD4O, ADD8O, 97767c64d83SQiu Chaofan AND, AND8, 97867c64d83SQiu Chaofan AND8_rec, AND_rec, 97967c64d83SQiu Chaofan ANDC, ANDC8, 98067c64d83SQiu Chaofan ANDC8_rec, ANDC_rec, 98167c64d83SQiu Chaofan CMPD, CMPW, 98267c64d83SQiu Chaofan CMPB, CMPB8, 98367c64d83SQiu Chaofan CMPLD, CMPLW, 98467c64d83SQiu Chaofan CRAND, 98567c64d83SQiu Chaofan CRANDC, 986a2b5117dSQiu Chaofan CR6SET, CREQV, CRSET, 98767c64d83SQiu Chaofan CRNAND, 98867c64d83SQiu Chaofan CRNOR, 98967c64d83SQiu Chaofan CROR, 99067c64d83SQiu Chaofan CRORC, 99167c64d83SQiu Chaofan CR6UNSET, CRUNSET, CRXOR, 992a2b5117dSQiu Chaofan DST, DST64, DSTT, DSTT64, 993a2b5117dSQiu Chaofan DSTST, DSTST64, DSTSTT, DSTSTT64, 99467c64d83SQiu Chaofan EQV, EQV8, 99567c64d83SQiu Chaofan EQV8_rec, EQV_rec, 99667c64d83SQiu Chaofan FCPSGND, FCPSGNS, 99767c64d83SQiu Chaofan NAND, NAND8, 99867c64d83SQiu Chaofan NAND8_rec, NAND_rec, 99967c64d83SQiu Chaofan NOR, NOR8, 100067c64d83SQiu Chaofan NOR8_rec, NOR_rec, 100167c64d83SQiu Chaofan COPY, OR, OR8, 100267c64d83SQiu Chaofan OR8_rec, OR_rec, 100367c64d83SQiu Chaofan ORC, ORC8, 100467c64d83SQiu Chaofan ORC8_rec, ORC_rec, 1005a2b5117dSQiu Chaofan RLDCL, 1006a2b5117dSQiu Chaofan RLDCR, 1007a2b5117dSQiu Chaofan RLDIMI, 1008a2b5117dSQiu Chaofan RLWIMI, RLWIMI8, 1009a2b5117dSQiu Chaofan RLWNM, RLWNM8, 101067c64d83SQiu Chaofan SLD, 101167c64d83SQiu Chaofan SLW, SLW8, 101267c64d83SQiu Chaofan SRAD, 1013*674574d2Szhijian lin SRAW, SRAW8, 101467c64d83SQiu Chaofan SRD, 101567c64d83SQiu Chaofan SRW, SRW8, 101667c64d83SQiu Chaofan SUBF, SUBF8, 101767c64d83SQiu Chaofan SUBF8_rec, SUBF_rec, 101867c64d83SQiu Chaofan SUBFE, SUBFE8, 101967c64d83SQiu Chaofan SUBFE8O, SUBFEO, 102067c64d83SQiu Chaofan SUBF8O, SUBFO, 102167c64d83SQiu Chaofan VADDUBM, 102267c64d83SQiu Chaofan VADDUDM, 102367c64d83SQiu Chaofan VADDUHM, 102467c64d83SQiu Chaofan VADDUWM, 102567c64d83SQiu Chaofan VAND, 102667c64d83SQiu Chaofan VANDC, 102767c64d83SQiu Chaofan VCMPEQUB, 102867c64d83SQiu Chaofan VCMPEQUD, 102967c64d83SQiu Chaofan VCMPEQUH, 103067c64d83SQiu Chaofan VCMPEQUW, 103167c64d83SQiu Chaofan VCMPGTSB, 103267c64d83SQiu Chaofan VCMPGTSD, 103367c64d83SQiu Chaofan VCMPGTSH, 103467c64d83SQiu Chaofan VCMPGTSW, 103567c64d83SQiu Chaofan VCMPGTUB, 103667c64d83SQiu Chaofan VCMPGTUD, 103767c64d83SQiu Chaofan VCMPGTUH, 103867c64d83SQiu Chaofan VCMPGTUW, 103967c64d83SQiu Chaofan VCMPNEB, 104067c64d83SQiu Chaofan VCMPNEH, 104167c64d83SQiu Chaofan VCMPNEW, 104267c64d83SQiu Chaofan VCMPNEZB, 104367c64d83SQiu Chaofan VCMPNEZH, 104467c64d83SQiu Chaofan VCMPNEZW, 104567c64d83SQiu Chaofan VEQV, 104667c64d83SQiu Chaofan VMAXSB, 104767c64d83SQiu Chaofan VMAXSD, 104867c64d83SQiu Chaofan VMAXSH, 104967c64d83SQiu Chaofan VMAXSW, 105067c64d83SQiu Chaofan VMAXUB, 105167c64d83SQiu Chaofan VMAXUD, 105267c64d83SQiu Chaofan VMAXUH, 105367c64d83SQiu Chaofan VMAXUW, 105467c64d83SQiu Chaofan VMINSB, 105567c64d83SQiu Chaofan VMINSD, 105667c64d83SQiu Chaofan VMINSH, 105767c64d83SQiu Chaofan VMINSW, 105867c64d83SQiu Chaofan VMINUB, 105967c64d83SQiu Chaofan VMINUD, 106067c64d83SQiu Chaofan VMINUH, 106167c64d83SQiu Chaofan VMINUW, 106267c64d83SQiu Chaofan VMRGEW, 106367c64d83SQiu Chaofan VMRGOW, 106467c64d83SQiu Chaofan VNAND, 106567c64d83SQiu Chaofan VNOR, 106667c64d83SQiu Chaofan VOR, 106767c64d83SQiu Chaofan VORC, 106867c64d83SQiu Chaofan VRLB, 106967c64d83SQiu Chaofan VRLD, 107067c64d83SQiu Chaofan VRLDNM, 107167c64d83SQiu Chaofan VRLH, 107267c64d83SQiu Chaofan VRLW, 107367c64d83SQiu Chaofan VRLWNM, 107467c64d83SQiu Chaofan VSLB, 107567c64d83SQiu Chaofan VSLD, 107667c64d83SQiu Chaofan VSLH, 107767c64d83SQiu Chaofan VSLW, 107867c64d83SQiu Chaofan VSRAB, 107967c64d83SQiu Chaofan VSRAD, 108067c64d83SQiu Chaofan VSRAH, 108167c64d83SQiu Chaofan VSRAW, 108267c64d83SQiu Chaofan VSRB, 108367c64d83SQiu Chaofan VSRD, 108467c64d83SQiu Chaofan VSRH, 108567c64d83SQiu Chaofan VSRW, 108667c64d83SQiu Chaofan VSUBUBM, 108767c64d83SQiu Chaofan VSUBUDM, 108867c64d83SQiu Chaofan VSUBUHM, 108967c64d83SQiu Chaofan VSUBUWM, 1090a2b5117dSQiu Chaofan VXOR, V_SET0, V_SET0B, V_SET0H, 109167c64d83SQiu Chaofan XOR, XOR8, 109267c64d83SQiu Chaofan XOR8_rec, XOR_rec, 109367c64d83SQiu Chaofan XSCPSGNDP, 109467c64d83SQiu Chaofan XSCPSGNQP, 109567c64d83SQiu Chaofan XSIEXPDP, 109667c64d83SQiu Chaofan XSIEXPQP, 109767c64d83SQiu Chaofan XVCPSGNDP, 109867c64d83SQiu Chaofan XVCPSGNSP, 109967c64d83SQiu Chaofan XVIEXPDP, 110067c64d83SQiu Chaofan XVIEXPSP, 110167c64d83SQiu Chaofan XXLAND, 110267c64d83SQiu Chaofan XXLANDC, 1103a2b5117dSQiu Chaofan XXLEQV, XXLEQVOnes, 110467c64d83SQiu Chaofan XXLNAND, 110567c64d83SQiu Chaofan XXLNOR, 110667c64d83SQiu Chaofan XXLOR, XXLORf, 1107a2b5117dSQiu Chaofan XXLORC, 1108a2b5117dSQiu Chaofan XXLXOR, XXLXORdpz, XXLXORspz, XXLXORz 110967c64d83SQiu Chaofan)>; 111067c64d83SQiu Chaofan 111167c64d83SQiu Chaofan// 3 Cycles ALU operations, 3 input operands 111267c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_ANY, P10FX_Read, P10FX_Read, P10FX_Read], 111367c64d83SQiu Chaofan (instrs 111467c64d83SQiu Chaofan ISEL, ISEL8, 111567c64d83SQiu Chaofan VRLDMI, 111667c64d83SQiu Chaofan VRLWMI, 111767c64d83SQiu Chaofan VSEL, 111867c64d83SQiu Chaofan XXSEL 111967c64d83SQiu Chaofan)>; 112067c64d83SQiu Chaofan 112167c64d83SQiu Chaofan// Single crack instructions 112267c64d83SQiu Chaofan// 3 Cycles ALU operations, 0 input operands 112367c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_DISP_ANY], 112467c64d83SQiu Chaofan (instrs 112567c64d83SQiu Chaofan MFFS, 112667c64d83SQiu Chaofan MFFS_rec, 1127a2b5117dSQiu Chaofan MFFSCDRNI, 1128a2b5117dSQiu Chaofan MFFSCRNI, 112967c64d83SQiu Chaofan MFFSL, 113067c64d83SQiu Chaofan MFVSCR, 113153edf452SQiu Chaofan MTFSB0 113267c64d83SQiu Chaofan)>; 113367c64d83SQiu Chaofan 113467c64d83SQiu Chaofan// Single crack instructions 113567c64d83SQiu Chaofan// 3 Cycles ALU operations, 1 input operands 113667c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10FX_Read], 113767c64d83SQiu Chaofan (instrs 1138a2b5117dSQiu Chaofan ADDIC_rec, 113967c64d83SQiu Chaofan ADDME8_rec, ADDME_rec, 114067c64d83SQiu Chaofan ADDME8O_rec, ADDMEO_rec, 114167c64d83SQiu Chaofan ADDZE8_rec, ADDZE_rec, 114267c64d83SQiu Chaofan ADDZE8O_rec, ADDZEO_rec, 114367c64d83SQiu Chaofan MCRFS, 114467c64d83SQiu Chaofan MFFSCDRN, 114567c64d83SQiu Chaofan MFFSCRN, 114667c64d83SQiu Chaofan MTVSCR, 114767c64d83SQiu Chaofan NEG8O_rec, NEGO_rec, 114867c64d83SQiu Chaofan SUBFME8_rec, SUBFME_rec, 114967c64d83SQiu Chaofan SUBFME8O_rec, SUBFMEO_rec, 115067c64d83SQiu Chaofan SUBFZE8_rec, SUBFZE_rec, 115153edf452SQiu Chaofan SUBFZE8O_rec, SUBFZEO_rec 115267c64d83SQiu Chaofan)>; 115367c64d83SQiu Chaofan 115467c64d83SQiu Chaofan// Single crack instructions 115567c64d83SQiu Chaofan// 3 Cycles ALU operations, 2 input operands 115667c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10FX_Read, P10FX_Read], 115767c64d83SQiu Chaofan (instrs 115867c64d83SQiu Chaofan ADDE8_rec, ADDE_rec, 115967c64d83SQiu Chaofan ADDE8O_rec, ADDEO_rec, 116067c64d83SQiu Chaofan ADD4O_rec, ADD8O_rec, 116167c64d83SQiu Chaofan SUBFE8_rec, SUBFE_rec, 116267c64d83SQiu Chaofan SUBFE8O_rec, SUBFEO_rec, 116367c64d83SQiu Chaofan SUBF8O_rec, SUBFO_rec 116467c64d83SQiu Chaofan)>; 116567c64d83SQiu Chaofan 116667c64d83SQiu Chaofan// 2-way crack instructions 1167b4747390SStefan Pintilie// 3 Cycles ALU operations, and 4 Cycles ALU2 operations, 2 input operands 1168b4747390SStefan Pintiliedef : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_F2_4C, P10W_DISP_ANY], 1169b4747390SStefan Pintilie (instrs 1170b4747390SStefan Pintilie ADDG6S, ADDG6S8 1171b4747390SStefan Pintilie)>; 1172b4747390SStefan Pintilie 1173b4747390SStefan Pintilie// 2-way crack instructions 117467c64d83SQiu Chaofan// 3 Cycles ALU operations, and 3 Cycles ALU operations, 0 input operands 117567c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 117667c64d83SQiu Chaofan (instrs 117767c64d83SQiu Chaofan HRFID, 117867c64d83SQiu Chaofan MFFSCE, 1179a2b5117dSQiu Chaofan MTFSB1, 1180a2b5117dSQiu Chaofan MTFSFI, MTFSFIb, 1181a2b5117dSQiu Chaofan MTFSFI_rec, 1182a2b5117dSQiu Chaofan RFEBB, 118367c64d83SQiu Chaofan RFID, 1184a2b5117dSQiu Chaofan SC, 118567c64d83SQiu Chaofan STOP 118667c64d83SQiu Chaofan)>; 118767c64d83SQiu Chaofan 118867c64d83SQiu Chaofan// 2-way crack instructions 118967c64d83SQiu Chaofan// 3 Cycles ALU operations, and 3 Cycles ALU operations, 1 input operands 119067c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY, P10FX_Read], 119167c64d83SQiu Chaofan (instrs 119267c64d83SQiu Chaofan FABSD_rec, FABSS_rec, 119367c64d83SQiu Chaofan FMR_rec, 119467c64d83SQiu Chaofan FNABSD_rec, FNABSS_rec, 119567c64d83SQiu Chaofan FNEGD_rec, FNEGS_rec, 1196a2b5117dSQiu Chaofan MTFSF, MTFSFb, 1197a2b5117dSQiu Chaofan MTFSF_rec 119867c64d83SQiu Chaofan)>; 119967c64d83SQiu Chaofan 120067c64d83SQiu Chaofan// 2-way crack instructions 120167c64d83SQiu Chaofan// 3 Cycles ALU operations, and 3 Cycles ALU operations, 2 input operands 120267c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY, P10FX_Read, P10FX_Read], 120367c64d83SQiu Chaofan (instrs 120467c64d83SQiu Chaofan ADDC, ADDC8, 120567c64d83SQiu Chaofan ADDC8_rec, ADDC_rec, 120667c64d83SQiu Chaofan ADDC8O, ADDCO, 120767c64d83SQiu Chaofan FCPSGND_rec, FCPSGNS_rec, 120867c64d83SQiu Chaofan SUBFC, SUBFC8, 120967c64d83SQiu Chaofan SUBFC8_rec, SUBFC_rec, 121067c64d83SQiu Chaofan SUBFC8O, SUBFCO 121167c64d83SQiu Chaofan)>; 121267c64d83SQiu Chaofan 121367c64d83SQiu Chaofan// 4-way crack instructions 121467c64d83SQiu Chaofan// 3 Cycles ALU operations, 3 Cycles ALU operations, 3 Cycles ALU operations, and 3 Cycles ALU operations, 2 input operands 121567c64d83SQiu Chaofandef : 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], 121667c64d83SQiu Chaofan (instrs 121767c64d83SQiu Chaofan ADDC8O_rec, ADDCO_rec, 121867c64d83SQiu Chaofan SUBFC8O_rec, SUBFCO_rec 121967c64d83SQiu Chaofan)>; 122067c64d83SQiu Chaofan 122167c64d83SQiu Chaofan// 2-way crack instructions 122267c64d83SQiu Chaofan// 3 Cycles ALU operations, and 4 Cycles Permute operations, 1 input operands 122367c64d83SQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_EVEN, P10W_PM_4C, P10W_DISP_ANY], 122467c64d83SQiu Chaofan (instrs 122567c64d83SQiu Chaofan VSTRIBL_rec, 122667c64d83SQiu Chaofan VSTRIBR_rec, 122767c64d83SQiu Chaofan VSTRIHL_rec, 122867c64d83SQiu Chaofan VSTRIHR_rec 122967c64d83SQiu Chaofan)>; 123067c64d83SQiu Chaofan 123167c64d83SQiu Chaofan// 2-way crack instructions 1232a2b5117dSQiu Chaofan// 3 Cycles ALU operations, and 3 Cycles ALU operations, 1 input operands 1233a2b5117dSQiu Chaofandef : InstRW<[P10W_FX_3C, P10W_DISP_PAIR, P10W_FX_3C, P10FX_Read], 123467c64d83SQiu Chaofan (instrs 123567c64d83SQiu Chaofan MTCRF, MTCRF8 123667c64d83SQiu Chaofan)>; 123767c64d83SQiu Chaofan 1238a2b5117dSQiu Chaofan// 6 Cycles Load operations, 0 input operands 1239a2b5117dSQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_ANY], 1240a2b5117dSQiu Chaofan (instrs 1241a2b5117dSQiu Chaofan LBZ, LBZ8, 1242a2b5117dSQiu Chaofan LD, LDtoc, LDtocBA, LDtocCPT, LDtocJTI, LDtocL, SPILLTOVSR_LD, 1243a2b5117dSQiu Chaofan DFLOADf32, DFLOADf64, LFD, 1244a2b5117dSQiu Chaofan LHA, LHA8, 1245a2b5117dSQiu Chaofan LHZ, LHZ8, 1246a2b5117dSQiu Chaofan LWA, LWA_32, 1247a2b5117dSQiu Chaofan LWZ, LWZ8, LWZtoc, LWZtocL, 1248a2b5117dSQiu Chaofan LXSD, 1249a2b5117dSQiu Chaofan LXV 1250a2b5117dSQiu Chaofan)>; 1251a2b5117dSQiu Chaofan 125267c64d83SQiu Chaofan// 6 Cycles Load operations, 1 input operands 125367c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_ANY, P10LD_Read], 125467c64d83SQiu Chaofan (instrs 1255a2b5117dSQiu Chaofan LXVL, 1256a2b5117dSQiu Chaofan LXVLL 1257a2b5117dSQiu Chaofan)>; 1258a2b5117dSQiu Chaofan 1259a2b5117dSQiu Chaofan// 6 Cycles Load operations, 2 input operands 1260a2b5117dSQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_ANY, P10LD_Read, P10LD_Read], 1261a2b5117dSQiu Chaofan (instrs 1262a2b5117dSQiu Chaofan DCBT, 1263a2b5117dSQiu Chaofan DCBTST, 1264a2b5117dSQiu Chaofan ICBT, 1265a2b5117dSQiu Chaofan LBZX, LBZX8, LBZXTLS, LBZXTLS_, LBZXTLS_32, 126667c64d83SQiu Chaofan LDBRX, 1267a2b5117dSQiu Chaofan LDX, LDXTLS, LDXTLS_, SPILLTOVSR_LDX, 1268a2b5117dSQiu Chaofan LFDX, LFDXTLS, LFDXTLS_, XFLOADf32, XFLOADf64, 126967c64d83SQiu Chaofan LFIWAX, LIWAX, 127067c64d83SQiu Chaofan LFIWZX, LIWZX, 1271a2b5117dSQiu Chaofan LHAX, LHAX8, LHAXTLS, LHAXTLS_, LHAXTLS_32, 127267c64d83SQiu Chaofan LHBRX, LHBRX8, 1273a2b5117dSQiu Chaofan LHZX, LHZX8, LHZXTLS, LHZXTLS_, LHZXTLS_32, 127467c64d83SQiu Chaofan LVEBX, 127567c64d83SQiu Chaofan LVEHX, 127667c64d83SQiu Chaofan LVEWX, 127767c64d83SQiu Chaofan LVX, 127867c64d83SQiu Chaofan LVXL, 127911b71adeSAmy Kwan LWAX, LWAXTLS, LWAXTLS_, LWAXTLS_32, LWAX_32, 128067c64d83SQiu Chaofan LWBRX, LWBRX8, 1281a2b5117dSQiu Chaofan LWZX, LWZX8, LWZXTLS, LWZXTLS_, LWZXTLS_32, 128267c64d83SQiu Chaofan LXSDX, 128367c64d83SQiu Chaofan LXSIBZX, 128467c64d83SQiu Chaofan LXSIHZX, 128567c64d83SQiu Chaofan LXSIWAX, 128667c64d83SQiu Chaofan LXSIWZX, 128767c64d83SQiu Chaofan LXVB16X, 128867c64d83SQiu Chaofan LXVD2X, 128967c64d83SQiu Chaofan LXVDSX, 129067c64d83SQiu Chaofan LXVH8X, 129167c64d83SQiu Chaofan LXVRBX, 129267c64d83SQiu Chaofan LXVRDX, 129367c64d83SQiu Chaofan LXVRHX, 129467c64d83SQiu Chaofan LXVRWX, 129567c64d83SQiu Chaofan LXVW4X, 129667c64d83SQiu Chaofan LXVWSX, 129767c64d83SQiu Chaofan LXVX 129867c64d83SQiu Chaofan)>; 129967c64d83SQiu Chaofan 130067c64d83SQiu Chaofan// 2-way crack instructions 1301a2b5117dSQiu Chaofan// 6 Cycles Load operations, and 13 Cycles Decimal Floating Point operations, 1 input operands 130267c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_DF_13C, P10W_DISP_ANY], 130367c64d83SQiu Chaofan (instrs 130404496201SStefan Pintilie HASHCHK, HASHCHK8, 130504496201SStefan Pintilie HASHCHKP, HASHCHKP8 130667c64d83SQiu Chaofan)>; 130767c64d83SQiu Chaofan 130867c64d83SQiu Chaofan// Single crack instructions 130967c64d83SQiu Chaofan// 6 Cycles Load operations, 0 input operands 131067c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_DISP_ANY], 131167c64d83SQiu Chaofan (instrs 1312a2b5117dSQiu Chaofan DARN, 131367c64d83SQiu Chaofan SLBIA 131467c64d83SQiu Chaofan)>; 131567c64d83SQiu Chaofan 131667c64d83SQiu Chaofan// Single crack instructions 131767c64d83SQiu Chaofan// 6 Cycles Load operations, 1 input operands 131867c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_DISP_ANY, P10LD_Read], 131967c64d83SQiu Chaofan (instrs 1320a2b5117dSQiu Chaofan MTSPR, MTSPR8, MTSR, MTUDSCR, MTVRSAVE, MTVRSAVEv, 132167c64d83SQiu Chaofan SLBFEE_rec, 132267c64d83SQiu Chaofan SLBIE, 132367c64d83SQiu Chaofan SLBMFEE, 132467c64d83SQiu Chaofan SLBMFEV 132567c64d83SQiu Chaofan)>; 132667c64d83SQiu Chaofan 132767c64d83SQiu Chaofan// Single crack instructions 132867c64d83SQiu Chaofan// 6 Cycles Load operations, 2 input operands 132967c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_DISP_ANY, P10LD_Read, P10LD_Read], 133067c64d83SQiu Chaofan (instrs 1331a2b5117dSQiu Chaofan LBARX, LBARXL, 133267c64d83SQiu Chaofan LBZCIX, 1333a2b5117dSQiu Chaofan LDARX, LDARXL, 133467c64d83SQiu Chaofan LDCIX, 1335a2b5117dSQiu Chaofan LHARX, LHARXL, 133667c64d83SQiu Chaofan LHZCIX, 1337a2b5117dSQiu Chaofan LWARX, LWARXL, 1338a2b5117dSQiu Chaofan LWZCIX 1339a2b5117dSQiu Chaofan)>; 1340a2b5117dSQiu Chaofan 1341a2b5117dSQiu Chaofan// Expand instructions 1342a2b5117dSQiu Chaofan// 6 Cycles Load operations, 6 Cycles Load operations, 6 Cycles Load operations, and 6 Cycles Load operations, 0 input operands 1343a2b5117dSQiu Chaofandef : 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], 1344a2b5117dSQiu Chaofan (instrs 1345a2b5117dSQiu Chaofan LMW 134667c64d83SQiu Chaofan)>; 134767c64d83SQiu Chaofan 134867c64d83SQiu Chaofan// Expand instructions 134967c64d83SQiu Chaofan// 6 Cycles Load operations, 6 Cycles Load operations, 6 Cycles Load operations, and 6 Cycles Load operations, 1 input operands 135067c64d83SQiu Chaofandef : 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], 135167c64d83SQiu Chaofan (instrs 135267c64d83SQiu Chaofan LSWI 135367c64d83SQiu Chaofan)>; 135467c64d83SQiu Chaofan 135567c64d83SQiu Chaofan// 2-way crack instructions 1356a2b5117dSQiu Chaofan// 6 Cycles Load operations, and 3 Cycles Simple Fixed-point (SFX) operations, 0 input operands 135767c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_SX_3C, P10W_DISP_ANY], 135867c64d83SQiu Chaofan (instrs 135967c64d83SQiu Chaofan LBZU, LBZU8, 136067c64d83SQiu Chaofan LDU, 136167c64d83SQiu Chaofan LFDU, 136267c64d83SQiu Chaofan LHAU, LHAU8, 136367c64d83SQiu Chaofan LHZU, LHZU8, 1364a2b5117dSQiu Chaofan LWZU, LWZU8 1365a2b5117dSQiu Chaofan)>; 1366a2b5117dSQiu Chaofan 1367a2b5117dSQiu Chaofan// 2-way crack instructions 1368a2b5117dSQiu Chaofan// 6 Cycles Load operations, and 3 Cycles Simple Fixed-point (SFX) operations, 2 input operands 1369a2b5117dSQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_EVEN, P10W_SX_3C, P10W_DISP_ANY], 1370a2b5117dSQiu Chaofan (instrs 1371a2b5117dSQiu Chaofan LBZUX, LBZUX8, 1372a2b5117dSQiu Chaofan LDUX, 1373a2b5117dSQiu Chaofan LFDUX, 1374a2b5117dSQiu Chaofan LHAUX, LHAUX8, 137567c64d83SQiu Chaofan LHZUX, LHZUX8, 137667c64d83SQiu Chaofan LWAUX, 137767c64d83SQiu Chaofan LWZUX, LWZUX8 137867c64d83SQiu Chaofan)>; 137967c64d83SQiu Chaofan 1380a2b5117dSQiu Chaofan// 6 Cycles Load operations, 0 input operands 1381a2b5117dSQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR], 138267c64d83SQiu Chaofan (instrs 138367c64d83SQiu Chaofan PLBZ, PLBZ8, PLBZ8pc, PLBZpc, 138467c64d83SQiu Chaofan PLD, PLDpc, 138567c64d83SQiu Chaofan PLFD, PLFDpc, 138667c64d83SQiu Chaofan PLFS, PLFSpc, 138767c64d83SQiu Chaofan PLHA, PLHA8, PLHA8pc, PLHApc, 138867c64d83SQiu Chaofan PLHZ, PLHZ8, PLHZ8pc, PLHZpc, 138967c64d83SQiu Chaofan PLWA, PLWA8, PLWA8pc, PLWApc, 139067c64d83SQiu Chaofan PLWZ, PLWZ8, PLWZ8pc, PLWZpc, 139167c64d83SQiu Chaofan PLXSD, PLXSDpc, 139267c64d83SQiu Chaofan PLXSSP, PLXSSPpc, 139367c64d83SQiu Chaofan PLXV, PLXVpc, 139467c64d83SQiu Chaofan PLXVP, PLXVPpc 139567c64d83SQiu Chaofan)>; 139667c64d83SQiu Chaofan 139767c64d83SQiu Chaofan// 2-way crack instructions 1398a2b5117dSQiu Chaofan// 6 Cycles Load operations, and 4 Cycles ALU2 operations, 0 input operands 139967c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_F2_4C], 140067c64d83SQiu Chaofan (instrs 140167c64d83SQiu Chaofan LFS, 1402a2b5117dSQiu Chaofan LXSSP 140367c64d83SQiu Chaofan)>; 140467c64d83SQiu Chaofan 140511b71adeSAmy Kwan// 2-way crack instructions 140611b71adeSAmy Kwan// 6 Cycles Load operations, and 4 Cycles ALU2 operations, 2 input operands 140711b71adeSAmy Kwandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_F2_4C], 140811b71adeSAmy Kwan (instrs 1409a2b5117dSQiu Chaofan LFSX, LFSXTLS, LFSXTLS_, 1410a2b5117dSQiu Chaofan LXSSPX 141111b71adeSAmy Kwan)>; 141211b71adeSAmy Kwan 141367c64d83SQiu Chaofan// 4-way crack instructions 1414a2b5117dSQiu Chaofan// 6 Cycles Load operations, 4 Cycles ALU2 operations, 3 Cycles Simple Fixed-point (SFX) operations, and 3 Cycles ALU operations, 0 input operands 141567c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_F2_4C, P10W_SX_3C, P10W_DISP_ANY, P10W_FX_3C, P10W_DISP_ANY], 141667c64d83SQiu Chaofan (instrs 1417a2b5117dSQiu Chaofan LFSU 1418a2b5117dSQiu Chaofan)>; 1419a2b5117dSQiu Chaofan 1420a2b5117dSQiu Chaofan// 4-way crack instructions 1421a2b5117dSQiu Chaofan// 6 Cycles Load operations, 4 Cycles ALU2 operations, 3 Cycles Simple Fixed-point (SFX) operations, and 3 Cycles ALU operations, 2 input operands 1422a2b5117dSQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_F2_4C, P10W_SX_3C, P10W_DISP_ANY, P10W_FX_3C, P10W_DISP_ANY], 1423a2b5117dSQiu Chaofan (instrs 142467c64d83SQiu Chaofan LFSUX 142567c64d83SQiu Chaofan)>; 142667c64d83SQiu Chaofan 142767c64d83SQiu Chaofan// 2-way crack instructions 142867c64d83SQiu Chaofan// 6 Cycles Load operations, and 6 Cycles Load operations, 1 input operands 142967c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_LD_6C, P10W_DISP_PAIR, P10LD_Read], 143067c64d83SQiu Chaofan (instrs 143167c64d83SQiu Chaofan TLBIEL 143267c64d83SQiu Chaofan)>; 143367c64d83SQiu Chaofan 143467c64d83SQiu Chaofan// 2-way crack instructions 143567c64d83SQiu Chaofan// 6 Cycles Load operations, and 6 Cycles Load operations, 2 input operands 143667c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_LD_6C, P10W_DISP_PAIR, P10LD_Read, P10LD_Read], 143767c64d83SQiu Chaofan (instrs 143867c64d83SQiu Chaofan SLBMTE 143967c64d83SQiu Chaofan)>; 144067c64d83SQiu Chaofan 144167c64d83SQiu Chaofan// 2-way crack instructions 1442a2b5117dSQiu Chaofan// 6 Cycles Load operations, and 3 Cycles Simple Fixed-point (SFX) operations, 0 input operands 144367c64d83SQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_SX_3C], 144467c64d83SQiu Chaofan (instrs 1445a2b5117dSQiu Chaofan LXVP 1446a2b5117dSQiu Chaofan)>; 1447a2b5117dSQiu Chaofan 1448a2b5117dSQiu Chaofan// 2-way crack instructions 1449a2b5117dSQiu Chaofan// 6 Cycles Load operations, and 3 Cycles Simple Fixed-point (SFX) operations, 2 input operands 1450a2b5117dSQiu Chaofandef : InstRW<[P10W_LD_6C, P10W_DISP_PAIR, P10W_SX_3C], 1451a2b5117dSQiu Chaofan (instrs 145267c64d83SQiu Chaofan LXVPX 145367c64d83SQiu Chaofan)>; 145467c64d83SQiu Chaofan 145567c64d83SQiu Chaofan// Single crack instructions 145667c64d83SQiu Chaofan// 13 Cycles Unknown operations, 1 input operands 145767c64d83SQiu Chaofandef : InstRW<[P10W_MFL_13C, P10W_DISP_EVEN, P10W_DISP_ANY], 145867c64d83SQiu Chaofan (instrs 14592e55bc9fSStefan Pintilie MFSPR, MFSPR8, MFSR, MFTB8, MFUDSCR, MFVRSAVE, MFVRSAVEv 146067c64d83SQiu Chaofan)>; 146167c64d83SQiu Chaofan 146267c64d83SQiu Chaofan// 10 Cycles SIMD Matrix Multiply Engine operations, 0 input operands 146367c64d83SQiu Chaofandef : InstRW<[P10W_MM_10C, P10W_DISP_ANY], 146467c64d83SQiu Chaofan (instrs 146567c64d83SQiu Chaofan XXSETACCZ 146667c64d83SQiu Chaofan)>; 146767c64d83SQiu Chaofan 146867c64d83SQiu Chaofan// 10 Cycles SIMD Matrix Multiply Engine operations, 2 input operands 146967c64d83SQiu Chaofandef : InstRW<[P10W_MM_10C, P10W_DISP_ANY, P10MM_Read, P10MM_Read], 147067c64d83SQiu Chaofan (instrs 147167c64d83SQiu Chaofan XVBF16GER2, 147267c64d83SQiu Chaofan XVF16GER2, 147367c64d83SQiu Chaofan XVF32GER, 147467c64d83SQiu Chaofan XVF64GER, 147567c64d83SQiu Chaofan XVI16GER2, 147667c64d83SQiu Chaofan XVI16GER2S, 147767c64d83SQiu Chaofan XVI4GER8, 147867c64d83SQiu Chaofan XVI8GER4 147967c64d83SQiu Chaofan)>; 148067c64d83SQiu Chaofan 148167c64d83SQiu Chaofan// 10 Cycles SIMD Matrix Multiply Engine operations, 3 input operands 148267c64d83SQiu Chaofandef : InstRW<[P10W_MM_10C, P10W_DISP_ANY, P10MM_Read, P10MM_Read, P10MM_Read], 148367c64d83SQiu Chaofan (instrs 148467c64d83SQiu Chaofan XVBF16GER2NN, 148567c64d83SQiu Chaofan XVBF16GER2NP, 148667c64d83SQiu Chaofan XVBF16GER2PN, 148767c64d83SQiu Chaofan XVBF16GER2PP, 148867c64d83SQiu Chaofan XVF16GER2NN, 148967c64d83SQiu Chaofan XVF16GER2NP, 149067c64d83SQiu Chaofan XVF16GER2PN, 149167c64d83SQiu Chaofan XVF16GER2PP, 149267c64d83SQiu Chaofan XVF32GERNN, 149367c64d83SQiu Chaofan XVF32GERNP, 149467c64d83SQiu Chaofan XVF32GERPN, 149567c64d83SQiu Chaofan XVF32GERPP, 149667c64d83SQiu Chaofan XVF64GERNN, 149767c64d83SQiu Chaofan XVF64GERNP, 149867c64d83SQiu Chaofan XVF64GERPN, 149967c64d83SQiu Chaofan XVF64GERPP, 150067c64d83SQiu Chaofan XVI16GER2PP, 150167c64d83SQiu Chaofan XVI16GER2SPP, 150267c64d83SQiu Chaofan XVI4GER8PP, 150367c64d83SQiu Chaofan XVI8GER4PP, 150467c64d83SQiu Chaofan XVI8GER4SPP 150567c64d83SQiu Chaofan)>; 150667c64d83SQiu Chaofan 1507a2b5117dSQiu Chaofan// 10 Cycles SIMD Matrix Multiply Engine operations, 2 input operands 1508a2b5117dSQiu Chaofandef : InstRW<[P10W_MM_10C, P10W_DISP_PAIR, P10MM_Read, P10MM_Read], 150967c64d83SQiu Chaofan (instrs 151067c64d83SQiu Chaofan PMXVBF16GER2, 151167c64d83SQiu Chaofan PMXVF16GER2, 1512a2b5117dSQiu Chaofan PMXVF32GER, 1513a2b5117dSQiu Chaofan PMXVF64GER, 151467c64d83SQiu Chaofan PMXVI16GER2, 151567c64d83SQiu Chaofan PMXVI16GER2S, 151667c64d83SQiu Chaofan PMXVI4GER8, 151767c64d83SQiu Chaofan PMXVI8GER4 151867c64d83SQiu Chaofan)>; 151967c64d83SQiu Chaofan 1520a2b5117dSQiu Chaofan// 10 Cycles SIMD Matrix Multiply Engine operations, 3 input operands 1521a2b5117dSQiu Chaofandef : InstRW<[P10W_MM_10C, P10W_DISP_PAIR, P10MM_Read, P10MM_Read, P10MM_Read], 152267c64d83SQiu Chaofan (instrs 152367c64d83SQiu Chaofan PMXVBF16GER2NN, 152467c64d83SQiu Chaofan PMXVBF16GER2NP, 152567c64d83SQiu Chaofan PMXVBF16GER2PN, 152667c64d83SQiu Chaofan PMXVBF16GER2PP, 152767c64d83SQiu Chaofan PMXVF16GER2NN, 152867c64d83SQiu Chaofan PMXVF16GER2NP, 152967c64d83SQiu Chaofan PMXVF16GER2PN, 153067c64d83SQiu Chaofan PMXVF16GER2PP, 1531a2b5117dSQiu Chaofan PMXVF32GERNN, 1532a2b5117dSQiu Chaofan PMXVF32GERNP, 1533a2b5117dSQiu Chaofan PMXVF32GERPN, 1534a2b5117dSQiu Chaofan PMXVF32GERPP, 1535a2b5117dSQiu Chaofan PMXVF64GERNN, 1536a2b5117dSQiu Chaofan PMXVF64GERNP, 1537a2b5117dSQiu Chaofan PMXVF64GERPN, 1538a2b5117dSQiu Chaofan PMXVF64GERPP, 153967c64d83SQiu Chaofan PMXVI16GER2PP, 154067c64d83SQiu Chaofan PMXVI16GER2SPP, 154167c64d83SQiu Chaofan PMXVI4GER8PP, 154267c64d83SQiu Chaofan PMXVI8GER4PP, 154367c64d83SQiu Chaofan PMXVI8GER4SPP 154467c64d83SQiu Chaofan)>; 154567c64d83SQiu Chaofan 154667c64d83SQiu Chaofan// 2-way crack instructions 154767c64d83SQiu Chaofan// 10 Cycles SIMD Matrix Multiply Engine operations, and 3 Cycles ALU operations, 1 input operands 154867c64d83SQiu Chaofandef : InstRW<[P10W_MM_10C, P10W_DISP_PAIR, P10W_FX_3C], 154967c64d83SQiu Chaofan (instrs 155067c64d83SQiu Chaofan XXMTACC 155167c64d83SQiu Chaofan)>; 155267c64d83SQiu Chaofan 155367c64d83SQiu Chaofan// 4-way crack instructions 155467c64d83SQiu Chaofan// 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 operands 155567c64d83SQiu Chaofandef : InstRW<[P10W_MM_10C, P10W_DISP_PAIR, P10W_FX_3C, P10W_MM_10C, P10W_DISP_PAIR, P10W_FX_3C], 155667c64d83SQiu Chaofan (instrs 155767c64d83SQiu Chaofan XXMFACC 155867c64d83SQiu Chaofan)>; 155967c64d83SQiu Chaofan 1560a2b5117dSQiu Chaofan// 5 Cycles GPR Multiply operations, 1 input operands 1561a2b5117dSQiu Chaofandef : InstRW<[P10W_MU_5C, P10W_DISP_ANY, P10MU_Read], 1562a2b5117dSQiu Chaofan (instrs 1563a2b5117dSQiu Chaofan MULLI, MULLI8 1564a2b5117dSQiu Chaofan)>; 1565a2b5117dSQiu Chaofan 156667c64d83SQiu Chaofan// 5 Cycles GPR Multiply operations, 2 input operands 156767c64d83SQiu Chaofandef : InstRW<[P10W_MU_5C, P10W_DISP_ANY, P10MU_Read, P10MU_Read], 156867c64d83SQiu Chaofan (instrs 156967c64d83SQiu Chaofan MULHD, 157067c64d83SQiu Chaofan MULHDU, 157167c64d83SQiu Chaofan MULHW, 157267c64d83SQiu Chaofan MULHWU, 157367c64d83SQiu Chaofan MULLD, 157467c64d83SQiu Chaofan MULLDO, 157567c64d83SQiu Chaofan MULLW, 157667c64d83SQiu Chaofan MULLWO, 157767c64d83SQiu Chaofan VMULHSD, 157867c64d83SQiu Chaofan VMULHUD, 157967c64d83SQiu Chaofan VMULLD 158067c64d83SQiu Chaofan)>; 158167c64d83SQiu Chaofan 158267c64d83SQiu Chaofan// 5 Cycles GPR Multiply operations, 3 input operands 158367c64d83SQiu Chaofandef : InstRW<[P10W_MU_5C, P10W_DISP_ANY, P10MU_Read, P10MU_Read, P10MU_Read], 158467c64d83SQiu Chaofan (instrs 158567c64d83SQiu Chaofan MADDHD, 158667c64d83SQiu Chaofan MADDHDU, 158767c64d83SQiu Chaofan MADDLD, MADDLD8 158867c64d83SQiu Chaofan)>; 158967c64d83SQiu Chaofan 159067c64d83SQiu Chaofan// 2-way crack instructions 159167c64d83SQiu Chaofan// 5 Cycles GPR Multiply operations, and 3 Cycles ALU operations, 2 input operands 159267c64d83SQiu Chaofandef : InstRW<[P10W_MU_5C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 159367c64d83SQiu Chaofan (instrs 159467c64d83SQiu Chaofan MULHD_rec, 159567c64d83SQiu Chaofan MULHDU_rec, 159667c64d83SQiu Chaofan MULHW_rec, 159767c64d83SQiu Chaofan MULHWU_rec, 159867c64d83SQiu Chaofan MULLD_rec, 159967c64d83SQiu Chaofan MULLDO_rec, 160067c64d83SQiu Chaofan MULLW_rec, 160167c64d83SQiu Chaofan MULLWO_rec 160267c64d83SQiu Chaofan)>; 160367c64d83SQiu Chaofan 160467c64d83SQiu Chaofan// 4 Cycles Permute operations, 0 input operands 160567c64d83SQiu Chaofandef : InstRW<[P10W_PM_4C, P10W_DISP_ANY], 160667c64d83SQiu Chaofan (instrs 1607a2b5117dSQiu Chaofan LXVKQ, 1608a2b5117dSQiu Chaofan VSPLTISB, 1609a2b5117dSQiu Chaofan VSPLTISH, 1610a2b5117dSQiu Chaofan VSPLTISW, V_SETALLONES, V_SETALLONESB, V_SETALLONESH, 1611a2b5117dSQiu Chaofan XXSPLTIB 161267c64d83SQiu Chaofan)>; 161367c64d83SQiu Chaofan 161467c64d83SQiu Chaofan// 4 Cycles Permute operations, 1 input operands 161567c64d83SQiu Chaofandef : InstRW<[P10W_PM_4C, P10W_DISP_ANY, P10PM_Read], 161667c64d83SQiu Chaofan (instrs 16177a7e9109SLei Huang BRD, 16187a7e9109SLei Huang BRH, BRH8, 16197a7e9109SLei Huang BRW, BRW8, 162067c64d83SQiu Chaofan MFVSRLD, 162167c64d83SQiu Chaofan MTVSRWS, 162267c64d83SQiu Chaofan VCLZLSBB, 162367c64d83SQiu Chaofan VCTZLSBB, 1624a2b5117dSQiu Chaofan VEXTRACTD, 1625a2b5117dSQiu Chaofan VEXTRACTUB, 1626a2b5117dSQiu Chaofan VEXTRACTUH, 1627a2b5117dSQiu Chaofan VEXTRACTUW, 162867c64d83SQiu Chaofan VGBBD, 1629a2b5117dSQiu Chaofan VINSERTD, 1630a2b5117dSQiu Chaofan VINSERTW, 163167c64d83SQiu Chaofan VPRTYBQ, 1632a2b5117dSQiu Chaofan VSPLTB, VSPLTBs, 1633a2b5117dSQiu Chaofan VSPLTH, VSPLTHs, 1634a2b5117dSQiu Chaofan VSPLTW, 163567c64d83SQiu Chaofan VSTRIBL, 163667c64d83SQiu Chaofan VSTRIBR, 163767c64d83SQiu Chaofan VSTRIHL, 163867c64d83SQiu Chaofan VSTRIHR, 163967c64d83SQiu Chaofan VUPKHPX, 164067c64d83SQiu Chaofan VUPKHSB, 164167c64d83SQiu Chaofan VUPKHSH, 164267c64d83SQiu Chaofan VUPKHSW, 164367c64d83SQiu Chaofan VUPKLPX, 164467c64d83SQiu Chaofan VUPKLSB, 164567c64d83SQiu Chaofan VUPKLSH, 164667c64d83SQiu Chaofan VUPKLSW, 164767c64d83SQiu Chaofan XVCVBF16SPN, 164867c64d83SQiu Chaofan XXBRD, 164967c64d83SQiu Chaofan XXBRH, 165067c64d83SQiu Chaofan XXBRQ, 165167c64d83SQiu Chaofan XXBRW, 1652a2b5117dSQiu Chaofan XXEXTRACTUW, 1653a2b5117dSQiu Chaofan XXGENPCVDM, 1654a2b5117dSQiu Chaofan XXGENPCVHM, 1655a2b5117dSQiu Chaofan XXGENPCVWM, 1656a2b5117dSQiu Chaofan XXSPLTW, XXSPLTWs 165767c64d83SQiu Chaofan)>; 165867c64d83SQiu Chaofan 165967c64d83SQiu Chaofan// 4 Cycles Permute operations, 2 input operands 166067c64d83SQiu Chaofandef : InstRW<[P10W_PM_4C, P10W_DISP_ANY, P10PM_Read, P10PM_Read], 166167c64d83SQiu Chaofan (instrs 166267c64d83SQiu Chaofan BPERMD, 1663a2b5117dSQiu Chaofan LVSL, 1664a2b5117dSQiu Chaofan LVSR, 166567c64d83SQiu Chaofan MTVSRDD, 166667c64d83SQiu Chaofan VBPERMD, 166767c64d83SQiu Chaofan VBPERMQ, 166867c64d83SQiu Chaofan VCLRLB, 166967c64d83SQiu Chaofan VCLRRB, 167067c64d83SQiu Chaofan VEXTUBLX, 167167c64d83SQiu Chaofan VEXTUBRX, 167267c64d83SQiu Chaofan VEXTUHLX, 167367c64d83SQiu Chaofan VEXTUHRX, 167467c64d83SQiu Chaofan VEXTUWLX, 167567c64d83SQiu Chaofan VEXTUWRX, 1676a2b5117dSQiu Chaofan VINSD, 1677a2b5117dSQiu Chaofan VINSERTB, 1678a2b5117dSQiu Chaofan VINSERTH, 1679a2b5117dSQiu Chaofan VINSW, 168067c64d83SQiu Chaofan VMRGHB, 168167c64d83SQiu Chaofan VMRGHH, 168267c64d83SQiu Chaofan VMRGHW, 168367c64d83SQiu Chaofan VMRGLB, 168467c64d83SQiu Chaofan VMRGLH, 168567c64d83SQiu Chaofan VMRGLW, 168667c64d83SQiu Chaofan VPKPX, 168767c64d83SQiu Chaofan VPKSDSS, 168867c64d83SQiu Chaofan VPKSDUS, 168967c64d83SQiu Chaofan VPKSHSS, 169067c64d83SQiu Chaofan VPKSHUS, 169167c64d83SQiu Chaofan VPKSWSS, 169267c64d83SQiu Chaofan VPKSWUS, 169367c64d83SQiu Chaofan VPKUDUM, 169467c64d83SQiu Chaofan VPKUDUS, 169567c64d83SQiu Chaofan VPKUHUM, 169667c64d83SQiu Chaofan VPKUHUS, 169767c64d83SQiu Chaofan VPKUWUM, 169867c64d83SQiu Chaofan VPKUWUS, 169967c64d83SQiu Chaofan VSL, 1700a2b5117dSQiu Chaofan VSLDBI, 1701a2b5117dSQiu Chaofan VSLDOI, 170267c64d83SQiu Chaofan VSLO, 170367c64d83SQiu Chaofan VSLV, 170467c64d83SQiu Chaofan VSR, 1705a2b5117dSQiu Chaofan VSRDBI, 170667c64d83SQiu Chaofan VSRO, 170767c64d83SQiu Chaofan VSRV, 1708a2b5117dSQiu Chaofan XXINSERTW, 170967c64d83SQiu Chaofan XXMRGHW, 171067c64d83SQiu Chaofan XXMRGLW, 171167c64d83SQiu Chaofan XXPERMDI, XXPERMDIs, 1712a2b5117dSQiu Chaofan XXSLDWI, XXSLDWIs 171367c64d83SQiu Chaofan)>; 171467c64d83SQiu Chaofan 171567c64d83SQiu Chaofan// 4 Cycles Permute operations, 3 input operands 171667c64d83SQiu Chaofandef : InstRW<[P10W_PM_4C, P10W_DISP_ANY, P10PM_Read, P10PM_Read, P10PM_Read], 171767c64d83SQiu Chaofan (instrs 171867c64d83SQiu Chaofan VEXTDDVLX, 171967c64d83SQiu Chaofan VEXTDDVRX, 172067c64d83SQiu Chaofan VEXTDUBVLX, 172167c64d83SQiu Chaofan VEXTDUBVRX, 172267c64d83SQiu Chaofan VEXTDUHVLX, 172367c64d83SQiu Chaofan VEXTDUHVRX, 172467c64d83SQiu Chaofan VEXTDUWVLX, 172567c64d83SQiu Chaofan VEXTDUWVRX, 172667c64d83SQiu Chaofan VINSBLX, 172767c64d83SQiu Chaofan VINSBRX, 172867c64d83SQiu Chaofan VINSBVLX, 172967c64d83SQiu Chaofan VINSBVRX, 173067c64d83SQiu Chaofan VINSDLX, 173167c64d83SQiu Chaofan VINSDRX, 173267c64d83SQiu Chaofan VINSHLX, 173367c64d83SQiu Chaofan VINSHRX, 173467c64d83SQiu Chaofan VINSHVLX, 173567c64d83SQiu Chaofan VINSHVRX, 173667c64d83SQiu Chaofan VINSWLX, 173767c64d83SQiu Chaofan VINSWRX, 173867c64d83SQiu Chaofan VINSWVLX, 173967c64d83SQiu Chaofan VINSWVRX, 174067c64d83SQiu Chaofan VPERM, 174167c64d83SQiu Chaofan VPERMR, 174267c64d83SQiu Chaofan VPERMXOR, 1743bfde3bddSLei Huang XXPERM, 1744bfde3bddSLei Huang XXPERMR 174567c64d83SQiu Chaofan)>; 174667c64d83SQiu Chaofan 174767c64d83SQiu Chaofan// 2-way crack instructions 174867c64d83SQiu Chaofan// 4 Cycles Permute operations, and 7 Cycles VMX Multiply operations, 2 input operands 174967c64d83SQiu Chaofandef : InstRW<[P10W_PM_4C, P10W_DISP_EVEN, P10W_vMU_7C, P10W_DISP_ANY], 175067c64d83SQiu Chaofan (instrs 175167c64d83SQiu Chaofan VSUMSWS 175267c64d83SQiu Chaofan)>; 175367c64d83SQiu Chaofan 1754a2b5117dSQiu Chaofan// 4 Cycles Permute operations, 0 input operands 1755a2b5117dSQiu Chaofandef : InstRW<[P10W_PM_4C, P10W_DISP_PAIR], 175667c64d83SQiu Chaofan (instrs 175767c64d83SQiu Chaofan XXSPLTIDP, 175867c64d83SQiu Chaofan XXSPLTIW 175967c64d83SQiu Chaofan)>; 176067c64d83SQiu Chaofan 1761a2b5117dSQiu Chaofan// 4 Cycles Permute operations, 1 input operands 1762a2b5117dSQiu Chaofandef : InstRW<[P10W_PM_4C, P10W_DISP_PAIR, P10PM_Read], 1763a2b5117dSQiu Chaofan (instrs 1764a2b5117dSQiu Chaofan XXSPLTI32DX 1765a2b5117dSQiu Chaofan)>; 1766a2b5117dSQiu Chaofan 176767c64d83SQiu Chaofan// 4 Cycles Permute operations, 3 input operands 176867c64d83SQiu Chaofandef : InstRW<[P10W_PM_4C, P10W_DISP_PAIR, P10PM_Read, P10PM_Read, P10PM_Read], 176967c64d83SQiu Chaofan (instrs 177067c64d83SQiu Chaofan XXBLENDVB, 177167c64d83SQiu Chaofan XXBLENDVD, 177267c64d83SQiu Chaofan XXBLENDVH, 177367c64d83SQiu Chaofan XXBLENDVW, 177467c64d83SQiu Chaofan XXEVAL, 177567c64d83SQiu Chaofan XXPERMX 177667c64d83SQiu Chaofan)>; 177767c64d83SQiu Chaofan 177867c64d83SQiu Chaofan// 3 Cycles Store operations, 1 input operands 177967c64d83SQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_ANY, P10ST_Read], 178067c64d83SQiu Chaofan (instrs 1781a2b5117dSQiu Chaofan PSTXVP, PSTXVPpc, 1782a2b5117dSQiu Chaofan STB, STB8, 1783a2b5117dSQiu Chaofan STBU, STBU8, 1784a2b5117dSQiu Chaofan SPILLTOVSR_ST, STD, 1785a2b5117dSQiu Chaofan STDU, 1786a2b5117dSQiu Chaofan DFSTOREf32, DFSTOREf64, STFD, 1787a2b5117dSQiu Chaofan STFDU, 1788a2b5117dSQiu Chaofan STFS, 1789a2b5117dSQiu Chaofan STFSU, 1790a2b5117dSQiu Chaofan STH, STH8, 1791a2b5117dSQiu Chaofan STHU, STHU8, 1792a2b5117dSQiu Chaofan STW, STW8, 1793a2b5117dSQiu Chaofan STWU, STWU8, 1794a2b5117dSQiu Chaofan STXSD, 1795a2b5117dSQiu Chaofan STXSSP, 1796a2b5117dSQiu Chaofan STXV 179767c64d83SQiu Chaofan)>; 179867c64d83SQiu Chaofan 179967c64d83SQiu Chaofan// 3 Cycles Store operations, 2 input operands 180067c64d83SQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_ANY, P10ST_Read, P10ST_Read], 180167c64d83SQiu Chaofan (instrs 1802a2b5117dSQiu Chaofan CP_COPY, CP_COPY8, 180367c64d83SQiu Chaofan DCBF, 1804a2b5117dSQiu Chaofan DCBST, 1805a2b5117dSQiu Chaofan DCBZ, 1806a2b5117dSQiu Chaofan ICBI, 1807a2b5117dSQiu Chaofan STXVL, 1808a2b5117dSQiu Chaofan STXVLL 1809a2b5117dSQiu Chaofan)>; 1810a2b5117dSQiu Chaofan 1811a2b5117dSQiu Chaofan// 3 Cycles Store operations, 3 input operands 1812a2b5117dSQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_ANY, P10ST_Read, P10ST_Read, P10ST_Read], 1813a2b5117dSQiu Chaofan (instrs 181467c64d83SQiu Chaofan STBUX, STBUX8, 1815a2b5117dSQiu Chaofan STBX, STBX8, STBXTLS, STBXTLS_, STBXTLS_32, 181667c64d83SQiu Chaofan STDBRX, 181767c64d83SQiu Chaofan STDUX, 1818a2b5117dSQiu Chaofan SPILLTOVSR_STX, STDX, STDXTLS, STDXTLS_, 181967c64d83SQiu Chaofan STFDUX, 1820a2b5117dSQiu Chaofan STFDX, STFDXTLS, STFDXTLS_, 182167c64d83SQiu Chaofan STFIWX, STIWX, 182267c64d83SQiu Chaofan STFSUX, 1823a2b5117dSQiu Chaofan STFSX, STFSXTLS, STFSXTLS_, 182467c64d83SQiu Chaofan STHBRX, 182567c64d83SQiu Chaofan STHUX, STHUX8, 1826a2b5117dSQiu Chaofan STHX, STHX8, STHXTLS, STHXTLS_, STHXTLS_32, 182767c64d83SQiu Chaofan STVEBX, 182867c64d83SQiu Chaofan STVEHX, 182967c64d83SQiu Chaofan STVEWX, 183067c64d83SQiu Chaofan STVX, 183167c64d83SQiu Chaofan STVXL, 183267c64d83SQiu Chaofan STWBRX, 183367c64d83SQiu Chaofan STWUX, STWUX8, 1834a2b5117dSQiu Chaofan STWX, STWX8, STWXTLS, STWXTLS_, STWXTLS_32, 183567c64d83SQiu Chaofan STXSDX, 183667c64d83SQiu Chaofan STXSIBX, STXSIBXv, 183767c64d83SQiu Chaofan STXSIHX, STXSIHXv, 183867c64d83SQiu Chaofan STXSIWX, 183967c64d83SQiu Chaofan STXSSPX, 184067c64d83SQiu Chaofan STXVB16X, 184167c64d83SQiu Chaofan STXVD2X, 184267c64d83SQiu Chaofan STXVH8X, 184367c64d83SQiu Chaofan STXVRBX, 184467c64d83SQiu Chaofan STXVRDX, 184567c64d83SQiu Chaofan STXVRHX, 184667c64d83SQiu Chaofan STXVRWX, 184767c64d83SQiu Chaofan STXVW4X, 184867c64d83SQiu Chaofan STXVX 184967c64d83SQiu Chaofan)>; 185067c64d83SQiu Chaofan 185167c64d83SQiu Chaofan// Single crack instructions 185267c64d83SQiu Chaofan// 3 Cycles Store operations, 0 input operands 185367c64d83SQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_DISP_ANY], 185467c64d83SQiu Chaofan (instrs 185567c64d83SQiu Chaofan EnforceIEIO, 185667c64d83SQiu Chaofan MSGSYNC, 185767c64d83SQiu Chaofan SLBSYNC, 185867c64d83SQiu Chaofan TLBSYNC 185967c64d83SQiu Chaofan)>; 186067c64d83SQiu Chaofan 186167c64d83SQiu Chaofan// Single crack instructions 186267c64d83SQiu Chaofan// 3 Cycles Store operations, 2 input operands 186367c64d83SQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10ST_Read, P10ST_Read], 186467c64d83SQiu Chaofan (instrs 1865a2b5117dSQiu Chaofan CP_PASTE8_rec, CP_PASTE_rec, 186667c64d83SQiu Chaofan SLBIEG, 186767c64d83SQiu Chaofan TLBIE 186867c64d83SQiu Chaofan)>; 186967c64d83SQiu Chaofan 187067c64d83SQiu Chaofan// Single crack instructions 187167c64d83SQiu Chaofan// 3 Cycles Store operations, 3 input operands 187267c64d83SQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10ST_Read, P10ST_Read, P10ST_Read], 187367c64d83SQiu Chaofan (instrs 187467c64d83SQiu Chaofan STBCIX, 1875a2b5117dSQiu Chaofan STBCX, 187667c64d83SQiu Chaofan STDCIX, 1877a2b5117dSQiu Chaofan STDCX, 187867c64d83SQiu Chaofan STHCIX, 1879a2b5117dSQiu Chaofan STHCX, 1880a2b5117dSQiu Chaofan STWCIX, 1881a2b5117dSQiu Chaofan STWCX 188267c64d83SQiu Chaofan)>; 188367c64d83SQiu Chaofan 188467c64d83SQiu Chaofan// 2-way crack instructions 188567c64d83SQiu Chaofan// 3 Cycles Store operations, and 3 Cycles ALU operations, 0 input operands 188667c64d83SQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 188767c64d83SQiu Chaofan (instrs 1888a2b5117dSQiu Chaofan ISYNC, 1889ea8b95d0SStefan Pintilie SYNCP10, 189067c64d83SQiu Chaofan SYNC 189167c64d83SQiu Chaofan)>; 189267c64d83SQiu Chaofan 189367c64d83SQiu Chaofan// Expand instructions 1894a2b5117dSQiu Chaofan// 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 operands 189567c64d83SQiu Chaofandef : 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], 189667c64d83SQiu Chaofan (instrs 189767c64d83SQiu Chaofan LDAT, 189867c64d83SQiu Chaofan LWAT 189967c64d83SQiu Chaofan)>; 190067c64d83SQiu Chaofan 190167c64d83SQiu Chaofan// 4-way crack instructions 1902a2b5117dSQiu Chaofan// 3 Cycles Store operations, 3 Cycles ALU operations, 3 Cycles Store operations, and 3 Cycles Store operations, 2 input operands 190367c64d83SQiu Chaofandef : 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], 190467c64d83SQiu Chaofan (instrs 190567c64d83SQiu Chaofan STDAT, 190667c64d83SQiu Chaofan STWAT 190767c64d83SQiu Chaofan)>; 190867c64d83SQiu Chaofan 190967c64d83SQiu Chaofan// Expand instructions 1910a2b5117dSQiu Chaofan// 3 Cycles Store operations, 3 Cycles Store operations, 3 Cycles Store operations, and 3 Cycles Store operations, 1 input operands 1911a2b5117dSQiu Chaofandef : 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], 191267c64d83SQiu Chaofan (instrs 191367c64d83SQiu Chaofan STMW 191467c64d83SQiu Chaofan)>; 191567c64d83SQiu Chaofan 191667c64d83SQiu Chaofan// Expand instructions 1917a2b5117dSQiu Chaofan// 3 Cycles Store operations, 3 Cycles Store operations, 3 Cycles Store operations, and 3 Cycles Store operations, 2 input operands 1918a2b5117dSQiu Chaofandef : 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], 191967c64d83SQiu Chaofan (instrs 192067c64d83SQiu Chaofan STSWI 192167c64d83SQiu Chaofan)>; 192267c64d83SQiu Chaofan 1923a2b5117dSQiu Chaofan// 3 Cycles Store operations, 1 input operands 1924a2b5117dSQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_PAIR, P10ST_Read], 192567c64d83SQiu Chaofan (instrs 192667c64d83SQiu Chaofan PSTB, PSTB8, PSTB8pc, PSTBpc, 192767c64d83SQiu Chaofan PSTD, PSTDpc, 192867c64d83SQiu Chaofan PSTFD, PSTFDpc, 192967c64d83SQiu Chaofan PSTFS, PSTFSpc, 193067c64d83SQiu Chaofan PSTH, PSTH8, PSTH8pc, PSTHpc, 193167c64d83SQiu Chaofan PSTW, PSTW8, PSTW8pc, PSTWpc, 193267c64d83SQiu Chaofan PSTXSD, PSTXSDpc, 193367c64d83SQiu Chaofan PSTXSSP, PSTXSSPpc, 193467c64d83SQiu Chaofan PSTXV, PSTXVpc 193567c64d83SQiu Chaofan)>; 193667c64d83SQiu Chaofan 193767c64d83SQiu Chaofan// 2-way crack instructions 1938a2b5117dSQiu Chaofan// 3 Cycles Store operations, and 3 Cycles Store operations, 1 input operands 1939a2b5117dSQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_PAIR, P10W_ST_3C, P10ST_Read], 194067c64d83SQiu Chaofan (instrs 1941a2b5117dSQiu Chaofan STXVP 1942a2b5117dSQiu Chaofan)>; 1943a2b5117dSQiu Chaofan 1944a2b5117dSQiu Chaofan// 2-way crack instructions 1945a2b5117dSQiu Chaofan// 3 Cycles Store operations, and 3 Cycles Store operations, 3 input operands 1946a2b5117dSQiu Chaofandef : InstRW<[P10W_ST_3C, P10W_DISP_PAIR, P10W_ST_3C, P10ST_Read, P10ST_Read, P10ST_Read], 1947a2b5117dSQiu Chaofan (instrs 194867c64d83SQiu Chaofan STXVPX 194967c64d83SQiu Chaofan)>; 195067c64d83SQiu Chaofan 195167c64d83SQiu Chaofan// FIXME - Miss scheduling information from datasheet 195267c64d83SQiu Chaofan// Temporary set it as 1 Cycles Simple Fixed-point (SFX) operations, 0 input operands 195367c64d83SQiu Chaofandef : InstRW<[P10W_SX, P10W_DISP_ANY], 195467c64d83SQiu Chaofan (instrs 195567c64d83SQiu Chaofan ATTN, 195667c64d83SQiu Chaofan CP_ABORT, 1957bfde3bddSLei Huang CRNOT, 195867c64d83SQiu Chaofan DCBA, 195967c64d83SQiu Chaofan DCBI, 196067c64d83SQiu Chaofan DCBZL, 196167c64d83SQiu Chaofan DCCCI, 196267c64d83SQiu Chaofan ICBLC, 196367c64d83SQiu Chaofan ICBLQ, 196467c64d83SQiu Chaofan ICBTLS, 196567c64d83SQiu Chaofan ICCCI, 1966415e821aSYousuf Ali LA, LA8, 196767c64d83SQiu Chaofan MFDCR, 196867c64d83SQiu Chaofan MFPMR, 196967c64d83SQiu Chaofan MFSRIN, 197067c64d83SQiu Chaofan MSYNC, 197167c64d83SQiu Chaofan MTDCR, 197267c64d83SQiu Chaofan MTPMR, 197367c64d83SQiu Chaofan MTSRIN, 197467c64d83SQiu Chaofan NAP, 197567c64d83SQiu Chaofan TLBIA, 197667c64d83SQiu Chaofan TLBLD, 197767c64d83SQiu Chaofan TLBLI, 197867c64d83SQiu Chaofan TLBRE2, 197967c64d83SQiu Chaofan TLBSX2, 198067c64d83SQiu Chaofan TLBSX2D, 198167c64d83SQiu Chaofan TLBWE2 198267c64d83SQiu Chaofan)>; 198367c64d83SQiu Chaofan 198467c64d83SQiu Chaofan// Single crack instructions 198567c64d83SQiu Chaofan// 3 Cycles Simple Fixed-point (SFX) operations, 0 input operands 198667c64d83SQiu Chaofandef : InstRW<[P10W_SX_3C, P10W_DISP_EVEN, P10W_DISP_ANY], 198767c64d83SQiu Chaofan (instrs 198867c64d83SQiu Chaofan CLRBHRB, 1989a2b5117dSQiu Chaofan MFBHRBE, 1990a2b5117dSQiu Chaofan MFMSR, 1991a2b5117dSQiu Chaofan MFTB 199267c64d83SQiu Chaofan)>; 199367c64d83SQiu Chaofan 199467c64d83SQiu Chaofan// Single crack instructions 199567c64d83SQiu Chaofan// 3 Cycles Simple Fixed-point (SFX) operations, 1 input operands 199667c64d83SQiu Chaofandef : InstRW<[P10W_SX_3C, P10W_DISP_EVEN, P10W_DISP_ANY, P10SX_Read], 199767c64d83SQiu Chaofan (instrs 199867c64d83SQiu Chaofan MTMSR, 199967c64d83SQiu Chaofan MTMSRD 200067c64d83SQiu Chaofan)>; 200167c64d83SQiu Chaofan 200267c64d83SQiu Chaofan// 2-way crack instructions 2003a2b5117dSQiu Chaofan// 3 Cycles Simple Fixed-point (SFX) operations, and 3 Cycles ALU operations, 0 input operands 200467c64d83SQiu Chaofandef : InstRW<[P10W_SX_3C, P10W_DISP_EVEN, P10W_FX_3C, P10W_DISP_ANY], 200567c64d83SQiu Chaofan (instrs 200667c64d83SQiu Chaofan ADDPCIS 200767c64d83SQiu Chaofan)>; 200867c64d83SQiu Chaofan 200967c64d83SQiu Chaofan// 3 Cycles Simple Fixed-point (SFX) operations, 1 input operands 201067c64d83SQiu Chaofandef : InstRW<[P10W_SX_3C, P10W_DISP_PAIR, P10SX_Read], 201167c64d83SQiu Chaofan (instrs 201267c64d83SQiu Chaofan PADDI, PADDI8, PADDI8pc, PADDIpc, PLI, PLI8 201367c64d83SQiu Chaofan)>; 201467c64d83SQiu Chaofan 201567c64d83SQiu Chaofan// 7 Cycles VMX Multiply operations, 2 input operands 201667c64d83SQiu Chaofandef : InstRW<[P10W_vMU_7C, P10W_DISP_ANY, P10vMU_Read, P10vMU_Read], 201767c64d83SQiu Chaofan (instrs 201867c64d83SQiu Chaofan VMULESB, 201967c64d83SQiu Chaofan VMULESD, 202067c64d83SQiu Chaofan VMULESH, 202167c64d83SQiu Chaofan VMULESW, 202267c64d83SQiu Chaofan VMULEUB, 202367c64d83SQiu Chaofan VMULEUD, 202467c64d83SQiu Chaofan VMULEUH, 202567c64d83SQiu Chaofan VMULEUW, 202667c64d83SQiu Chaofan VMULHSW, 202767c64d83SQiu Chaofan VMULHUW, 202867c64d83SQiu Chaofan VMULOSB, 202967c64d83SQiu Chaofan VMULOSD, 203067c64d83SQiu Chaofan VMULOSH, 203167c64d83SQiu Chaofan VMULOSW, 203267c64d83SQiu Chaofan VMULOUB, 203367c64d83SQiu Chaofan VMULOUD, 203467c64d83SQiu Chaofan VMULOUH, 203567c64d83SQiu Chaofan VMULOUW, 203667c64d83SQiu Chaofan VMULUWM, 203767c64d83SQiu Chaofan VSUM2SWS, 203867c64d83SQiu Chaofan VSUM4SBS, 203967c64d83SQiu Chaofan VSUM4SHS, 204067c64d83SQiu Chaofan VSUM4UBS 204167c64d83SQiu Chaofan)>; 204267c64d83SQiu Chaofan 204367c64d83SQiu Chaofan// 7 Cycles VMX Multiply operations, 3 input operands 204467c64d83SQiu Chaofandef : InstRW<[P10W_vMU_7C, P10W_DISP_ANY, P10vMU_Read, P10vMU_Read, P10vMU_Read], 204567c64d83SQiu Chaofan (instrs 204667c64d83SQiu Chaofan VMHADDSHS, 204767c64d83SQiu Chaofan VMHRADDSHS, 204867c64d83SQiu Chaofan VMLADDUHM, 204967c64d83SQiu Chaofan VMSUMCUD, 205067c64d83SQiu Chaofan VMSUMMBM, 205167c64d83SQiu Chaofan VMSUMSHM, 205267c64d83SQiu Chaofan VMSUMSHS, 205367c64d83SQiu Chaofan VMSUMUBM, 205467c64d83SQiu Chaofan VMSUMUDM, 205567c64d83SQiu Chaofan VMSUMUHM, 205667c64d83SQiu Chaofan VMSUMUHS 205767c64d83SQiu Chaofan)>; 2058415e821aSYousuf Ali 2059