| //===--- PPCSchedPredicates.td - PowerPC Scheduling Preds -*- tablegen -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // Automatically generated file, do not edit! |
| // |
| // This file defines scheduling predicate definitions that are used by the |
| // PowerPC subtargets. |
| //===----------------------------------------------------------------------===// |
| // Identify instructions that write BF pipelines with 7 cycles. |
| def P10W_BF_7C_Pred : MCSchedPredicate< |
| CheckOpcode<[FADD, |
| FADDS, |
| FADDS_rec, |
| FADD_rec, |
| FCFID, |
| FCFIDS, |
| FCFIDS_rec, |
| FCFIDU, |
| FCFIDUS, |
| FCFIDUS_rec, |
| FCFIDU_rec, |
| FCFID_rec, |
| FCTID, |
| FCTIDU, |
| FCTIDUZ, |
| FCTIDUZ_rec, |
| FCTIDU_rec, |
| FCTIDZ, |
| FCTIDZ_rec, |
| FCTID_rec, |
| FCTIW, |
| FCTIWU, |
| FCTIWUZ, |
| FCTIWUZ_rec, |
| FCTIWU_rec, |
| FCTIWZ, |
| FCTIWZ_rec, |
| FCTIW_rec, |
| FMADD, |
| FMADDS, |
| FMADDS_rec, |
| FMADD_rec, |
| FMSUB, |
| FMSUBS, |
| FMSUBS_rec, |
| FMSUB_rec, |
| FMUL, |
| FMULS, |
| FMULS_rec, |
| FMUL_rec, |
| FNMADD, |
| FNMADDS, |
| FNMADDS_rec, |
| FNMADD_rec, |
| FNMSUB, |
| FNMSUBS, |
| FNMSUBS_rec, |
| FNMSUB_rec, |
| FRE, |
| FRES, |
| FRES_rec, |
| FRE_rec, |
| FRIMD, FRIMS, |
| FRIMD_rec, FRIMS_rec, |
| FRIND, FRINS, |
| FRIND_rec, FRINS_rec, |
| FRIPD, FRIPS, |
| FRIPD_rec, FRIPS_rec, |
| FRIZD, FRIZS, |
| FRIZD_rec, FRIZS_rec, |
| FRSP, |
| FRSP_rec, |
| FRSQRTE, |
| FRSQRTES, |
| FRSQRTES_rec, |
| FRSQRTE_rec, |
| FSELD, FSELS, |
| FSELD_rec, FSELS_rec, |
| FSUB, |
| FSUBS, |
| FSUBS_rec, |
| FSUB_rec, |
| VADDFP, |
| VCFSX, VCFSX_0, |
| VCFUX, VCFUX_0, |
| VCTSXS, VCTSXS_0, |
| VCTUXS, VCTUXS_0, |
| VEXPTEFP, |
| VEXPTEFP, |
| VLOGEFP, |
| VMADDFP, |
| VNMSUBFP, |
| VREFP, |
| VRFIM, |
| VRFIN, |
| VRFIP, |
| VRFIZ, |
| VRSQRTEFP, |
| VSUBFP, |
| XSADDDP, |
| XSADDSP, |
| XSCVDPHP, |
| XSCVDPSP, |
| XSCVDPSPN, |
| XSCVDPSXDS, XSCVDPSXDSs, |
| XSCVDPSXWS, XSCVDPSXWSs, |
| XSCVDPUXDS, XSCVDPUXDSs, |
| XSCVDPUXWS, XSCVDPUXWSs, |
| XSCVSPDP, |
| XSCVSXDDP, |
| XSCVSXDSP, |
| XSCVUXDDP, |
| XSCVUXDSP, |
| XSMADDADP, |
| XSMADDASP, |
| XSMADDMDP, |
| XSMADDMSP, |
| XSMSUBADP, |
| XSMSUBASP, |
| XSMSUBMDP, |
| XSMSUBMSP, |
| XSMULDP, |
| XSMULSP, |
| XSNMADDADP, |
| XSNMADDASP, |
| XSNMADDMDP, |
| XSNMADDMSP, |
| XSNMSUBADP, |
| XSNMSUBASP, |
| XSNMSUBMDP, |
| XSNMSUBMSP, |
| XSRDPI, |
| XSRDPIC, |
| XSRDPIM, |
| XSRDPIP, |
| XSRDPIZ, |
| XSREDP, |
| XSRESP, |
| XSRSP, |
| XSRSQRTEDP, |
| XSRSQRTESP, |
| XSSUBDP, |
| XSSUBSP, |
| XVADDDP, |
| XVADDSP, |
| XVCVDPSP, |
| XVCVDPSXDS, |
| XVCVDPSXWS, |
| XVCVDPUXDS, |
| XVCVDPUXWS, |
| XVCVSPBF16, |
| XVCVSPDP, |
| XVCVSPHP, |
| XVCVSPSXDS, |
| XVCVSPSXWS, |
| XVCVSPUXDS, |
| XVCVSPUXWS, |
| XVCVSXDDP, |
| XVCVSXDSP, |
| XVCVSXWDP, |
| XVCVSXWSP, |
| XVCVUXDDP, |
| XVCVUXDSP, |
| XVCVUXWDP, |
| XVCVUXWSP, |
| XVMADDADP, |
| XVMADDASP, |
| XVMADDMDP, |
| XVMADDMSP, |
| XVMSUBADP, |
| XVMSUBASP, |
| XVMSUBMDP, |
| XVMSUBMSP, |
| XVMULDP, |
| XVMULSP, |
| XVNMADDADP, |
| XVNMADDASP, |
| XVNMADDMDP, |
| XVNMADDMSP, |
| XVNMSUBADP, |
| XVNMSUBASP, |
| XVNMSUBMDP, |
| XVNMSUBMSP, |
| XVRDPI, |
| XVRDPIC, |
| XVRDPIM, |
| XVRDPIP, |
| XVRDPIZ, |
| XVREDP, |
| XVRESP, |
| XVRSPI, |
| XVRSPIC, |
| XVRSPIM, |
| XVRSPIP, |
| XVRSPIZ, |
| XVRSQRTEDP, |
| XVRSQRTESP, |
| XVSUBDP, |
| XVSUBSP]> |
| >; |
| |
| // Identify instructions that write CY pipelines with 7 cycles. |
| def P10W_CY_7C_Pred : MCSchedPredicate< |
| CheckOpcode<[CFUGED, |
| CNTLZDM, |
| CNTTZDM, |
| PDEPD, |
| PEXTD, |
| VCFUGED, |
| VCIPHER, |
| VCIPHERLAST, |
| VCLZDM, |
| VCTZDM, |
| VGNB, |
| VNCIPHER, |
| VNCIPHERLAST, |
| VPDEPD, |
| VPEXTD, |
| VPMSUMB, |
| VPMSUMD, |
| VPMSUMH, |
| VPMSUMW, |
| VSBOX]> |
| >; |
| |
| // Identify instructions that write MM pipelines with 10 cycles. |
| def P10W_MM_10C_Pred : MCSchedPredicate< |
| CheckOpcode<[PMXVBF16GER2, |
| PMXVBF16GER2NN, |
| PMXVBF16GER2NP, |
| PMXVBF16GER2PN, |
| PMXVBF16GER2PP, |
| PMXVF16GER2, |
| PMXVF16GER2NN, |
| PMXVF16GER2NP, |
| PMXVF16GER2PN, |
| PMXVF16GER2PP, |
| PMXVF32GER, |
| PMXVF32GERNN, |
| PMXVF32GERNP, |
| PMXVF32GERPN, |
| PMXVF32GERPP, |
| PMXVF64GER, |
| PMXVF64GERNN, |
| PMXVF64GERNP, |
| PMXVF64GERPN, |
| PMXVF64GERPP, |
| PMXVI16GER2, |
| PMXVI16GER2PP, |
| PMXVI16GER2S, |
| PMXVI16GER2SPP, |
| PMXVI4GER8, |
| PMXVI4GER8PP, |
| PMXVI8GER4, |
| PMXVI8GER4PP, |
| PMXVI8GER4SPP, |
| XVBF16GER2, |
| XVBF16GER2NN, |
| XVBF16GER2NP, |
| XVBF16GER2PN, |
| XVBF16GER2PP, |
| XVF16GER2, |
| XVF16GER2NN, |
| XVF16GER2NP, |
| XVF16GER2PN, |
| XVF16GER2PP, |
| XVF32GER, |
| XVF32GERNN, |
| XVF32GERNP, |
| XVF32GERPN, |
| XVF32GERPP, |
| XVF64GER, |
| XVF64GERNN, |
| XVF64GERNP, |
| XVF64GERPN, |
| XVF64GERPP, |
| XVI16GER2, |
| XVI16GER2PP, |
| XVI16GER2S, |
| XVI16GER2SPP, |
| XVI4GER8, |
| XVI4GER8PP, |
| XVI8GER4, |
| XVI8GER4PP, |
| XVI8GER4SPP, |
| XXMFACC, |
| XXMFACC, |
| XXMTACC, |
| XXSETACCZ]> |
| >; |