You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1675 lines
46KB

  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. init_rtx_fmt_0 (rtx rt, machine_mode mode)
  7. {
  8. PUT_MODE_RAW (rt, mode);
  9. X0EXP (rt, 0) = NULL_RTX;
  10. return rt;
  11. }
  12. static inline rtx
  13. gen_rtx_fmt_0_stat (RTX_CODE code, machine_mode mode MEM_STAT_DECL)
  14. {
  15. rtx rt;
  16. rt = rtx_alloc (code PASS_MEM_STAT);
  17. return init_rtx_fmt_0 (rt, mode);
  18. }
  19. #define gen_rtx_fmt_0(c, m) \
  20. gen_rtx_fmt_0_stat ((c), (m) MEM_STAT_INFO)
  21. #define alloca_rtx_fmt_0(c, m) \
  22. init_rtx_fmt_0 (rtx_alloca ((c)), (m))
  23. static inline rtx
  24. init_rtx_fmt_ee (rtx rt, machine_mode mode,
  25. rtx arg0,
  26. rtx arg1)
  27. {
  28. PUT_MODE_RAW (rt, mode);
  29. XEXP (rt, 0) = arg0;
  30. XEXP (rt, 1) = arg1;
  31. return rt;
  32. }
  33. static inline rtx
  34. gen_rtx_fmt_ee_stat (RTX_CODE code, machine_mode mode,
  35. rtx arg0,
  36. rtx arg1 MEM_STAT_DECL)
  37. {
  38. rtx rt;
  39. rt = rtx_alloc (code PASS_MEM_STAT);
  40. return init_rtx_fmt_ee (rt, mode, arg0, arg1);
  41. }
  42. #define gen_rtx_fmt_ee(c, m, arg0, arg1) \
  43. gen_rtx_fmt_ee_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  44. #define alloca_rtx_fmt_ee(c, m, arg0, arg1) \
  45. init_rtx_fmt_ee (rtx_alloca ((c)), (m), (arg0), (arg1))
  46. static inline rtx
  47. init_rtx_fmt_ue (rtx rt, machine_mode mode,
  48. rtx arg0,
  49. rtx arg1)
  50. {
  51. PUT_MODE_RAW (rt, mode);
  52. XEXP (rt, 0) = arg0;
  53. XEXP (rt, 1) = arg1;
  54. return rt;
  55. }
  56. static inline rtx
  57. gen_rtx_fmt_ue_stat (RTX_CODE code, machine_mode mode,
  58. rtx arg0,
  59. rtx arg1 MEM_STAT_DECL)
  60. {
  61. rtx rt;
  62. rt = rtx_alloc (code PASS_MEM_STAT);
  63. return init_rtx_fmt_ue (rt, mode, arg0, arg1);
  64. }
  65. #define gen_rtx_fmt_ue(c, m, arg0, arg1) \
  66. gen_rtx_fmt_ue_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  67. #define alloca_rtx_fmt_ue(c, m, arg0, arg1) \
  68. init_rtx_fmt_ue (rtx_alloca ((c)), (m), (arg0), (arg1))
  69. static inline rtx
  70. init_rtx_fmt_ie (rtx rt, machine_mode mode,
  71. int arg0,
  72. rtx arg1)
  73. {
  74. PUT_MODE_RAW (rt, mode);
  75. XINT (rt, 0) = arg0;
  76. XEXP (rt, 1) = arg1;
  77. return rt;
  78. }
  79. static inline rtx
  80. gen_rtx_fmt_ie_stat (RTX_CODE code, machine_mode mode,
  81. int arg0,
  82. rtx arg1 MEM_STAT_DECL)
  83. {
  84. rtx rt;
  85. rt = rtx_alloc (code PASS_MEM_STAT);
  86. return init_rtx_fmt_ie (rt, mode, arg0, arg1);
  87. }
  88. #define gen_rtx_fmt_ie(c, m, arg0, arg1) \
  89. gen_rtx_fmt_ie_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  90. #define alloca_rtx_fmt_ie(c, m, arg0, arg1) \
  91. init_rtx_fmt_ie (rtx_alloca ((c)), (m), (arg0), (arg1))
  92. static inline rtx
  93. init_rtx_fmt_E (rtx rt, machine_mode mode,
  94. rtvec arg0)
  95. {
  96. PUT_MODE_RAW (rt, mode);
  97. XVEC (rt, 0) = arg0;
  98. return rt;
  99. }
  100. static inline rtx
  101. gen_rtx_fmt_E_stat (RTX_CODE code, machine_mode mode,
  102. rtvec arg0 MEM_STAT_DECL)
  103. {
  104. rtx rt;
  105. rt = rtx_alloc (code PASS_MEM_STAT);
  106. return init_rtx_fmt_E (rt, mode, arg0);
  107. }
  108. #define gen_rtx_fmt_E(c, m, arg0) \
  109. gen_rtx_fmt_E_stat ((c), (m), (arg0) MEM_STAT_INFO)
  110. #define alloca_rtx_fmt_E(c, m, arg0) \
  111. init_rtx_fmt_E (rtx_alloca ((c)), (m), (arg0))
  112. static inline rtx
  113. init_rtx_fmt_i (rtx rt, machine_mode mode,
  114. int arg0)
  115. {
  116. PUT_MODE_RAW (rt, mode);
  117. XINT (rt, 0) = arg0;
  118. return rt;
  119. }
  120. static inline rtx
  121. gen_rtx_fmt_i_stat (RTX_CODE code, machine_mode mode,
  122. int arg0 MEM_STAT_DECL)
  123. {
  124. rtx rt;
  125. rt = rtx_alloc (code PASS_MEM_STAT);
  126. return init_rtx_fmt_i (rt, mode, arg0);
  127. }
  128. #define gen_rtx_fmt_i(c, m, arg0) \
  129. gen_rtx_fmt_i_stat ((c), (m), (arg0) MEM_STAT_INFO)
  130. #define alloca_rtx_fmt_i(c, m, arg0) \
  131. init_rtx_fmt_i (rtx_alloca ((c)), (m), (arg0))
  132. static inline rtx
  133. init_rtx_fmt_uuBeiie (rtx rt, machine_mode mode,
  134. rtx arg0,
  135. rtx arg1,
  136. basic_block arg2,
  137. rtx arg3,
  138. int arg4,
  139. int arg5,
  140. rtx arg6)
  141. {
  142. PUT_MODE_RAW (rt, mode);
  143. XEXP (rt, 0) = arg0;
  144. XEXP (rt, 1) = arg1;
  145. XBBDEF (rt, 2) = arg2;
  146. XEXP (rt, 3) = arg3;
  147. XINT (rt, 4) = arg4;
  148. XINT (rt, 5) = arg5;
  149. XEXP (rt, 6) = arg6;
  150. return rt;
  151. }
  152. static inline rtx
  153. gen_rtx_fmt_uuBeiie_stat (RTX_CODE code, machine_mode mode,
  154. rtx arg0,
  155. rtx arg1,
  156. basic_block arg2,
  157. rtx arg3,
  158. int arg4,
  159. int arg5,
  160. rtx arg6 MEM_STAT_DECL)
  161. {
  162. rtx rt;
  163. rt = rtx_alloc (code PASS_MEM_STAT);
  164. return init_rtx_fmt_uuBeiie (rt, mode, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
  165. }
  166. #define gen_rtx_fmt_uuBeiie(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \
  167. gen_rtx_fmt_uuBeiie_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6) MEM_STAT_INFO)
  168. #define alloca_rtx_fmt_uuBeiie(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \
  169. init_rtx_fmt_uuBeiie (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6))
  170. static inline rtx
  171. init_rtx_fmt_uuBeiie0 (rtx rt, machine_mode mode,
  172. rtx arg0,
  173. rtx arg1,
  174. basic_block arg2,
  175. rtx arg3,
  176. int arg4,
  177. int arg5,
  178. rtx arg6)
  179. {
  180. PUT_MODE_RAW (rt, mode);
  181. XEXP (rt, 0) = arg0;
  182. XEXP (rt, 1) = arg1;
  183. XBBDEF (rt, 2) = arg2;
  184. XEXP (rt, 3) = arg3;
  185. XINT (rt, 4) = arg4;
  186. XINT (rt, 5) = arg5;
  187. XEXP (rt, 6) = arg6;
  188. X0EXP (rt, 7) = NULL_RTX;
  189. return rt;
  190. }
  191. static inline rtx
  192. gen_rtx_fmt_uuBeiie0_stat (RTX_CODE code, machine_mode mode,
  193. rtx arg0,
  194. rtx arg1,
  195. basic_block arg2,
  196. rtx arg3,
  197. int arg4,
  198. int arg5,
  199. rtx arg6 MEM_STAT_DECL)
  200. {
  201. rtx rt;
  202. rt = rtx_alloc (code PASS_MEM_STAT);
  203. return init_rtx_fmt_uuBeiie0 (rt, mode, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
  204. }
  205. #define gen_rtx_fmt_uuBeiie0(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \
  206. gen_rtx_fmt_uuBeiie0_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6) MEM_STAT_INFO)
  207. #define alloca_rtx_fmt_uuBeiie0(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \
  208. init_rtx_fmt_uuBeiie0 (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6))
  209. static inline rtx
  210. init_rtx_fmt_uuBeiiee (rtx rt, machine_mode mode,
  211. rtx arg0,
  212. rtx arg1,
  213. basic_block arg2,
  214. rtx arg3,
  215. int arg4,
  216. int arg5,
  217. rtx arg6,
  218. rtx arg7)
  219. {
  220. PUT_MODE_RAW (rt, mode);
  221. XEXP (rt, 0) = arg0;
  222. XEXP (rt, 1) = arg1;
  223. XBBDEF (rt, 2) = arg2;
  224. XEXP (rt, 3) = arg3;
  225. XINT (rt, 4) = arg4;
  226. XINT (rt, 5) = arg5;
  227. XEXP (rt, 6) = arg6;
  228. XEXP (rt, 7) = arg7;
  229. return rt;
  230. }
  231. static inline rtx
  232. gen_rtx_fmt_uuBeiiee_stat (RTX_CODE code, machine_mode mode,
  233. rtx arg0,
  234. rtx arg1,
  235. basic_block arg2,
  236. rtx arg3,
  237. int arg4,
  238. int arg5,
  239. rtx arg6,
  240. rtx arg7 MEM_STAT_DECL)
  241. {
  242. rtx rt;
  243. rt = rtx_alloc (code PASS_MEM_STAT);
  244. return init_rtx_fmt_uuBeiiee (rt, mode, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
  245. }
  246. #define gen_rtx_fmt_uuBeiiee(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
  247. gen_rtx_fmt_uuBeiiee_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6), (arg7) MEM_STAT_INFO)
  248. #define alloca_rtx_fmt_uuBeiiee(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
  249. init_rtx_fmt_uuBeiiee (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6), (arg7))
  250. static inline rtx
  251. init_rtx_fmt_uuBe0000 (rtx rt, machine_mode mode,
  252. rtx arg0,
  253. rtx arg1,
  254. basic_block arg2,
  255. rtx arg3)
  256. {
  257. PUT_MODE_RAW (rt, mode);
  258. XEXP (rt, 0) = arg0;
  259. XEXP (rt, 1) = arg1;
  260. XBBDEF (rt, 2) = arg2;
  261. XEXP (rt, 3) = arg3;
  262. X0EXP (rt, 4) = NULL_RTX;
  263. X0EXP (rt, 5) = NULL_RTX;
  264. X0EXP (rt, 6) = NULL_RTX;
  265. X0EXP (rt, 7) = NULL_RTX;
  266. return rt;
  267. }
  268. static inline rtx
  269. gen_rtx_fmt_uuBe0000_stat (RTX_CODE code, machine_mode mode,
  270. rtx arg0,
  271. rtx arg1,
  272. basic_block arg2,
  273. rtx arg3 MEM_STAT_DECL)
  274. {
  275. rtx rt;
  276. rt = rtx_alloc (code PASS_MEM_STAT);
  277. return init_rtx_fmt_uuBe0000 (rt, mode, arg0, arg1, arg2, arg3);
  278. }
  279. #define gen_rtx_fmt_uuBe0000(c, m, arg0, arg1, arg2, arg3) \
  280. gen_rtx_fmt_uuBe0000_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO)
  281. #define alloca_rtx_fmt_uuBe0000(c, m, arg0, arg1, arg2, arg3) \
  282. init_rtx_fmt_uuBe0000 (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3))
  283. static inline rtx
  284. init_rtx_fmt_uu00000 (rtx rt, machine_mode mode,
  285. rtx arg0,
  286. rtx arg1)
  287. {
  288. PUT_MODE_RAW (rt, mode);
  289. XEXP (rt, 0) = arg0;
  290. XEXP (rt, 1) = arg1;
  291. X0EXP (rt, 2) = NULL_RTX;
  292. X0EXP (rt, 3) = NULL_RTX;
  293. X0EXP (rt, 4) = NULL_RTX;
  294. X0EXP (rt, 5) = NULL_RTX;
  295. X0EXP (rt, 6) = NULL_RTX;
  296. return rt;
  297. }
  298. static inline rtx
  299. gen_rtx_fmt_uu00000_stat (RTX_CODE code, machine_mode mode,
  300. rtx arg0,
  301. rtx arg1 MEM_STAT_DECL)
  302. {
  303. rtx rt;
  304. rt = rtx_alloc (code PASS_MEM_STAT);
  305. return init_rtx_fmt_uu00000 (rt, mode, arg0, arg1);
  306. }
  307. #define gen_rtx_fmt_uu00000(c, m, arg0, arg1) \
  308. gen_rtx_fmt_uu00000_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  309. #define alloca_rtx_fmt_uu00000(c, m, arg0, arg1) \
  310. init_rtx_fmt_uu00000 (rtx_alloca ((c)), (m), (arg0), (arg1))
  311. static inline rtx
  312. init_rtx_fmt_uuB00is (rtx rt, machine_mode mode,
  313. rtx arg0,
  314. rtx arg1,
  315. basic_block arg2,
  316. int arg3,
  317. const char *arg4)
  318. {
  319. PUT_MODE_RAW (rt, mode);
  320. XEXP (rt, 0) = arg0;
  321. XEXP (rt, 1) = arg1;
  322. XBBDEF (rt, 2) = arg2;
  323. X0EXP (rt, 3) = NULL_RTX;
  324. X0EXP (rt, 4) = NULL_RTX;
  325. XINT (rt, 5) = arg3;
  326. XSTR (rt, 6) = arg4;
  327. return rt;
  328. }
  329. static inline rtx
  330. gen_rtx_fmt_uuB00is_stat (RTX_CODE code, machine_mode mode,
  331. rtx arg0,
  332. rtx arg1,
  333. basic_block arg2,
  334. int arg3,
  335. const char *arg4 MEM_STAT_DECL)
  336. {
  337. rtx rt;
  338. rt = rtx_alloc (code PASS_MEM_STAT);
  339. return init_rtx_fmt_uuB00is (rt, mode, arg0, arg1, arg2, arg3, arg4);
  340. }
  341. #define gen_rtx_fmt_uuB00is(c, m, arg0, arg1, arg2, arg3, arg4) \
  342. gen_rtx_fmt_uuB00is_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4) MEM_STAT_INFO)
  343. #define alloca_rtx_fmt_uuB00is(c, m, arg0, arg1, arg2, arg3, arg4) \
  344. init_rtx_fmt_uuB00is (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4))
  345. static inline rtx
  346. init_rtx_fmt_si (rtx rt, machine_mode mode,
  347. const char *arg0,
  348. int arg1)
  349. {
  350. PUT_MODE_RAW (rt, mode);
  351. XSTR (rt, 0) = arg0;
  352. XINT (rt, 1) = arg1;
  353. return rt;
  354. }
  355. static inline rtx
  356. gen_rtx_fmt_si_stat (RTX_CODE code, machine_mode mode,
  357. const char *arg0,
  358. int arg1 MEM_STAT_DECL)
  359. {
  360. rtx rt;
  361. rt = rtx_alloc (code PASS_MEM_STAT);
  362. return init_rtx_fmt_si (rt, mode, arg0, arg1);
  363. }
  364. #define gen_rtx_fmt_si(c, m, arg0, arg1) \
  365. gen_rtx_fmt_si_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  366. #define alloca_rtx_fmt_si(c, m, arg0, arg1) \
  367. init_rtx_fmt_si (rtx_alloca ((c)), (m), (arg0), (arg1))
  368. static inline rtx
  369. init_rtx_fmt_ssiEEEi (rtx rt, machine_mode mode,
  370. const char *arg0,
  371. const char *arg1,
  372. int arg2,
  373. rtvec arg3,
  374. rtvec arg4,
  375. rtvec arg5,
  376. int arg6)
  377. {
  378. PUT_MODE_RAW (rt, mode);
  379. XSTR (rt, 0) = arg0;
  380. XSTR (rt, 1) = arg1;
  381. XINT (rt, 2) = arg2;
  382. XVEC (rt, 3) = arg3;
  383. XVEC (rt, 4) = arg4;
  384. XVEC (rt, 5) = arg5;
  385. XINT (rt, 6) = arg6;
  386. return rt;
  387. }
  388. static inline rtx
  389. gen_rtx_fmt_ssiEEEi_stat (RTX_CODE code, machine_mode mode,
  390. const char *arg0,
  391. const char *arg1,
  392. int arg2,
  393. rtvec arg3,
  394. rtvec arg4,
  395. rtvec arg5,
  396. int arg6 MEM_STAT_DECL)
  397. {
  398. rtx rt;
  399. rt = rtx_alloc (code PASS_MEM_STAT);
  400. return init_rtx_fmt_ssiEEEi (rt, mode, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
  401. }
  402. #define gen_rtx_fmt_ssiEEEi(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \
  403. gen_rtx_fmt_ssiEEEi_stat ((c), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6) MEM_STAT_INFO)
  404. #define alloca_rtx_fmt_ssiEEEi(c, m, arg0, arg1, arg2, arg3, arg4, arg5, arg6) \
  405. init_rtx_fmt_ssiEEEi (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3), (arg4), (arg5), (arg6))
  406. static inline rtx
  407. init_rtx_fmt_Ei (rtx rt, machine_mode mode,
  408. rtvec arg0,
  409. int arg1)
  410. {
  411. PUT_MODE_RAW (rt, mode);
  412. XVEC (rt, 0) = arg0;
  413. XINT (rt, 1) = arg1;
  414. return rt;
  415. }
  416. static inline rtx
  417. gen_rtx_fmt_Ei_stat (RTX_CODE code, machine_mode mode,
  418. rtvec arg0,
  419. int arg1 MEM_STAT_DECL)
  420. {
  421. rtx rt;
  422. rt = rtx_alloc (code PASS_MEM_STAT);
  423. return init_rtx_fmt_Ei (rt, mode, arg0, arg1);
  424. }
  425. #define gen_rtx_fmt_Ei(c, m, arg0, arg1) \
  426. gen_rtx_fmt_Ei_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  427. #define alloca_rtx_fmt_Ei(c, m, arg0, arg1) \
  428. init_rtx_fmt_Ei (rtx_alloca ((c)), (m), (arg0), (arg1))
  429. static inline rtx
  430. init_rtx_fmt_eEee0 (rtx rt, machine_mode mode,
  431. rtx arg0,
  432. rtvec arg1,
  433. rtx arg2,
  434. rtx arg3)
  435. {
  436. PUT_MODE_RAW (rt, mode);
  437. XEXP (rt, 0) = arg0;
  438. XVEC (rt, 1) = arg1;
  439. XEXP (rt, 2) = arg2;
  440. XEXP (rt, 3) = arg3;
  441. X0EXP (rt, 4) = NULL_RTX;
  442. return rt;
  443. }
  444. static inline rtx
  445. gen_rtx_fmt_eEee0_stat (RTX_CODE code, machine_mode mode,
  446. rtx arg0,
  447. rtvec arg1,
  448. rtx arg2,
  449. rtx arg3 MEM_STAT_DECL)
  450. {
  451. rtx rt;
  452. rt = rtx_alloc (code PASS_MEM_STAT);
  453. return init_rtx_fmt_eEee0 (rt, mode, arg0, arg1, arg2, arg3);
  454. }
  455. #define gen_rtx_fmt_eEee0(c, m, arg0, arg1, arg2, arg3) \
  456. gen_rtx_fmt_eEee0_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO)
  457. #define alloca_rtx_fmt_eEee0(c, m, arg0, arg1, arg2, arg3) \
  458. init_rtx_fmt_eEee0 (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3))
  459. static inline rtx
  460. init_rtx_fmt_eee (rtx rt, machine_mode mode,
  461. rtx arg0,
  462. rtx arg1,
  463. rtx arg2)
  464. {
  465. PUT_MODE_RAW (rt, mode);
  466. XEXP (rt, 0) = arg0;
  467. XEXP (rt, 1) = arg1;
  468. XEXP (rt, 2) = arg2;
  469. return rt;
  470. }
  471. static inline rtx
  472. gen_rtx_fmt_eee_stat (RTX_CODE code, machine_mode mode,
  473. rtx arg0,
  474. rtx arg1,
  475. rtx arg2 MEM_STAT_DECL)
  476. {
  477. rtx rt;
  478. rt = rtx_alloc (code PASS_MEM_STAT);
  479. return init_rtx_fmt_eee (rt, mode, arg0, arg1, arg2);
  480. }
  481. #define gen_rtx_fmt_eee(c, m, arg0, arg1, arg2) \
  482. gen_rtx_fmt_eee_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO)
  483. #define alloca_rtx_fmt_eee(c, m, arg0, arg1, arg2) \
  484. init_rtx_fmt_eee (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2))
  485. static inline rtx
  486. init_rtx_fmt_e (rtx rt, machine_mode mode,
  487. rtx arg0)
  488. {
  489. PUT_MODE_RAW (rt, mode);
  490. XEXP (rt, 0) = arg0;
  491. return rt;
  492. }
  493. static inline rtx
  494. gen_rtx_fmt_e_stat (RTX_CODE code, machine_mode mode,
  495. rtx arg0 MEM_STAT_DECL)
  496. {
  497. rtx rt;
  498. rt = rtx_alloc (code PASS_MEM_STAT);
  499. return init_rtx_fmt_e (rt, mode, arg0);
  500. }
  501. #define gen_rtx_fmt_e(c, m, arg0) \
  502. gen_rtx_fmt_e_stat ((c), (m), (arg0) MEM_STAT_INFO)
  503. #define alloca_rtx_fmt_e(c, m, arg0) \
  504. init_rtx_fmt_e (rtx_alloca ((c)), (m), (arg0))
  505. static inline rtx
  506. init_rtx_fmt_ (rtx rt, machine_mode mode)
  507. {
  508. PUT_MODE_RAW (rt, mode);
  509. return rt;
  510. }
  511. static inline rtx
  512. gen_rtx_fmt__stat (RTX_CODE code, machine_mode mode MEM_STAT_DECL)
  513. {
  514. rtx rt;
  515. rt = rtx_alloc (code PASS_MEM_STAT);
  516. return init_rtx_fmt_ (rt, mode);
  517. }
  518. #define gen_rtx_fmt_(c, m) \
  519. gen_rtx_fmt__stat ((c), (m) MEM_STAT_INFO)
  520. #define alloca_rtx_fmt_(c, m) \
  521. init_rtx_fmt_ (rtx_alloca ((c)), (m))
  522. static inline rtx
  523. init_rtx_fmt_w (rtx rt, machine_mode mode,
  524. HOST_WIDE_INT arg0)
  525. {
  526. PUT_MODE_RAW (rt, mode);
  527. XWINT (rt, 0) = arg0;
  528. return rt;
  529. }
  530. static inline rtx
  531. gen_rtx_fmt_w_stat (RTX_CODE code, machine_mode mode,
  532. HOST_WIDE_INT arg0 MEM_STAT_DECL)
  533. {
  534. rtx rt;
  535. rt = rtx_alloc (code PASS_MEM_STAT);
  536. return init_rtx_fmt_w (rt, mode, arg0);
  537. }
  538. #define gen_rtx_fmt_w(c, m, arg0) \
  539. gen_rtx_fmt_w_stat ((c), (m), (arg0) MEM_STAT_INFO)
  540. #define alloca_rtx_fmt_w(c, m, arg0) \
  541. init_rtx_fmt_w (rtx_alloca ((c)), (m), (arg0))
  542. static inline rtx
  543. init_rtx_fmt_www (rtx rt, machine_mode mode,
  544. HOST_WIDE_INT arg0,
  545. HOST_WIDE_INT arg1,
  546. HOST_WIDE_INT arg2)
  547. {
  548. PUT_MODE_RAW (rt, mode);
  549. XWINT (rt, 0) = arg0;
  550. XWINT (rt, 1) = arg1;
  551. XWINT (rt, 2) = arg2;
  552. return rt;
  553. }
  554. static inline rtx
  555. gen_rtx_fmt_www_stat (RTX_CODE code, machine_mode mode,
  556. HOST_WIDE_INT arg0,
  557. HOST_WIDE_INT arg1,
  558. HOST_WIDE_INT arg2 MEM_STAT_DECL)
  559. {
  560. rtx rt;
  561. rt = rtx_alloc (code PASS_MEM_STAT);
  562. return init_rtx_fmt_www (rt, mode, arg0, arg1, arg2);
  563. }
  564. #define gen_rtx_fmt_www(c, m, arg0, arg1, arg2) \
  565. gen_rtx_fmt_www_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO)
  566. #define alloca_rtx_fmt_www(c, m, arg0, arg1, arg2) \
  567. init_rtx_fmt_www (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2))
  568. static inline rtx
  569. init_rtx_fmt_s (rtx rt, machine_mode mode,
  570. const char *arg0)
  571. {
  572. PUT_MODE_RAW (rt, mode);
  573. XSTR (rt, 0) = arg0;
  574. return rt;
  575. }
  576. static inline rtx
  577. gen_rtx_fmt_s_stat (RTX_CODE code, machine_mode mode,
  578. const char *arg0 MEM_STAT_DECL)
  579. {
  580. rtx rt;
  581. rt = rtx_alloc (code PASS_MEM_STAT);
  582. return init_rtx_fmt_s (rt, mode, arg0);
  583. }
  584. #define gen_rtx_fmt_s(c, m, arg0) \
  585. gen_rtx_fmt_s_stat ((c), (m), (arg0) MEM_STAT_INFO)
  586. #define alloca_rtx_fmt_s(c, m, arg0) \
  587. init_rtx_fmt_s (rtx_alloca ((c)), (m), (arg0))
  588. static inline rtx
  589. init_rtx_fmt_ep (rtx rt, machine_mode mode,
  590. rtx arg0,
  591. poly_uint16 arg1)
  592. {
  593. PUT_MODE_RAW (rt, mode);
  594. XEXP (rt, 0) = arg0;
  595. SUBREG_BYTE (rt) = arg1;
  596. return rt;
  597. }
  598. static inline rtx
  599. gen_rtx_fmt_ep_stat (RTX_CODE code, machine_mode mode,
  600. rtx arg0,
  601. poly_uint16 arg1 MEM_STAT_DECL)
  602. {
  603. rtx rt;
  604. rt = rtx_alloc (code PASS_MEM_STAT);
  605. return init_rtx_fmt_ep (rt, mode, arg0, arg1);
  606. }
  607. #define gen_rtx_fmt_ep(c, m, arg0, arg1) \
  608. gen_rtx_fmt_ep_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  609. #define alloca_rtx_fmt_ep(c, m, arg0, arg1) \
  610. init_rtx_fmt_ep (rtx_alloca ((c)), (m), (arg0), (arg1))
  611. static inline rtx
  612. init_rtx_fmt_e0 (rtx rt, machine_mode mode,
  613. rtx arg0)
  614. {
  615. PUT_MODE_RAW (rt, mode);
  616. XEXP (rt, 0) = arg0;
  617. X0EXP (rt, 1) = NULL_RTX;
  618. return rt;
  619. }
  620. static inline rtx
  621. gen_rtx_fmt_e0_stat (RTX_CODE code, machine_mode mode,
  622. rtx arg0 MEM_STAT_DECL)
  623. {
  624. rtx rt;
  625. rt = rtx_alloc (code PASS_MEM_STAT);
  626. return init_rtx_fmt_e0 (rt, mode, arg0);
  627. }
  628. #define gen_rtx_fmt_e0(c, m, arg0) \
  629. gen_rtx_fmt_e0_stat ((c), (m), (arg0) MEM_STAT_INFO)
  630. #define alloca_rtx_fmt_e0(c, m, arg0) \
  631. init_rtx_fmt_e0 (rtx_alloca ((c)), (m), (arg0))
  632. static inline rtx
  633. init_rtx_fmt_u (rtx rt, machine_mode mode,
  634. rtx arg0)
  635. {
  636. PUT_MODE_RAW (rt, mode);
  637. XEXP (rt, 0) = arg0;
  638. return rt;
  639. }
  640. static inline rtx
  641. gen_rtx_fmt_u_stat (RTX_CODE code, machine_mode mode,
  642. rtx arg0 MEM_STAT_DECL)
  643. {
  644. rtx rt;
  645. rt = rtx_alloc (code PASS_MEM_STAT);
  646. return init_rtx_fmt_u (rt, mode, arg0);
  647. }
  648. #define gen_rtx_fmt_u(c, m, arg0) \
  649. gen_rtx_fmt_u_stat ((c), (m), (arg0) MEM_STAT_INFO)
  650. #define alloca_rtx_fmt_u(c, m, arg0) \
  651. init_rtx_fmt_u (rtx_alloca ((c)), (m), (arg0))
  652. static inline rtx
  653. init_rtx_fmt_s0 (rtx rt, machine_mode mode,
  654. const char *arg0)
  655. {
  656. PUT_MODE_RAW (rt, mode);
  657. XSTR (rt, 0) = arg0;
  658. X0EXP (rt, 1) = NULL_RTX;
  659. return rt;
  660. }
  661. static inline rtx
  662. gen_rtx_fmt_s0_stat (RTX_CODE code, machine_mode mode,
  663. const char *arg0 MEM_STAT_DECL)
  664. {
  665. rtx rt;
  666. rt = rtx_alloc (code PASS_MEM_STAT);
  667. return init_rtx_fmt_s0 (rt, mode, arg0);
  668. }
  669. #define gen_rtx_fmt_s0(c, m, arg0) \
  670. gen_rtx_fmt_s0_stat ((c), (m), (arg0) MEM_STAT_INFO)
  671. #define alloca_rtx_fmt_s0(c, m, arg0) \
  672. init_rtx_fmt_s0 (rtx_alloca ((c)), (m), (arg0))
  673. static inline rtx
  674. init_rtx_fmt_te (rtx rt, machine_mode mode,
  675. tree arg0,
  676. rtx arg1)
  677. {
  678. PUT_MODE_RAW (rt, mode);
  679. XTREE (rt, 0) = arg0;
  680. XEXP (rt, 1) = arg1;
  681. return rt;
  682. }
  683. static inline rtx
  684. gen_rtx_fmt_te_stat (RTX_CODE code, machine_mode mode,
  685. tree arg0,
  686. rtx arg1 MEM_STAT_DECL)
  687. {
  688. rtx rt;
  689. rt = rtx_alloc (code PASS_MEM_STAT);
  690. return init_rtx_fmt_te (rt, mode, arg0, arg1);
  691. }
  692. #define gen_rtx_fmt_te(c, m, arg0, arg1) \
  693. gen_rtx_fmt_te_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  694. #define alloca_rtx_fmt_te(c, m, arg0, arg1) \
  695. init_rtx_fmt_te (rtx_alloca ((c)), (m), (arg0), (arg1))
  696. static inline rtx
  697. init_rtx_fmt_t (rtx rt, machine_mode mode,
  698. tree arg0)
  699. {
  700. PUT_MODE_RAW (rt, mode);
  701. XTREE (rt, 0) = arg0;
  702. return rt;
  703. }
  704. static inline rtx
  705. gen_rtx_fmt_t_stat (RTX_CODE code, machine_mode mode,
  706. tree arg0 MEM_STAT_DECL)
  707. {
  708. rtx rt;
  709. rt = rtx_alloc (code PASS_MEM_STAT);
  710. return init_rtx_fmt_t (rt, mode, arg0);
  711. }
  712. #define gen_rtx_fmt_t(c, m, arg0) \
  713. gen_rtx_fmt_t_stat ((c), (m), (arg0) MEM_STAT_INFO)
  714. #define alloca_rtx_fmt_t(c, m, arg0) \
  715. init_rtx_fmt_t (rtx_alloca ((c)), (m), (arg0))
  716. static inline rtx
  717. init_rtx_fmt_iss (rtx rt, machine_mode mode,
  718. int arg0,
  719. const char *arg1,
  720. const char *arg2)
  721. {
  722. PUT_MODE_RAW (rt, mode);
  723. XINT (rt, 0) = arg0;
  724. XSTR (rt, 1) = arg1;
  725. XSTR (rt, 2) = arg2;
  726. return rt;
  727. }
  728. static inline rtx
  729. gen_rtx_fmt_iss_stat (RTX_CODE code, machine_mode mode,
  730. int arg0,
  731. const char *arg1,
  732. const char *arg2 MEM_STAT_DECL)
  733. {
  734. rtx rt;
  735. rt = rtx_alloc (code PASS_MEM_STAT);
  736. return init_rtx_fmt_iss (rt, mode, arg0, arg1, arg2);
  737. }
  738. #define gen_rtx_fmt_iss(c, m, arg0, arg1, arg2) \
  739. gen_rtx_fmt_iss_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO)
  740. #define alloca_rtx_fmt_iss(c, m, arg0, arg1, arg2) \
  741. init_rtx_fmt_iss (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2))
  742. static inline rtx
  743. init_rtx_fmt_is (rtx rt, machine_mode mode,
  744. int arg0,
  745. const char *arg1)
  746. {
  747. PUT_MODE_RAW (rt, mode);
  748. XINT (rt, 0) = arg0;
  749. XSTR (rt, 1) = arg1;
  750. return rt;
  751. }
  752. static inline rtx
  753. gen_rtx_fmt_is_stat (RTX_CODE code, machine_mode mode,
  754. int arg0,
  755. const char *arg1 MEM_STAT_DECL)
  756. {
  757. rtx rt;
  758. rt = rtx_alloc (code PASS_MEM_STAT);
  759. return init_rtx_fmt_is (rt, mode, arg0, arg1);
  760. }
  761. #define gen_rtx_fmt_is(c, m, arg0, arg1) \
  762. gen_rtx_fmt_is_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  763. #define alloca_rtx_fmt_is(c, m, arg0, arg1) \
  764. init_rtx_fmt_is (rtx_alloca ((c)), (m), (arg0), (arg1))
  765. static inline rtx
  766. init_rtx_fmt_isE (rtx rt, machine_mode mode,
  767. int arg0,
  768. const char *arg1,
  769. rtvec arg2)
  770. {
  771. PUT_MODE_RAW (rt, mode);
  772. XINT (rt, 0) = arg0;
  773. XSTR (rt, 1) = arg1;
  774. XVEC (rt, 2) = arg2;
  775. return rt;
  776. }
  777. static inline rtx
  778. gen_rtx_fmt_isE_stat (RTX_CODE code, machine_mode mode,
  779. int arg0,
  780. const char *arg1,
  781. rtvec arg2 MEM_STAT_DECL)
  782. {
  783. rtx rt;
  784. rt = rtx_alloc (code PASS_MEM_STAT);
  785. return init_rtx_fmt_isE (rt, mode, arg0, arg1, arg2);
  786. }
  787. #define gen_rtx_fmt_isE(c, m, arg0, arg1, arg2) \
  788. gen_rtx_fmt_isE_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO)
  789. #define alloca_rtx_fmt_isE(c, m, arg0, arg1, arg2) \
  790. init_rtx_fmt_isE (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2))
  791. static inline rtx
  792. init_rtx_fmt_iE (rtx rt, machine_mode mode,
  793. int arg0,
  794. rtvec arg1)
  795. {
  796. PUT_MODE_RAW (rt, mode);
  797. XINT (rt, 0) = arg0;
  798. XVEC (rt, 1) = arg1;
  799. return rt;
  800. }
  801. static inline rtx
  802. gen_rtx_fmt_iE_stat (RTX_CODE code, machine_mode mode,
  803. int arg0,
  804. rtvec arg1 MEM_STAT_DECL)
  805. {
  806. rtx rt;
  807. rt = rtx_alloc (code PASS_MEM_STAT);
  808. return init_rtx_fmt_iE (rt, mode, arg0, arg1);
  809. }
  810. #define gen_rtx_fmt_iE(c, m, arg0, arg1) \
  811. gen_rtx_fmt_iE_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  812. #define alloca_rtx_fmt_iE(c, m, arg0, arg1) \
  813. init_rtx_fmt_iE (rtx_alloca ((c)), (m), (arg0), (arg1))
  814. static inline rtx
  815. init_rtx_fmt_ss (rtx rt, machine_mode mode,
  816. const char *arg0,
  817. const char *arg1)
  818. {
  819. PUT_MODE_RAW (rt, mode);
  820. XSTR (rt, 0) = arg0;
  821. XSTR (rt, 1) = arg1;
  822. return rt;
  823. }
  824. static inline rtx
  825. gen_rtx_fmt_ss_stat (RTX_CODE code, machine_mode mode,
  826. const char *arg0,
  827. const char *arg1 MEM_STAT_DECL)
  828. {
  829. rtx rt;
  830. rt = rtx_alloc (code PASS_MEM_STAT);
  831. return init_rtx_fmt_ss (rt, mode, arg0, arg1);
  832. }
  833. #define gen_rtx_fmt_ss(c, m, arg0, arg1) \
  834. gen_rtx_fmt_ss_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  835. #define alloca_rtx_fmt_ss(c, m, arg0, arg1) \
  836. init_rtx_fmt_ss (rtx_alloca ((c)), (m), (arg0), (arg1))
  837. static inline rtx
  838. init_rtx_fmt_eE (rtx rt, machine_mode mode,
  839. rtx arg0,
  840. rtvec arg1)
  841. {
  842. PUT_MODE_RAW (rt, mode);
  843. XEXP (rt, 0) = arg0;
  844. XVEC (rt, 1) = arg1;
  845. return rt;
  846. }
  847. static inline rtx
  848. gen_rtx_fmt_eE_stat (RTX_CODE code, machine_mode mode,
  849. rtx arg0,
  850. rtvec arg1 MEM_STAT_DECL)
  851. {
  852. rtx rt;
  853. rt = rtx_alloc (code PASS_MEM_STAT);
  854. return init_rtx_fmt_eE (rt, mode, arg0, arg1);
  855. }
  856. #define gen_rtx_fmt_eE(c, m, arg0, arg1) \
  857. gen_rtx_fmt_eE_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  858. #define alloca_rtx_fmt_eE(c, m, arg0, arg1) \
  859. init_rtx_fmt_eE (rtx_alloca ((c)), (m), (arg0), (arg1))
  860. static inline rtx
  861. init_rtx_fmt_ses (rtx rt, machine_mode mode,
  862. const char *arg0,
  863. rtx arg1,
  864. const char *arg2)
  865. {
  866. PUT_MODE_RAW (rt, mode);
  867. XSTR (rt, 0) = arg0;
  868. XEXP (rt, 1) = arg1;
  869. XSTR (rt, 2) = arg2;
  870. return rt;
  871. }
  872. static inline rtx
  873. gen_rtx_fmt_ses_stat (RTX_CODE code, machine_mode mode,
  874. const char *arg0,
  875. rtx arg1,
  876. const char *arg2 MEM_STAT_DECL)
  877. {
  878. rtx rt;
  879. rt = rtx_alloc (code PASS_MEM_STAT);
  880. return init_rtx_fmt_ses (rt, mode, arg0, arg1, arg2);
  881. }
  882. #define gen_rtx_fmt_ses(c, m, arg0, arg1, arg2) \
  883. gen_rtx_fmt_ses_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO)
  884. #define alloca_rtx_fmt_ses(c, m, arg0, arg1, arg2) \
  885. init_rtx_fmt_ses (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2))
  886. static inline rtx
  887. init_rtx_fmt_sss (rtx rt, machine_mode mode,
  888. const char *arg0,
  889. const char *arg1,
  890. const char *arg2)
  891. {
  892. PUT_MODE_RAW (rt, mode);
  893. XSTR (rt, 0) = arg0;
  894. XSTR (rt, 1) = arg1;
  895. XSTR (rt, 2) = arg2;
  896. return rt;
  897. }
  898. static inline rtx
  899. gen_rtx_fmt_sss_stat (RTX_CODE code, machine_mode mode,
  900. const char *arg0,
  901. const char *arg1,
  902. const char *arg2 MEM_STAT_DECL)
  903. {
  904. rtx rt;
  905. rt = rtx_alloc (code PASS_MEM_STAT);
  906. return init_rtx_fmt_sss (rt, mode, arg0, arg1, arg2);
  907. }
  908. #define gen_rtx_fmt_sss(c, m, arg0, arg1, arg2) \
  909. gen_rtx_fmt_sss_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO)
  910. #define alloca_rtx_fmt_sss(c, m, arg0, arg1, arg2) \
  911. init_rtx_fmt_sss (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2))
  912. static inline rtx
  913. init_rtx_fmt_sse (rtx rt, machine_mode mode,
  914. const char *arg0,
  915. const char *arg1,
  916. rtx arg2)
  917. {
  918. PUT_MODE_RAW (rt, mode);
  919. XSTR (rt, 0) = arg0;
  920. XSTR (rt, 1) = arg1;
  921. XEXP (rt, 2) = arg2;
  922. return rt;
  923. }
  924. static inline rtx
  925. gen_rtx_fmt_sse_stat (RTX_CODE code, machine_mode mode,
  926. const char *arg0,
  927. const char *arg1,
  928. rtx arg2 MEM_STAT_DECL)
  929. {
  930. rtx rt;
  931. rt = rtx_alloc (code PASS_MEM_STAT);
  932. return init_rtx_fmt_sse (rt, mode, arg0, arg1, arg2);
  933. }
  934. #define gen_rtx_fmt_sse(c, m, arg0, arg1, arg2) \
  935. gen_rtx_fmt_sse_stat ((c), (m), (arg0), (arg1), (arg2) MEM_STAT_INFO)
  936. #define alloca_rtx_fmt_sse(c, m, arg0, arg1, arg2) \
  937. init_rtx_fmt_sse (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2))
  938. static inline rtx
  939. init_rtx_fmt_sies (rtx rt, machine_mode mode,
  940. const char *arg0,
  941. int arg1,
  942. rtx arg2,
  943. const char *arg3)
  944. {
  945. PUT_MODE_RAW (rt, mode);
  946. XSTR (rt, 0) = arg0;
  947. XINT (rt, 1) = arg1;
  948. XEXP (rt, 2) = arg2;
  949. XSTR (rt, 3) = arg3;
  950. return rt;
  951. }
  952. static inline rtx
  953. gen_rtx_fmt_sies_stat (RTX_CODE code, machine_mode mode,
  954. const char *arg0,
  955. int arg1,
  956. rtx arg2,
  957. const char *arg3 MEM_STAT_DECL)
  958. {
  959. rtx rt;
  960. rt = rtx_alloc (code PASS_MEM_STAT);
  961. return init_rtx_fmt_sies (rt, mode, arg0, arg1, arg2, arg3);
  962. }
  963. #define gen_rtx_fmt_sies(c, m, arg0, arg1, arg2, arg3) \
  964. gen_rtx_fmt_sies_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO)
  965. #define alloca_rtx_fmt_sies(c, m, arg0, arg1, arg2, arg3) \
  966. init_rtx_fmt_sies (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3))
  967. static inline rtx
  968. init_rtx_fmt_sE (rtx rt, machine_mode mode,
  969. const char *arg0,
  970. rtvec arg1)
  971. {
  972. PUT_MODE_RAW (rt, mode);
  973. XSTR (rt, 0) = arg0;
  974. XVEC (rt, 1) = arg1;
  975. return rt;
  976. }
  977. static inline rtx
  978. gen_rtx_fmt_sE_stat (RTX_CODE code, machine_mode mode,
  979. const char *arg0,
  980. rtvec arg1 MEM_STAT_DECL)
  981. {
  982. rtx rt;
  983. rt = rtx_alloc (code PASS_MEM_STAT);
  984. return init_rtx_fmt_sE (rt, mode, arg0, arg1);
  985. }
  986. #define gen_rtx_fmt_sE(c, m, arg0, arg1) \
  987. gen_rtx_fmt_sE_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  988. #define alloca_rtx_fmt_sE(c, m, arg0, arg1) \
  989. init_rtx_fmt_sE (rtx_alloca ((c)), (m), (arg0), (arg1))
  990. static inline rtx
  991. init_rtx_fmt_ww (rtx rt, machine_mode mode,
  992. HOST_WIDE_INT arg0,
  993. HOST_WIDE_INT arg1)
  994. {
  995. PUT_MODE_RAW (rt, mode);
  996. XWINT (rt, 0) = arg0;
  997. XWINT (rt, 1) = arg1;
  998. return rt;
  999. }
  1000. static inline rtx
  1001. gen_rtx_fmt_ww_stat (RTX_CODE code, machine_mode mode,
  1002. HOST_WIDE_INT arg0,
  1003. HOST_WIDE_INT arg1 MEM_STAT_DECL)
  1004. {
  1005. rtx rt;
  1006. rt = rtx_alloc (code PASS_MEM_STAT);
  1007. return init_rtx_fmt_ww (rt, mode, arg0, arg1);
  1008. }
  1009. #define gen_rtx_fmt_ww(c, m, arg0, arg1) \
  1010. gen_rtx_fmt_ww_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  1011. #define alloca_rtx_fmt_ww(c, m, arg0, arg1) \
  1012. init_rtx_fmt_ww (rtx_alloca ((c)), (m), (arg0), (arg1))
  1013. static inline rtx
  1014. init_rtx_fmt_Ee (rtx rt, machine_mode mode,
  1015. rtvec arg0,
  1016. rtx arg1)
  1017. {
  1018. PUT_MODE_RAW (rt, mode);
  1019. XVEC (rt, 0) = arg0;
  1020. XEXP (rt, 1) = arg1;
  1021. return rt;
  1022. }
  1023. static inline rtx
  1024. gen_rtx_fmt_Ee_stat (RTX_CODE code, machine_mode mode,
  1025. rtvec arg0,
  1026. rtx arg1 MEM_STAT_DECL)
  1027. {
  1028. rtx rt;
  1029. rt = rtx_alloc (code PASS_MEM_STAT);
  1030. return init_rtx_fmt_Ee (rt, mode, arg0, arg1);
  1031. }
  1032. #define gen_rtx_fmt_Ee(c, m, arg0, arg1) \
  1033. gen_rtx_fmt_Ee_stat ((c), (m), (arg0), (arg1) MEM_STAT_INFO)
  1034. #define alloca_rtx_fmt_Ee(c, m, arg0, arg1) \
  1035. init_rtx_fmt_Ee (rtx_alloca ((c)), (m), (arg0), (arg1))
  1036. static inline rtx
  1037. init_rtx_fmt_sEsE (rtx rt, machine_mode mode,
  1038. const char *arg0,
  1039. rtvec arg1,
  1040. const char *arg2,
  1041. rtvec arg3)
  1042. {
  1043. PUT_MODE_RAW (rt, mode);
  1044. XSTR (rt, 0) = arg0;
  1045. XVEC (rt, 1) = arg1;
  1046. XSTR (rt, 2) = arg2;
  1047. XVEC (rt, 3) = arg3;
  1048. return rt;
  1049. }
  1050. static inline rtx
  1051. gen_rtx_fmt_sEsE_stat (RTX_CODE code, machine_mode mode,
  1052. const char *arg0,
  1053. rtvec arg1,
  1054. const char *arg2,
  1055. rtvec arg3 MEM_STAT_DECL)
  1056. {
  1057. rtx rt;
  1058. rt = rtx_alloc (code PASS_MEM_STAT);
  1059. return init_rtx_fmt_sEsE (rt, mode, arg0, arg1, arg2, arg3);
  1060. }
  1061. #define gen_rtx_fmt_sEsE(c, m, arg0, arg1, arg2, arg3) \
  1062. gen_rtx_fmt_sEsE_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO)
  1063. #define alloca_rtx_fmt_sEsE(c, m, arg0, arg1, arg2, arg3) \
  1064. init_rtx_fmt_sEsE (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3))
  1065. static inline rtx
  1066. init_rtx_fmt_ssss (rtx rt, machine_mode mode,
  1067. const char *arg0,
  1068. const char *arg1,
  1069. const char *arg2,
  1070. const char *arg3)
  1071. {
  1072. PUT_MODE_RAW (rt, mode);
  1073. XSTR (rt, 0) = arg0;
  1074. XSTR (rt, 1) = arg1;
  1075. XSTR (rt, 2) = arg2;
  1076. XSTR (rt, 3) = arg3;
  1077. return rt;
  1078. }
  1079. static inline rtx
  1080. gen_rtx_fmt_ssss_stat (RTX_CODE code, machine_mode mode,
  1081. const char *arg0,
  1082. const char *arg1,
  1083. const char *arg2,
  1084. const char *arg3 MEM_STAT_DECL)
  1085. {
  1086. rtx rt;
  1087. rt = rtx_alloc (code PASS_MEM_STAT);
  1088. return init_rtx_fmt_ssss (rt, mode, arg0, arg1, arg2, arg3);
  1089. }
  1090. #define gen_rtx_fmt_ssss(c, m, arg0, arg1, arg2, arg3) \
  1091. gen_rtx_fmt_ssss_stat ((c), (m), (arg0), (arg1), (arg2), (arg3) MEM_STAT_INFO)
  1092. #define alloca_rtx_fmt_ssss(c, m, arg0, arg1, arg2, arg3) \
  1093. init_rtx_fmt_ssss (rtx_alloca ((c)), (m), (arg0), (arg1), (arg2), (arg3))
  1094. #define gen_rtx_VALUE(MODE) \
  1095. gen_rtx_fmt_0 (VALUE, (MODE))
  1096. #define gen_rtx_DEBUG_EXPR(MODE) \
  1097. gen_rtx_fmt_0 (DEBUG_EXPR, (MODE))
  1098. #define gen_rtx_raw_EXPR_LIST(MODE, ARG0, ARG1) \
  1099. gen_rtx_fmt_ee (EXPR_LIST, (MODE), (ARG0), (ARG1))
  1100. #define gen_rtx_raw_INSN_LIST(MODE, ARG0, ARG1) \
  1101. gen_rtx_fmt_ue (INSN_LIST, (MODE), (ARG0), (ARG1))
  1102. #define gen_rtx_INT_LIST(MODE, ARG0, ARG1) \
  1103. gen_rtx_fmt_ie (INT_LIST, (MODE), (ARG0), (ARG1))
  1104. #define gen_rtx_SEQUENCE(MODE, ARG0) \
  1105. gen_rtx_fmt_E (SEQUENCE, (MODE), (ARG0))
  1106. #define gen_rtx_ADDRESS(MODE, ARG0) \
  1107. gen_rtx_fmt_i (ADDRESS, (MODE), (ARG0))
  1108. #define gen_rtx_DEBUG_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
  1109. gen_rtx_fmt_uuBeiie (DEBUG_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
  1110. #define gen_rtx_raw_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
  1111. gen_rtx_fmt_uuBeiie (INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
  1112. #define gen_rtx_JUMP_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
  1113. gen_rtx_fmt_uuBeiie0 (JUMP_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
  1114. #define gen_rtx_CALL_INSN(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \
  1115. gen_rtx_fmt_uuBeiiee (CALL_INSN, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7))
  1116. #define gen_rtx_JUMP_TABLE_DATA(MODE, ARG0, ARG1, ARG2, ARG3) \
  1117. gen_rtx_fmt_uuBe0000 (JUMP_TABLE_DATA, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  1118. #define gen_rtx_BARRIER(MODE, ARG0, ARG1) \
  1119. gen_rtx_fmt_uu00000 (BARRIER, (MODE), (ARG0), (ARG1))
  1120. #define gen_rtx_CODE_LABEL(MODE, ARG0, ARG1, ARG2, ARG3, ARG4) \
  1121. gen_rtx_fmt_uuB00is (CODE_LABEL, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4))
  1122. #define gen_rtx_COND_EXEC(MODE, ARG0, ARG1) \
  1123. gen_rtx_fmt_ee (COND_EXEC, (MODE), (ARG0), (ARG1))
  1124. #define gen_rtx_PARALLEL(MODE, ARG0) \
  1125. gen_rtx_fmt_E (PARALLEL, (MODE), (ARG0))
  1126. #define gen_rtx_ASM_INPUT(MODE, ARG0, ARG1) \
  1127. gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), (ARG1))
  1128. #define gen_rtx_ASM_OPERANDS(MODE, ARG0, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \
  1129. gen_rtx_fmt_ssiEEEi (ASM_OPERANDS, (MODE), (ARG0), (ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6))
  1130. #define gen_rtx_UNSPEC(MODE, ARG0, ARG1) \
  1131. gen_rtx_fmt_Ei (UNSPEC, (MODE), (ARG0), (ARG1))
  1132. #define gen_rtx_UNSPEC_VOLATILE(MODE, ARG0, ARG1) \
  1133. gen_rtx_fmt_Ei (UNSPEC_VOLATILE, (MODE), (ARG0), (ARG1))
  1134. #define gen_rtx_ADDR_VEC(MODE, ARG0) \
  1135. gen_rtx_fmt_E (ADDR_VEC, (MODE), (ARG0))
  1136. #define gen_rtx_ADDR_DIFF_VEC(MODE, ARG0, ARG1, ARG2, ARG3) \
  1137. gen_rtx_fmt_eEee0 (ADDR_DIFF_VEC, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  1138. #define gen_rtx_PREFETCH(MODE, ARG0, ARG1, ARG2) \
  1139. gen_rtx_fmt_eee (PREFETCH, (MODE), (ARG0), (ARG1), (ARG2))
  1140. #define gen_rtx_SET(ARG0, ARG1) \
  1141. gen_rtx_fmt_ee (SET, VOIDmode, (ARG0), (ARG1))
  1142. #define gen_rtx_USE(MODE, ARG0) \
  1143. gen_rtx_fmt_e (USE, (MODE), (ARG0))
  1144. #define gen_rtx_CLOBBER(MODE, ARG0) \
  1145. gen_rtx_fmt_e (CLOBBER, (MODE), (ARG0))
  1146. #define gen_rtx_CALL(MODE, ARG0, ARG1) \
  1147. gen_rtx_fmt_ee (CALL, (MODE), (ARG0), (ARG1))
  1148. #define gen_rtx_raw_RETURN(MODE) \
  1149. gen_rtx_fmt_ (RETURN, (MODE))
  1150. #define gen_rtx_raw_SIMPLE_RETURN(MODE) \
  1151. gen_rtx_fmt_ (SIMPLE_RETURN, (MODE))
  1152. #define gen_rtx_EH_RETURN(MODE) \
  1153. gen_rtx_fmt_ (EH_RETURN, (MODE))
  1154. #define gen_rtx_TRAP_IF(MODE, ARG0, ARG1) \
  1155. gen_rtx_fmt_ee (TRAP_IF, (MODE), (ARG0), (ARG1))
  1156. #define gen_rtx_raw_CONST_INT(MODE, ARG0) \
  1157. gen_rtx_fmt_w (CONST_INT, (MODE), (ARG0))
  1158. #define gen_rtx_raw_CONST_VECTOR(MODE, ARG0) \
  1159. gen_rtx_fmt_E (CONST_VECTOR, (MODE), (ARG0))
  1160. #define gen_rtx_CONST_STRING(MODE, ARG0) \
  1161. gen_rtx_fmt_s (CONST_STRING, (MODE), (ARG0))
  1162. #define gen_rtx_CONST(MODE, ARG0) \
  1163. gen_rtx_fmt_e (CONST, (MODE), (ARG0))
  1164. #define gen_rtx_raw_PC(MODE) \
  1165. gen_rtx_fmt_ (PC, (MODE))
  1166. #define gen_rtx_SCRATCH(MODE) \
  1167. gen_rtx_fmt_ (SCRATCH, (MODE))
  1168. #define gen_rtx_raw_SUBREG(MODE, ARG0, ARG1) \
  1169. gen_rtx_fmt_ep (SUBREG, (MODE), (ARG0), (ARG1))
  1170. #define gen_rtx_STRICT_LOW_PART(MODE, ARG0) \
  1171. gen_rtx_fmt_e (STRICT_LOW_PART, (MODE), (ARG0))
  1172. #define gen_rtx_CONCAT(MODE, ARG0, ARG1) \
  1173. gen_rtx_fmt_ee (CONCAT, (MODE), (ARG0), (ARG1))
  1174. #define gen_rtx_CONCATN(MODE, ARG0) \
  1175. gen_rtx_fmt_E (CONCATN, (MODE), (ARG0))
  1176. #define gen_rtx_raw_MEM(MODE, ARG0) \
  1177. gen_rtx_fmt_e0 (MEM, (MODE), (ARG0))
  1178. #define gen_rtx_LABEL_REF(MODE, ARG0) \
  1179. gen_rtx_fmt_u (LABEL_REF, (MODE), (ARG0))
  1180. #define gen_rtx_SYMBOL_REF(MODE, ARG0) \
  1181. gen_rtx_fmt_s0 (SYMBOL_REF, (MODE), (ARG0))
  1182. #define gen_rtx_raw_CC0(MODE) \
  1183. gen_rtx_fmt_ (CC0, (MODE))
  1184. #define gen_rtx_IF_THEN_ELSE(MODE, ARG0, ARG1, ARG2) \
  1185. gen_rtx_fmt_eee (IF_THEN_ELSE, (MODE), (ARG0), (ARG1), (ARG2))
  1186. #define gen_rtx_COMPARE(MODE, ARG0, ARG1) \
  1187. gen_rtx_fmt_ee (COMPARE, (MODE), (ARG0), (ARG1))
  1188. #define gen_rtx_PLUS(MODE, ARG0, ARG1) \
  1189. gen_rtx_fmt_ee (PLUS, (MODE), (ARG0), (ARG1))
  1190. #define gen_rtx_MINUS(MODE, ARG0, ARG1) \
  1191. gen_rtx_fmt_ee (MINUS, (MODE), (ARG0), (ARG1))
  1192. #define gen_rtx_NEG(MODE, ARG0) \
  1193. gen_rtx_fmt_e (NEG, (MODE), (ARG0))
  1194. #define gen_rtx_MULT(MODE, ARG0, ARG1) \
  1195. gen_rtx_fmt_ee (MULT, (MODE), (ARG0), (ARG1))
  1196. #define gen_rtx_SS_MULT(MODE, ARG0, ARG1) \
  1197. gen_rtx_fmt_ee (SS_MULT, (MODE), (ARG0), (ARG1))
  1198. #define gen_rtx_US_MULT(MODE, ARG0, ARG1) \
  1199. gen_rtx_fmt_ee (US_MULT, (MODE), (ARG0), (ARG1))
  1200. #define gen_rtx_DIV(MODE, ARG0, ARG1) \
  1201. gen_rtx_fmt_ee (DIV, (MODE), (ARG0), (ARG1))
  1202. #define gen_rtx_SS_DIV(MODE, ARG0, ARG1) \
  1203. gen_rtx_fmt_ee (SS_DIV, (MODE), (ARG0), (ARG1))
  1204. #define gen_rtx_US_DIV(MODE, ARG0, ARG1) \
  1205. gen_rtx_fmt_ee (US_DIV, (MODE), (ARG0), (ARG1))
  1206. #define gen_rtx_MOD(MODE, ARG0, ARG1) \
  1207. gen_rtx_fmt_ee (MOD, (MODE), (ARG0), (ARG1))
  1208. #define gen_rtx_UDIV(MODE, ARG0, ARG1) \
  1209. gen_rtx_fmt_ee (UDIV, (MODE), (ARG0), (ARG1))
  1210. #define gen_rtx_UMOD(MODE, ARG0, ARG1) \
  1211. gen_rtx_fmt_ee (UMOD, (MODE), (ARG0), (ARG1))
  1212. #define gen_rtx_AND(MODE, ARG0, ARG1) \
  1213. gen_rtx_fmt_ee (AND, (MODE), (ARG0), (ARG1))
  1214. #define gen_rtx_IOR(MODE, ARG0, ARG1) \
  1215. gen_rtx_fmt_ee (IOR, (MODE), (ARG0), (ARG1))
  1216. #define gen_rtx_XOR(MODE, ARG0, ARG1) \
  1217. gen_rtx_fmt_ee (XOR, (MODE), (ARG0), (ARG1))
  1218. #define gen_rtx_NOT(MODE, ARG0) \
  1219. gen_rtx_fmt_e (NOT, (MODE), (ARG0))
  1220. #define gen_rtx_ASHIFT(MODE, ARG0, ARG1) \
  1221. gen_rtx_fmt_ee (ASHIFT, (MODE), (ARG0), (ARG1))
  1222. #define gen_rtx_ROTATE(MODE, ARG0, ARG1) \
  1223. gen_rtx_fmt_ee (ROTATE, (MODE), (ARG0), (ARG1))
  1224. #define gen_rtx_ASHIFTRT(MODE, ARG0, ARG1) \
  1225. gen_rtx_fmt_ee (ASHIFTRT, (MODE), (ARG0), (ARG1))
  1226. #define gen_rtx_LSHIFTRT(MODE, ARG0, ARG1) \
  1227. gen_rtx_fmt_ee (LSHIFTRT, (MODE), (ARG0), (ARG1))
  1228. #define gen_rtx_ROTATERT(MODE, ARG0, ARG1) \
  1229. gen_rtx_fmt_ee (ROTATERT, (MODE), (ARG0), (ARG1))
  1230. #define gen_rtx_SMIN(MODE, ARG0, ARG1) \
  1231. gen_rtx_fmt_ee (SMIN, (MODE), (ARG0), (ARG1))
  1232. #define gen_rtx_SMAX(MODE, ARG0, ARG1) \
  1233. gen_rtx_fmt_ee (SMAX, (MODE), (ARG0), (ARG1))
  1234. #define gen_rtx_UMIN(MODE, ARG0, ARG1) \
  1235. gen_rtx_fmt_ee (UMIN, (MODE), (ARG0), (ARG1))
  1236. #define gen_rtx_UMAX(MODE, ARG0, ARG1) \
  1237. gen_rtx_fmt_ee (UMAX, (MODE), (ARG0), (ARG1))
  1238. #define gen_rtx_PRE_DEC(MODE, ARG0) \
  1239. gen_rtx_fmt_e (PRE_DEC, (MODE), (ARG0))
  1240. #define gen_rtx_PRE_INC(MODE, ARG0) \
  1241. gen_rtx_fmt_e (PRE_INC, (MODE), (ARG0))
  1242. #define gen_rtx_POST_DEC(MODE, ARG0) \
  1243. gen_rtx_fmt_e (POST_DEC, (MODE), (ARG0))
  1244. #define gen_rtx_POST_INC(MODE, ARG0) \
  1245. gen_rtx_fmt_e (POST_INC, (MODE), (ARG0))
  1246. #define gen_rtx_PRE_MODIFY(MODE, ARG0, ARG1) \
  1247. gen_rtx_fmt_ee (PRE_MODIFY, (MODE), (ARG0), (ARG1))
  1248. #define gen_rtx_POST_MODIFY(MODE, ARG0, ARG1) \
  1249. gen_rtx_fmt_ee (POST_MODIFY, (MODE), (ARG0), (ARG1))
  1250. #define gen_rtx_NE(MODE, ARG0, ARG1) \
  1251. gen_rtx_fmt_ee (NE, (MODE), (ARG0), (ARG1))
  1252. #define gen_rtx_EQ(MODE, ARG0, ARG1) \
  1253. gen_rtx_fmt_ee (EQ, (MODE), (ARG0), (ARG1))
  1254. #define gen_rtx_GE(MODE, ARG0, ARG1) \
  1255. gen_rtx_fmt_ee (GE, (MODE), (ARG0), (ARG1))
  1256. #define gen_rtx_GT(MODE, ARG0, ARG1) \
  1257. gen_rtx_fmt_ee (GT, (MODE), (ARG0), (ARG1))
  1258. #define gen_rtx_LE(MODE, ARG0, ARG1) \
  1259. gen_rtx_fmt_ee (LE, (MODE), (ARG0), (ARG1))
  1260. #define gen_rtx_LT(MODE, ARG0, ARG1) \
  1261. gen_rtx_fmt_ee (LT, (MODE), (ARG0), (ARG1))
  1262. #define gen_rtx_LTGT(MODE, ARG0, ARG1) \
  1263. gen_rtx_fmt_ee (LTGT, (MODE), (ARG0), (ARG1))
  1264. #define gen_rtx_GEU(MODE, ARG0, ARG1) \
  1265. gen_rtx_fmt_ee (GEU, (MODE), (ARG0), (ARG1))
  1266. #define gen_rtx_GTU(MODE, ARG0, ARG1) \
  1267. gen_rtx_fmt_ee (GTU, (MODE), (ARG0), (ARG1))
  1268. #define gen_rtx_LEU(MODE, ARG0, ARG1) \
  1269. gen_rtx_fmt_ee (LEU, (MODE), (ARG0), (ARG1))
  1270. #define gen_rtx_LTU(MODE, ARG0, ARG1) \
  1271. gen_rtx_fmt_ee (LTU, (MODE), (ARG0), (ARG1))
  1272. #define gen_rtx_UNORDERED(MODE, ARG0, ARG1) \
  1273. gen_rtx_fmt_ee (UNORDERED, (MODE), (ARG0), (ARG1))
  1274. #define gen_rtx_ORDERED(MODE, ARG0, ARG1) \
  1275. gen_rtx_fmt_ee (ORDERED, (MODE), (ARG0), (ARG1))
  1276. #define gen_rtx_UNEQ(MODE, ARG0, ARG1) \
  1277. gen_rtx_fmt_ee (UNEQ, (MODE), (ARG0), (ARG1))
  1278. #define gen_rtx_UNGE(MODE, ARG0, ARG1) \
  1279. gen_rtx_fmt_ee (UNGE, (MODE), (ARG0), (ARG1))
  1280. #define gen_rtx_UNGT(MODE, ARG0, ARG1) \
  1281. gen_rtx_fmt_ee (UNGT, (MODE), (ARG0), (ARG1))
  1282. #define gen_rtx_UNLE(MODE, ARG0, ARG1) \
  1283. gen_rtx_fmt_ee (UNLE, (MODE), (ARG0), (ARG1))
  1284. #define gen_rtx_UNLT(MODE, ARG0, ARG1) \
  1285. gen_rtx_fmt_ee (UNLT, (MODE), (ARG0), (ARG1))
  1286. #define gen_rtx_SIGN_EXTEND(MODE, ARG0) \
  1287. gen_rtx_fmt_e (SIGN_EXTEND, (MODE), (ARG0))
  1288. #define gen_rtx_ZERO_EXTEND(MODE, ARG0) \
  1289. gen_rtx_fmt_e (ZERO_EXTEND, (MODE), (ARG0))
  1290. #define gen_rtx_TRUNCATE(MODE, ARG0) \
  1291. gen_rtx_fmt_e (TRUNCATE, (MODE), (ARG0))
  1292. #define gen_rtx_FLOAT_EXTEND(MODE, ARG0) \
  1293. gen_rtx_fmt_e (FLOAT_EXTEND, (MODE), (ARG0))
  1294. #define gen_rtx_FLOAT_TRUNCATE(MODE, ARG0) \
  1295. gen_rtx_fmt_e (FLOAT_TRUNCATE, (MODE), (ARG0))
  1296. #define gen_rtx_FLOAT(MODE, ARG0) \
  1297. gen_rtx_fmt_e (FLOAT, (MODE), (ARG0))
  1298. #define gen_rtx_FIX(MODE, ARG0) \
  1299. gen_rtx_fmt_e (FIX, (MODE), (ARG0))
  1300. #define gen_rtx_UNSIGNED_FLOAT(MODE, ARG0) \
  1301. gen_rtx_fmt_e (UNSIGNED_FLOAT, (MODE), (ARG0))
  1302. #define gen_rtx_UNSIGNED_FIX(MODE, ARG0) \
  1303. gen_rtx_fmt_e (UNSIGNED_FIX, (MODE), (ARG0))
  1304. #define gen_rtx_FRACT_CONVERT(MODE, ARG0) \
  1305. gen_rtx_fmt_e (FRACT_CONVERT, (MODE), (ARG0))
  1306. #define gen_rtx_UNSIGNED_FRACT_CONVERT(MODE, ARG0) \
  1307. gen_rtx_fmt_e (UNSIGNED_FRACT_CONVERT, (MODE), (ARG0))
  1308. #define gen_rtx_SAT_FRACT(MODE, ARG0) \
  1309. gen_rtx_fmt_e (SAT_FRACT, (MODE), (ARG0))
  1310. #define gen_rtx_UNSIGNED_SAT_FRACT(MODE, ARG0) \
  1311. gen_rtx_fmt_e (UNSIGNED_SAT_FRACT, (MODE), (ARG0))
  1312. #define gen_rtx_ABS(MODE, ARG0) \
  1313. gen_rtx_fmt_e (ABS, (MODE), (ARG0))
  1314. #define gen_rtx_SQRT(MODE, ARG0) \
  1315. gen_rtx_fmt_e (SQRT, (MODE), (ARG0))
  1316. #define gen_rtx_BSWAP(MODE, ARG0) \
  1317. gen_rtx_fmt_e (BSWAP, (MODE), (ARG0))
  1318. #define gen_rtx_FFS(MODE, ARG0) \
  1319. gen_rtx_fmt_e (FFS, (MODE), (ARG0))
  1320. #define gen_rtx_CLRSB(MODE, ARG0) \
  1321. gen_rtx_fmt_e (CLRSB, (MODE), (ARG0))
  1322. #define gen_rtx_CLZ(MODE, ARG0) \
  1323. gen_rtx_fmt_e (CLZ, (MODE), (ARG0))
  1324. #define gen_rtx_CTZ(MODE, ARG0) \
  1325. gen_rtx_fmt_e (CTZ, (MODE), (ARG0))
  1326. #define gen_rtx_POPCOUNT(MODE, ARG0) \
  1327. gen_rtx_fmt_e (POPCOUNT, (MODE), (ARG0))
  1328. #define gen_rtx_PARITY(MODE, ARG0) \
  1329. gen_rtx_fmt_e (PARITY, (MODE), (ARG0))
  1330. #define gen_rtx_SIGN_EXTRACT(MODE, ARG0, ARG1, ARG2) \
  1331. gen_rtx_fmt_eee (SIGN_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2))
  1332. #define gen_rtx_ZERO_EXTRACT(MODE, ARG0, ARG1, ARG2) \
  1333. gen_rtx_fmt_eee (ZERO_EXTRACT, (MODE), (ARG0), (ARG1), (ARG2))
  1334. #define gen_rtx_HIGH(MODE, ARG0) \
  1335. gen_rtx_fmt_e (HIGH, (MODE), (ARG0))
  1336. #define gen_rtx_LO_SUM(MODE, ARG0, ARG1) \
  1337. gen_rtx_fmt_ee (LO_SUM, (MODE), (ARG0), (ARG1))
  1338. #define gen_rtx_VEC_MERGE(MODE, ARG0, ARG1, ARG2) \
  1339. gen_rtx_fmt_eee (VEC_MERGE, (MODE), (ARG0), (ARG1), (ARG2))
  1340. #define gen_rtx_VEC_SELECT(MODE, ARG0, ARG1) \
  1341. gen_rtx_fmt_ee (VEC_SELECT, (MODE), (ARG0), (ARG1))
  1342. #define gen_rtx_VEC_CONCAT(MODE, ARG0, ARG1) \
  1343. gen_rtx_fmt_ee (VEC_CONCAT, (MODE), (ARG0), (ARG1))
  1344. #define gen_rtx_VEC_DUPLICATE(MODE, ARG0) \
  1345. gen_rtx_fmt_e (VEC_DUPLICATE, (MODE), (ARG0))
  1346. #define gen_rtx_VEC_SERIES(MODE, ARG0, ARG1) \
  1347. gen_rtx_fmt_ee (VEC_SERIES, (MODE), (ARG0), (ARG1))
  1348. #define gen_rtx_SS_PLUS(MODE, ARG0, ARG1) \
  1349. gen_rtx_fmt_ee (SS_PLUS, (MODE), (ARG0), (ARG1))
  1350. #define gen_rtx_US_PLUS(MODE, ARG0, ARG1) \
  1351. gen_rtx_fmt_ee (US_PLUS, (MODE), (ARG0), (ARG1))
  1352. #define gen_rtx_SS_MINUS(MODE, ARG0, ARG1) \
  1353. gen_rtx_fmt_ee (SS_MINUS, (MODE), (ARG0), (ARG1))
  1354. #define gen_rtx_SS_NEG(MODE, ARG0) \
  1355. gen_rtx_fmt_e (SS_NEG, (MODE), (ARG0))
  1356. #define gen_rtx_US_NEG(MODE, ARG0) \
  1357. gen_rtx_fmt_e (US_NEG, (MODE), (ARG0))
  1358. #define gen_rtx_SS_ABS(MODE, ARG0) \
  1359. gen_rtx_fmt_e (SS_ABS, (MODE), (ARG0))
  1360. #define gen_rtx_SS_ASHIFT(MODE, ARG0, ARG1) \
  1361. gen_rtx_fmt_ee (SS_ASHIFT, (MODE), (ARG0), (ARG1))
  1362. #define gen_rtx_US_ASHIFT(MODE, ARG0, ARG1) \
  1363. gen_rtx_fmt_ee (US_ASHIFT, (MODE), (ARG0), (ARG1))
  1364. #define gen_rtx_US_MINUS(MODE, ARG0, ARG1) \
  1365. gen_rtx_fmt_ee (US_MINUS, (MODE), (ARG0), (ARG1))
  1366. #define gen_rtx_SS_TRUNCATE(MODE, ARG0) \
  1367. gen_rtx_fmt_e (SS_TRUNCATE, (MODE), (ARG0))
  1368. #define gen_rtx_US_TRUNCATE(MODE, ARG0) \
  1369. gen_rtx_fmt_e (US_TRUNCATE, (MODE), (ARG0))
  1370. #define gen_rtx_FMA(MODE, ARG0, ARG1, ARG2) \
  1371. gen_rtx_fmt_eee (FMA, (MODE), (ARG0), (ARG1), (ARG2))
  1372. #define gen_rtx_DEBUG_IMPLICIT_PTR(MODE, ARG0) \
  1373. gen_rtx_fmt_t (DEBUG_IMPLICIT_PTR, (MODE), (ARG0))
  1374. #define gen_rtx_ENTRY_VALUE(MODE) \
  1375. gen_rtx_fmt_0 (ENTRY_VALUE, (MODE))
  1376. #define gen_rtx_DEBUG_PARAMETER_REF(MODE, ARG0) \
  1377. gen_rtx_fmt_t (DEBUG_PARAMETER_REF, (MODE), (ARG0))
  1378. #define gen_rtx_DEBUG_MARKER(MODE) \
  1379. gen_rtx_fmt_ (DEBUG_MARKER, (MODE))
  1380. #define gen_rtx_MATCH_OPERAND(MODE, ARG0, ARG1, ARG2) \
  1381. gen_rtx_fmt_iss (MATCH_OPERAND, (MODE), (ARG0), (ARG1), (ARG2))
  1382. #define gen_rtx_MATCH_SCRATCH(MODE, ARG0, ARG1) \
  1383. gen_rtx_fmt_is (MATCH_SCRATCH, (MODE), (ARG0), (ARG1))
  1384. #define gen_rtx_MATCH_OPERATOR(MODE, ARG0, ARG1, ARG2) \
  1385. gen_rtx_fmt_isE (MATCH_OPERATOR, (MODE), (ARG0), (ARG1), (ARG2))
  1386. #define gen_rtx_MATCH_PARALLEL(MODE, ARG0, ARG1, ARG2) \
  1387. gen_rtx_fmt_isE (MATCH_PARALLEL, (MODE), (ARG0), (ARG1), (ARG2))
  1388. #define gen_rtx_MATCH_DUP(MODE, ARG0) \
  1389. gen_rtx_fmt_i (MATCH_DUP, (MODE), (ARG0))
  1390. #define gen_rtx_MATCH_OP_DUP(MODE, ARG0, ARG1) \
  1391. gen_rtx_fmt_iE (MATCH_OP_DUP, (MODE), (ARG0), (ARG1))
  1392. #define gen_rtx_MATCH_PAR_DUP(MODE, ARG0, ARG1) \
  1393. gen_rtx_fmt_iE (MATCH_PAR_DUP, (MODE), (ARG0), (ARG1))
  1394. #define gen_rtx_MATCH_CODE(MODE, ARG0, ARG1) \
  1395. gen_rtx_fmt_ss (MATCH_CODE, (MODE), (ARG0), (ARG1))
  1396. #define gen_rtx_MATCH_TEST(MODE, ARG0) \
  1397. gen_rtx_fmt_s (MATCH_TEST, (MODE), (ARG0))
  1398. #define gen_rtx_DEFINE_DELAY(MODE, ARG0, ARG1) \
  1399. gen_rtx_fmt_eE (DEFINE_DELAY, (MODE), (ARG0), (ARG1))
  1400. #define gen_rtx_DEFINE_PREDICATE(MODE, ARG0, ARG1, ARG2) \
  1401. gen_rtx_fmt_ses (DEFINE_PREDICATE, (MODE), (ARG0), (ARG1), (ARG2))
  1402. #define gen_rtx_DEFINE_SPECIAL_PREDICATE(MODE, ARG0, ARG1, ARG2) \
  1403. gen_rtx_fmt_ses (DEFINE_SPECIAL_PREDICATE, (MODE), (ARG0), (ARG1), (ARG2))
  1404. #define gen_rtx_DEFINE_REGISTER_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1405. gen_rtx_fmt_sss (DEFINE_REGISTER_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1406. #define gen_rtx_DEFINE_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1407. gen_rtx_fmt_sse (DEFINE_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1408. #define gen_rtx_DEFINE_MEMORY_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1409. gen_rtx_fmt_sse (DEFINE_MEMORY_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1410. #define gen_rtx_DEFINE_SPECIAL_MEMORY_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1411. gen_rtx_fmt_sse (DEFINE_SPECIAL_MEMORY_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1412. #define gen_rtx_DEFINE_ADDRESS_CONSTRAINT(MODE, ARG0, ARG1, ARG2) \
  1413. gen_rtx_fmt_sse (DEFINE_ADDRESS_CONSTRAINT, (MODE), (ARG0), (ARG1), (ARG2))
  1414. #define gen_rtx_EXCLUSION_SET(MODE, ARG0, ARG1) \
  1415. gen_rtx_fmt_ss (EXCLUSION_SET, (MODE), (ARG0), (ARG1))
  1416. #define gen_rtx_PRESENCE_SET(MODE, ARG0, ARG1) \
  1417. gen_rtx_fmt_ss (PRESENCE_SET, (MODE), (ARG0), (ARG1))
  1418. #define gen_rtx_FINAL_PRESENCE_SET(MODE, ARG0, ARG1) \
  1419. gen_rtx_fmt_ss (FINAL_PRESENCE_SET, (MODE), (ARG0), (ARG1))
  1420. #define gen_rtx_ABSENCE_SET(MODE, ARG0, ARG1) \
  1421. gen_rtx_fmt_ss (ABSENCE_SET, (MODE), (ARG0), (ARG1))
  1422. #define gen_rtx_FINAL_ABSENCE_SET(MODE, ARG0, ARG1) \
  1423. gen_rtx_fmt_ss (FINAL_ABSENCE_SET, (MODE), (ARG0), (ARG1))
  1424. #define gen_rtx_DEFINE_AUTOMATON(MODE, ARG0) \
  1425. gen_rtx_fmt_s (DEFINE_AUTOMATON, (MODE), (ARG0))
  1426. #define gen_rtx_AUTOMATA_OPTION(MODE, ARG0) \
  1427. gen_rtx_fmt_s (AUTOMATA_OPTION, (MODE), (ARG0))
  1428. #define gen_rtx_DEFINE_RESERVATION(MODE, ARG0, ARG1) \
  1429. gen_rtx_fmt_ss (DEFINE_RESERVATION, (MODE), (ARG0), (ARG1))
  1430. #define gen_rtx_DEFINE_INSN_RESERVATION(MODE, ARG0, ARG1, ARG2, ARG3) \
  1431. gen_rtx_fmt_sies (DEFINE_INSN_RESERVATION, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  1432. #define gen_rtx_DEFINE_ATTR(MODE, ARG0, ARG1, ARG2) \
  1433. gen_rtx_fmt_sse (DEFINE_ATTR, (MODE), (ARG0), (ARG1), (ARG2))
  1434. #define gen_rtx_DEFINE_ENUM_ATTR(MODE, ARG0, ARG1, ARG2) \
  1435. gen_rtx_fmt_sse (DEFINE_ENUM_ATTR, (MODE), (ARG0), (ARG1), (ARG2))
  1436. #define gen_rtx_ATTR(MODE, ARG0) \
  1437. gen_rtx_fmt_s (ATTR, (MODE), (ARG0))
  1438. #define gen_rtx_SET_ATTR(MODE, ARG0, ARG1) \
  1439. gen_rtx_fmt_ss (SET_ATTR, (MODE), (ARG0), (ARG1))
  1440. #define gen_rtx_SET_ATTR_ALTERNATIVE(MODE, ARG0, ARG1) \
  1441. gen_rtx_fmt_sE (SET_ATTR_ALTERNATIVE, (MODE), (ARG0), (ARG1))
  1442. #define gen_rtx_EQ_ATTR(MODE, ARG0, ARG1) \
  1443. gen_rtx_fmt_ss (EQ_ATTR, (MODE), (ARG0), (ARG1))
  1444. #define gen_rtx_EQ_ATTR_ALT(MODE, ARG0, ARG1) \
  1445. gen_rtx_fmt_ww (EQ_ATTR_ALT, (MODE), (ARG0), (ARG1))
  1446. #define gen_rtx_ATTR_FLAG(MODE, ARG0) \
  1447. gen_rtx_fmt_s (ATTR_FLAG, (MODE), (ARG0))
  1448. #define gen_rtx_COND(MODE, ARG0, ARG1) \
  1449. gen_rtx_fmt_Ee (COND, (MODE), (ARG0), (ARG1))
  1450. #define gen_rtx_DEFINE_SUBST(MODE, ARG0, ARG1, ARG2, ARG3) \
  1451. gen_rtx_fmt_sEsE (DEFINE_SUBST, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  1452. #define gen_rtx_DEFINE_SUBST_ATTR(MODE, ARG0, ARG1, ARG2, ARG3) \
  1453. gen_rtx_fmt_ssss (DEFINE_SUBST_ATTR, (MODE), (ARG0), (ARG1), (ARG2), (ARG3))
  1454. #endif /* GCC_GENRTL_H */