genrtl.h 34 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229
  1. /* Generated automatically by gengenrtl from rtl.def. */
  2. #ifndef GCC_GENRTL_H
  3. #define GCC_GENRTL_H
  4. #include "statistics.h"
  5. static inline rtx
  6. gen_rtx_fmt_0_stat (RTX_CODE code, machine_mode mode MEM_STAT_DECL)
  7. {
  8. rtx rt;
  9. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  10. PUT_MODE (rt, mode);
  11. X0EXP (rt, 0) = NULL_RTX;
  12. return rt;
  13. }
  14. #define gen_rtx_fmt_0(c, m)\
  15. gen_rtx_fmt_0_stat (c, m MEM_STAT_INFO)
  16. static inline rtx
  17. gen_rtx_fmt_ee_stat (RTX_CODE code, machine_mode mode,
  18. rtx arg0,
  19. rtx arg1 MEM_STAT_DECL)
  20. {
  21. rtx rt;
  22. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  23. PUT_MODE (rt, mode);
  24. XEXP (rt, 0) = arg0;
  25. XEXP (rt, 1) = arg1;
  26. return rt;
  27. }
  28. #define gen_rtx_fmt_ee(c, m, p0, p1)\
  29. gen_rtx_fmt_ee_stat (c, m, p0, p1 MEM_STAT_INFO)
  30. static inline rtx
  31. gen_rtx_fmt_ue_stat (RTX_CODE code, machine_mode mode,
  32. rtx arg0,
  33. rtx arg1 MEM_STAT_DECL)
  34. {
  35. rtx rt;
  36. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  37. PUT_MODE (rt, mode);
  38. XEXP (rt, 0) = arg0;
  39. XEXP (rt, 1) = arg1;
  40. return rt;
  41. }
  42. #define gen_rtx_fmt_ue(c, m, p0, p1)\
  43. gen_rtx_fmt_ue_stat (c, m, p0, p1 MEM_STAT_INFO)
  44. static inline rtx
  45. gen_rtx_fmt_ie_stat (RTX_CODE code, machine_mode mode,
  46. int arg0,
  47. rtx arg1 MEM_STAT_DECL)
  48. {
  49. rtx rt;
  50. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  51. PUT_MODE (rt, mode);
  52. XINT (rt, 0) = arg0;
  53. XEXP (rt, 1) = arg1;
  54. return rt;
  55. }
  56. #define gen_rtx_fmt_ie(c, m, p0, p1)\
  57. gen_rtx_fmt_ie_stat (c, m, p0, p1 MEM_STAT_INFO)
  58. static inline rtx
  59. gen_rtx_fmt_E_stat (RTX_CODE code, machine_mode mode,
  60. rtvec arg0 MEM_STAT_DECL)
  61. {
  62. rtx rt;
  63. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  64. PUT_MODE (rt, mode);
  65. XVEC (rt, 0) = arg0;
  66. return rt;
  67. }
  68. #define gen_rtx_fmt_E(c, m, p0)\
  69. gen_rtx_fmt_E_stat (c, m, p0 MEM_STAT_INFO)
  70. static inline rtx
  71. gen_rtx_fmt_i_stat (RTX_CODE code, machine_mode mode,
  72. int arg0 MEM_STAT_DECL)
  73. {
  74. rtx rt;
  75. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  76. PUT_MODE (rt, mode);
  77. XINT (rt, 0) = arg0;
  78. return rt;
  79. }
  80. #define gen_rtx_fmt_i(c, m, p0)\
  81. gen_rtx_fmt_i_stat (c, m, p0 MEM_STAT_INFO)
  82. static inline rtx
  83. gen_rtx_fmt_uuBeiie_stat (RTX_CODE code, machine_mode mode,
  84. rtx arg0,
  85. rtx arg1,
  86. basic_block arg2,
  87. rtx arg3,
  88. int arg4,
  89. int arg5,
  90. rtx arg6 MEM_STAT_DECL)
  91. {
  92. rtx rt;
  93. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  94. PUT_MODE (rt, mode);
  95. XEXP (rt, 0) = arg0;
  96. XEXP (rt, 1) = arg1;
  97. XBBDEF (rt, 2) = arg2;
  98. XEXP (rt, 3) = arg3;
  99. XINT (rt, 4) = arg4;
  100. XINT (rt, 5) = arg5;
  101. XEXP (rt, 6) = arg6;
  102. return rt;
  103. }
  104. #define gen_rtx_fmt_uuBeiie(c, m, p0, p1, p2, p3, p4, p5, p6)\
  105. gen_rtx_fmt_uuBeiie_stat (c, m, p0, p1, p2, p3, p4, p5, p6 MEM_STAT_INFO)
  106. static inline rtx
  107. gen_rtx_fmt_uuBeiie0_stat (RTX_CODE code, machine_mode mode,
  108. rtx arg0,
  109. rtx arg1,
  110. basic_block arg2,
  111. rtx arg3,
  112. int arg4,
  113. int arg5,
  114. rtx arg6 MEM_STAT_DECL)
  115. {
  116. rtx rt;
  117. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  118. PUT_MODE (rt, mode);
  119. XEXP (rt, 0) = arg0;
  120. XEXP (rt, 1) = arg1;
  121. XBBDEF (rt, 2) = arg2;
  122. XEXP (rt, 3) = arg3;
  123. XINT (rt, 4) = arg4;
  124. XINT (rt, 5) = arg5;
  125. XEXP (rt, 6) = arg6;
  126. X0EXP (rt, 7) = NULL_RTX;
  127. return rt;
  128. }
  129. #define gen_rtx_fmt_uuBeiie0(c, m, p0, p1, p2, p3, p4, p5, p6)\
  130. gen_rtx_fmt_uuBeiie0_stat (c, m, p0, p1, p2, p3, p4, p5, p6 MEM_STAT_INFO)
  131. static inline rtx
  132. gen_rtx_fmt_uuBeiiee_stat (RTX_CODE code, machine_mode mode,
  133. rtx arg0,
  134. rtx arg1,
  135. basic_block arg2,
  136. rtx arg3,
  137. int arg4,
  138. int arg5,
  139. rtx arg6,
  140. rtx arg7 MEM_STAT_DECL)
  141. {
  142. rtx rt;
  143. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  144. PUT_MODE (rt, mode);
  145. XEXP (rt, 0) = arg0;
  146. XEXP (rt, 1) = arg1;
  147. XBBDEF (rt, 2) = arg2;
  148. XEXP (rt, 3) = arg3;
  149. XINT (rt, 4) = arg4;
  150. XINT (rt, 5) = arg5;
  151. XEXP (rt, 6) = arg6;
  152. XEXP (rt, 7) = arg7;
  153. return rt;
  154. }
  155. #define gen_rtx_fmt_uuBeiiee(c, m, p0, p1, p2, p3, p4, p5, p6, p7)\
  156. gen_rtx_fmt_uuBeiiee_stat (c, m, p0, p1, p2, p3, p4, p5, p6, p7 MEM_STAT_INFO)
  157. static inline rtx
  158. gen_rtx_fmt_uuBe0000_stat (RTX_CODE code, machine_mode mode,
  159. rtx arg0,
  160. rtx arg1,
  161. basic_block arg2,
  162. rtx arg3 MEM_STAT_DECL)
  163. {
  164. rtx rt;
  165. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  166. PUT_MODE (rt, mode);
  167. XEXP (rt, 0) = arg0;
  168. XEXP (rt, 1) = arg1;
  169. XBBDEF (rt, 2) = arg2;
  170. XEXP (rt, 3) = arg3;
  171. X0EXP (rt, 4) = NULL_RTX;
  172. X0EXP (rt, 5) = NULL_RTX;
  173. X0EXP (rt, 6) = NULL_RTX;
  174. X0EXP (rt, 7) = NULL_RTX;
  175. return rt;
  176. }
  177. #define gen_rtx_fmt_uuBe0000(c, m, p0, p1, p2, p3)\
  178. gen_rtx_fmt_uuBe0000_stat (c, m, p0, p1, p2, p3 MEM_STAT_INFO)
  179. static inline rtx
  180. gen_rtx_fmt_uu00000_stat (RTX_CODE code, machine_mode mode,
  181. rtx arg0,
  182. rtx arg1 MEM_STAT_DECL)
  183. {
  184. rtx rt;
  185. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  186. PUT_MODE (rt, mode);
  187. XEXP (rt, 0) = arg0;
  188. XEXP (rt, 1) = arg1;
  189. X0EXP (rt, 2) = NULL_RTX;
  190. X0EXP (rt, 3) = NULL_RTX;
  191. X0EXP (rt, 4) = NULL_RTX;
  192. X0EXP (rt, 5) = NULL_RTX;
  193. X0EXP (rt, 6) = NULL_RTX;
  194. return rt;
  195. }
  196. #define gen_rtx_fmt_uu00000(c, m, p0, p1)\
  197. gen_rtx_fmt_uu00000_stat (c, m, p0, p1 MEM_STAT_INFO)
  198. static inline rtx
  199. gen_rtx_fmt_uuB00is_stat (RTX_CODE code, machine_mode mode,
  200. rtx arg0,
  201. rtx arg1,
  202. basic_block arg2,
  203. int arg3,
  204. const char *arg4 MEM_STAT_DECL)
  205. {
  206. rtx rt;
  207. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  208. PUT_MODE (rt, mode);
  209. XEXP (rt, 0) = arg0;
  210. XEXP (rt, 1) = arg1;
  211. XBBDEF (rt, 2) = arg2;
  212. X0EXP (rt, 3) = NULL_RTX;
  213. X0EXP (rt, 4) = NULL_RTX;
  214. XINT (rt, 5) = arg3;
  215. XSTR (rt, 6) = arg4;
  216. return rt;
  217. }
  218. #define gen_rtx_fmt_uuB00is(c, m, p0, p1, p2, p3, p4)\
  219. gen_rtx_fmt_uuB00is_stat (c, m, p0, p1, p2, p3, p4 MEM_STAT_INFO)
  220. static inline rtx
  221. gen_rtx_fmt_si_stat (RTX_CODE code, machine_mode mode,
  222. const char *arg0,
  223. int arg1 MEM_STAT_DECL)
  224. {
  225. rtx rt;
  226. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  227. PUT_MODE (rt, mode);
  228. XSTR (rt, 0) = arg0;
  229. XINT (rt, 1) = arg1;
  230. return rt;
  231. }
  232. #define gen_rtx_fmt_si(c, m, p0, p1)\
  233. gen_rtx_fmt_si_stat (c, m, p0, p1 MEM_STAT_INFO)
  234. static inline rtx
  235. gen_rtx_fmt_ssiEEEi_stat (RTX_CODE code, machine_mode mode,
  236. const char *arg0,
  237. const char *arg1,
  238. int arg2,
  239. rtvec arg3,
  240. rtvec arg4,
  241. rtvec arg5,
  242. int arg6 MEM_STAT_DECL)
  243. {
  244. rtx rt;
  245. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  246. PUT_MODE (rt, mode);
  247. XSTR (rt, 0) = arg0;
  248. XSTR (rt, 1) = arg1;
  249. XINT (rt, 2) = arg2;
  250. XVEC (rt, 3) = arg3;
  251. XVEC (rt, 4) = arg4;
  252. XVEC (rt, 5) = arg5;
  253. XINT (rt, 6) = arg6;
  254. return rt;
  255. }
  256. #define gen_rtx_fmt_ssiEEEi(c, m, p0, p1, p2, p3, p4, p5, p6)\
  257. gen_rtx_fmt_ssiEEEi_stat (c, m, p0, p1, p2, p3, p4, p5, p6 MEM_STAT_INFO)
  258. static inline rtx
  259. gen_rtx_fmt_Ei_stat (RTX_CODE code, machine_mode mode,
  260. rtvec arg0,
  261. int arg1 MEM_STAT_DECL)
  262. {
  263. rtx rt;
  264. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  265. PUT_MODE (rt, mode);
  266. XVEC (rt, 0) = arg0;
  267. XINT (rt, 1) = arg1;
  268. return rt;
  269. }
  270. #define gen_rtx_fmt_Ei(c, m, p0, p1)\
  271. gen_rtx_fmt_Ei_stat (c, m, p0, p1 MEM_STAT_INFO)
  272. static inline rtx
  273. gen_rtx_fmt_eEee0_stat (RTX_CODE code, machine_mode mode,
  274. rtx arg0,
  275. rtvec arg1,
  276. rtx arg2,
  277. rtx arg3 MEM_STAT_DECL)
  278. {
  279. rtx rt;
  280. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  281. PUT_MODE (rt, mode);
  282. XEXP (rt, 0) = arg0;
  283. XVEC (rt, 1) = arg1;
  284. XEXP (rt, 2) = arg2;
  285. XEXP (rt, 3) = arg3;
  286. X0EXP (rt, 4) = NULL_RTX;
  287. return rt;
  288. }
  289. #define gen_rtx_fmt_eEee0(c, m, p0, p1, p2, p3)\
  290. gen_rtx_fmt_eEee0_stat (c, m, p0, p1, p2, p3 MEM_STAT_INFO)
  291. static inline rtx
  292. gen_rtx_fmt_eee_stat (RTX_CODE code, machine_mode mode,
  293. rtx arg0,
  294. rtx arg1,
  295. rtx arg2 MEM_STAT_DECL)
  296. {
  297. rtx rt;
  298. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  299. PUT_MODE (rt, mode);
  300. XEXP (rt, 0) = arg0;
  301. XEXP (rt, 1) = arg1;
  302. XEXP (rt, 2) = arg2;
  303. return rt;
  304. }
  305. #define gen_rtx_fmt_eee(c, m, p0, p1, p2)\
  306. gen_rtx_fmt_eee_stat (c, m, p0, p1, p2 MEM_STAT_INFO)
  307. static inline rtx
  308. gen_rtx_fmt_e_stat (RTX_CODE code, machine_mode mode,
  309. rtx arg0 MEM_STAT_DECL)
  310. {
  311. rtx rt;
  312. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  313. PUT_MODE (rt, mode);
  314. XEXP (rt, 0) = arg0;
  315. return rt;
  316. }
  317. #define gen_rtx_fmt_e(c, m, p0)\
  318. gen_rtx_fmt_e_stat (c, m, p0 MEM_STAT_INFO)
  319. static inline rtx
  320. gen_rtx_fmt__stat (RTX_CODE code, machine_mode mode MEM_STAT_DECL)
  321. {
  322. rtx rt;
  323. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  324. PUT_MODE (rt, mode);
  325. return rt;
  326. }
  327. #define gen_rtx_fmt_(c, m)\
  328. gen_rtx_fmt__stat (c, m MEM_STAT_INFO)
  329. static inline rtx
  330. gen_rtx_fmt_w_stat (RTX_CODE code, machine_mode mode,
  331. HOST_WIDE_INT arg0 MEM_STAT_DECL)
  332. {
  333. rtx rt;
  334. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  335. PUT_MODE (rt, mode);
  336. XWINT (rt, 0) = arg0;
  337. return rt;
  338. }
  339. #define gen_rtx_fmt_w(c, m, p0)\
  340. gen_rtx_fmt_w_stat (c, m, p0 MEM_STAT_INFO)
  341. static inline rtx
  342. gen_rtx_fmt_www_stat (RTX_CODE code, machine_mode mode,
  343. HOST_WIDE_INT arg0,
  344. HOST_WIDE_INT arg1,
  345. HOST_WIDE_INT arg2 MEM_STAT_DECL)
  346. {
  347. rtx rt;
  348. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  349. PUT_MODE (rt, mode);
  350. XWINT (rt, 0) = arg0;
  351. XWINT (rt, 1) = arg1;
  352. XWINT (rt, 2) = arg2;
  353. return rt;
  354. }
  355. #define gen_rtx_fmt_www(c, m, p0, p1, p2)\
  356. gen_rtx_fmt_www_stat (c, m, p0, p1, p2 MEM_STAT_INFO)
  357. static inline rtx
  358. gen_rtx_fmt_s_stat (RTX_CODE code, machine_mode mode,
  359. const char *arg0 MEM_STAT_DECL)
  360. {
  361. rtx rt;
  362. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  363. PUT_MODE (rt, mode);
  364. XSTR (rt, 0) = arg0;
  365. return rt;
  366. }
  367. #define gen_rtx_fmt_s(c, m, p0)\
  368. gen_rtx_fmt_s_stat (c, m, p0 MEM_STAT_INFO)
  369. static inline rtx
  370. gen_rtx_fmt_i0_stat (RTX_CODE code, machine_mode mode,
  371. int arg0 MEM_STAT_DECL)
  372. {
  373. rtx rt;
  374. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  375. PUT_MODE (rt, mode);
  376. XINT (rt, 0) = arg0;
  377. X0EXP (rt, 1) = NULL_RTX;
  378. return rt;
  379. }
  380. #define gen_rtx_fmt_i0(c, m, p0)\
  381. gen_rtx_fmt_i0_stat (c, m, p0 MEM_STAT_INFO)
  382. static inline rtx
  383. gen_rtx_fmt_ei_stat (RTX_CODE code, machine_mode mode,
  384. rtx arg0,
  385. int arg1 MEM_STAT_DECL)
  386. {
  387. rtx rt;
  388. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  389. PUT_MODE (rt, mode);
  390. XEXP (rt, 0) = arg0;
  391. XINT (rt, 1) = arg1;
  392. return rt;
  393. }
  394. #define gen_rtx_fmt_ei(c, m, p0, p1)\
  395. gen_rtx_fmt_ei_stat (c, m, p0, p1 MEM_STAT_INFO)
  396. static inline rtx
  397. gen_rtx_fmt_e0_stat (RTX_CODE code, machine_mode mode,
  398. rtx arg0 MEM_STAT_DECL)
  399. {
  400. rtx rt;
  401. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  402. PUT_MODE (rt, mode);
  403. XEXP (rt, 0) = arg0;
  404. X0EXP (rt, 1) = NULL_RTX;
  405. return rt;
  406. }
  407. #define gen_rtx_fmt_e0(c, m, p0)\
  408. gen_rtx_fmt_e0_stat (c, m, p0 MEM_STAT_INFO)
  409. static inline rtx
  410. gen_rtx_fmt_u_stat (RTX_CODE code, machine_mode mode,
  411. rtx arg0 MEM_STAT_DECL)
  412. {
  413. rtx rt;
  414. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  415. PUT_MODE (rt, mode);
  416. XEXP (rt, 0) = arg0;
  417. return rt;
  418. }
  419. #define gen_rtx_fmt_u(c, m, p0)\
  420. gen_rtx_fmt_u_stat (c, m, p0 MEM_STAT_INFO)
  421. static inline rtx
  422. gen_rtx_fmt_s0_stat (RTX_CODE code, machine_mode mode,
  423. const char *arg0 MEM_STAT_DECL)
  424. {
  425. rtx rt;
  426. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  427. PUT_MODE (rt, mode);
  428. XSTR (rt, 0) = arg0;
  429. X0EXP (rt, 1) = NULL_RTX;
  430. return rt;
  431. }
  432. #define gen_rtx_fmt_s0(c, m, p0)\
  433. gen_rtx_fmt_s0_stat (c, m, p0 MEM_STAT_INFO)
  434. static inline rtx
  435. gen_rtx_fmt_te_stat (RTX_CODE code, machine_mode mode,
  436. tree arg0,
  437. rtx arg1 MEM_STAT_DECL)
  438. {
  439. rtx rt;
  440. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  441. PUT_MODE (rt, mode);
  442. XTREE (rt, 0) = arg0;
  443. XEXP (rt, 1) = arg1;
  444. return rt;
  445. }
  446. #define gen_rtx_fmt_te(c, m, p0, p1)\
  447. gen_rtx_fmt_te_stat (c, m, p0, p1 MEM_STAT_INFO)
  448. static inline rtx
  449. gen_rtx_fmt_t_stat (RTX_CODE code, machine_mode mode,
  450. tree arg0 MEM_STAT_DECL)
  451. {
  452. rtx rt;
  453. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  454. PUT_MODE (rt, mode);
  455. XTREE (rt, 0) = arg0;
  456. return rt;
  457. }
  458. #define gen_rtx_fmt_t(c, m, p0)\
  459. gen_rtx_fmt_t_stat (c, m, p0 MEM_STAT_INFO)
  460. static inline rtx
  461. gen_rtx_fmt_iss_stat (RTX_CODE code, machine_mode mode,
  462. int arg0,
  463. const char *arg1,
  464. const char *arg2 MEM_STAT_DECL)
  465. {
  466. rtx rt;
  467. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  468. PUT_MODE (rt, mode);
  469. XINT (rt, 0) = arg0;
  470. XSTR (rt, 1) = arg1;
  471. XSTR (rt, 2) = arg2;
  472. return rt;
  473. }
  474. #define gen_rtx_fmt_iss(c, m, p0, p1, p2)\
  475. gen_rtx_fmt_iss_stat (c, m, p0, p1, p2 MEM_STAT_INFO)
  476. static inline rtx
  477. gen_rtx_fmt_is_stat (RTX_CODE code, machine_mode mode,
  478. int arg0,
  479. const char *arg1 MEM_STAT_DECL)
  480. {
  481. rtx rt;
  482. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  483. PUT_MODE (rt, mode);
  484. XINT (rt, 0) = arg0;
  485. XSTR (rt, 1) = arg1;
  486. return rt;
  487. }
  488. #define gen_rtx_fmt_is(c, m, p0, p1)\
  489. gen_rtx_fmt_is_stat (c, m, p0, p1 MEM_STAT_INFO)
  490. static inline rtx
  491. gen_rtx_fmt_isE_stat (RTX_CODE code, machine_mode mode,
  492. int arg0,
  493. const char *arg1,
  494. rtvec arg2 MEM_STAT_DECL)
  495. {
  496. rtx rt;
  497. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  498. PUT_MODE (rt, mode);
  499. XINT (rt, 0) = arg0;
  500. XSTR (rt, 1) = arg1;
  501. XVEC (rt, 2) = arg2;
  502. return rt;
  503. }
  504. #define gen_rtx_fmt_isE(c, m, p0, p1, p2)\
  505. gen_rtx_fmt_isE_stat (c, m, p0, p1, p2 MEM_STAT_INFO)
  506. static inline rtx
  507. gen_rtx_fmt_iE_stat (RTX_CODE code, machine_mode mode,
  508. int arg0,
  509. rtvec arg1 MEM_STAT_DECL)
  510. {
  511. rtx rt;
  512. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  513. PUT_MODE (rt, mode);
  514. XINT (rt, 0) = arg0;
  515. XVEC (rt, 1) = arg1;
  516. return rt;
  517. }
  518. #define gen_rtx_fmt_iE(c, m, p0, p1)\
  519. gen_rtx_fmt_iE_stat (c, m, p0, p1 MEM_STAT_INFO)
  520. static inline rtx
  521. gen_rtx_fmt_ss_stat (RTX_CODE code, machine_mode mode,
  522. const char *arg0,
  523. const char *arg1 MEM_STAT_DECL)
  524. {
  525. rtx rt;
  526. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  527. PUT_MODE (rt, mode);
  528. XSTR (rt, 0) = arg0;
  529. XSTR (rt, 1) = arg1;
  530. return rt;
  531. }
  532. #define gen_rtx_fmt_ss(c, m, p0, p1)\
  533. gen_rtx_fmt_ss_stat (c, m, p0, p1 MEM_STAT_INFO)
  534. static inline rtx
  535. gen_rtx_fmt_eE_stat (RTX_CODE code, machine_mode mode,
  536. rtx arg0,
  537. rtvec arg1 MEM_STAT_DECL)
  538. {
  539. rtx rt;
  540. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  541. PUT_MODE (rt, mode);
  542. XEXP (rt, 0) = arg0;
  543. XVEC (rt, 1) = arg1;
  544. return rt;
  545. }
  546. #define gen_rtx_fmt_eE(c, m, p0, p1)\
  547. gen_rtx_fmt_eE_stat (c, m, p0, p1 MEM_STAT_INFO)
  548. static inline rtx
  549. gen_rtx_fmt_ses_stat (RTX_CODE code, machine_mode mode,
  550. const char *arg0,
  551. rtx arg1,
  552. const char *arg2 MEM_STAT_DECL)
  553. {
  554. rtx rt;
  555. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  556. PUT_MODE (rt, mode);
  557. XSTR (rt, 0) = arg0;
  558. XEXP (rt, 1) = arg1;
  559. XSTR (rt, 2) = arg2;
  560. return rt;
  561. }
  562. #define gen_rtx_fmt_ses(c, m, p0, p1, p2)\
  563. gen_rtx_fmt_ses_stat (c, m, p0, p1, p2 MEM_STAT_INFO)
  564. static inline rtx
  565. gen_rtx_fmt_sss_stat (RTX_CODE code, machine_mode mode,
  566. const char *arg0,
  567. const char *arg1,
  568. const char *arg2 MEM_STAT_DECL)
  569. {
  570. rtx rt;
  571. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  572. PUT_MODE (rt, mode);
  573. XSTR (rt, 0) = arg0;
  574. XSTR (rt, 1) = arg1;
  575. XSTR (rt, 2) = arg2;
  576. return rt;
  577. }
  578. #define gen_rtx_fmt_sss(c, m, p0, p1, p2)\
  579. gen_rtx_fmt_sss_stat (c, m, p0, p1, p2 MEM_STAT_INFO)
  580. static inline rtx
  581. gen_rtx_fmt_sse_stat (RTX_CODE code, machine_mode mode,
  582. const char *arg0,
  583. const char *arg1,
  584. rtx arg2 MEM_STAT_DECL)
  585. {
  586. rtx rt;
  587. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  588. PUT_MODE (rt, mode);
  589. XSTR (rt, 0) = arg0;
  590. XSTR (rt, 1) = arg1;
  591. XEXP (rt, 2) = arg2;
  592. return rt;
  593. }
  594. #define gen_rtx_fmt_sse(c, m, p0, p1, p2)\
  595. gen_rtx_fmt_sse_stat (c, m, p0, p1, p2 MEM_STAT_INFO)
  596. static inline rtx
  597. gen_rtx_fmt_sies_stat (RTX_CODE code, machine_mode mode,
  598. const char *arg0,
  599. int arg1,
  600. rtx arg2,
  601. const char *arg3 MEM_STAT_DECL)
  602. {
  603. rtx rt;
  604. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  605. PUT_MODE (rt, mode);
  606. XSTR (rt, 0) = arg0;
  607. XINT (rt, 1) = arg1;
  608. XEXP (rt, 2) = arg2;
  609. XSTR (rt, 3) = arg3;
  610. return rt;
  611. }
  612. #define gen_rtx_fmt_sies(c, m, p0, p1, p2, p3)\
  613. gen_rtx_fmt_sies_stat (c, m, p0, p1, p2, p3 MEM_STAT_INFO)
  614. static inline rtx
  615. gen_rtx_fmt_sE_stat (RTX_CODE code, machine_mode mode,
  616. const char *arg0,
  617. rtvec arg1 MEM_STAT_DECL)
  618. {
  619. rtx rt;
  620. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  621. PUT_MODE (rt, mode);
  622. XSTR (rt, 0) = arg0;
  623. XVEC (rt, 1) = arg1;
  624. return rt;
  625. }
  626. #define gen_rtx_fmt_sE(c, m, p0, p1)\
  627. gen_rtx_fmt_sE_stat (c, m, p0, p1 MEM_STAT_INFO)
  628. static inline rtx
  629. gen_rtx_fmt_ii_stat (RTX_CODE code, machine_mode mode,
  630. int arg0,
  631. int arg1 MEM_STAT_DECL)
  632. {
  633. rtx rt;
  634. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  635. PUT_MODE (rt, mode);
  636. XINT (rt, 0) = arg0;
  637. XINT (rt, 1) = arg1;
  638. return rt;
  639. }
  640. #define gen_rtx_fmt_ii(c, m, p0, p1)\
  641. gen_rtx_fmt_ii_stat (c, m, p0, p1 MEM_STAT_INFO)
  642. static inline rtx
  643. gen_rtx_fmt_Ee_stat (RTX_CODE code, machine_mode mode,
  644. rtvec arg0,
  645. rtx arg1 MEM_STAT_DECL)
  646. {
  647. rtx rt;
  648. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  649. PUT_MODE (rt, mode);
  650. XVEC (rt, 0) = arg0;
  651. XEXP (rt, 1) = arg1;
  652. return rt;
  653. }
  654. #define gen_rtx_fmt_Ee(c, m, p0, p1)\
  655. gen_rtx_fmt_Ee_stat (c, m, p0, p1 MEM_STAT_INFO)
  656. static inline rtx
  657. gen_rtx_fmt_sEsE_stat (RTX_CODE code, machine_mode mode,
  658. const char *arg0,
  659. rtvec arg1,
  660. const char *arg2,
  661. rtvec arg3 MEM_STAT_DECL)
  662. {
  663. rtx rt;
  664. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  665. PUT_MODE (rt, mode);
  666. XSTR (rt, 0) = arg0;
  667. XVEC (rt, 1) = arg1;
  668. XSTR (rt, 2) = arg2;
  669. XVEC (rt, 3) = arg3;
  670. return rt;
  671. }
  672. #define gen_rtx_fmt_sEsE(c, m, p0, p1, p2, p3)\
  673. gen_rtx_fmt_sEsE_stat (c, m, p0, p1, p2, p3 MEM_STAT_INFO)
  674. static inline rtx
  675. gen_rtx_fmt_ssss_stat (RTX_CODE code, machine_mode mode,
  676. const char *arg0,
  677. const char *arg1,
  678. const char *arg2,
  679. const char *arg3 MEM_STAT_DECL)
  680. {
  681. rtx rt;
  682. rt = rtx_alloc_stat (code PASS_MEM_STAT);
  683. PUT_MODE (rt, mode);
  684. XSTR (rt, 0) = arg0;
  685. XSTR (rt, 1) = arg1;
  686. XSTR (rt, 2) = arg2;
  687. XSTR (rt, 3) = arg3;
  688. return rt;
  689. }
  690. #define gen_rtx_fmt_ssss(c, m, p0, p1, p2, p3)\
  691. gen_rtx_fmt_ssss_stat (c, m, p0, p1, p2, p3 MEM_STAT_INFO)
  692. #define gen_rtx_VALUE(MODE) \
  693. gen_rtx_fmt_0 (VALUE, (MODE))
  694. #define gen_rtx_DEBUG_EXPR(MODE) \
  695. gen_rtx_fmt_0 (DEBUG_EXPR, (MODE))
  696. #define gen_rtx_raw_EXPR_LIST(MODE, ARG0, ARG1) \
  697. gen_rtx_fmt_ee (EXPR_LIST, (MODE), (ARG0), (ARG1))
  698. #define gen_rtx_raw_INSN_LIST(MODE, ARG0, ARG1) \
  699. gen_rtx_fmt_ue (INSN_LIST, (MODE), (ARG0), (ARG1))
  700. #define gen_rtx_INT_LIST(MODE, ARG0, ARG1) \
  701. gen_rtx_fmt_ie (INT_LIST, (MODE), (ARG0), (ARG1))
  702. #define gen_rtx_SEQUENCE(MODE, ARG0) \
  703. gen_rtx_fmt_E (SEQUENCE, (MODE), (ARG0))
  704. #define gen_rtx_ADDRESS(MODE, ARG0) \
  705. gen_rtx_fmt_i (ADDRESS, (MODE), (ARG0))
  706. #define gen_rtx_DEBUG_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
  707. gen_rtx_fmt_uuBeiie (DEBUG_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
  708. #define gen_rtx_raw_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
  709. gen_rtx_fmt_uuBeiie (INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
  710. #define gen_rtx_JUMP_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
  711. gen_rtx_fmt_uuBeiie0 (JUMP_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
  712. #define gen_rtx_CALL_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
  713. gen_rtx_fmt_uuBeiiee (CALL_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
  714. #define gen_rtx_JUMP_TABLE_DATA(MODE, ARG0, ARG1, ARG2, ARG3) \
  715. gen_rtx_fmt_uuBe0000 (JUMP_TABLE_DATA, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  716. #define gen_rtx_BARRIER(MODE, ARG0, ARG1) \
  717. gen_rtx_fmt_uu00000 (BARRIER, (MODE), (ARG0), (ARG1))
  718. #define gen_rtx_CODE_LABEL(MODE, ARG0, ARG1, ARG2, ARG3, ARG4) \
  719. gen_rtx_fmt_uuB00is (CODE_LABEL, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4))
  720. #define gen_rtx_COND_EXEC(MODE, ARG0, ARG1) \
  721. gen_rtx_fmt_ee (COND_EXEC, (MODE), (ARG0), (ARG1))
  722. #define gen_rtx_PARALLEL(MODE, ARG0) \
  723. gen_rtx_fmt_E (PARALLEL, (MODE), (ARG0))
  724. #define gen_rtx_ASM_INPUT(MODE, ARG0, ARG1) \
  725. gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), (ARG1))
  726. #define gen_rtx_ASM_OPERANDS(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
  727. gen_rtx_fmt_ssiEEEi (ASM_OPERANDS, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
  728. #define gen_rtx_UNSPEC(MODE, ARG0, ARG1) \
  729. gen_rtx_fmt_Ei (UNSPEC, (MODE), (ARG0), (ARG1))
  730. #define gen_rtx_UNSPEC_VOLATILE(MODE, ARG0, ARG1) \
  731. gen_rtx_fmt_Ei (UNSPEC_VOLATILE, (MODE), (ARG0), (ARG1))
  732. #define gen_rtx_ADDR_VEC(MODE, ARG0) \
  733. gen_rtx_fmt_E (ADDR_VEC, (MODE), (ARG0))
  734. #define gen_rtx_ADDR_DIFF_VEC(MODE, ARG0, ARG1, ARG2, ARG3) \
  735. gen_rtx_fmt_eEee0 (ADDR_DIFF_VEC, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  736. #define gen_rtx_PREFETCH(MODE, ARG0, ARG1, ARG2) \
  737. gen_rtx_fmt_eee (PREFETCH, (MODE), (ARG0), (ARG1), (ARG2))
  738. #define gen_rtx_SET(MODE, ARG0, ARG1) \
  739. gen_rtx_fmt_ee (SET, (MODE), (ARG0), (ARG1))
  740. #define gen_rtx_USE(MODE, ARG0) \
  741. gen_rtx_fmt_e (USE, (MODE), (ARG0))
  742. #define gen_rtx_CLOBBER(MODE, ARG0) \
  743. gen_rtx_fmt_e (CLOBBER, (MODE), (ARG0))
  744. #define gen_rtx_CALL(MODE, ARG0, ARG1) \
  745. gen_rtx_fmt_ee (CALL, (MODE), (ARG0), (ARG1))
  746. #define gen_rtx_raw_RETURN(MODE) \
  747. gen_rtx_fmt_ (RETURN, (MODE))
  748. #define gen_rtx_raw_SIMPLE_RETURN(MODE) \
  749. gen_rtx_fmt_ (SIMPLE_RETURN, (MODE))
  750. #define gen_rtx_EH_RETURN(MODE) \
  751. gen_rtx_fmt_ (EH_RETURN, (MODE))
  752. #define gen_rtx_TRAP_IF(MODE, ARG0, ARG1) \
  753. gen_rtx_fmt_ee (TRAP_IF, (MODE), (ARG0), (ARG1))
  754. #define gen_rtx_raw_CONST_INT(MODE, ARG0) \
  755. gen_rtx_fmt_w (CONST_INT, (MODE), (ARG0))
  756. #define gen_rtx_raw_CONST_VECTOR(MODE, ARG0) \
  757. gen_rtx_fmt_E (CONST_VECTOR, (MODE), (ARG0))
  758. #define gen_rtx_CONST_STRING(MODE, ARG0) \
  759. gen_rtx_fmt_s (CONST_STRING, (MODE), (ARG0))
  760. #define gen_rtx_CONST(MODE, ARG0) \
  761. gen_rtx_fmt_e (CONST, (MODE), (ARG0))
  762. #define gen_rtx_raw_PC(MODE) \
  763. gen_rtx_fmt_ (PC, (MODE))
  764. #define gen_rtx_raw_REG(MODE, ARG0) \
  765. gen_rtx_fmt_i0 (REG, (MODE), (ARG0))
  766. #define gen_rtx_SCRATCH(MODE) \
  767. gen_rtx_fmt_ (SCRATCH, (MODE))
  768. #define gen_rtx_raw_SUBREG(MODE, ARG0, ARG1) \
  769. gen_rtx_fmt_ei (SUBREG, (MODE), (ARG0), (ARG1))
  770. #define gen_rtx_STRICT_LOW_PART(MODE, ARG0) \
  771. gen_rtx_fmt_e (STRICT_LOW_PART, (MODE), (ARG0))
  772. #define gen_rtx_CONCAT(MODE, ARG0, ARG1) \
  773. gen_rtx_fmt_ee (CONCAT, (MODE), (ARG0), (ARG1))
  774. #define gen_rtx_CONCATN(MODE, ARG0) \
  775. gen_rtx_fmt_E (CONCATN, (MODE), (ARG0))
  776. #define gen_rtx_raw_MEM(MODE, ARG0) \
  777. gen_rtx_fmt_e0 (MEM, (MODE), (ARG0))
  778. #define gen_rtx_LABEL_REF(MODE, ARG0) \
  779. gen_rtx_fmt_u (LABEL_REF, (MODE), (ARG0))
  780. #define gen_rtx_SYMBOL_REF(MODE, ARG0) \
  781. gen_rtx_fmt_s0 (SYMBOL_REF, (MODE), (ARG0))
  782. #define gen_rtx_raw_CC0(MODE) \
  783. gen_rtx_fmt_ (CC0, (MODE))
  784. #define gen_rtx_IF_THEN_ELSE(MODE, ARG0, ARG1, ARG2) \
  785. gen_rtx_fmt_eee (IF_THEN_ELSE, (MODE), (ARG0), (ARG1), (ARG2))
  786. #define gen_rtx_COMPARE(MODE, ARG0, ARG1) \
  787. gen_rtx_fmt_ee (COMPARE, (MODE), (ARG0), (ARG1))
  788. #define gen_rtx_PLUS(MODE, ARG0, ARG1) \
  789. gen_rtx_fmt_ee (PLUS, (MODE), (ARG0), (ARG1))
  790. #define gen_rtx_MINUS(MODE, ARG0, ARG1) \
  791. gen_rtx_fmt_ee (MINUS, (MODE), (ARG0), (ARG1))
  792. #define gen_rtx_NEG(MODE, ARG0) \
  793. gen_rtx_fmt_e (NEG, (MODE), (ARG0))
  794. #define gen_rtx_MULT(MODE, ARG0, ARG1) \
  795. gen_rtx_fmt_ee (MULT, (MODE), (ARG0), (ARG1))
  796. #define gen_rtx_SS_MULT(MODE, ARG0, ARG1) \
  797. gen_rtx_fmt_ee (SS_MULT, (MODE), (ARG0), (ARG1))
  798. #define gen_rtx_US_MULT(MODE, ARG0, ARG1) \
  799. gen_rtx_fmt_ee (US_MULT, (MODE), (ARG0), (ARG1))
  800. #define gen_rtx_DIV(MODE, ARG0, ARG1) \
  801. gen_rtx_fmt_ee (DIV, (MODE), (ARG0), (ARG1))
  802. #define gen_rtx_SS_DIV(MODE, ARG0, ARG1) \
  803. gen_rtx_fmt_ee (SS_DIV, (MODE), (ARG0), (ARG1))
  804. #define gen_rtx_US_DIV(MODE, ARG0, ARG1) \
  805. gen_rtx_fmt_ee (US_DIV, (MODE), (ARG0), (ARG1))
  806. #define gen_rtx_MOD(MODE, ARG0, ARG1) \
  807. gen_rtx_fmt_ee (MOD, (MODE), (ARG0), (ARG1))
  808. #define gen_rtx_UDIV(MODE, ARG0, ARG1) \
  809. gen_rtx_fmt_ee (UDIV, (MODE), (ARG0), (ARG1))
  810. #define gen_rtx_UMOD(MODE, ARG0, ARG1) \
  811. gen_rtx_fmt_ee (UMOD, (MODE), (ARG0), (ARG1))
  812. #define gen_rtx_AND(MODE, ARG0, ARG1) \
  813. gen_rtx_fmt_ee (AND, (MODE), (ARG0), (ARG1))
  814. #define gen_rtx_IOR(MODE, ARG0, ARG1) \
  815. gen_rtx_fmt_ee (IOR, (MODE), (ARG0), (ARG1))
  816. #define gen_rtx_XOR(MODE, ARG0, ARG1) \
  817. gen_rtx_fmt_ee (XOR, (MODE), (ARG0), (ARG1))
  818. #define gen_rtx_NOT(MODE, ARG0) \
  819. gen_rtx_fmt_e (NOT, (MODE), (ARG0))
  820. #define gen_rtx_ASHIFT(MODE, ARG0, ARG1) \
  821. gen_rtx_fmt_ee (ASHIFT, (MODE), (ARG0), (ARG1))
  822. #define gen_rtx_ROTATE(MODE, ARG0, ARG1) \
  823. gen_rtx_fmt_ee (ROTATE, (MODE), (ARG0), (ARG1))
  824. #define gen_rtx_ASHIFTRT(MODE, ARG0, ARG1) \
  825. gen_rtx_fmt_ee (ASHIFTRT, (MODE), (ARG0), (ARG1))
  826. #define gen_rtx_LSHIFTRT(MODE, ARG0, ARG1) \
  827. gen_rtx_fmt_ee (LSHIFTRT, (MODE), (ARG0), (ARG1))
  828. #define gen_rtx_ROTATERT(MODE, ARG0, ARG1) \
  829. gen_rtx_fmt_ee (ROTATERT, (MODE), (ARG0), (ARG1))
  830. #define gen_rtx_SMIN(MODE, ARG0, ARG1) \
  831. gen_rtx_fmt_ee (SMIN, (MODE), (ARG0), (ARG1))
  832. #define gen_rtx_SMAX(MODE, ARG0, ARG1) \
  833. gen_rtx_fmt_ee (SMAX, (MODE), (ARG0), (ARG1))
  834. #define gen_rtx_UMIN(MODE, ARG0, ARG1) \
  835. gen_rtx_fmt_ee (UMIN, (MODE), (ARG0), (ARG1))
  836. #define gen_rtx_UMAX(MODE, ARG0, ARG1) \
  837. gen_rtx_fmt_ee (UMAX, (MODE), (ARG0), (ARG1))
  838. #define gen_rtx_PRE_DEC(MODE, ARG0) \
  839. gen_rtx_fmt_e (PRE_DEC, (MODE), (ARG0))
  840. #define gen_rtx_PRE_INC(MODE, ARG0) \
  841. gen_rtx_fmt_e (PRE_INC, (MODE), (ARG0))
  842. #define gen_rtx_POST_DEC(MODE, ARG0) \
  843. gen_rtx_fmt_e (POST_DEC, (MODE), (ARG0))
  844. #define gen_rtx_POST_INC(MODE, ARG0) \
  845. gen_rtx_fmt_e (POST_INC, (MODE), (ARG0))
  846. #define gen_rtx_PRE_MODIFY(MODE, ARG0, ARG1) \
  847. gen_rtx_fmt_ee (PRE_MODIFY, (MODE), (ARG0), (ARG1))
  848. #define gen_rtx_POST_MODIFY(MODE, ARG0, ARG1) \
  849. gen_rtx_fmt_ee (POST_MODIFY, (MODE), (ARG0), (ARG1))
  850. #define gen_rtx_NE(MODE, ARG0, ARG1) \
  851. gen_rtx_fmt_ee (NE, (MODE), (ARG0), (ARG1))
  852. #define gen_rtx_EQ(MODE, ARG0, ARG1) \
  853. gen_rtx_fmt_ee (EQ, (MODE), (ARG0), (ARG1))
  854. #define gen_rtx_GE(MODE, ARG0, ARG1) \
  855. gen_rtx_fmt_ee (GE, (MODE), (ARG0), (ARG1))
  856. #define gen_rtx_GT(MODE, ARG0, ARG1) \
  857. gen_rtx_fmt_ee (GT, (MODE), (ARG0), (ARG1))
  858. #define gen_rtx_LE(MODE, ARG0, ARG1) \
  859. gen_rtx_fmt_ee (LE, (MODE), (ARG0), (ARG1))
  860. #define gen_rtx_LT(MODE, ARG0, ARG1) \
  861. gen_rtx_fmt_ee (LT, (MODE), (ARG0), (ARG1))
  862. #define gen_rtx_GEU(MODE, ARG0, ARG1) \
  863. gen_rtx_fmt_ee (GEU, (MODE), (ARG0), (ARG1))
  864. #define gen_rtx_GTU(MODE, ARG0, ARG1) \
  865. gen_rtx_fmt_ee (GTU, (MODE), (ARG0), (ARG1))
  866. #define gen_rtx_LEU(MODE, ARG0, ARG1) \
  867. gen_rtx_fmt_ee (LEU, (MODE), (ARG0), (ARG1))
  868. #define gen_rtx_LTU(MODE, ARG0, ARG1) \
  869. gen_rtx_fmt_ee (LTU, (MODE), (ARG0), (ARG1))
  870. #define gen_rtx_UNORDERED(MODE, ARG0, ARG1) \
  871. gen_rtx_fmt_ee (UNORDERED, (MODE), (ARG0), (ARG1))
  872. #define gen_rtx_ORDERED(MODE, ARG0, ARG1) \
  873. gen_rtx_fmt_ee (ORDERED, (MODE), (ARG0), (ARG1))
  874. #define gen_rtx_UNEQ(MODE, ARG0, ARG1) \
  875. gen_rtx_fmt_ee (UNEQ, (MODE), (ARG0), (ARG1))
  876. #define gen_rtx_UNGE(MODE, ARG0, ARG1) \
  877. gen_rtx_fmt_ee (UNGE, (MODE), (ARG0), (ARG1))
  878. #define gen_rtx_UNGT(MODE, ARG0, ARG1) \
  879. gen_rtx_fmt_ee (UNGT, (MODE), (ARG0), (ARG1))
  880. #define gen_rtx_UNLE(MODE, ARG0, ARG1) \
  881. gen_rtx_fmt_ee (UNLE, (MODE), (ARG0), (ARG1))
  882. #define gen_rtx_UNLT(MODE, ARG0, ARG1) \
  883. gen_rtx_fmt_ee (UNLT, (MODE), (ARG0), (ARG1))
  884. #define gen_rtx_LTGT(MODE, ARG0, ARG1) \
  885. gen_rtx_fmt_ee (LTGT, (MODE), (ARG0), (ARG1))
  886. #define gen_rtx_SIGN_EXTEND(MODE, ARG0) \
  887. gen_rtx_fmt_e (SIGN_EXTEND, (MODE), (ARG0))
  888. #define gen_rtx_ZERO_EXTEND(MODE, ARG0) \
  889. gen_rtx_fmt_e (ZERO_EXTEND, (MODE), (ARG0))
  890. #define gen_rtx_TRUNCATE(MODE, ARG0) \
  891. gen_rtx_fmt_e (TRUNCATE, (MODE), (ARG0))
  892. #define gen_rtx_FLOAT_EXTEND(MODE, ARG0) \
  893. gen_rtx_fmt_e (FLOAT_EXTEND, (MODE), (ARG0))
  894. #define gen_rtx_FLOAT_TRUNCATE(MODE, ARG0) \
  895. gen_rtx_fmt_e (FLOAT_TRUNCATE, (MODE), (ARG0))
  896. #define gen_rtx_FLOAT(MODE, ARG0) \
  897. gen_rtx_fmt_e (FLOAT, (MODE), (ARG0))
  898. #define gen_rtx_FIX(MODE, ARG0) \
  899. gen_rtx_fmt_e (FIX, (MODE), (ARG0))
  900. #define gen_rtx_UNSIGNED_FLOAT(MODE, ARG0) \
  901. gen_rtx_fmt_e (UNSIGNED_FLOAT, (MODE), (ARG0))
  902. #define gen_rtx_UNSIGNED_FIX(MODE, ARG0) \
  903. gen_rtx_fmt_e (UNSIGNED_FIX, (MODE), (ARG0))
  904. #define gen_rtx_FRACT_CONVERT(MODE, ARG0) \
  905. gen_rtx_fmt_e (FRACT_CONVERT, (MODE), (ARG0))
  906. #define gen_rtx_UNSIGNED_FRACT_CONVERT(MODE, ARG0) \
  907. gen_rtx_fmt_e (UNSIGNED_FRACT_CONVERT, (MODE), (ARG0))
  908. #define gen_rtx_SAT_FRACT(MODE, ARG0) \
  909. gen_rtx_fmt_e (SAT_FRACT, (MODE), (ARG0))
  910. #define gen_rtx_UNSIGNED_SAT_FRACT(MODE, ARG0) \
  911. gen_rtx_fmt_e (UNSIGNED_SAT_FRACT, (MODE), (ARG0))
  912. #define gen_rtx_ABS(MODE, ARG0) \
  913. gen_rtx_fmt_e (ABS, (MODE), (ARG0))
  914. #define gen_rtx_SQRT(MODE, ARG0) \
  915. gen_rtx_fmt_e (SQRT, (MODE), (ARG0))
  916. #define gen_rtx_BSWAP(MODE, ARG0) \
  917. gen_rtx_fmt_e (BSWAP, (MODE), (ARG0))
  918. #define gen_rtx_FFS(MODE, ARG0) \
  919. gen_rtx_fmt_e (FFS, (MODE), (ARG0))
  920. #define gen_rtx_CLRSB(MODE, ARG0) \
  921. gen_rtx_fmt_e (CLRSB, (MODE), (ARG0))
  922. #define gen_rtx_CLZ(MODE, ARG0) \
  923. gen_rtx_fmt_e (CLZ, (MODE), (ARG0))
  924. #define gen_rtx_CTZ(MODE, ARG0) \
  925. gen_rtx_fmt_e (CTZ, (MODE), (ARG0))
  926. #define gen_rtx_POPCOUNT(MODE, ARG0) \
  927. gen_rtx_fmt_e (POPCOUNT, (MODE), (ARG0))
  928. #define gen_rtx_PARITY(MODE, ARG0) \
  929. gen_rtx_fmt_e (PARITY, (MODE), (ARG0))
  930. #define gen_rtx_SIGN_EXTRACT(MODE, ARG0, ARG1, ARG2) \
  931. gen_rtx_fmt_eee (SIGN_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2))
  932. #define gen_rtx_ZERO_EXTRACT(MODE, ARG0, ARG1, ARG2) \
  933. gen_rtx_fmt_eee (ZERO_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2))
  934. #define gen_rtx_HIGH(MODE, ARG0) \
  935. gen_rtx_fmt_e (HIGH, (MODE), (ARG0))
  936. #define gen_rtx_LO_SUM(MODE, ARG0, ARG1) \
  937. gen_rtx_fmt_ee (LO_SUM, (MODE), (ARG0), (ARG1))
  938. #define gen_rtx_VEC_MERGE(MODE, ARG0, ARG1, ARG2) \
  939. gen_rtx_fmt_eee (VEC_MERGE, (MODE), (ARG0), (ARG1), (ARG2))
  940. #define gen_rtx_VEC_SELECT(MODE, ARG0, ARG1) \
  941. gen_rtx_fmt_ee (VEC_SELECT, (MODE), (ARG0), (ARG1))
  942. #define gen_rtx_VEC_CONCAT(MODE, ARG0, ARG1) \
  943. gen_rtx_fmt_ee (VEC_CONCAT, (MODE), (ARG0), (ARG1))
  944. #define gen_rtx_VEC_DUPLICATE(MODE, ARG0) \
  945. gen_rtx_fmt_e (VEC_DUPLICATE, (MODE), (ARG0))
  946. #define gen_rtx_SS_PLUS(MODE, ARG0, ARG1) \
  947. gen_rtx_fmt_ee (SS_PLUS, (MODE), (ARG0), (ARG1))
  948. #define gen_rtx_US_PLUS(MODE, ARG0, ARG1) \
  949. gen_rtx_fmt_ee (US_PLUS, (MODE), (ARG0), (ARG1))
  950. #define gen_rtx_SS_MINUS(MODE, ARG0, ARG1) \
  951. gen_rtx_fmt_ee (SS_MINUS, (MODE), (ARG0), (ARG1))
  952. #define gen_rtx_SS_NEG(MODE, ARG0) \
  953. gen_rtx_fmt_e (SS_NEG, (MODE), (ARG0))
  954. #define gen_rtx_US_NEG(MODE, ARG0) \
  955. gen_rtx_fmt_e (US_NEG, (MODE), (ARG0))
  956. #define gen_rtx_SS_ABS(MODE, ARG0) \
  957. gen_rtx_fmt_e (SS_ABS, (MODE), (ARG0))
  958. #define gen_rtx_SS_ASHIFT(MODE, ARG0, ARG1) \
  959. gen_rtx_fmt_ee (SS_ASHIFT, (MODE), (ARG0), (ARG1))
  960. #define gen_rtx_US_ASHIFT(MODE, ARG0, ARG1) \
  961. gen_rtx_fmt_ee (US_ASHIFT, (MODE), (ARG0), (ARG1))
  962. #define gen_rtx_US_MINUS(MODE, ARG0, ARG1) \
  963. gen_rtx_fmt_ee (US_MINUS, (MODE), (ARG0), (ARG1))
  964. #define gen_rtx_SS_TRUNCATE(MODE, ARG0) \
  965. gen_rtx_fmt_e (SS_TRUNCATE, (MODE), (ARG0))
  966. #define gen_rtx_US_TRUNCATE(MODE, ARG0) \
  967. gen_rtx_fmt_e (US_TRUNCATE, (MODE), (ARG0))
  968. #define gen_rtx_FMA(MODE, ARG0, ARG1, ARG2) \
  969. gen_rtx_fmt_eee (FMA, (MODE), (ARG0), (ARG1), (ARG2))
  970. #define gen_rtx_DEBUG_IMPLICIT_PTR(MODE, ARG0) \
  971. gen_rtx_fmt_t (DEBUG_IMPLICIT_PTR, (MODE), (ARG0))
  972. #define gen_rtx_ENTRY_VALUE(MODE) \
  973. gen_rtx_fmt_0 (ENTRY_VALUE, (MODE))
  974. #define gen_rtx_DEBUG_PARAMETER_REF(MODE, ARG0) \
  975. gen_rtx_fmt_t (DEBUG_PARAMETER_REF, (MODE), (ARG0))
  976. #define gen_rtx_MATCH_OPERAND(MODE, ARG0, ARG1, ARG2) \
  977. gen_rtx_fmt_iss (MATCH_OPERAND, (MODE), (ARG0), (ARG1), (ARG2))
  978. #define gen_rtx_MATCH_SCRATCH(MODE, ARG0, ARG1) \
  979. gen_rtx_fmt_is (MATCH_SCRATCH, (MODE), (ARG0), (ARG1))
  980. #define gen_rtx_MATCH_OPERATOR(MODE, ARG0, ARG1, ARG2) \
  981. gen_rtx_fmt_isE (MATCH_OPERATOR, (MODE), (ARG0), (ARG1), (ARG2))
  982. #define gen_rtx_MATCH_PARALLEL(MODE, ARG0, ARG1, ARG2) \
  983. gen_rtx_fmt_isE (MATCH_PARALLEL, (MODE), (ARG0), (ARG1), (ARG2))
  984. #define gen_rtx_MATCH_DUP(MODE, ARG0) \
  985. gen_rtx_fmt_i (MATCH_DUP, (MODE), (ARG0))
  986. #define gen_rtx_MATCH_OP_DUP(MODE, ARG0, ARG1) \
  987. gen_rtx_fmt_iE (MATCH_OP_DUP, (MODE), (ARG0), (ARG1))
  988. #define gen_rtx_MATCH_PAR_DUP(MODE, ARG0, ARG1) \
  989. gen_rtx_fmt_iE (MATCH_PAR_DUP, (MODE), (ARG0), (ARG1))
  990. #define gen_rtx_MATCH_CODE(MODE, ARG0, ARG1) \
  991. gen_rtx_fmt_ss (MATCH_CODE, (MODE), (ARG0), (ARG1))
  992. #define gen_rtx_MATCH_TEST(MODE, ARG0) \
  993. gen_rtx_fmt_s (MATCH_TEST, (MODE), (ARG0))
  994. #define gen_rtx_DEFINE_DELAY(MODE, ARG0, ARG1) \
  995. gen_rtx_fmt_eE (DEFINE_DELAY, (MODE), (ARG0), (ARG1))
  996. #define gen_rtx_DEFINE_PREDICATE(MODE, ARG0, ARG1, ARG2) \
  997. gen_rtx_fmt_ses (DEFINE_PREDICATE, (MODE), (ARG0), (ARG1), (ARG2))
  998. #define gen_rtx_DEFINE_SPECIAL_PREDICATE(MODE, ARG0, ARG1, ARG2) \
  999. gen_rtx_fmt_ses (DEFINE_SPECIAL_PREDICATE, (MODE), (ARG0), (ARG1), (ARG2))
  1000. #define gen_rtx_DEFINE_REGISTER_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1001. gen_rtx_fmt_sss (DEFINE_REGISTER_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1002. #define gen_rtx_DEFINE_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1003. gen_rtx_fmt_sse (DEFINE_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1004. #define gen_rtx_DEFINE_MEMORY_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1005. gen_rtx_fmt_sse (DEFINE_MEMORY_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1006. #define gen_rtx_DEFINE_ADDRESS_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1007. gen_rtx_fmt_sse (DEFINE_ADDRESS_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1008. #define gen_rtx_EXCLUSION_SET(MODE, ARG0, ARG1) \
  1009. gen_rtx_fmt_ss (EXCLUSION_SET, (MODE), (ARG0), (ARG1))
  1010. #define gen_rtx_PRESENCE_SET(MODE, ARG0, ARG1) \
  1011. gen_rtx_fmt_ss (PRESENCE_SET, (MODE), (ARG0), (ARG1))
  1012. #define gen_rtx_FINAL_PRESENCE_SET(MODE, ARG0, ARG1) \
  1013. gen_rtx_fmt_ss (FINAL_PRESENCE_SET, (MODE), (ARG0), (ARG1))
  1014. #define gen_rtx_ABSENCE_SET(MODE, ARG0, ARG1) \
  1015. gen_rtx_fmt_ss (ABSENCE_SET, (MODE), (ARG0), (ARG1))
  1016. #define gen_rtx_FINAL_ABSENCE_SET(MODE, ARG0, ARG1) \
  1017. gen_rtx_fmt_ss (FINAL_ABSENCE_SET, (MODE), (ARG0), (ARG1))
  1018. #define gen_rtx_DEFINE_AUTOMATON(MODE, ARG0) \
  1019. gen_rtx_fmt_s (DEFINE_AUTOMATON, (MODE), (ARG0))
  1020. #define gen_rtx_AUTOMATA_OPTION(MODE, ARG0) \
  1021. gen_rtx_fmt_s (AUTOMATA_OPTION, (MODE), (ARG0))
  1022. #define gen_rtx_DEFINE_RESERVATION(MODE, ARG0, ARG1) \
  1023. gen_rtx_fmt_ss (DEFINE_RESERVATION, (MODE), (ARG0), (ARG1))
  1024. #define gen_rtx_DEFINE_INSN_RESERVATION(MODE, ARG0, ARG1, ARG2, ARG3) \
  1025. gen_rtx_fmt_sies (DEFINE_INSN_RESERVATION, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  1026. #define gen_rtx_DEFINE_ATTR(MODE, ARG0, ARG1, ARG2) \
  1027. gen_rtx_fmt_sse (DEFINE_ATTR, (MODE), (ARG0), (ARG1), (ARG2))
  1028. #define gen_rtx_DEFINE_ENUM_ATTR(MODE, ARG0, ARG1, ARG2) \
  1029. gen_rtx_fmt_sse (DEFINE_ENUM_ATTR, (MODE), (ARG0), (ARG1), (ARG2))
  1030. #define gen_rtx_ATTR(MODE, ARG0) \
  1031. gen_rtx_fmt_s (ATTR, (MODE), (ARG0))
  1032. #define gen_rtx_SET_ATTR(MODE, ARG0, ARG1) \
  1033. gen_rtx_fmt_ss (SET_ATTR, (MODE), (ARG0), (ARG1))
  1034. #define gen_rtx_SET_ATTR_ALTERNATIVE(MODE, ARG0, ARG1) \
  1035. gen_rtx_fmt_sE (SET_ATTR_ALTERNATIVE, (MODE), (ARG0), (ARG1))
  1036. #define gen_rtx_EQ_ATTR(MODE, ARG0, ARG1) \
  1037. gen_rtx_fmt_ss (EQ_ATTR, (MODE), (ARG0), (ARG1))
  1038. #define gen_rtx_EQ_ATTR_ALT(MODE, ARG0, ARG1) \
  1039. gen_rtx_fmt_ii (EQ_ATTR_ALT, (MODE), (ARG0), (ARG1))
  1040. #define gen_rtx_ATTR_FLAG(MODE, ARG0) \
  1041. gen_rtx_fmt_s (ATTR_FLAG, (MODE), (ARG0))
  1042. #define gen_rtx_COND(MODE, ARG0, ARG1) \
  1043. gen_rtx_fmt_Ee (COND, (MODE), (ARG0), (ARG1))
  1044. #define gen_rtx_DEFINE_SUBST(MODE, ARG0, ARG1, ARG2, ARG3) \
  1045. gen_rtx_fmt_sEsE (DEFINE_SUBST, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  1046. #define gen_rtx_DEFINE_SUBST_ATTR(MODE, ARG0, ARG1, ARG2, ARG3) \
  1047. gen_rtx_fmt_ssss (DEFINE_SUBST_ATTR, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  1048. #endif /* GCC_GENRTL_H */