167c64d83SQiu Chaofan//===--- PPCSchedPredicates.td - PowerPC Scheduling Preds -*- 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// 1067c64d83SQiu Chaofan// This file defines scheduling predicate definitions that are used by the 1167c64d83SQiu Chaofan// PowerPC subtargets. 1267c64d83SQiu Chaofan//===----------------------------------------------------------------------===// 1367c64d83SQiu Chaofan// Identify instructions that write BF pipelines with 7 cycles. 1467c64d83SQiu Chaofandef P10W_BF_7C_Pred : MCSchedPredicate< 1567c64d83SQiu Chaofan CheckOpcode<[FADD, 1667c64d83SQiu Chaofan FADDS, 1767c64d83SQiu Chaofan FADDS_rec, 1867c64d83SQiu Chaofan FADD_rec, 1967c64d83SQiu Chaofan FCFID, 2067c64d83SQiu Chaofan FCFIDS, 2167c64d83SQiu Chaofan FCFIDS_rec, 2267c64d83SQiu Chaofan FCFIDU, 2367c64d83SQiu Chaofan FCFIDUS, 2467c64d83SQiu Chaofan FCFIDUS_rec, 2567c64d83SQiu Chaofan FCFIDU_rec, 2667c64d83SQiu Chaofan FCFID_rec, 2767c64d83SQiu Chaofan FCTID, 2867c64d83SQiu Chaofan FCTIDU, 2967c64d83SQiu Chaofan FCTIDUZ, 3067c64d83SQiu Chaofan FCTIDUZ_rec, 3167c64d83SQiu Chaofan FCTIDU_rec, 3267c64d83SQiu Chaofan FCTIDZ, 3367c64d83SQiu Chaofan FCTIDZ_rec, 3467c64d83SQiu Chaofan FCTID_rec, 3567c64d83SQiu Chaofan FCTIW, 3667c64d83SQiu Chaofan FCTIWU, 3767c64d83SQiu Chaofan FCTIWUZ, 3867c64d83SQiu Chaofan FCTIWUZ_rec, 3967c64d83SQiu Chaofan FCTIWU_rec, 4067c64d83SQiu Chaofan FCTIWZ, 4167c64d83SQiu Chaofan FCTIWZ_rec, 4267c64d83SQiu Chaofan FCTIW_rec, 4367c64d83SQiu Chaofan FMADD, 4467c64d83SQiu Chaofan FMADDS, 4567c64d83SQiu Chaofan FMADDS_rec, 4667c64d83SQiu Chaofan FMADD_rec, 4767c64d83SQiu Chaofan FMSUB, 4867c64d83SQiu Chaofan FMSUBS, 4967c64d83SQiu Chaofan FMSUBS_rec, 5067c64d83SQiu Chaofan FMSUB_rec, 5167c64d83SQiu Chaofan FMUL, 5267c64d83SQiu Chaofan FMULS, 5367c64d83SQiu Chaofan FMULS_rec, 5467c64d83SQiu Chaofan FMUL_rec, 5567c64d83SQiu Chaofan FNMADD, 5667c64d83SQiu Chaofan FNMADDS, 5767c64d83SQiu Chaofan FNMADDS_rec, 5867c64d83SQiu Chaofan FNMADD_rec, 5967c64d83SQiu Chaofan FNMSUB, 6067c64d83SQiu Chaofan FNMSUBS, 6167c64d83SQiu Chaofan FNMSUBS_rec, 6267c64d83SQiu Chaofan FNMSUB_rec, 6367c64d83SQiu Chaofan FRE, 6467c64d83SQiu Chaofan FRES, 6567c64d83SQiu Chaofan FRES_rec, 6667c64d83SQiu Chaofan FRE_rec, 6767c64d83SQiu Chaofan FRIMD, FRIMS, 6867c64d83SQiu Chaofan FRIMD_rec, FRIMS_rec, 6967c64d83SQiu Chaofan FRIND, FRINS, 7067c64d83SQiu Chaofan FRIND_rec, FRINS_rec, 7167c64d83SQiu Chaofan FRIPD, FRIPS, 7267c64d83SQiu Chaofan FRIPD_rec, FRIPS_rec, 7367c64d83SQiu Chaofan FRIZD, FRIZS, 7467c64d83SQiu Chaofan FRIZD_rec, FRIZS_rec, 7567c64d83SQiu Chaofan FRSP, 7667c64d83SQiu Chaofan FRSP_rec, 7767c64d83SQiu Chaofan FRSQRTE, 7867c64d83SQiu Chaofan FRSQRTES, 7967c64d83SQiu Chaofan FRSQRTES_rec, 8067c64d83SQiu Chaofan FRSQRTE_rec, 8167c64d83SQiu Chaofan FSELD, FSELS, 8267c64d83SQiu Chaofan FSELD_rec, FSELS_rec, 8367c64d83SQiu Chaofan FSUB, 8467c64d83SQiu Chaofan FSUBS, 8567c64d83SQiu Chaofan FSUBS_rec, 8667c64d83SQiu Chaofan FSUB_rec, 8767c64d83SQiu Chaofan VADDFP, 8867c64d83SQiu Chaofan VCFSX, VCFSX_0, 8967c64d83SQiu Chaofan VCFUX, VCFUX_0, 9067c64d83SQiu Chaofan VCTSXS, VCTSXS_0, 9167c64d83SQiu Chaofan VCTUXS, VCTUXS_0, 9267c64d83SQiu Chaofan VEXPTEFP, 9367c64d83SQiu Chaofan VEXPTEFP, 9467c64d83SQiu Chaofan VLOGEFP, 9567c64d83SQiu Chaofan VMADDFP, 9667c64d83SQiu Chaofan VNMSUBFP, 9767c64d83SQiu Chaofan VREFP, 9867c64d83SQiu Chaofan VRFIM, 9967c64d83SQiu Chaofan VRFIN, 10067c64d83SQiu Chaofan VRFIP, 10167c64d83SQiu Chaofan VRFIZ, 10267c64d83SQiu Chaofan VRSQRTEFP, 10367c64d83SQiu Chaofan VSUBFP, 10467c64d83SQiu Chaofan XSADDDP, 10567c64d83SQiu Chaofan XSADDSP, 10667c64d83SQiu Chaofan XSCVDPHP, 10767c64d83SQiu Chaofan XSCVDPSP, 10867c64d83SQiu Chaofan XSCVDPSPN, 10967c64d83SQiu Chaofan XSCVDPSXDS, XSCVDPSXDSs, 11067c64d83SQiu Chaofan XSCVDPSXWS, XSCVDPSXWSs, 11167c64d83SQiu Chaofan XSCVDPUXDS, XSCVDPUXDSs, 11267c64d83SQiu Chaofan XSCVDPUXWS, XSCVDPUXWSs, 11367c64d83SQiu Chaofan XSCVSPDP, 11467c64d83SQiu Chaofan XSCVSXDDP, 11567c64d83SQiu Chaofan XSCVSXDSP, 11667c64d83SQiu Chaofan XSCVUXDDP, 11767c64d83SQiu Chaofan XSCVUXDSP, 11867c64d83SQiu Chaofan XSMADDADP, 11967c64d83SQiu Chaofan XSMADDASP, 12067c64d83SQiu Chaofan XSMADDMDP, 12167c64d83SQiu Chaofan XSMADDMSP, 12267c64d83SQiu Chaofan XSMSUBADP, 12367c64d83SQiu Chaofan XSMSUBASP, 12467c64d83SQiu Chaofan XSMSUBMDP, 12567c64d83SQiu Chaofan XSMSUBMSP, 12667c64d83SQiu Chaofan XSMULDP, 12767c64d83SQiu Chaofan XSMULSP, 12867c64d83SQiu Chaofan XSNMADDADP, 12967c64d83SQiu Chaofan XSNMADDASP, 13067c64d83SQiu Chaofan XSNMADDMDP, 13167c64d83SQiu Chaofan XSNMADDMSP, 13267c64d83SQiu Chaofan XSNMSUBADP, 13367c64d83SQiu Chaofan XSNMSUBASP, 13467c64d83SQiu Chaofan XSNMSUBMDP, 13567c64d83SQiu Chaofan XSNMSUBMSP, 13667c64d83SQiu Chaofan XSRDPI, 13767c64d83SQiu Chaofan XSRDPIC, 13867c64d83SQiu Chaofan XSRDPIM, 13967c64d83SQiu Chaofan XSRDPIP, 14067c64d83SQiu Chaofan XSRDPIZ, 14167c64d83SQiu Chaofan XSREDP, 14267c64d83SQiu Chaofan XSRESP, 14367c64d83SQiu Chaofan XSRSP, 14467c64d83SQiu Chaofan XSRSQRTEDP, 14567c64d83SQiu Chaofan XSRSQRTESP, 14667c64d83SQiu Chaofan XSSUBDP, 14767c64d83SQiu Chaofan XSSUBSP, 14867c64d83SQiu Chaofan XVADDDP, 14967c64d83SQiu Chaofan XVADDSP, 15067c64d83SQiu Chaofan XVCVDPSP, 15167c64d83SQiu Chaofan XVCVDPSXDS, 15267c64d83SQiu Chaofan XVCVDPSXWS, 15367c64d83SQiu Chaofan XVCVDPUXDS, 15467c64d83SQiu Chaofan XVCVDPUXWS, 15567c64d83SQiu Chaofan XVCVSPBF16, 15667c64d83SQiu Chaofan XVCVSPDP, 15767c64d83SQiu Chaofan XVCVSPHP, 15867c64d83SQiu Chaofan XVCVSPSXDS, 15967c64d83SQiu Chaofan XVCVSPSXWS, 16067c64d83SQiu Chaofan XVCVSPUXDS, 16167c64d83SQiu Chaofan XVCVSPUXWS, 16267c64d83SQiu Chaofan XVCVSXDDP, 16367c64d83SQiu Chaofan XVCVSXDSP, 16467c64d83SQiu Chaofan XVCVSXWDP, 16567c64d83SQiu Chaofan XVCVSXWSP, 16667c64d83SQiu Chaofan XVCVUXDDP, 16767c64d83SQiu Chaofan XVCVUXDSP, 16867c64d83SQiu Chaofan XVCVUXWDP, 16967c64d83SQiu Chaofan XVCVUXWSP, 17067c64d83SQiu Chaofan XVMADDADP, 17167c64d83SQiu Chaofan XVMADDASP, 17267c64d83SQiu Chaofan XVMADDMDP, 17367c64d83SQiu Chaofan XVMADDMSP, 17467c64d83SQiu Chaofan XVMSUBADP, 17567c64d83SQiu Chaofan XVMSUBASP, 17667c64d83SQiu Chaofan XVMSUBMDP, 17767c64d83SQiu Chaofan XVMSUBMSP, 17867c64d83SQiu Chaofan XVMULDP, 17967c64d83SQiu Chaofan XVMULSP, 18067c64d83SQiu Chaofan XVNMADDADP, 18167c64d83SQiu Chaofan XVNMADDASP, 18267c64d83SQiu Chaofan XVNMADDMDP, 18367c64d83SQiu Chaofan XVNMADDMSP, 18467c64d83SQiu Chaofan XVNMSUBADP, 18567c64d83SQiu Chaofan XVNMSUBASP, 18667c64d83SQiu Chaofan XVNMSUBMDP, 18767c64d83SQiu Chaofan XVNMSUBMSP, 18867c64d83SQiu Chaofan XVRDPI, 18967c64d83SQiu Chaofan XVRDPIC, 19067c64d83SQiu Chaofan XVRDPIM, 19167c64d83SQiu Chaofan XVRDPIP, 19267c64d83SQiu Chaofan XVRDPIZ, 19367c64d83SQiu Chaofan XVREDP, 19467c64d83SQiu Chaofan XVRESP, 19567c64d83SQiu Chaofan XVRSPI, 19667c64d83SQiu Chaofan XVRSPIC, 19767c64d83SQiu Chaofan XVRSPIM, 19867c64d83SQiu Chaofan XVRSPIP, 19967c64d83SQiu Chaofan XVRSPIZ, 20067c64d83SQiu Chaofan XVRSQRTEDP, 20167c64d83SQiu Chaofan XVRSQRTESP, 20267c64d83SQiu Chaofan XVSUBDP, 20367c64d83SQiu Chaofan XVSUBSP]> 20467c64d83SQiu Chaofan>; 20567c64d83SQiu Chaofan 20667c64d83SQiu Chaofan// Identify instructions that write CY pipelines with 7 cycles. 20767c64d83SQiu Chaofandef P10W_CY_7C_Pred : MCSchedPredicate< 20867c64d83SQiu Chaofan CheckOpcode<[CFUGED, 20967c64d83SQiu Chaofan CNTLZDM, 21067c64d83SQiu Chaofan CNTTZDM, 21167c64d83SQiu Chaofan PDEPD, 21267c64d83SQiu Chaofan PEXTD, 21367c64d83SQiu Chaofan VCFUGED, 21467c64d83SQiu Chaofan VCIPHER, 21567c64d83SQiu Chaofan VCIPHERLAST, 21667c64d83SQiu Chaofan VCLZDM, 21767c64d83SQiu Chaofan VCTZDM, 21867c64d83SQiu Chaofan VGNB, 21967c64d83SQiu Chaofan VNCIPHER, 22067c64d83SQiu Chaofan VNCIPHERLAST, 22167c64d83SQiu Chaofan VPDEPD, 22267c64d83SQiu Chaofan VPEXTD, 22367c64d83SQiu Chaofan VPMSUMB, 22467c64d83SQiu Chaofan VPMSUMD, 22567c64d83SQiu Chaofan VPMSUMH, 22667c64d83SQiu Chaofan VPMSUMW, 22767c64d83SQiu Chaofan VSBOX]> 22867c64d83SQiu Chaofan>; 22967c64d83SQiu Chaofan 23067c64d83SQiu Chaofan// Identify instructions that write MM pipelines with 10 cycles. 23167c64d83SQiu Chaofandef P10W_MM_10C_Pred : MCSchedPredicate< 23267c64d83SQiu Chaofan CheckOpcode<[PMXVBF16GER2, 23367c64d83SQiu Chaofan PMXVBF16GER2NN, 23467c64d83SQiu Chaofan PMXVBF16GER2NP, 23567c64d83SQiu Chaofan PMXVBF16GER2PN, 23667c64d83SQiu Chaofan PMXVBF16GER2PP, 23767c64d83SQiu Chaofan PMXVF16GER2, 23867c64d83SQiu Chaofan PMXVF16GER2NN, 23967c64d83SQiu Chaofan PMXVF16GER2NP, 24067c64d83SQiu Chaofan PMXVF16GER2PN, 24167c64d83SQiu Chaofan PMXVF16GER2PP, 24267c64d83SQiu Chaofan PMXVF32GER, 24367c64d83SQiu Chaofan PMXVF32GERNN, 24467c64d83SQiu Chaofan PMXVF32GERNP, 24567c64d83SQiu Chaofan PMXVF32GERPN, 24667c64d83SQiu Chaofan PMXVF32GERPP, 24767c64d83SQiu Chaofan PMXVF64GER, 24867c64d83SQiu Chaofan PMXVF64GERNN, 24967c64d83SQiu Chaofan PMXVF64GERNP, 25067c64d83SQiu Chaofan PMXVF64GERPN, 25167c64d83SQiu Chaofan PMXVF64GERPP, 25267c64d83SQiu Chaofan PMXVI16GER2, 25367c64d83SQiu Chaofan PMXVI16GER2PP, 25467c64d83SQiu Chaofan PMXVI16GER2S, 25567c64d83SQiu Chaofan PMXVI16GER2SPP, 25667c64d83SQiu Chaofan PMXVI4GER8, 25767c64d83SQiu Chaofan PMXVI4GER8PP, 25867c64d83SQiu Chaofan PMXVI8GER4, 25967c64d83SQiu Chaofan PMXVI8GER4PP, 26067c64d83SQiu Chaofan PMXVI8GER4SPP, 26167c64d83SQiu Chaofan XVBF16GER2, 26267c64d83SQiu Chaofan XVBF16GER2NN, 26367c64d83SQiu Chaofan XVBF16GER2NP, 26467c64d83SQiu Chaofan XVBF16GER2PN, 26567c64d83SQiu Chaofan XVBF16GER2PP, 26667c64d83SQiu Chaofan XVF16GER2, 26767c64d83SQiu Chaofan XVF16GER2NN, 26867c64d83SQiu Chaofan XVF16GER2NP, 26967c64d83SQiu Chaofan XVF16GER2PN, 27067c64d83SQiu Chaofan XVF16GER2PP, 27167c64d83SQiu Chaofan XVF32GER, 27267c64d83SQiu Chaofan XVF32GERNN, 27367c64d83SQiu Chaofan XVF32GERNP, 27467c64d83SQiu Chaofan XVF32GERPN, 27567c64d83SQiu Chaofan XVF32GERPP, 27667c64d83SQiu Chaofan XVF64GER, 27767c64d83SQiu Chaofan XVF64GERNN, 27867c64d83SQiu Chaofan XVF64GERNP, 27967c64d83SQiu Chaofan XVF64GERPN, 28067c64d83SQiu Chaofan XVF64GERPP, 28167c64d83SQiu Chaofan XVI16GER2, 28267c64d83SQiu Chaofan XVI16GER2PP, 28367c64d83SQiu Chaofan XVI16GER2S, 28467c64d83SQiu Chaofan XVI16GER2SPP, 28567c64d83SQiu Chaofan XVI4GER8, 28667c64d83SQiu Chaofan XVI4GER8PP, 28767c64d83SQiu Chaofan XVI8GER4, 28867c64d83SQiu Chaofan XVI8GER4PP, 28967c64d83SQiu Chaofan XVI8GER4SPP, 29067c64d83SQiu Chaofan XXMFACC, 29167c64d83SQiu Chaofan XXMFACC, 29267c64d83SQiu Chaofan XXMTACC, 29367c64d83SQiu Chaofan XXSETACCZ]> 29467c64d83SQiu Chaofan>; 295*bfde3bddSLei Huang 296