PPCSchedPredicates.td 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. //===--- PPCSchedPredicates.td - PowerPC Scheduling Preds -*- tablegen -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. // Automatically generated file, do not edit!
  9. //
  10. // This file defines scheduling predicate definitions that are used by the
  11. // PowerPC subtargets.
  12. //===----------------------------------------------------------------------===//
  13. // Identify instructions that write BF pipelines with 7 cycles.
  14. def P10W_BF_7C_Pred : MCSchedPredicate<
  15. CheckOpcode<[FADD,
  16. FADDS,
  17. FADDS_rec,
  18. FADD_rec,
  19. FCFID,
  20. FCFIDS,
  21. FCFIDS_rec,
  22. FCFIDU,
  23. FCFIDUS,
  24. FCFIDUS_rec,
  25. FCFIDU_rec,
  26. FCFID_rec,
  27. FCTID,
  28. FCTIDU,
  29. FCTIDUZ,
  30. FCTIDUZ_rec,
  31. FCTIDU_rec,
  32. FCTIDZ,
  33. FCTIDZ_rec,
  34. FCTID_rec,
  35. FCTIW,
  36. FCTIWU,
  37. FCTIWUZ,
  38. FCTIWUZ_rec,
  39. FCTIWU_rec,
  40. FCTIWZ,
  41. FCTIWZ_rec,
  42. FCTIW_rec,
  43. FMADD,
  44. FMADDS,
  45. FMADDS_rec,
  46. FMADD_rec,
  47. FMSUB,
  48. FMSUBS,
  49. FMSUBS_rec,
  50. FMSUB_rec,
  51. FMUL,
  52. FMULS,
  53. FMULS_rec,
  54. FMUL_rec,
  55. FNMADD,
  56. FNMADDS,
  57. FNMADDS_rec,
  58. FNMADD_rec,
  59. FNMSUB,
  60. FNMSUBS,
  61. FNMSUBS_rec,
  62. FNMSUB_rec,
  63. FRE,
  64. FRES,
  65. FRES_rec,
  66. FRE_rec,
  67. FRIMD, FRIMS,
  68. FRIMD_rec, FRIMS_rec,
  69. FRIND, FRINS,
  70. FRIND_rec, FRINS_rec,
  71. FRIPD, FRIPS,
  72. FRIPD_rec, FRIPS_rec,
  73. FRIZD, FRIZS,
  74. FRIZD_rec, FRIZS_rec,
  75. FRSP,
  76. FRSP_rec,
  77. FRSQRTE,
  78. FRSQRTES,
  79. FRSQRTES_rec,
  80. FRSQRTE_rec,
  81. FSELD, FSELS,
  82. FSELD_rec, FSELS_rec,
  83. FSUB,
  84. FSUBS,
  85. FSUBS_rec,
  86. FSUB_rec,
  87. VADDFP,
  88. VCFSX, VCFSX_0,
  89. VCFUX, VCFUX_0,
  90. VCTSXS, VCTSXS_0,
  91. VCTUXS, VCTUXS_0,
  92. VEXPTEFP,
  93. VEXPTEFP,
  94. VLOGEFP,
  95. VMADDFP,
  96. VNMSUBFP,
  97. VREFP,
  98. VRFIM,
  99. VRFIN,
  100. VRFIP,
  101. VRFIZ,
  102. VRSQRTEFP,
  103. VSUBFP,
  104. XSADDDP,
  105. XSADDSP,
  106. XSCVDPHP,
  107. XSCVDPSP,
  108. XSCVDPSPN,
  109. XSCVDPSXDS, XSCVDPSXDSs,
  110. XSCVDPSXWS, XSCVDPSXWSs,
  111. XSCVDPUXDS, XSCVDPUXDSs,
  112. XSCVDPUXWS, XSCVDPUXWSs,
  113. XSCVSPDP,
  114. XSCVSXDDP,
  115. XSCVSXDSP,
  116. XSCVUXDDP,
  117. XSCVUXDSP,
  118. XSMADDADP,
  119. XSMADDASP,
  120. XSMADDMDP,
  121. XSMADDMSP,
  122. XSMSUBADP,
  123. XSMSUBASP,
  124. XSMSUBMDP,
  125. XSMSUBMSP,
  126. XSMULDP,
  127. XSMULSP,
  128. XSNMADDADP,
  129. XSNMADDASP,
  130. XSNMADDMDP,
  131. XSNMADDMSP,
  132. XSNMSUBADP,
  133. XSNMSUBASP,
  134. XSNMSUBMDP,
  135. XSNMSUBMSP,
  136. XSRDPI,
  137. XSRDPIC,
  138. XSRDPIM,
  139. XSRDPIP,
  140. XSRDPIZ,
  141. XSREDP,
  142. XSRESP,
  143. XSRSP,
  144. XSRSQRTEDP,
  145. XSRSQRTESP,
  146. XSSUBDP,
  147. XSSUBSP,
  148. XVADDDP,
  149. XVADDSP,
  150. XVCVDPSP,
  151. XVCVDPSXDS,
  152. XVCVDPSXWS,
  153. XVCVDPUXDS,
  154. XVCVDPUXWS,
  155. XVCVSPBF16,
  156. XVCVSPDP,
  157. XVCVSPHP,
  158. XVCVSPSXDS,
  159. XVCVSPSXWS,
  160. XVCVSPUXDS,
  161. XVCVSPUXWS,
  162. XVCVSXDDP,
  163. XVCVSXDSP,
  164. XVCVSXWDP,
  165. XVCVSXWSP,
  166. XVCVUXDDP,
  167. XVCVUXDSP,
  168. XVCVUXWDP,
  169. XVCVUXWSP,
  170. XVMADDADP,
  171. XVMADDASP,
  172. XVMADDMDP,
  173. XVMADDMSP,
  174. XVMSUBADP,
  175. XVMSUBASP,
  176. XVMSUBMDP,
  177. XVMSUBMSP,
  178. XVMULDP,
  179. XVMULSP,
  180. XVNMADDADP,
  181. XVNMADDASP,
  182. XVNMADDMDP,
  183. XVNMADDMSP,
  184. XVNMSUBADP,
  185. XVNMSUBASP,
  186. XVNMSUBMDP,
  187. XVNMSUBMSP,
  188. XVRDPI,
  189. XVRDPIC,
  190. XVRDPIM,
  191. XVRDPIP,
  192. XVRDPIZ,
  193. XVREDP,
  194. XVRESP,
  195. XVRSPI,
  196. XVRSPIC,
  197. XVRSPIM,
  198. XVRSPIP,
  199. XVRSPIZ,
  200. XVRSQRTEDP,
  201. XVRSQRTESP,
  202. XVSUBDP,
  203. XVSUBSP]>
  204. >;
  205. // Identify instructions that write CY pipelines with 7 cycles.
  206. def P10W_CY_7C_Pred : MCSchedPredicate<
  207. CheckOpcode<[CFUGED,
  208. CNTLZDM,
  209. CNTTZDM,
  210. PDEPD,
  211. PEXTD,
  212. VCFUGED,
  213. VCIPHER,
  214. VCIPHERLAST,
  215. VCLZDM,
  216. VCTZDM,
  217. VGNB,
  218. VNCIPHER,
  219. VNCIPHERLAST,
  220. VPDEPD,
  221. VPEXTD,
  222. VPMSUMB,
  223. VPMSUMD,
  224. VPMSUMH,
  225. VPMSUMW,
  226. VSBOX]>
  227. >;
  228. // Identify instructions that write MM pipelines with 10 cycles.
  229. def P10W_MM_10C_Pred : MCSchedPredicate<
  230. CheckOpcode<[PMXVBF16GER2,
  231. PMXVBF16GER2NN,
  232. PMXVBF16GER2NP,
  233. PMXVBF16GER2PN,
  234. PMXVBF16GER2PP,
  235. PMXVF16GER2,
  236. PMXVF16GER2NN,
  237. PMXVF16GER2NP,
  238. PMXVF16GER2PN,
  239. PMXVF16GER2PP,
  240. PMXVF32GER,
  241. PMXVF32GERNN,
  242. PMXVF32GERNP,
  243. PMXVF32GERPN,
  244. PMXVF32GERPP,
  245. PMXVF64GER,
  246. PMXVF64GERNN,
  247. PMXVF64GERNP,
  248. PMXVF64GERPN,
  249. PMXVF64GERPP,
  250. PMXVI16GER2,
  251. PMXVI16GER2PP,
  252. PMXVI16GER2S,
  253. PMXVI16GER2SPP,
  254. PMXVI4GER8,
  255. PMXVI4GER8PP,
  256. PMXVI8GER4,
  257. PMXVI8GER4PP,
  258. PMXVI8GER4SPP,
  259. XVBF16GER2,
  260. XVBF16GER2NN,
  261. XVBF16GER2NP,
  262. XVBF16GER2PN,
  263. XVBF16GER2PP,
  264. XVF16GER2,
  265. XVF16GER2NN,
  266. XVF16GER2NP,
  267. XVF16GER2PN,
  268. XVF16GER2PP,
  269. XVF32GER,
  270. XVF32GERNN,
  271. XVF32GERNP,
  272. XVF32GERPN,
  273. XVF32GERPP,
  274. XVF64GER,
  275. XVF64GERNN,
  276. XVF64GERNP,
  277. XVF64GERPN,
  278. XVF64GERPP,
  279. XVI16GER2,
  280. XVI16GER2PP,
  281. XVI16GER2S,
  282. XVI16GER2SPP,
  283. XVI4GER8,
  284. XVI4GER8PP,
  285. XVI8GER4,
  286. XVI8GER4PP,
  287. XVI8GER4SPP,
  288. XXMFACC,
  289. XXMFACC,
  290. XXMTACC,
  291. XXSETACCZ]>
  292. >;