home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 320 / compsrc2 / insn-emi.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-10-20  |  30.6 KB  |  1,347 lines

  1. /* Generated automatically by the program `genemit'
  2. from the machine description file `md'.  */
  3.  
  4. #include "config.h"
  5. #include "rtl.h"
  6. #include "expr.h"
  7. #include "insn-config.h"
  8.  
  9. extern char *insn_operand_constraint[][MAX_RECOG_OPERANDS];
  10.  
  11. extern rtx recog_operand[];
  12. #define operands recog_operand
  13.  
  14. #define FAIL do { emit_to_sequence--; return 0;} while (0)
  15.  
  16. #define DONE do { emit_to_sequence--; return gen_sequence ();} while (0)
  17.  
  18. rtx
  19. gen_tstsi (operand0)
  20.      rtx operand0;
  21. {
  22.   return gen_rtx (SET, VOIDmode, cc0_rtx, operand0);
  23. }
  24.  
  25. rtx
  26. gen_tsthi (operand0)
  27.      rtx operand0;
  28. {
  29.   return gen_rtx (SET, VOIDmode, cc0_rtx, operand0);
  30. }
  31.  
  32. rtx
  33. gen_tstqi (operand0)
  34.      rtx operand0;
  35. {
  36.   return gen_rtx (SET, VOIDmode, cc0_rtx, operand0);
  37. }
  38.  
  39. rtx
  40. gen_tstsf (operand0)
  41.      rtx operand0;
  42. {
  43.   return gen_rtx (SET, VOIDmode, cc0_rtx, operand0);
  44. }
  45.  
  46. rtx
  47. gen_tstdf (operand0)
  48.      rtx operand0;
  49. {
  50.   return gen_rtx (SET, VOIDmode, cc0_rtx, operand0);
  51. }
  52.  
  53. rtx
  54. gen_cmpsi (operand0, operand1)
  55.      rtx operand0;
  56.      rtx operand1;
  57. {
  58.   return gen_rtx (SET, VOIDmode, cc0_rtx, gen_rtx (MINUS, VOIDmode, operand0, operand1));
  59. }
  60.  
  61. rtx
  62. gen_cmphi (operand0, operand1)
  63.      rtx operand0;
  64.      rtx operand1;
  65. {
  66.   return gen_rtx (SET, VOIDmode, cc0_rtx, gen_rtx (MINUS, VOIDmode, operand0, operand1));
  67. }
  68.  
  69. rtx
  70. gen_cmpqi (operand0, operand1)
  71.      rtx operand0;
  72.      rtx operand1;
  73. {
  74.   return gen_rtx (SET, VOIDmode, cc0_rtx, gen_rtx (MINUS, VOIDmode, operand0, operand1));
  75. }
  76.  
  77. rtx
  78. gen_cmpdf (operand0, operand1)
  79.      rtx operand0;
  80.      rtx operand1;
  81. {
  82.   return gen_rtx (SET, VOIDmode, cc0_rtx, gen_rtx (MINUS, DFmode, operand0, operand1));
  83. }
  84.  
  85. rtx
  86. gen_cmpsf (operand0, operand1)
  87.      rtx operand0;
  88.      rtx operand1;
  89. {
  90.   return gen_rtx (SET, VOIDmode, cc0_rtx, gen_rtx (MINUS, SFmode, operand0, operand1));
  91. }
  92.  
  93. rtx
  94. gen_swapsi (operand0, operand1)
  95.      rtx operand0;
  96.      rtx operand1;
  97. {
  98.   return gen_rtx (PARALLEL, VOIDmode, gen_rtvec (2,
  99.         gen_rtx (SET, VOIDmode, operand0, operand1),
  100.         gen_rtx (SET, VOIDmode, operand1, operand0)));
  101. }
  102.  
  103. rtx
  104. gen_movsi (operand0, operand1)
  105.      rtx operand0;
  106.      rtx operand1;
  107. {
  108.   return gen_rtx (SET, VOIDmode, operand0, operand1);
  109. }
  110.  
  111. rtx
  112. gen_movhi (operand0, operand1)
  113.      rtx operand0;
  114.      rtx operand1;
  115. {
  116.   return gen_rtx (SET, VOIDmode, operand0, operand1);
  117. }
  118.  
  119. rtx
  120. gen_movstricthi (operand0, operand1)
  121.      rtx operand0;
  122.      rtx operand1;
  123. {
  124.   return gen_rtx (SET, VOIDmode, gen_rtx (STRICT_LOW_PART, VOIDmode, operand0), operand1);
  125. }
  126.  
  127. rtx
  128. gen_movqi (operand0, operand1)
  129.      rtx operand0;
  130.      rtx operand1;
  131. {
  132.   return gen_rtx (SET, VOIDmode, operand0, operand1);
  133. }
  134.  
  135. rtx
  136. gen_movstrictqi (operand0, operand1)
  137.      rtx operand0;
  138.      rtx operand1;
  139. {
  140.   return gen_rtx (SET, VOIDmode, gen_rtx (STRICT_LOW_PART, VOIDmode, operand0), operand1);
  141. }
  142.  
  143. rtx
  144. gen_movsf (operand0, operand1)
  145.      rtx operand0;
  146.      rtx operand1;
  147. {
  148.   return gen_rtx (SET, VOIDmode, operand0, operand1);
  149. }
  150.  
  151. rtx
  152. gen_movdf (operand0, operand1)
  153.      rtx operand0;
  154.      rtx operand1;
  155. {
  156.   return gen_rtx (SET, VOIDmode, operand0, operand1);
  157. }
  158.  
  159. rtx
  160. gen_movdi (operand0, operand1)
  161.      rtx operand0;
  162.      rtx operand1;
  163. {
  164.   return gen_rtx (SET, VOIDmode, operand0, operand1);
  165. }
  166.  
  167. rtx
  168. gen_pushasi (operand0, operand1)
  169.      rtx operand0;
  170.      rtx operand1;
  171. {
  172.   return gen_rtx (SET, VOIDmode, operand0, operand1);
  173. }
  174.  
  175. rtx
  176. gen_truncsiqi2 (operand0, operand1)
  177.      rtx operand0;
  178.      rtx operand1;
  179. {
  180.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (TRUNCATE, QImode, operand1));
  181. }
  182.  
  183. rtx
  184. gen_trunchiqi2 (operand0, operand1)
  185.      rtx operand0;
  186.      rtx operand1;
  187. {
  188.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (TRUNCATE, QImode, operand1));
  189. }
  190.  
  191. rtx
  192. gen_truncsihi2 (operand0, operand1)
  193.      rtx operand0;
  194.      rtx operand1;
  195. {
  196.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (TRUNCATE, HImode, operand1));
  197. }
  198.  
  199. rtx
  200. gen_zero_extendhisi2 (operand0, operand1)
  201.      rtx operand0;
  202.      rtx operand1;
  203. {
  204.   rtx operands[2];
  205.  
  206.   extern rtx gen_sequence ();
  207.   extern int emit_to_sequence;
  208.  
  209.   emit_to_sequence++;
  210.   operands[0] = operand0;
  211.   operands[1] = operand1;
  212. operands[1] = make_safe_from (operands[1], operands[0]);
  213.   operand0 = operands[0];
  214.   operand1 = operands[1];
  215.   emit_insn (gen_rtx (SET, VOIDmode, operand0, const0_rtx));
  216.   emit_insn (gen_rtx (SET, VOIDmode, gen_rtx (STRICT_LOW_PART, VOIDmode, gen_rtx (SUBREG, HImode, operand0, 0)), operand1));
  217.   emit_to_sequence--;
  218.   return gen_sequence ();
  219. }
  220.  
  221. rtx
  222. gen_zero_extendqihi2 (operand0, operand1)
  223.      rtx operand0;
  224.      rtx operand1;
  225. {
  226.   rtx operands[2];
  227.  
  228.   extern rtx gen_sequence ();
  229.   extern int emit_to_sequence;
  230.  
  231.   emit_to_sequence++;
  232.   operands[0] = operand0;
  233.   operands[1] = operand1;
  234. operands[1] = make_safe_from (operands[1], operands[0]);
  235.   operand0 = operands[0];
  236.   operand1 = operands[1];
  237.   emit_insn (gen_rtx (SET, VOIDmode, operand0, const0_rtx));
  238.   emit_insn (gen_rtx (SET, VOIDmode, gen_rtx (STRICT_LOW_PART, VOIDmode, gen_rtx (SUBREG, QImode, operand0, 0)), operand1));
  239.   emit_to_sequence--;
  240.   return gen_sequence ();
  241. }
  242.  
  243. rtx
  244. gen_zero_extendqisi2 (operand0, operand1)
  245.      rtx operand0;
  246.      rtx operand1;
  247. {
  248.   rtx operands[2];
  249.  
  250.   extern rtx gen_sequence ();
  251.   extern int emit_to_sequence;
  252.  
  253.   emit_to_sequence++;
  254.   operands[0] = operand0;
  255.   operands[1] = operand1;
  256.  operands[1] = make_safe_from (operands[1], operands[0]); 
  257.   operand0 = operands[0];
  258.   operand1 = operands[1];
  259.   emit_insn (gen_rtx (SET, VOIDmode, operand0, const0_rtx));
  260.   emit_insn (gen_rtx (SET, VOIDmode, gen_rtx (STRICT_LOW_PART, VOIDmode, gen_rtx (SUBREG, QImode, operand0, 0)), operand1));
  261.   emit_to_sequence--;
  262.   return gen_sequence ();
  263. }
  264.  
  265. rtx
  266. gen_extendhisi2 (operand0, operand1)
  267.      rtx operand0;
  268.      rtx operand1;
  269. {
  270.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (SIGN_EXTEND, SImode, operand1));
  271. }
  272.  
  273. rtx
  274. gen_extendqihi2 (operand0, operand1)
  275.      rtx operand0;
  276.      rtx operand1;
  277. {
  278.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (SIGN_EXTEND, HImode, operand1));
  279. }
  280.  
  281. rtx
  282. gen_extendqisi2 (operand0, operand1)
  283.      rtx operand0;
  284.      rtx operand1;
  285. {
  286.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (SIGN_EXTEND, SImode, operand1));
  287. }
  288.  
  289. rtx
  290. gen_extendsfdf2 (operand0, operand1)
  291.      rtx operand0;
  292.      rtx operand1;
  293. {
  294.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FLOAT_EXTEND, DFmode, operand1));
  295. }
  296.  
  297. rtx
  298. gen_truncdfsf2 (operand0, operand1)
  299.      rtx operand0;
  300.      rtx operand1;
  301. {
  302.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FLOAT_TRUNCATE, SFmode, operand1));
  303. }
  304.  
  305. rtx
  306. gen_floatsisf2 (operand0, operand1)
  307.      rtx operand0;
  308.      rtx operand1;
  309. {
  310.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FLOAT, SFmode, operand1));
  311. }
  312.  
  313. rtx
  314. gen_floatsidf2 (operand0, operand1)
  315.      rtx operand0;
  316.      rtx operand1;
  317. {
  318.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FLOAT, DFmode, operand1));
  319. }
  320.  
  321. rtx
  322. gen_floathisf2 (operand0, operand1)
  323.      rtx operand0;
  324.      rtx operand1;
  325. {
  326.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FLOAT, SFmode, operand1));
  327. }
  328.  
  329. rtx
  330. gen_floathidf2 (operand0, operand1)
  331.      rtx operand0;
  332.      rtx operand1;
  333. {
  334.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FLOAT, DFmode, operand1));
  335. }
  336.  
  337. rtx
  338. gen_floatqisf2 (operand0, operand1)
  339.      rtx operand0;
  340.      rtx operand1;
  341. {
  342.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FLOAT, SFmode, operand1));
  343. }
  344.  
  345. rtx
  346. gen_floatqidf2 (operand0, operand1)
  347.      rtx operand0;
  348.      rtx operand1;
  349. {
  350.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FLOAT, DFmode, operand1));
  351. }
  352.  
  353. rtx
  354. gen_ftruncdf2 (operand0, operand1)
  355.      rtx operand0;
  356.      rtx operand1;
  357. {
  358.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FIX, DFmode, operand1));
  359. }
  360.  
  361. rtx
  362. gen_ftruncsf2 (operand0, operand1)
  363.      rtx operand0;
  364.      rtx operand1;
  365. {
  366.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FIX, SFmode, operand1));
  367. }
  368.  
  369. rtx
  370. gen_fixsfqi2 (operand0, operand1)
  371.      rtx operand0;
  372.      rtx operand1;
  373. {
  374.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FIX, QImode, operand1));
  375. }
  376.  
  377. rtx
  378. gen_fixsfhi2 (operand0, operand1)
  379.      rtx operand0;
  380.      rtx operand1;
  381. {
  382.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FIX, HImode, operand1));
  383. }
  384.  
  385. rtx
  386. gen_fixsfsi2 (operand0, operand1)
  387.      rtx operand0;
  388.      rtx operand1;
  389. {
  390.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FIX, SImode, operand1));
  391. }
  392.  
  393. rtx
  394. gen_fixdfqi2 (operand0, operand1)
  395.      rtx operand0;
  396.      rtx operand1;
  397. {
  398.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FIX, QImode, operand1));
  399. }
  400.  
  401. rtx
  402. gen_fixdfhi2 (operand0, operand1)
  403.      rtx operand0;
  404.      rtx operand1;
  405. {
  406.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FIX, HImode, operand1));
  407. }
  408.  
  409. rtx
  410. gen_fixdfsi2 (operand0, operand1)
  411.      rtx operand0;
  412.      rtx operand1;
  413. {
  414.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (FIX, SImode, operand1));
  415. }
  416.  
  417. rtx
  418. gen_addsi3 (operand0, operand1, operand2)
  419.      rtx operand0;
  420.      rtx operand1;
  421.      rtx operand2;
  422. {
  423.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (PLUS, SImode, operand1, operand2));
  424. }
  425.  
  426. rtx
  427. gen_addhi3 (operand0, operand1, operand2)
  428.      rtx operand0;
  429.      rtx operand1;
  430.      rtx operand2;
  431. {
  432.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (PLUS, HImode, operand1, operand2));
  433. }
  434.  
  435. rtx
  436. gen_addqi3 (operand0, operand1, operand2)
  437.      rtx operand0;
  438.      rtx operand1;
  439.      rtx operand2;
  440. {
  441.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (PLUS, QImode, operand1, operand2));
  442. }
  443.  
  444. rtx
  445. gen_adddf3 (operand0, operand1, operand2)
  446.      rtx operand0;
  447.      rtx operand1;
  448.      rtx operand2;
  449. {
  450.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (PLUS, DFmode, operand1, operand2));
  451. }
  452.  
  453. rtx
  454. gen_addsf3 (operand0, operand1, operand2)
  455.      rtx operand0;
  456.      rtx operand1;
  457.      rtx operand2;
  458. {
  459.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (PLUS, SFmode, operand1, operand2));
  460. }
  461.  
  462. rtx
  463. gen_subsi3 (operand0, operand1, operand2)
  464.      rtx operand0;
  465.      rtx operand1;
  466.      rtx operand2;
  467. {
  468.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MINUS, SImode, operand1, operand2));
  469. }
  470.  
  471. rtx
  472. gen_subhi3 (operand0, operand1, operand2)
  473.      rtx operand0;
  474.      rtx operand1;
  475.      rtx operand2;
  476. {
  477.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MINUS, HImode, operand1, operand2));
  478. }
  479.  
  480. rtx
  481. gen_subqi3 (operand0, operand1, operand2)
  482.      rtx operand0;
  483.      rtx operand1;
  484.      rtx operand2;
  485. {
  486.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MINUS, QImode, operand1, operand2));
  487. }
  488.  
  489. rtx
  490. gen_subdf3 (operand0, operand1, operand2)
  491.      rtx operand0;
  492.      rtx operand1;
  493.      rtx operand2;
  494. {
  495.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MINUS, DFmode, operand1, operand2));
  496. }
  497.  
  498. rtx
  499. gen_subsf3 (operand0, operand1, operand2)
  500.      rtx operand0;
  501.      rtx operand1;
  502.      rtx operand2;
  503. {
  504.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MINUS, SFmode, operand1, operand2));
  505. }
  506.  
  507. rtx
  508. gen_mulhi3 (operand0, operand1, operand2)
  509.      rtx operand0;
  510.      rtx operand1;
  511.      rtx operand2;
  512. {
  513.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MULT, HImode, operand1, operand2));
  514. }
  515.  
  516. rtx
  517. gen_mulhisi3 (operand0, operand1, operand2)
  518.      rtx operand0;
  519.      rtx operand1;
  520.      rtx operand2;
  521. {
  522.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MULT, SImode, operand1, operand2));
  523. }
  524.  
  525. rtx
  526. gen_mulsi3 (operand0, operand1, operand2)
  527.      rtx operand0;
  528.      rtx operand1;
  529.      rtx operand2;
  530. {
  531.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MULT, SImode, operand1, operand2));
  532. }
  533.  
  534. rtx
  535. gen_umulhi3 (operand0, operand1, operand2)
  536.      rtx operand0;
  537.      rtx operand1;
  538.      rtx operand2;
  539. {
  540.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (UMULT, HImode, operand1, operand2));
  541. }
  542.  
  543. rtx
  544. gen_umulhisi3 (operand0, operand1, operand2)
  545.      rtx operand0;
  546.      rtx operand1;
  547.      rtx operand2;
  548. {
  549.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (UMULT, SImode, operand1, operand2));
  550. }
  551.  
  552. rtx
  553. gen_umulsi3 (operand0, operand1, operand2)
  554.      rtx operand0;
  555.      rtx operand1;
  556.      rtx operand2;
  557. {
  558.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (UMULT, SImode, operand1, operand2));
  559. }
  560.  
  561. rtx
  562. gen_muldf3 (operand0, operand1, operand2)
  563.      rtx operand0;
  564.      rtx operand1;
  565.      rtx operand2;
  566. {
  567.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MULT, DFmode, operand1, operand2));
  568. }
  569.  
  570. rtx
  571. gen_mulsf3 (operand0, operand1, operand2)
  572.      rtx operand0;
  573.      rtx operand1;
  574.      rtx operand2;
  575. {
  576.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MULT, SFmode, operand1, operand2));
  577. }
  578.  
  579. rtx
  580. gen_divhi3 (operand0, operand1, operand2)
  581.      rtx operand0;
  582.      rtx operand1;
  583.      rtx operand2;
  584. {
  585.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (DIV, HImode, operand1, operand2));
  586. }
  587.  
  588. rtx
  589. gen_divhisi3 (operand0, operand1, operand2)
  590.      rtx operand0;
  591.      rtx operand1;
  592.      rtx operand2;
  593. {
  594.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (DIV, HImode, operand1, operand2));
  595. }
  596.  
  597. rtx
  598. gen_divsi3 (operand0, operand1, operand2)
  599.      rtx operand0;
  600.      rtx operand1;
  601.      rtx operand2;
  602. {
  603.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (DIV, SImode, operand1, operand2));
  604. }
  605.  
  606. rtx
  607. gen_udivhi3 (operand0, operand1, operand2)
  608.      rtx operand0;
  609.      rtx operand1;
  610.      rtx operand2;
  611. {
  612.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (UDIV, HImode, operand1, operand2));
  613. }
  614.  
  615. rtx
  616. gen_udivhisi3 (operand0, operand1, operand2)
  617.      rtx operand0;
  618.      rtx operand1;
  619.      rtx operand2;
  620. {
  621.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (UDIV, HImode, operand1, operand2));
  622. }
  623.  
  624. rtx
  625. gen_udivsi3 (operand0, operand1, operand2)
  626.      rtx operand0;
  627.      rtx operand1;
  628.      rtx operand2;
  629. {
  630.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (UDIV, SImode, operand1, operand2));
  631. }
  632.  
  633. rtx
  634. gen_divdf3 (operand0, operand1, operand2)
  635.      rtx operand0;
  636.      rtx operand1;
  637.      rtx operand2;
  638. {
  639.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (DIV, DFmode, operand1, operand2));
  640. }
  641.  
  642. rtx
  643. gen_divsf3 (operand0, operand1, operand2)
  644.      rtx operand0;
  645.      rtx operand1;
  646.      rtx operand2;
  647. {
  648.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (DIV, SFmode, operand1, operand2));
  649. }
  650.  
  651. rtx
  652. gen_modhi3 (operand0, operand1, operand2)
  653.      rtx operand0;
  654.      rtx operand1;
  655.      rtx operand2;
  656. {
  657.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MOD, HImode, operand1, operand2));
  658. }
  659.  
  660. rtx
  661. gen_modhisi3 (operand0, operand1, operand2)
  662.      rtx operand0;
  663.      rtx operand1;
  664.      rtx operand2;
  665. {
  666.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (MOD, HImode, operand1, operand2));
  667. }
  668.  
  669. rtx
  670. gen_umodhi3 (operand0, operand1, operand2)
  671.      rtx operand0;
  672.      rtx operand1;
  673.      rtx operand2;
  674. {
  675.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (UMOD, HImode, operand1, operand2));
  676. }
  677.  
  678. rtx
  679. gen_umodhisi3 (operand0, operand1, operand2)
  680.      rtx operand0;
  681.      rtx operand1;
  682.      rtx operand2;
  683. {
  684.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (UMOD, HImode, operand1, operand2));
  685. }
  686.  
  687. rtx
  688. gen_divmodsi4 (operand0, operand1, operand2, operand3)
  689.      rtx operand0;
  690.      rtx operand1;
  691.      rtx operand2;
  692.      rtx operand3;
  693. {
  694.   return gen_rtx (PARALLEL, VOIDmode, gen_rtvec (2,
  695.         gen_rtx (SET, VOIDmode, operand0, gen_rtx (DIV, SImode, operand1, operand2)),
  696.         gen_rtx (SET, VOIDmode, operand3, gen_rtx (MOD, SImode, operand1, operand2))));
  697. }
  698.  
  699. rtx
  700. gen_udivmodsi4 (operand0, operand1, operand2, operand3)
  701.      rtx operand0;
  702.      rtx operand1;
  703.      rtx operand2;
  704.      rtx operand3;
  705. {
  706.   return gen_rtx (PARALLEL, VOIDmode, gen_rtvec (2,
  707.         gen_rtx (SET, VOIDmode, operand0, gen_rtx (UDIV, SImode, operand1, operand2)),
  708.         gen_rtx (SET, VOIDmode, operand3, gen_rtx (UMOD, SImode, operand1, operand2))));
  709. }
  710.  
  711. rtx
  712. gen_andsi3 (operand0, operand1, operand2)
  713.      rtx operand0;
  714.      rtx operand1;
  715.      rtx operand2;
  716. {
  717.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (AND, SImode, operand1, operand2));
  718. }
  719.  
  720. rtx
  721. gen_andhi3 (operand0, operand1, operand2)
  722.      rtx operand0;
  723.      rtx operand1;
  724.      rtx operand2;
  725. {
  726.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (AND, HImode, operand1, operand2));
  727. }
  728.  
  729. rtx
  730. gen_andqi3 (operand0, operand1, operand2)
  731.      rtx operand0;
  732.      rtx operand1;
  733.      rtx operand2;
  734. {
  735.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (AND, QImode, operand1, operand2));
  736. }
  737.  
  738. rtx
  739. gen_iorsi3 (operand0, operand1, operand2)
  740.      rtx operand0;
  741.      rtx operand1;
  742.      rtx operand2;
  743. {
  744.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (IOR, SImode, operand1, operand2));
  745. }
  746.  
  747. rtx
  748. gen_iorhi3 (operand0, operand1, operand2)
  749.      rtx operand0;
  750.      rtx operand1;
  751.      rtx operand2;
  752. {
  753.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (IOR, HImode, operand1, operand2));
  754. }
  755.  
  756. rtx
  757. gen_iorqi3 (operand0, operand1, operand2)
  758.      rtx operand0;
  759.      rtx operand1;
  760.      rtx operand2;
  761. {
  762.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (IOR, QImode, operand1, operand2));
  763. }
  764.  
  765. rtx
  766. gen_xorsi3 (operand0, operand1, operand2)
  767.      rtx operand0;
  768.      rtx operand1;
  769.      rtx operand2;
  770. {
  771.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (XOR, SImode, operand1, operand2));
  772. }
  773.  
  774. rtx
  775. gen_xorhi3 (operand0, operand1, operand2)
  776.      rtx operand0;
  777.      rtx operand1;
  778.      rtx operand2;
  779. {
  780.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (XOR, HImode, operand1, operand2));
  781. }
  782.  
  783. rtx
  784. gen_xorqi3 (operand0, operand1, operand2)
  785.      rtx operand0;
  786.      rtx operand1;
  787.      rtx operand2;
  788. {
  789.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (XOR, QImode, operand1, operand2));
  790. }
  791.  
  792. rtx
  793. gen_negsi2 (operand0, operand1)
  794.      rtx operand0;
  795.      rtx operand1;
  796. {
  797.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NEG, SImode, operand1));
  798. }
  799.  
  800. rtx
  801. gen_neghi2 (operand0, operand1)
  802.      rtx operand0;
  803.      rtx operand1;
  804. {
  805.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NEG, HImode, operand1));
  806. }
  807.  
  808. rtx
  809. gen_negqi2 (operand0, operand1)
  810.      rtx operand0;
  811.      rtx operand1;
  812. {
  813.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NEG, QImode, operand1));
  814. }
  815.  
  816. rtx
  817. gen_negsf2 (operand0, operand1)
  818.      rtx operand0;
  819.      rtx operand1;
  820. {
  821.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NEG, SFmode, operand1));
  822. }
  823.  
  824. rtx
  825. gen_negdf2 (operand0, operand1)
  826.      rtx operand0;
  827.      rtx operand1;
  828. {
  829.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NEG, DFmode, operand1));
  830. }
  831.  
  832. rtx
  833. gen_abssf2 (operand0, operand1)
  834.      rtx operand0;
  835.      rtx operand1;
  836. {
  837.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ABS, SFmode, operand1));
  838. }
  839.  
  840. rtx
  841. gen_absdf2 (operand0, operand1)
  842.      rtx operand0;
  843.      rtx operand1;
  844. {
  845.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ABS, DFmode, operand1));
  846. }
  847.  
  848. rtx
  849. gen_one_cmplsi2 (operand0, operand1)
  850.      rtx operand0;
  851.      rtx operand1;
  852. {
  853.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NOT, SImode, operand1));
  854. }
  855.  
  856. rtx
  857. gen_one_cmplhi2 (operand0, operand1)
  858.      rtx operand0;
  859.      rtx operand1;
  860. {
  861.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NOT, HImode, operand1));
  862. }
  863.  
  864. rtx
  865. gen_one_cmplqi2 (operand0, operand1)
  866.      rtx operand0;
  867.      rtx operand1;
  868. {
  869.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NOT, QImode, operand1));
  870. }
  871.  
  872. rtx
  873. gen_ashlsi3 (operand0, operand1, operand2)
  874.      rtx operand0;
  875.      rtx operand1;
  876.      rtx operand2;
  877. {
  878.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ASHIFT, SImode, operand1, operand2));
  879. }
  880.  
  881. rtx
  882. gen_ashlhi3 (operand0, operand1, operand2)
  883.      rtx operand0;
  884.      rtx operand1;
  885.      rtx operand2;
  886. {
  887.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ASHIFT, HImode, operand1, operand2));
  888. }
  889.  
  890. rtx
  891. gen_ashlqi3 (operand0, operand1, operand2)
  892.      rtx operand0;
  893.      rtx operand1;
  894.      rtx operand2;
  895. {
  896.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ASHIFT, QImode, operand1, operand2));
  897. }
  898.  
  899. rtx
  900. gen_ashrsi3 (operand0, operand1, operand2)
  901.      rtx operand0;
  902.      rtx operand1;
  903.      rtx operand2;
  904. {
  905.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ASHIFTRT, SImode, operand1, operand2));
  906. }
  907.  
  908. rtx
  909. gen_ashrhi3 (operand0, operand1, operand2)
  910.      rtx operand0;
  911.      rtx operand1;
  912.      rtx operand2;
  913. {
  914.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ASHIFTRT, HImode, operand1, operand2));
  915. }
  916.  
  917. rtx
  918. gen_ashrqi3 (operand0, operand1, operand2)
  919.      rtx operand0;
  920.      rtx operand1;
  921.      rtx operand2;
  922. {
  923.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ASHIFTRT, QImode, operand1, operand2));
  924. }
  925.  
  926. rtx
  927. gen_lshlsi3 (operand0, operand1, operand2)
  928.      rtx operand0;
  929.      rtx operand1;
  930.      rtx operand2;
  931. {
  932.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LSHIFT, SImode, operand1, operand2));
  933. }
  934.  
  935. rtx
  936. gen_lshlhi3 (operand0, operand1, operand2)
  937.      rtx operand0;
  938.      rtx operand1;
  939.      rtx operand2;
  940. {
  941.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LSHIFT, HImode, operand1, operand2));
  942. }
  943.  
  944. rtx
  945. gen_lshlqi3 (operand0, operand1, operand2)
  946.      rtx operand0;
  947.      rtx operand1;
  948.      rtx operand2;
  949. {
  950.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LSHIFT, QImode, operand1, operand2));
  951. }
  952.  
  953. rtx
  954. gen_lshrsi3 (operand0, operand1, operand2)
  955.      rtx operand0;
  956.      rtx operand1;
  957.      rtx operand2;
  958. {
  959.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LSHIFTRT, SImode, operand1, operand2));
  960. }
  961.  
  962. rtx
  963. gen_lshrhi3 (operand0, operand1, operand2)
  964.      rtx operand0;
  965.      rtx operand1;
  966.      rtx operand2;
  967. {
  968.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LSHIFTRT, HImode, operand1, operand2));
  969. }
  970.  
  971. rtx
  972. gen_lshrqi3 (operand0, operand1, operand2)
  973.      rtx operand0;
  974.      rtx operand1;
  975.      rtx operand2;
  976. {
  977.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LSHIFTRT, QImode, operand1, operand2));
  978. }
  979.  
  980. rtx
  981. gen_rotlsi3 (operand0, operand1, operand2)
  982.      rtx operand0;
  983.      rtx operand1;
  984.      rtx operand2;
  985. {
  986.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ROTATE, SImode, operand1, operand2));
  987. }
  988.  
  989. rtx
  990. gen_rotlhi3 (operand0, operand1, operand2)
  991.      rtx operand0;
  992.      rtx operand1;
  993.      rtx operand2;
  994. {
  995.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ROTATE, HImode, operand1, operand2));
  996. }
  997.  
  998. rtx
  999. gen_rotlqi3 (operand0, operand1, operand2)
  1000.      rtx operand0;
  1001.      rtx operand1;
  1002.      rtx operand2;
  1003. {
  1004.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ROTATE, QImode, operand1, operand2));
  1005. }
  1006.  
  1007. rtx
  1008. gen_rotrsi3 (operand0, operand1, operand2)
  1009.      rtx operand0;
  1010.      rtx operand1;
  1011.      rtx operand2;
  1012. {
  1013.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ROTATERT, SImode, operand1, operand2));
  1014. }
  1015.  
  1016. rtx
  1017. gen_rotrhi3 (operand0, operand1, operand2)
  1018.      rtx operand0;
  1019.      rtx operand1;
  1020.      rtx operand2;
  1021. {
  1022.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ROTATERT, HImode, operand1, operand2));
  1023. }
  1024.  
  1025. rtx
  1026. gen_rotrqi3 (operand0, operand1, operand2)
  1027.      rtx operand0;
  1028.      rtx operand1;
  1029.      rtx operand2;
  1030. {
  1031.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ROTATERT, QImode, operand1, operand2));
  1032. }
  1033.  
  1034. rtx
  1035. gen_extv (operand0, operand1, operand2, operand3)
  1036.      rtx operand0;
  1037.      rtx operand1;
  1038.      rtx operand2;
  1039.      rtx operand3;
  1040. {
  1041.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (SIGN_EXTRACT, SImode, operand1, operand2, operand3));
  1042. }
  1043.  
  1044. rtx
  1045. gen_extzv (operand0, operand1, operand2, operand3)
  1046.      rtx operand0;
  1047.      rtx operand1;
  1048.      rtx operand2;
  1049.      rtx operand3;
  1050. {
  1051.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (ZERO_EXTRACT, SImode, operand1, operand2, operand3));
  1052. }
  1053.  
  1054. rtx
  1055. gen_insv (operand0, operand1, operand2, operand3)
  1056.      rtx operand0;
  1057.      rtx operand1;
  1058.      rtx operand2;
  1059.      rtx operand3;
  1060. {
  1061.   return gen_rtx (SET, VOIDmode, gen_rtx (ZERO_EXTRACT, SImode, operand0, operand1, operand2), operand3);
  1062. }
  1063.  
  1064. rtx
  1065. gen_seq (operand0)
  1066.      rtx operand0;
  1067. {
  1068.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (EQ, VOIDmode, cc0_rtx, const0_rtx));
  1069. }
  1070.  
  1071. rtx
  1072. gen_sne (operand0)
  1073.      rtx operand0;
  1074. {
  1075.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (NE, VOIDmode, cc0_rtx, const0_rtx));
  1076. }
  1077.  
  1078. rtx
  1079. gen_sgt (operand0)
  1080.      rtx operand0;
  1081. {
  1082.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (GT, VOIDmode, cc0_rtx, const0_rtx));
  1083. }
  1084.  
  1085. rtx
  1086. gen_sgtu (operand0)
  1087.      rtx operand0;
  1088. {
  1089.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (GTU, VOIDmode, cc0_rtx, const0_rtx));
  1090. }
  1091.  
  1092. rtx
  1093. gen_slt (operand0)
  1094.      rtx operand0;
  1095. {
  1096.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LT, VOIDmode, cc0_rtx, const0_rtx));
  1097. }
  1098.  
  1099. rtx
  1100. gen_sltu (operand0)
  1101.      rtx operand0;
  1102. {
  1103.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LTU, VOIDmode, cc0_rtx, const0_rtx));
  1104. }
  1105.  
  1106. rtx
  1107. gen_sge (operand0)
  1108.      rtx operand0;
  1109. {
  1110.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (GE, VOIDmode, cc0_rtx, const0_rtx));
  1111. }
  1112.  
  1113. rtx
  1114. gen_sgeu (operand0)
  1115.      rtx operand0;
  1116. {
  1117.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (GEU, VOIDmode, cc0_rtx, const0_rtx));
  1118. }
  1119.  
  1120. rtx
  1121. gen_sle (operand0)
  1122.      rtx operand0;
  1123. {
  1124.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LE, VOIDmode, cc0_rtx, const0_rtx));
  1125. }
  1126.  
  1127. rtx
  1128. gen_sleu (operand0)
  1129.      rtx operand0;
  1130. {
  1131.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (LEU, VOIDmode, cc0_rtx, const0_rtx));
  1132. }
  1133.  
  1134. rtx
  1135. gen_beq (operand0)
  1136.      rtx operand0;
  1137. {
  1138.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (EQ, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1139. }
  1140.  
  1141. rtx
  1142. gen_bne (operand0)
  1143.      rtx operand0;
  1144. {
  1145.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (NE, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1146. }
  1147.  
  1148. rtx
  1149. gen_bgt (operand0)
  1150.      rtx operand0;
  1151. {
  1152.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (GT, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1153. }
  1154.  
  1155. rtx
  1156. gen_bgtu (operand0)
  1157.      rtx operand0;
  1158. {
  1159.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (GTU, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1160. }
  1161.  
  1162. rtx
  1163. gen_blt (operand0)
  1164.      rtx operand0;
  1165. {
  1166.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (LT, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1167. }
  1168.  
  1169. rtx
  1170. gen_bltu (operand0)
  1171.      rtx operand0;
  1172. {
  1173.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (LTU, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1174. }
  1175.  
  1176. rtx
  1177. gen_bge (operand0)
  1178.      rtx operand0;
  1179. {
  1180.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (GE, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1181. }
  1182.  
  1183. rtx
  1184. gen_bgeu (operand0)
  1185.      rtx operand0;
  1186. {
  1187.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (GEU, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1188. }
  1189.  
  1190. rtx
  1191. gen_ble (operand0)
  1192.      rtx operand0;
  1193. {
  1194.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (LE, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1195. }
  1196.  
  1197. rtx
  1198. gen_bleu (operand0)
  1199.      rtx operand0;
  1200. {
  1201.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (LEU, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand0), pc_rtx));
  1202. }
  1203.  
  1204. rtx
  1205. gen_casesi_1 (operand0, operand1, operand2, operand3, operand4)
  1206.      rtx operand0;
  1207.      rtx operand1;
  1208.      rtx operand2;
  1209.      rtx operand3;
  1210.      rtx operand4;
  1211. {
  1212.   rtx operands[5];
  1213.  
  1214.   extern rtx gen_sequence ();
  1215.   extern int emit_to_sequence;
  1216.  
  1217.   emit_to_sequence++;
  1218.   operands[0] = operand0;
  1219.   operands[1] = operand1;
  1220.   operands[2] = operand2;
  1221.   operands[3] = operand3;
  1222.   operands[4] = operand4;
  1223.  
  1224.   operand0 = operands[0];
  1225.   operand1 = operands[1];
  1226.   operand2 = operands[2];
  1227.   operand3 = operands[3];
  1228.   operand4 = operands[4];
  1229.   emit_insn (gen_rtx (SET, VOIDmode, operand3, gen_rtx (PLUS, SImode, operand0, operand1)));
  1230.   emit_insn (gen_rtx (SET, VOIDmode, cc0_rtx, gen_rtx (MINUS, VOIDmode, operand2, operand3)));
  1231.   emit_jump_insn (gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (IF_THEN_ELSE, VOIDmode, gen_rtx (LTU, VOIDmode, cc0_rtx, const0_rtx), gen_rtx (LABEL_REF, VOIDmode, operand4), pc_rtx)));
  1232.   emit_to_sequence--;
  1233.   return gen_sequence ();
  1234. }
  1235.  
  1236. rtx
  1237. gen_casesi_2 (operand0, operand1, operand2)
  1238.      rtx operand0;
  1239.      rtx operand1;
  1240.      rtx operand2;
  1241. {
  1242.   rtx operands[3];
  1243.  
  1244.   extern rtx gen_sequence ();
  1245.   extern int emit_to_sequence;
  1246.  
  1247.   emit_to_sequence++;
  1248.   operands[0] = operand0;
  1249.   operands[1] = operand1;
  1250.   operands[2] = operand2;
  1251.  
  1252.   operand0 = operands[0];
  1253.   operand1 = operands[1];
  1254.   operand2 = operands[2];
  1255.   emit_insn (gen_rtx (SET, VOIDmode, operand0, gen_rtx (MEM, HImode, operand1)));
  1256.   emit_jump_insn (gen_rtx (PARALLEL, VOIDmode, gen_rtvec (2, gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (PLUS, SImode, pc_rtx, operand0)), gen_rtx (USE, VOIDmode, gen_rtx (LABEL_REF, VOIDmode, operand2)))));
  1257.   emit_to_sequence--;
  1258.   return gen_sequence ();
  1259. }
  1260.  
  1261. rtx
  1262. gen_casesi (operand0, operand1, operand2, operand3, operand4)
  1263.      rtx operand0;
  1264.      rtx operand1;
  1265.      rtx operand2;
  1266.      rtx operand3;
  1267.      rtx operand4;
  1268. {
  1269.   rtx operands[5];
  1270.  
  1271.   extern rtx gen_sequence ();
  1272.   extern int emit_to_sequence;
  1273.  
  1274.   emit_to_sequence++;
  1275.   operands[0] = operand0;
  1276.   operands[1] = operand1;
  1277.   operands[2] = operand2;
  1278.   operands[3] = operand3;
  1279.   operands[4] = operand4;
  1280.  
  1281. {
  1282.   extern rtx negate_rtx ();
  1283.   rtx table_elt_addr;
  1284.   rtx index_diff;
  1285.  
  1286.   operands[1] = negate_rtx (operands[1]);
  1287.   index_diff = gen_reg_rtx (SImode);
  1288.   /* Emit the first few insns.  */
  1289.   emit_insn (gen_casesi_1 (operands[0], operands[1], operands[2],
  1290.                index_diff, operands[4]));
  1291.   /* Construct a memory address.  This may emit some insns.  */
  1292.   table_elt_addr
  1293.     = memory_address_noforce
  1294.         (HImode,
  1295.      gen_rtx (PLUS, Pmode,
  1296.           gen_rtx (MULT, Pmode, index_diff,
  1297.                gen_rtx (CONST_INT, VOIDmode, 2)),
  1298.           gen_rtx (LABEL_REF, VOIDmode, operands[3])));
  1299.   /* Emit the last few insns.  */
  1300.   emit_insn (gen_casesi_2 (gen_reg_rtx (HImode), table_elt_addr, operands[3]));
  1301.   DONE;
  1302. }
  1303.   operand0 = operands[0];
  1304.   operand1 = operands[1];
  1305.   operand2 = operands[2];
  1306.   operand3 = operands[3];
  1307.   operand4 = operands[4];
  1308.   emit (operand0);
  1309.   emit (operand1);
  1310.   emit (operand2);
  1311.   emit (operand3);
  1312.   emit (operand4);
  1313.   emit_to_sequence--;
  1314.   return gen_sequence ();
  1315. }
  1316.  
  1317. rtx
  1318. gen_jump (operand0)
  1319.      rtx operand0;
  1320. {
  1321.   return gen_rtx (SET, VOIDmode, pc_rtx, gen_rtx (LABEL_REF, VOIDmode, operand0));
  1322. }
  1323.  
  1324. rtx
  1325. gen_call (operand0, operand1)
  1326.      rtx operand0;
  1327.      rtx operand1;
  1328. {
  1329.   return gen_rtx (CALL, VOIDmode, operand0, operand1);
  1330. }
  1331.  
  1332. rtx
  1333. gen_call_value (operand0, operand1, operand2)
  1334.      rtx operand0;
  1335.      rtx operand1;
  1336.      rtx operand2;
  1337. {
  1338.   return gen_rtx (SET, VOIDmode, operand0, gen_rtx (CALL, VOIDmode, operand1, operand2));
  1339. }
  1340.  
  1341. rtx
  1342. gen_return ()
  1343. {
  1344.   return gen_rtx (RETURN, VOIDmode);
  1345. }
  1346.  
  1347.