xref: /llvm-project/llvm/lib/Target/PowerPC/PPCSchedPredicates.td (revision bfde3bdd2609aaef54d6083c777b2836a4b61fb9)
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