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

  1. /* Generated automatically by the program `genrecog'
  2. from the machine description file `md'.  */
  3.  
  4. #include "config.h"
  5. #include "rtl.h"
  6. #include "insn-config.h"
  7. #include "recog.h"
  8.  
  9. /* `recog' contains a decision tree
  10.    that recognizes whether the rtx X0 is a valid instruction.
  11.  
  12.    recog returns -1 if the rtx is not valid.
  13.    If the rtx is valid, recog returns a nonnegative number
  14.    which is the insn code number for the pattern that matched.
  15.    This is the same as the order in the machine description of
  16.    the entry that matched.  This number can be used as an index into
  17.    insn_templates and insn_n_operands (found in insn-output.c)
  18.    or as an argument to output_insn_hairy (also in insn-output.c).  */
  19.  
  20. rtx recog_operand[MAX_RECOG_OPERANDS];
  21.  
  22. rtx *recog_operand_loc[MAX_RECOG_OPERANDS];
  23.  
  24. rtx *recog_dup_loc[MAX_DUP_OPERANDS];
  25.  
  26. char recog_dup_num[MAX_DUP_OPERANDS];
  27.  
  28. extern rtx recog_addr_dummy;
  29.  
  30. #define operands recog_operand
  31.  
  32. int
  33. recog_1 (x0, insn)
  34.      register rtx x0;
  35.      rtx insn;
  36. {
  37.   register rtx x1, x2, x3, x4, x5;
  38.   rtx x6, x7, x8, x9, x10, x11;
  39.   int tem;
  40.  L23:
  41.   x1 = XEXP (x0, 1);
  42.   if (GET_CODE (x1) == MINUS && 1)
  43.     goto L34;
  44.  L47:
  45.   if (GET_CODE (x1) == MINUS && GET_MODE (x1) == DFmode && 1)
  46.     goto L48;
  47.   if (GET_CODE (x1) == MINUS && GET_MODE (x1) == SFmode && 1)
  48.     goto L53;
  49.   if (GET_CODE (x1) == ZERO_EXTRACT && 1)
  50.     goto L58;
  51.   if (GET_CODE (x1) == SUBREG && GET_MODE (x1) == SImode && XINT (x1, 1) == 0 && 1)
  52.     goto L112;
  53.   if (GET_CODE (x1) == AND && GET_MODE (x1) == SImode && 1)
  54.     goto L118;
  55.  L779:
  56.   if (GET_CODE (x1) == ZERO_EXTRACT && GET_MODE (x1) == SImode && 1)
  57.     goto L780;
  58.   if (GET_CODE (x1) == SUBREG && GET_MODE (x1) == QImode && XINT (x1, 1) == 0 && 1)
  59.     goto L786;
  60.   if (GET_CODE (x1) == SUBREG && GET_MODE (x1) == HImode && XINT (x1, 1) == 0 && 1)
  61.     goto L793;
  62.  L8:
  63.   if (general_operand (x1, SImode))
  64.     { recog_operand[0] = x1; return 2; }
  65.  L11:
  66.   if (general_operand (x1, HImode))
  67.     { recog_operand[0] = x1; return 3; }
  68.  L14:
  69.   if (general_operand (x1, QImode))
  70.     { recog_operand[0] = x1; return 4; }
  71.  L17:
  72.   if (general_operand (x1, SFmode))
  73.     { recog_operand[0] = x1; if (TARGET_68881) return 5; }
  74.  L20:
  75.   if (general_operand (x1, DFmode))
  76.     { recog_operand[0] = x1; if (TARGET_68881) return 6; }
  77.   goto ret0;
  78.  L34:
  79.   x2 = XEXP (x1, 0);
  80.   if (GET_CODE (x2) == MEM && GET_MODE (x2) == QImode && 1)
  81.     goto L35;
  82.   if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == SImode && 1)
  83.     goto L581;
  84.   if (GET_CODE (x2) == ASHIFTRT && GET_MODE (x2) == SImode && 1)
  85.     goto L595;
  86.  L24:
  87.   if (general_operand (x2, SImode))
  88.     { recog_operand[0] = x2; goto L25; }
  89.  L29:
  90.   if (general_operand (x2, HImode))
  91.     { recog_operand[0] = x2; goto L30; }
  92.  L43:
  93.   if (general_operand (x2, QImode))
  94.     { recog_operand[0] = x2; goto L574; }
  95.   goto L47;
  96.  L35:
  97.   x3 = XEXP (x2, 0);
  98.   if (GET_CODE (x3) == POST_INC && GET_MODE (x3) == SImode && 1)
  99.     goto L36;
  100.   goto L24;
  101.  L36:
  102.   x4 = XEXP (x3, 0);
  103.   if (general_operand (x4, SImode))
  104.     { recog_operand[0] = x4; goto L37; }
  105.   goto L24;
  106.  L37:
  107.   x2 = XEXP (x1, 1);
  108.   if (GET_CODE (x2) == MEM && GET_MODE (x2) == QImode && 1)
  109.     goto L38;
  110.   x2 = XEXP (x1, 0);
  111.   goto L24;
  112.  L38:
  113.   x3 = XEXP (x2, 0);
  114.   if (GET_CODE (x3) == POST_INC && GET_MODE (x3) == SImode && 1)
  115.     goto L39;
  116.   x2 = XEXP (x1, 0);
  117.   goto L24;
  118.  L39:
  119.   x4 = XEXP (x3, 0);
  120.   if (general_operand (x4, SImode))
  121.     { recog_operand[1] = x4; if (! CONSTANT_P (operands[0]) && ! CONSTANT_P (operands[1])) return 9; }
  122.   x2 = XEXP (x1, 0);
  123.   goto L24;
  124.  L581:
  125.   x3 = XEXP (x2, 0);
  126.   if (memory_operand (x3, SImode))
  127.     { recog_operand[0] = x3; goto L582; }
  128.   goto L24;
  129.  L582:
  130.   x3 = XEXP (x2, 1);
  131.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
  132.     goto L583;
  133.   goto L24;
  134.  L583:
  135.   x2 = XEXP (x1, 1);
  136.   if (general_operand (x2, QImode))
  137.     { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
  138.     && (INTVAL (operands[1]) & ~0xff) == 0)) return 122; }
  139.   x2 = XEXP (x1, 0);
  140.   goto L24;
  141.  L595:
  142.   x3 = XEXP (x2, 0);
  143.   if (memory_operand (x3, SImode))
  144.     { recog_operand[0] = x3; goto L596; }
  145.   goto L24;
  146.  L596:
  147.   x3 = XEXP (x2, 1);
  148.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
  149.     goto L597;
  150.   goto L24;
  151.  L597:
  152.   x2 = XEXP (x1, 1);
  153.   if (general_operand (x2, QImode))
  154.     { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
  155.     && ((INTVAL (operands[1]) + 0x80) & ~0xff) == 0)) return 124; }
  156.   x2 = XEXP (x1, 0);
  157.   goto L24;
  158.  L25:
  159.   x2 = XEXP (x1, 1);
  160.   if (general_operand (x2, SImode))
  161.     { recog_operand[1] = x2; return 7; }
  162.   x2 = XEXP (x1, 0);
  163.   goto L29;
  164.  L30:
  165.   x2 = XEXP (x1, 1);
  166.   if (general_operand (x2, HImode))
  167.     { recog_operand[1] = x2; return 8; }
  168.   x2 = XEXP (x1, 0);
  169.   goto L43;
  170.  L574:
  171.   x2 = XEXP (x1, 1);
  172.   if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == SImode && 1)
  173.     goto L575;
  174.   if (GET_CODE (x2) == ASHIFTRT && GET_MODE (x2) == SImode && 1)
  175.     goto L589;
  176.  L44:
  177.   if (general_operand (x2, QImode))
  178.     { recog_operand[1] = x2; return 10; }
  179.   goto L47;
  180.  L575:
  181.   x3 = XEXP (x2, 0);
  182.   if (memory_operand (x3, SImode))
  183.     { recog_operand[1] = x3; goto L576; }
  184.   goto L44;
  185.  L576:
  186.   x3 = XEXP (x2, 1);
  187.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
  188.     if ((GET_CODE (operands[0]) == CONST_INT
  189.     && (INTVAL (operands[0]) & ~0xff) == 0)) return 121;
  190.   goto L44;
  191.  L589:
  192.   x3 = XEXP (x2, 0);
  193.   if (memory_operand (x3, SImode))
  194.     { recog_operand[1] = x3; goto L590; }
  195.   goto L44;
  196.  L590:
  197.   x3 = XEXP (x2, 1);
  198.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
  199.     if ((GET_CODE (operands[0]) == CONST_INT
  200.     && ((INTVAL (operands[0]) + 0x80) & ~0xff) == 0)) return 123;
  201.   goto L44;
  202.  L48:
  203.   x2 = XEXP (x1, 0);
  204.   if (general_operand (x2, DFmode))
  205.     { recog_operand[0] = x2; goto L49; }
  206.   goto L8;
  207.  L49:
  208.   x2 = XEXP (x1, 1);
  209.   if (general_operand (x2, DFmode))
  210.     { recog_operand[1] = x2; if (TARGET_68881) return 11; }
  211.   goto L8;
  212.  L53:
  213.   x2 = XEXP (x1, 0);
  214.   if (general_operand (x2, SFmode))
  215.     { recog_operand[0] = x2; goto L54; }
  216.   goto L8;
  217.  L54:
  218.   x2 = XEXP (x1, 1);
  219.   if (general_operand (x2, SFmode))
  220.     { recog_operand[1] = x2; if (TARGET_68881) return 12; }
  221.   goto L8;
  222.  L58:
  223.   x2 = XEXP (x1, 0);
  224.   if (nonimmediate_operand (x2, QImode))
  225.     { recog_operand[0] = x2; goto L59; }
  226.  L100:
  227.   if (nonimmediate_operand (x2, HImode))
  228.     { recog_operand[0] = x2; goto L101; }
  229.  L66:
  230.   if (nonimmediate_operand (x2, SImode))
  231.     { recog_operand[0] = x2; goto L67; }
  232.   goto L779;
  233.  L59:
  234.   x2 = XEXP (x1, 1);
  235.   if (x2 == const1_rtx && 1)
  236.     goto L60;
  237.   x2 = XEXP (x1, 0);
  238.   goto L100;
  239.  L60:
  240.   x2 = XEXP (x1, 2);
  241.   if (GET_CODE (x2) == MINUS && GET_MODE (x2) == SImode && 1)
  242.     goto L61;
  243.  L96:
  244.   if (general_operand (x2, SImode))
  245.     { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 17; }
  246.   x2 = XEXP (x1, 0);
  247.   goto L100;
  248.  L61:
  249.   x3 = XEXP (x2, 0);
  250.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 7 && 1)
  251.     goto L78;
  252.   goto L96;
  253.  L78:
  254.   x3 = XEXP (x2, 1);
  255.   if (GET_CODE (x3) == AND && GET_MODE (x3) == SImode && 1)
  256.     goto L79;
  257.  L62:
  258.   if (general_operand (x3, SImode))
  259.     { recog_operand[1] = x3; return 13; }
  260.   goto L96;
  261.  L79:
  262.   x4 = XEXP (x3, 0);
  263.   if (general_operand (x4, SImode))
  264.     { recog_operand[1] = x4; goto L80; }
  265.   goto L62;
  266.  L80:
  267.   x4 = XEXP (x3, 1);
  268.   if (GET_CODE (x4) == CONST_INT && XINT (x4, 0) == 7 && 1)
  269.     return 15;
  270.   goto L62;
  271.  L101:
  272.   x2 = XEXP (x1, 1);
  273.   if (x2 == const1_rtx && 1)
  274.     goto L102;
  275.   x2 = XEXP (x1, 0);
  276.   goto L66;
  277.  L102:
  278.   x2 = XEXP (x1, 2);
  279.   if (general_operand (x2, SImode))
  280.     { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 18; }
  281.   x2 = XEXP (x1, 0);
  282.   goto L66;
  283.  L67:
  284.   x2 = XEXP (x1, 1);
  285.   if (x2 == const1_rtx && 1)
  286.     goto L68;
  287.   goto L779;
  288.  L68:
  289.   x2 = XEXP (x1, 2);
  290.   if (GET_CODE (x2) == MINUS && GET_MODE (x2) == SImode && 1)
  291.     goto L69;
  292.  L108:
  293.   if (general_operand (x2, SImode))
  294.     { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 19; }
  295.   goto L779;
  296.  L69:
  297.   x3 = XEXP (x2, 0);
  298.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 31 && 1)
  299.     goto L88;
  300.   goto L108;
  301.  L88:
  302.   x3 = XEXP (x2, 1);
  303.   if (GET_CODE (x3) == AND && GET_MODE (x3) == SImode && 1)
  304.     goto L89;
  305.  L70:
  306.   if (general_operand (x3, SImode))
  307.     { recog_operand[1] = x3; return 14; }
  308.   goto L108;
  309.  L89:
  310.   x4 = XEXP (x3, 0);
  311.   if (general_operand (x4, SImode))
  312.     { recog_operand[1] = x4; goto L90; }
  313.   goto L70;
  314.  L90:
  315.   x4 = XEXP (x3, 1);
  316.   if (GET_CODE (x4) == CONST_INT && XINT (x4, 0) == 31 && 1)
  317.     return 16;
  318.   goto L70;
  319.  L112:
  320.   x2 = XEXP (x1, 0);
  321.   if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == QImode && 1)
  322.     goto L113;
  323.   goto L8;
  324.  L113:
  325.   x3 = XEXP (x2, 0);
  326.   if (nonimmediate_operand (x3, QImode))
  327.     { recog_operand[0] = x3; goto L114; }
  328.   goto L8;
  329.  L114:
  330.   x3 = XEXP (x2, 1);
  331.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 7 && 1)
  332.     return 20;
  333.   goto L8;
  334.  L118:
  335.   x2 = XEXP (x1, 0);
  336.   if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
  337.     goto L119;
  338.   goto L8;
  339.  L119:
  340.   x3 = XEXP (x2, 0);
  341.   if (GET_CODE (x3) == SIGN_EXTEND && GET_MODE (x3) == HImode && 1)
  342.     goto L120;
  343.   goto L8;
  344.  L120:
  345.   x4 = XEXP (x3, 0);
  346.   if (nonimmediate_operand (x4, QImode))
  347.     { recog_operand[0] = x4; goto L121; }
  348.   goto L8;
  349.  L121:
  350.   x2 = XEXP (x1, 1);
  351.   if (general_operand (x2, SImode))
  352.     { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
  353.     && (unsigned) INTVAL (operands[1]) < 0x100
  354.     && exact_log2 (INTVAL (operands[1])) >= 0)) return 21; }
  355.   goto L8;
  356.  L780:
  357.   x2 = XEXP (x1, 0);
  358.   if (memory_operand (x2, QImode))
  359.     { recog_operand[0] = x2; goto L781; }
  360.  L800:
  361.   if (nonimmediate_operand (x2, SImode))
  362.     { recog_operand[0] = x2; goto L801; }
  363.   goto L8;
  364.  L781:
  365.   x2 = XEXP (x1, 1);
  366.   if (general_operand (x2, SImode))
  367.     { recog_operand[1] = x2; goto L782; }
  368.   x2 = XEXP (x1, 0);
  369.   goto L800;
  370.  L782:
  371.   x2 = XEXP (x1, 2);
  372.   if (general_operand (x2, SImode))
  373.     { recog_operand[2] = x2; if (TARGET_68020 && TARGET_BITFIELD
  374.    && GET_CODE (operands[1]) == CONST_INT) return 157; }
  375.   x2 = XEXP (x1, 0);
  376.   goto L800;
  377.  L801:
  378.   x2 = XEXP (x1, 1);
  379.   if (general_operand (x2, SImode))
  380.     { recog_operand[1] = x2; goto L802; }
  381.   goto L8;
  382.  L802:
  383.   x2 = XEXP (x1, 2);
  384.   if (general_operand (x2, SImode))
  385.     { recog_operand[2] = x2; if (TARGET_68020 && TARGET_BITFIELD
  386.    && GET_CODE (operands[1]) == CONST_INT) return 160; }
  387.   goto L8;
  388.  L786:
  389.   x2 = XEXP (x1, 0);
  390.   if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
  391.     goto L787;
  392.   goto L8;
  393.  L787:
  394.   x3 = XEXP (x2, 0);
  395.   if (memory_operand (x3, QImode))
  396.     { recog_operand[0] = x3; goto L788; }
  397.  L807:
  398.   if (nonimmediate_operand (x3, SImode))
  399.     { recog_operand[0] = x3; goto L808; }
  400.   goto L8;
  401.  L788:
  402.   x3 = XEXP (x2, 1);
  403.   if (general_operand (x3, SImode))
  404.     { recog_operand[1] = x3; goto L789; }
  405.   x3 = XEXP (x2, 0);
  406.   goto L807;
  407.  L789:
  408.   x3 = XEXP (x2, 2);
  409.   if (general_operand (x3, SImode))
  410.     { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
  411.    && GET_CODE (operands[1]) == CONST_INT) return 158; }
  412.   x3 = XEXP (x2, 0);
  413.   goto L807;
  414.  L808:
  415.   x3 = XEXP (x2, 1);
  416.   if (general_operand (x3, SImode))
  417.     { recog_operand[1] = x3; goto L809; }
  418.   goto L8;
  419.  L809:
  420.   x3 = XEXP (x2, 2);
  421.   if (general_operand (x3, SImode))
  422.     { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
  423.    && GET_CODE (operands[1]) == CONST_INT) return 161; }
  424.   goto L8;
  425.  L793:
  426.   x2 = XEXP (x1, 0);
  427.   if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
  428.     goto L794;
  429.   goto L8;
  430.  L794:
  431.   x3 = XEXP (x2, 0);
  432.   if (memory_operand (x3, QImode))
  433.     { recog_operand[0] = x3; goto L795; }
  434.  L814:
  435.   if (nonimmediate_operand (x3, SImode))
  436.     { recog_operand[0] = x3; goto L815; }
  437.   goto L8;
  438.  L795:
  439.   x3 = XEXP (x2, 1);
  440.   if (general_operand (x3, SImode))
  441.     { recog_operand[1] = x3; goto L796; }
  442.   x3 = XEXP (x2, 0);
  443.   goto L814;
  444.  L796:
  445.   x3 = XEXP (x2, 2);
  446.   if (general_operand (x3, SImode))
  447.     { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
  448.    && GET_CODE (operands[1]) == CONST_INT) return 159; }
  449.   x3 = XEXP (x2, 0);
  450.   goto L814;
  451.  L815:
  452.   x3 = XEXP (x2, 1);
  453.   if (general_operand (x3, SImode))
  454.     { recog_operand[1] = x3; goto L816; }
  455.   goto L8;
  456.  L816:
  457.   x3 = XEXP (x2, 2);
  458.   if (general_operand (x3, SImode))
  459.     { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
  460.    && GET_CODE (operands[1]) == CONST_INT) return 162; }
  461.   goto L8;
  462.  ret0: return -1;
  463. }
  464.  
  465. int
  466. recog_2 (x0, insn)
  467.      register rtx x0;
  468.      rtx insn;
  469. {
  470.   register rtx x1, x2, x3, x4, x5;
  471.   rtx x6, x7, x8, x9, x10, x11;
  472.   int tem;
  473.  L870:
  474.   x1 = XEXP (x0, 1);
  475.   x2 = XEXP (x1, 0);
  476.  switch (GET_CODE (x2))
  477.   {
  478.   case EQ:
  479.   if (1)
  480.     goto L871;
  481.   break;
  482.   case NE:
  483.   if (1)
  484.     goto L880;
  485.   break;
  486.   case GT:
  487.   if (1)
  488.     goto L889;
  489.   break;
  490.   case GTU:
  491.   if (1)
  492.     goto L898;
  493.   break;
  494.   case LT:
  495.   if (1)
  496.     goto L907;
  497.   break;
  498.   case LTU:
  499.   if (1)
  500.     goto L916;
  501.   break;
  502.   case GE:
  503.   if (1)
  504.     goto L925;
  505.   break;
  506.   case GEU:
  507.   if (1)
  508.     goto L934;
  509.   break;
  510.   case LE:
  511.   if (1)
  512.     goto L943;
  513.   break;
  514.   case LEU:
  515.   if (1)
  516.     goto L952;
  517.   break;
  518.   }
  519.   goto ret0;
  520.  L871:
  521.   x3 = XEXP (x2, 0);
  522.   if (x3 == cc0_rtx && 1)
  523.     goto L872;
  524.   goto ret0;
  525.  L872:
  526.   x3 = XEXP (x2, 1);
  527.   if (x3 == const0_rtx && 1)
  528.     goto L873;
  529.   goto ret0;
  530.  L873:
  531.   x2 = XEXP (x1, 1);
  532.   if (GET_CODE (x2) == LABEL_REF && 1)
  533.     goto L874;
  534.   if (x2 == pc_rtx && 1)
  535.     goto L964;
  536.   goto ret0;
  537.  L874:
  538.   x3 = XEXP (x2, 0);
  539.   if (1)
  540.     { recog_operand[0] = x3; goto L875; }
  541.   goto ret0;
  542.  L875:
  543.   x2 = XEXP (x1, 2);
  544.   if (x2 == pc_rtx && 1)
  545.     return 173;
  546.   goto ret0;
  547.  L964:
  548.   x2 = XEXP (x1, 2);
  549.   if (GET_CODE (x2) == LABEL_REF && 1)
  550.     goto L965;
  551.   goto ret0;
  552.  L965:
  553.   x3 = XEXP (x2, 0);
  554.   if (1)
  555.     { recog_operand[0] = x3; return 183; }
  556.   goto ret0;
  557.  L880:
  558.   x3 = XEXP (x2, 0);
  559.   if (x3 == cc0_rtx && 1)
  560.     goto L881;
  561.   goto ret0;
  562.  L881:
  563.   x3 = XEXP (x2, 1);
  564.   if (x3 == const0_rtx && 1)
  565.     goto L882;
  566.   goto ret0;
  567.  L882:
  568.   x2 = XEXP (x1, 1);
  569.   if (GET_CODE (x2) == LABEL_REF && 1)
  570.     goto L883;
  571.   if (x2 == pc_rtx && 1)
  572.     goto L973;
  573.   goto ret0;
  574.  L883:
  575.   x3 = XEXP (x2, 0);
  576.   if (1)
  577.     { recog_operand[0] = x3; goto L884; }
  578.   goto ret0;
  579.  L884:
  580.   x2 = XEXP (x1, 2);
  581.   if (x2 == pc_rtx && 1)
  582.     return 174;
  583.   goto ret0;
  584.  L973:
  585.   x2 = XEXP (x1, 2);
  586.   if (GET_CODE (x2) == LABEL_REF && 1)
  587.     goto L974;
  588.   goto ret0;
  589.  L974:
  590.   x3 = XEXP (x2, 0);
  591.   if (1)
  592.     { recog_operand[0] = x3; return 184; }
  593.   goto ret0;
  594.  L889:
  595.   x3 = XEXP (x2, 0);
  596.   if (x3 == cc0_rtx && 1)
  597.     goto L890;
  598.   goto ret0;
  599.  L890:
  600.   x3 = XEXP (x2, 1);
  601.   if (x3 == const0_rtx && 1)
  602.     goto L891;
  603.   goto ret0;
  604.  L891:
  605.   x2 = XEXP (x1, 1);
  606.   if (GET_CODE (x2) == LABEL_REF && 1)
  607.     goto L892;
  608.   if (x2 == pc_rtx && 1)
  609.     goto L982;
  610.   goto ret0;
  611.  L892:
  612.   x3 = XEXP (x2, 0);
  613.   if (1)
  614.     { recog_operand[0] = x3; goto L893; }
  615.   goto ret0;
  616.  L893:
  617.   x2 = XEXP (x1, 2);
  618.   if (x2 == pc_rtx && 1)
  619.     return 175;
  620.   goto ret0;
  621.  L982:
  622.   x2 = XEXP (x1, 2);
  623.   if (GET_CODE (x2) == LABEL_REF && 1)
  624.     goto L983;
  625.   goto ret0;
  626.  L983:
  627.   x3 = XEXP (x2, 0);
  628.   if (1)
  629.     { recog_operand[0] = x3; return 185; }
  630.   goto ret0;
  631.  L898:
  632.   x3 = XEXP (x2, 0);
  633.   if (x3 == cc0_rtx && 1)
  634.     goto L899;
  635.   goto ret0;
  636.  L899:
  637.   x3 = XEXP (x2, 1);
  638.   if (x3 == const0_rtx && 1)
  639.     goto L900;
  640.   goto ret0;
  641.  L900:
  642.   x2 = XEXP (x1, 1);
  643.   if (GET_CODE (x2) == LABEL_REF && 1)
  644.     goto L901;
  645.   if (x2 == pc_rtx && 1)
  646.     goto L991;
  647.   goto ret0;
  648.  L901:
  649.   x3 = XEXP (x2, 0);
  650.   if (1)
  651.     { recog_operand[0] = x3; goto L902; }
  652.   goto ret0;
  653.  L902:
  654.   x2 = XEXP (x1, 2);
  655.   if (x2 == pc_rtx && 1)
  656.     return 176;
  657.   goto ret0;
  658.  L991:
  659.   x2 = XEXP (x1, 2);
  660.   if (GET_CODE (x2) == LABEL_REF && 1)
  661.     goto L992;
  662.   goto ret0;
  663.  L992:
  664.   x3 = XEXP (x2, 0);
  665.   if (1)
  666.     { recog_operand[0] = x3; return 186; }
  667.   goto ret0;
  668.  L907:
  669.   x3 = XEXP (x2, 0);
  670.   if (x3 == cc0_rtx && 1)
  671.     goto L908;
  672.   goto ret0;
  673.  L908:
  674.   x3 = XEXP (x2, 1);
  675.   if (x3 == const0_rtx && 1)
  676.     goto L909;
  677.   goto ret0;
  678.  L909:
  679.   x2 = XEXP (x1, 1);
  680.   if (GET_CODE (x2) == LABEL_REF && 1)
  681.     goto L910;
  682.   if (x2 == pc_rtx && 1)
  683.     goto L1000;
  684.   goto ret0;
  685.  L910:
  686.   x3 = XEXP (x2, 0);
  687.   if (1)
  688.     { recog_operand[0] = x3; goto L911; }
  689.   goto ret0;
  690.  L911:
  691.   x2 = XEXP (x1, 2);
  692.   if (x2 == pc_rtx && 1)
  693.     return 177;
  694.   goto ret0;
  695.  L1000:
  696.   x2 = XEXP (x1, 2);
  697.   if (GET_CODE (x2) == LABEL_REF && 1)
  698.     goto L1001;
  699.   goto ret0;
  700.  L1001:
  701.   x3 = XEXP (x2, 0);
  702.   if (1)
  703.     { recog_operand[0] = x3; return 187; }
  704.   goto ret0;
  705.  L916:
  706.   x3 = XEXP (x2, 0);
  707.   if (x3 == cc0_rtx && 1)
  708.     goto L917;
  709.   goto ret0;
  710.  L917:
  711.   x3 = XEXP (x2, 1);
  712.   if (x3 == const0_rtx && 1)
  713.     goto L918;
  714.   goto ret0;
  715.  L918:
  716.   x2 = XEXP (x1, 1);
  717.   if (GET_CODE (x2) == LABEL_REF && 1)
  718.     goto L919;
  719.   if (x2 == pc_rtx && 1)
  720.     goto L1009;
  721.   goto ret0;
  722.  L919:
  723.   x3 = XEXP (x2, 0);
  724.   if (1)
  725.     { recog_operand[0] = x3; goto L920; }
  726.   goto ret0;
  727.  L920:
  728.   x2 = XEXP (x1, 2);
  729.   if (x2 == pc_rtx && 1)
  730.     return 178;
  731.   goto ret0;
  732.  L1009:
  733.   x2 = XEXP (x1, 2);
  734.   if (GET_CODE (x2) == LABEL_REF && 1)
  735.     goto L1010;
  736.   goto ret0;
  737.  L1010:
  738.   x3 = XEXP (x2, 0);
  739.   if (1)
  740.     { recog_operand[0] = x3; return 188; }
  741.   goto ret0;
  742.  L925:
  743.   x3 = XEXP (x2, 0);
  744.   if (x3 == cc0_rtx && 1)
  745.     goto L926;
  746.   goto ret0;
  747.  L926:
  748.   x3 = XEXP (x2, 1);
  749.   if (x3 == const0_rtx && 1)
  750.     goto L927;
  751.   goto ret0;
  752.  L927:
  753.   x2 = XEXP (x1, 1);
  754.   if (GET_CODE (x2) == LABEL_REF && 1)
  755.     goto L928;
  756.   if (x2 == pc_rtx && 1)
  757.     goto L1018;
  758.   goto ret0;
  759.  L928:
  760.   x3 = XEXP (x2, 0);
  761.   if (1)
  762.     { recog_operand[0] = x3; goto L929; }
  763.   goto ret0;
  764.  L929:
  765.   x2 = XEXP (x1, 2);
  766.   if (x2 == pc_rtx && 1)
  767.     return 179;
  768.   goto ret0;
  769.  L1018:
  770.   x2 = XEXP (x1, 2);
  771.   if (GET_CODE (x2) == LABEL_REF && 1)
  772.     goto L1019;
  773.   goto ret0;
  774.  L1019:
  775.   x3 = XEXP (x2, 0);
  776.   if (1)
  777.     { recog_operand[0] = x3; return 189; }
  778.   goto ret0;
  779.  L934:
  780.   x3 = XEXP (x2, 0);
  781.   if (x3 == cc0_rtx && 1)
  782.     goto L935;
  783.   goto ret0;
  784.  L935:
  785.   x3 = XEXP (x2, 1);
  786.   if (x3 == const0_rtx && 1)
  787.     goto L936;
  788.   goto ret0;
  789.  L936:
  790.   x2 = XEXP (x1, 1);
  791.   if (GET_CODE (x2) == LABEL_REF && 1)
  792.     goto L937;
  793.   if (x2 == pc_rtx && 1)
  794.     goto L1027;
  795.   goto ret0;
  796.  L937:
  797.   x3 = XEXP (x2, 0);
  798.   if (1)
  799.     { recog_operand[0] = x3; goto L938; }
  800.   goto ret0;
  801.  L938:
  802.   x2 = XEXP (x1, 2);
  803.   if (x2 == pc_rtx && 1)
  804.     return 180;
  805.   goto ret0;
  806.  L1027:
  807.   x2 = XEXP (x1, 2);
  808.   if (GET_CODE (x2) == LABEL_REF && 1)
  809.     goto L1028;
  810.   goto ret0;
  811.  L1028:
  812.   x3 = XEXP (x2, 0);
  813.   if (1)
  814.     { recog_operand[0] = x3; return 190; }
  815.   goto ret0;
  816.  L943:
  817.   x3 = XEXP (x2, 0);
  818.   if (x3 == cc0_rtx && 1)
  819.     goto L944;
  820.   goto ret0;
  821.  L944:
  822.   x3 = XEXP (x2, 1);
  823.   if (x3 == const0_rtx && 1)
  824.     goto L945;
  825.   goto ret0;
  826.  L945:
  827.   x2 = XEXP (x1, 1);
  828.   if (GET_CODE (x2) == LABEL_REF && 1)
  829.     goto L946;
  830.   if (x2 == pc_rtx && 1)
  831.     goto L1036;
  832.   goto ret0;
  833.  L946:
  834.   x3 = XEXP (x2, 0);
  835.   if (1)
  836.     { recog_operand[0] = x3; goto L947; }
  837.   goto ret0;
  838.  L947:
  839.   x2 = XEXP (x1, 2);
  840.   if (x2 == pc_rtx && 1)
  841.     return 181;
  842.   goto ret0;
  843.  L1036:
  844.   x2 = XEXP (x1, 2);
  845.   if (GET_CODE (x2) == LABEL_REF && 1)
  846.     goto L1037;
  847.   goto ret0;
  848.  L1037:
  849.   x3 = XEXP (x2, 0);
  850.   if (1)
  851.     { recog_operand[0] = x3; return 191; }
  852.   goto ret0;
  853.  L952:
  854.   x3 = XEXP (x2, 0);
  855.   if (x3 == cc0_rtx && 1)
  856.     goto L953;
  857.   goto ret0;
  858.  L953:
  859.   x3 = XEXP (x2, 1);
  860.   if (x3 == const0_rtx && 1)
  861.     goto L954;
  862.   goto ret0;
  863.  L954:
  864.   x2 = XEXP (x1, 1);
  865.   if (GET_CODE (x2) == LABEL_REF && 1)
  866.     goto L955;
  867.   if (x2 == pc_rtx && 1)
  868.     goto L1045;
  869.   goto ret0;
  870.  L955:
  871.   x3 = XEXP (x2, 0);
  872.   if (1)
  873.     { recog_operand[0] = x3; goto L956; }
  874.   goto ret0;
  875.  L956:
  876.   x2 = XEXP (x1, 2);
  877.   if (x2 == pc_rtx && 1)
  878.     return 182;
  879.   goto ret0;
  880.  L1045:
  881.   x2 = XEXP (x1, 2);
  882.   if (GET_CODE (x2) == LABEL_REF && 1)
  883.     goto L1046;
  884.   goto ret0;
  885.  L1046:
  886.   x3 = XEXP (x2, 0);
  887.   if (1)
  888.     { recog_operand[0] = x3; return 192; }
  889.   goto ret0;
  890.  ret0: return -1;
  891. }
  892.  
  893. int
  894. recog_3 (x0, insn)
  895.      register rtx x0;
  896.      rtx insn;
  897. {
  898.   register rtx x1, x2, x3, x4, x5;
  899.   rtx x6, x7, x8, x9, x10, x11;
  900.   int tem;
  901.  L169:
  902.   x1 = XEXP (x0, 1);
  903.  switch (GET_CODE (x1))
  904.   {
  905.   case TRUNCATE:
  906.   if (GET_MODE (x1) == QImode && 1)
  907.     goto L170;
  908.   break;
  909.   case FIX:
  910.   if (GET_MODE (x1) == QImode && 1)
  911.     goto L234;
  912.   break;
  913.   case PLUS:
  914.   if (GET_MODE (x1) == QImode && 1)
  915.     goto L280;
  916.   break;
  917.   case MINUS:
  918.   if (GET_MODE (x1) == QImode && 1)
  919.     goto L323;
  920.   break;
  921.   case AND:
  922.   if (GET_MODE (x1) == QImode && 1)
  923.     goto L476;
  924.   break;
  925.   case IOR:
  926.   if (GET_MODE (x1) == QImode && 1)
  927.     goto L503;
  928.   break;
  929.   case XOR:
  930.   if (GET_MODE (x1) == QImode && 1)
  931.     goto L518;
  932.   break;
  933.   case NEG:
  934.   if (GET_MODE (x1) == QImode && 1)
  935.     goto L531;
  936.   break;
  937.   case NOT:
  938.   if (GET_MODE (x1) == QImode && 1)
  939.     goto L559;
  940.   break;
  941.   case ASHIFT:
  942.   if (GET_MODE (x1) == QImode && 1)
  943.     goto L611;
  944.   break;
  945.   case ASHIFTRT:
  946.   if (GET_MODE (x1) == QImode && 1)
  947.     goto L626;
  948.   break;
  949.   case LSHIFT:
  950.   if (GET_MODE (x1) == QImode && 1)
  951.     goto L641;
  952.   break;
  953.   case LSHIFTRT:
  954.   if (GET_MODE (x1) == QImode && 1)
  955.     goto L656;
  956.   break;
  957.   case ROTATE:
  958.   if (GET_MODE (x1) == QImode && 1)
  959.     goto L671;
  960.   break;
  961.   case ROTATERT:
  962.   if (GET_MODE (x1) == QImode && 1)
  963.     goto L686;
  964.   break;
  965.   case EQ:
  966.   if (1)
  967.     goto L820;
  968.   break;
  969.   case NE:
  970.   if (1)
  971.     goto L825;
  972.   break;
  973.   case GT:
  974.   if (1)
  975.     goto L830;
  976.   break;
  977.   case GTU:
  978.   if (1)
  979.     goto L835;
  980.   break;
  981.   case LT:
  982.   if (1)
  983.     goto L840;
  984.   break;
  985.   case LTU:
  986.   if (1)
  987.     goto L845;
  988.   break;
  989.   case GE:
  990.   if (1)
  991.     goto L850;
  992.   break;
  993.   case GEU:
  994.   if (1)
  995.     goto L855;
  996.   break;
  997.   case LE:
  998.   if (1)
  999.     goto L860;
  1000.   break;
  1001.   case LEU:
  1002.   if (1)
  1003.     goto L865;
  1004.   break;
  1005.   }
  1006.  L147:
  1007.   if (general_operand (x1, QImode))
  1008.     { recog_operand[1] = x1; return 28; }
  1009.   goto ret0;
  1010.  L170:
  1011.   x2 = XEXP (x1, 0);
  1012.   if (general_operand (x2, SImode))
  1013.     { recog_operand[1] = x2; return 35; }
  1014.  L174:
  1015.   if (general_operand (x2, HImode))
  1016.     { recog_operand[1] = x2; return 36; }
  1017.   goto L147;
  1018.  L234:
  1019.   x2 = XEXP (x1, 0);
  1020.   if (general_operand (x2, SFmode))
  1021.     { recog_operand[1] = x2; if (TARGET_68881) return 54; }
  1022.  L246:
  1023.   if (general_operand (x2, DFmode))
  1024.     { recog_operand[1] = x2; if (TARGET_68881) return 57; }
  1025.   goto L147;
  1026.  L280:
  1027.   x2 = XEXP (x1, 0);
  1028.   if (general_operand (x2, QImode))
  1029.     { recog_operand[1] = x2; goto L281; }
  1030.   goto L147;
  1031.  L281:
  1032.   x2 = XEXP (x1, 1);
  1033.   if (general_operand (x2, QImode))
  1034.     { recog_operand[2] = x2; return 64; }
  1035.   goto L147;
  1036.  L323:
  1037.   x2 = XEXP (x1, 0);
  1038.   if (general_operand (x2, QImode))
  1039.     { recog_operand[1] = x2; goto L324; }
  1040.   goto L147;
  1041.  L324:
  1042.   x2 = XEXP (x1, 1);
  1043.   if (general_operand (x2, QImode))
  1044.     { recog_operand[2] = x2; return 72; }
  1045.   goto L147;
  1046.  L476:
  1047.   x2 = XEXP (x1, 0);
  1048.   if (general_operand (x2, QImode))
  1049.     { recog_operand[1] = x2; goto L477; }
  1050.   goto L147;
  1051.  L477:
  1052.   x2 = XEXP (x1, 1);
  1053.   if (general_operand (x2, QImode))
  1054.     { recog_operand[2] = x2; return 100; }
  1055.   goto L147;
  1056.  L503:
  1057.   x2 = XEXP (x1, 0);
  1058.   if (general_operand (x2, QImode))
  1059.     { recog_operand[1] = x2; goto L504; }
  1060.   goto L147;
  1061.  L504:
  1062.   x2 = XEXP (x1, 1);
  1063.   if (general_operand (x2, QImode))
  1064.     { recog_operand[2] = x2; return 105; }
  1065.   goto L147;
  1066.  L518:
  1067.   x2 = XEXP (x1, 0);
  1068.   if (general_operand (x2, QImode))
  1069.     { recog_operand[1] = x2; goto L519; }
  1070.   goto L147;
  1071.  L519:
  1072.   x2 = XEXP (x1, 1);
  1073.   if (general_operand (x2, QImode))
  1074.     { recog_operand[2] = x2; return 108; }
  1075.   goto L147;
  1076.  L531:
  1077.   x2 = XEXP (x1, 0);
  1078.   if (general_operand (x2, QImode))
  1079.     { recog_operand[1] = x2; return 111; }
  1080.   goto L147;
  1081.  L559:
  1082.   x2 = XEXP (x1, 0);
  1083.   if (general_operand (x2, QImode))
  1084.     { recog_operand[1] = x2; return 118; }
  1085.   goto L147;
  1086.  L611:
  1087.   x2 = XEXP (x1, 0);
  1088.   if (general_operand (x2, QImode))
  1089.     { recog_operand[1] = x2; goto L612; }
  1090.   goto L147;
  1091.  L612:
  1092.   x2 = XEXP (x1, 1);
  1093.   if (general_operand (x2, QImode))
  1094.     { recog_operand[2] = x2; return 127; }
  1095.   goto L147;
  1096.  L626:
  1097.   x2 = XEXP (x1, 0);
  1098.   if (general_operand (x2, QImode))
  1099.     { recog_operand[1] = x2; goto L627; }
  1100.   goto L147;
  1101.  L627:
  1102.   x2 = XEXP (x1, 1);
  1103.   if (general_operand (x2, QImode))
  1104.     { recog_operand[2] = x2; return 130; }
  1105.   goto L147;
  1106.  L641:
  1107.   x2 = XEXP (x1, 0);
  1108.   if (general_operand (x2, QImode))
  1109.     { recog_operand[1] = x2; goto L642; }
  1110.   goto L147;
  1111.  L642:
  1112.   x2 = XEXP (x1, 1);
  1113.   if (general_operand (x2, QImode))
  1114.     { recog_operand[2] = x2; return 133; }
  1115.   goto L147;
  1116.  L656:
  1117.   x2 = XEXP (x1, 0);
  1118.   if (general_operand (x2, QImode))
  1119.     { recog_operand[1] = x2; goto L657; }
  1120.   goto L147;
  1121.  L657:
  1122.   x2 = XEXP (x1, 1);
  1123.   if (general_operand (x2, QImode))
  1124.     { recog_operand[2] = x2; return 136; }
  1125.   goto L147;
  1126.  L671:
  1127.   x2 = XEXP (x1, 0);
  1128.   if (general_operand (x2, QImode))
  1129.     { recog_operand[1] = x2; goto L672; }
  1130.   goto L147;
  1131.  L672:
  1132.   x2 = XEXP (x1, 1);
  1133.   if (general_operand (x2, QImode))
  1134.     { recog_operand[2] = x2; return 139; }
  1135.   goto L147;
  1136.  L686:
  1137.   x2 = XEXP (x1, 0);
  1138.   if (general_operand (x2, QImode))
  1139.     { recog_operand[1] = x2; goto L687; }
  1140.   goto L147;
  1141.  L687:
  1142.   x2 = XEXP (x1, 1);
  1143.   if (general_operand (x2, QImode))
  1144.     { recog_operand[2] = x2; return 142; }
  1145.   goto L147;
  1146.  L820:
  1147.   x2 = XEXP (x1, 0);
  1148.   if (x2 == cc0_rtx && 1)
  1149.     goto L821;
  1150.   goto L147;
  1151.  L821:
  1152.   x2 = XEXP (x1, 1);
  1153.   if (x2 == const0_rtx && 1)
  1154.     return 163;
  1155.   goto L147;
  1156.  L825:
  1157.   x2 = XEXP (x1, 0);
  1158.   if (x2 == cc0_rtx && 1)
  1159.     goto L826;
  1160.   goto L147;
  1161.  L826:
  1162.   x2 = XEXP (x1, 1);
  1163.   if (x2 == const0_rtx && 1)
  1164.     return 164;
  1165.   goto L147;
  1166.  L830:
  1167.   x2 = XEXP (x1, 0);
  1168.   if (x2 == cc0_rtx && 1)
  1169.     goto L831;
  1170.   goto L147;
  1171.  L831:
  1172.   x2 = XEXP (x1, 1);
  1173.   if (x2 == const0_rtx && 1)
  1174.     return 165;
  1175.   goto L147;
  1176.  L835:
  1177.   x2 = XEXP (x1, 0);
  1178.   if (x2 == cc0_rtx && 1)
  1179.     goto L836;
  1180.   goto L147;
  1181.  L836:
  1182.   x2 = XEXP (x1, 1);
  1183.   if (x2 == const0_rtx && 1)
  1184.     return 166;
  1185.   goto L147;
  1186.  L840:
  1187.   x2 = XEXP (x1, 0);
  1188.   if (x2 == cc0_rtx && 1)
  1189.     goto L841;
  1190.   goto L147;
  1191.  L841:
  1192.   x2 = XEXP (x1, 1);
  1193.   if (x2 == const0_rtx && 1)
  1194.     return 167;
  1195.   goto L147;
  1196.  L845:
  1197.   x2 = XEXP (x1, 0);
  1198.   if (x2 == cc0_rtx && 1)
  1199.     goto L846;
  1200.   goto L147;
  1201.  L846:
  1202.   x2 = XEXP (x1, 1);
  1203.   if (x2 == const0_rtx && 1)
  1204.     return 168;
  1205.   goto L147;
  1206.  L850:
  1207.   x2 = XEXP (x1, 0);
  1208.   if (x2 == cc0_rtx && 1)
  1209.     goto L851;
  1210.   goto L147;
  1211.  L851:
  1212.   x2 = XEXP (x1, 1);
  1213.   if (x2 == const0_rtx && 1)
  1214.     return 169;
  1215.   goto L147;
  1216.  L855:
  1217.   x2 = XEXP (x1, 0);
  1218.   if (x2 == cc0_rtx && 1)
  1219.     goto L856;
  1220.   goto L147;
  1221.  L856:
  1222.   x2 = XEXP (x1, 1);
  1223.   if (x2 == const0_rtx && 1)
  1224.     return 170;
  1225.   goto L147;
  1226.  L860:
  1227.   x2 = XEXP (x1, 0);
  1228.   if (x2 == cc0_rtx && 1)
  1229.     goto L861;
  1230.   goto L147;
  1231.  L861:
  1232.   x2 = XEXP (x1, 1);
  1233.   if (x2 == const0_rtx && 1)
  1234.     return 171;
  1235.   goto L147;
  1236.  L865:
  1237.   x2 = XEXP (x1, 0);
  1238.   if (x2 == cc0_rtx && 1)
  1239.     goto L866;
  1240.   goto L147;
  1241.  L866:
  1242.   x2 = XEXP (x1, 1);
  1243.   if (x2 == const0_rtx && 1)
  1244.     return 172;
  1245.   goto L147;
  1246.  ret0: return -1;
  1247. }
  1248.  
  1249. int
  1250. recog_4 (x0, insn)
  1251.      register rtx x0;
  1252.      rtx insn;
  1253. {
  1254.   register rtx x1, x2, x3, x4, x5;
  1255.   rtx x6, x7, x8, x9, x10, x11;
  1256.   int tem;
  1257.  L177:
  1258.   x1 = XEXP (x0, 1);
  1259.  switch (GET_CODE (x1))
  1260.   {
  1261.   case TRUNCATE:
  1262.   if (GET_MODE (x1) == HImode && 1)
  1263.     goto L178;
  1264.   break;
  1265.   case SIGN_EXTEND:
  1266.   if (GET_MODE (x1) == HImode && 1)
  1267.     goto L186;
  1268.   break;
  1269.   case FIX:
  1270.   if (GET_MODE (x1) == HImode && 1)
  1271.     goto L238;
  1272.   break;
  1273.   case PLUS:
  1274.   if (GET_MODE (x1) == HImode && 1)
  1275.     goto L269;
  1276.   break;
  1277.   case MINUS:
  1278.   if (GET_MODE (x1) == HImode && 1)
  1279.     goto L312;
  1280.   break;
  1281.   case MULT:
  1282.   if (GET_MODE (x1) == HImode && 1)
  1283.     goto L344;
  1284.   break;
  1285.   case UMULT:
  1286.   if (GET_MODE (x1) == HImode && 1)
  1287.     goto L359;
  1288.   break;
  1289.   case DIV:
  1290.   if (GET_MODE (x1) == HImode && 1)
  1291.     goto L384;
  1292.   break;
  1293.   case UDIV:
  1294.   if (GET_MODE (x1) == HImode && 1)
  1295.     goto L399;
  1296.   break;
  1297.   case MOD:
  1298.   if (GET_MODE (x1) == HImode && 1)
  1299.     goto L424;
  1300.   break;
  1301.   case UMOD:
  1302.   if (GET_MODE (x1) == HImode && 1)
  1303.     goto L434;
  1304.   break;
  1305.   case AND:
  1306.   if (GET_MODE (x1) == HImode && 1)
  1307.     goto L471;
  1308.   break;
  1309.   case IOR:
  1310.   if (GET_MODE (x1) == HImode && 1)
  1311.     goto L498;
  1312.   break;
  1313.   case XOR:
  1314.   if (GET_MODE (x1) == HImode && 1)
  1315.     goto L513;
  1316.   break;
  1317.   case NEG:
  1318.   if (GET_MODE (x1) == HImode && 1)
  1319.     goto L527;
  1320.   break;
  1321.   case NOT:
  1322.   if (GET_MODE (x1) == HImode && 1)
  1323.     goto L555;
  1324.   break;
  1325.   case ASHIFT:
  1326.   if (GET_MODE (x1) == HImode && 1)
  1327.     goto L606;
  1328.   break;
  1329.   case ASHIFTRT:
  1330.   if (GET_MODE (x1) == HImode && 1)
  1331.     goto L621;
  1332.   break;
  1333.   case LSHIFT:
  1334.   if (GET_MODE (x1) == HImode && 1)
  1335.     goto L636;
  1336.   break;
  1337.   case LSHIFTRT:
  1338.   if (GET_MODE (x1) == HImode && 1)
  1339.     goto L651;
  1340.   break;
  1341.   case ROTATE:
  1342.   if (GET_MODE (x1) == HImode && 1)
  1343.     goto L666;
  1344.   break;
  1345.   case ROTATERT:
  1346.   if (GET_MODE (x1) == HImode && 1)
  1347.     goto L681;
  1348.   break;
  1349.   }
  1350.  L140:
  1351.   if (general_operand (x1, HImode))
  1352.     { recog_operand[1] = x1; return 26; }
  1353.   goto ret0;
  1354.  L178:
  1355.   x2 = XEXP (x1, 0);
  1356.   if (general_operand (x2, SImode))
  1357.     { recog_operand[1] = x2; return 37; }
  1358.   goto L140;
  1359.  L186:
  1360.   x2 = XEXP (x1, 0);
  1361.   if (general_operand (x2, QImode))
  1362.     { recog_operand[1] = x2; return 42; }
  1363.   goto L140;
  1364.  L238:
  1365.   x2 = XEXP (x1, 0);
  1366.   if (general_operand (x2, SFmode))
  1367.     { recog_operand[1] = x2; if (TARGET_68881) return 55; }
  1368.  L250:
  1369.   if (general_operand (x2, DFmode))
  1370.     { recog_operand[1] = x2; if (TARGET_68881) return 58; }
  1371.   goto L140;
  1372.  L269:
  1373.   x2 = XEXP (x1, 0);
  1374.   if (general_operand (x2, HImode))
  1375.     { recog_operand[1] = x2; goto L270; }
  1376.   goto L140;
  1377.  L270:
  1378.   x2 = XEXP (x1, 1);
  1379.   if (general_operand (x2, HImode))
  1380.     { recog_operand[2] = x2; return 62; }
  1381.   goto L140;
  1382.  L312:
  1383.   x2 = XEXP (x1, 0);
  1384.   if (general_operand (x2, HImode))
  1385.     { recog_operand[1] = x2; goto L313; }
  1386.   goto L140;
  1387.  L313:
  1388.   x2 = XEXP (x1, 1);
  1389.   if (general_operand (x2, HImode))
  1390.     { recog_operand[2] = x2; return 70; }
  1391.   goto L140;
  1392.  L344:
  1393.   x2 = XEXP (x1, 0);
  1394.   if (general_operand (x2, HImode))
  1395.     { recog_operand[1] = x2; goto L345; }
  1396.   goto L140;
  1397.  L345:
  1398.   x2 = XEXP (x1, 1);
  1399.   if (general_operand (x2, HImode))
  1400.     { recog_operand[2] = x2; return 76; }
  1401.   goto L140;
  1402.  L359:
  1403.   x2 = XEXP (x1, 0);
  1404.   if (general_operand (x2, HImode))
  1405.     { recog_operand[1] = x2; goto L360; }
  1406.   goto L140;
  1407.  L360:
  1408.   x2 = XEXP (x1, 1);
  1409.   if (general_operand (x2, HImode))
  1410.     { recog_operand[2] = x2; return 79; }
  1411.   goto L140;
  1412.  L384:
  1413.   x2 = XEXP (x1, 0);
  1414.   if (general_operand (x2, HImode))
  1415.     { recog_operand[1] = x2; goto L385; }
  1416.  L389:
  1417.   if (general_operand (x2, SImode))
  1418.     { recog_operand[1] = x2; goto L390; }
  1419.   goto L140;
  1420.  L385:
  1421.   x2 = XEXP (x1, 1);
  1422.   if (general_operand (x2, HImode))
  1423.     { recog_operand[2] = x2; return 84; }
  1424.   x2 = XEXP (x1, 0);
  1425.   goto L389;
  1426.  L390:
  1427.   x2 = XEXP (x1, 1);
  1428.   if (general_operand (x2, HImode))
  1429.     { recog_operand[2] = x2; return 85; }
  1430.   goto L140;
  1431.  L399:
  1432.   x2 = XEXP (x1, 0);
  1433.   if (general_operand (x2, HImode))
  1434.     { recog_operand[1] = x2; goto L400; }
  1435.  L404:
  1436.   if (general_operand (x2, SImode))
  1437.     { recog_operand[1] = x2; goto L405; }
  1438.   goto L140;
  1439.  L400:
  1440.   x2 = XEXP (x1, 1);
  1441.   if (general_operand (x2, HImode))
  1442.     { recog_operand[2] = x2; return 87; }
  1443.   x2 = XEXP (x1, 0);
  1444.   goto L404;
  1445.  L405:
  1446.   x2 = XEXP (x1, 1);
  1447.   if (general_operand (x2, HImode))
  1448.     { recog_operand[2] = x2; return 88; }
  1449.   goto L140;
  1450.  L424:
  1451.   x2 = XEXP (x1, 0);
  1452.   if (general_operand (x2, HImode))
  1453.     { recog_operand[1] = x2; goto L425; }
  1454.  L429:
  1455.   if (general_operand (x2, SImode))
  1456.     { recog_operand[1] = x2; goto L430; }
  1457.   goto L140;
  1458.  L425:
  1459.   x2 = XEXP (x1, 1);
  1460.   if (general_operand (x2, HImode))
  1461.     { recog_operand[2] = x2; return 92; }
  1462.   x2 = XEXP (x1, 0);
  1463.   goto L429;
  1464.  L430:
  1465.   x2 = XEXP (x1, 1);
  1466.   if (general_operand (x2, HImode))
  1467.     { recog_operand[2] = x2; return 93; }
  1468.   goto L140;
  1469.  L434:
  1470.   x2 = XEXP (x1, 0);
  1471.   if (general_operand (x2, HImode))
  1472.     { recog_operand[1] = x2; goto L435; }
  1473.  L439:
  1474.   if (general_operand (x2, SImode))
  1475.     { recog_operand[1] = x2; goto L440; }
  1476.   goto L140;
  1477.  L435:
  1478.   x2 = XEXP (x1, 1);
  1479.   if (general_operand (x2, HImode))
  1480.     { recog_operand[2] = x2; return 94; }
  1481.   x2 = XEXP (x1, 0);
  1482.   goto L439;
  1483.  L440:
  1484.   x2 = XEXP (x1, 1);
  1485.   if (general_operand (x2, HImode))
  1486.     { recog_operand[2] = x2; return 95; }
  1487.   goto L140;
  1488.  L471:
  1489.   x2 = XEXP (x1, 0);
  1490.   if (general_operand (x2, HImode))
  1491.     { recog_operand[1] = x2; goto L472; }
  1492.   goto L140;
  1493.  L472:
  1494.   x2 = XEXP (x1, 1);
  1495.   if (general_operand (x2, HImode))
  1496.     { recog_operand[2] = x2; return 99; }
  1497.   goto L140;
  1498.  L498:
  1499.   x2 = XEXP (x1, 0);
  1500.   if (general_operand (x2, HImode))
  1501.     { recog_operand[1] = x2; goto L499; }
  1502.   goto L140;
  1503.  L499:
  1504.   x2 = XEXP (x1, 1);
  1505.   if (general_operand (x2, HImode))
  1506.     { recog_operand[2] = x2; return 104; }
  1507.   goto L140;
  1508.  L513:
  1509.   x2 = XEXP (x1, 0);
  1510.   if (general_operand (x2, HImode))
  1511.     { recog_operand[1] = x2; goto L514; }
  1512.   goto L140;
  1513.  L514:
  1514.   x2 = XEXP (x1, 1);
  1515.   if (general_operand (x2, HImode))
  1516.     { recog_operand[2] = x2; return 107; }
  1517.   goto L140;
  1518.  L527:
  1519.   x2 = XEXP (x1, 0);
  1520.   if (general_operand (x2, HImode))
  1521.     { recog_operand[1] = x2; return 110; }
  1522.   goto L140;
  1523.  L555:
  1524.   x2 = XEXP (x1, 0);
  1525.   if (general_operand (x2, HImode))
  1526.     { recog_operand[1] = x2; return 117; }
  1527.   goto L140;
  1528.  L606:
  1529.   x2 = XEXP (x1, 0);
  1530.   if (general_operand (x2, HImode))
  1531.     { recog_operand[1] = x2; goto L607; }
  1532.   goto L140;
  1533.  L607:
  1534.   x2 = XEXP (x1, 1);
  1535.   if (general_operand (x2, HImode))
  1536.     { recog_operand[2] = x2; return 126; }
  1537.   goto L140;
  1538.  L621:
  1539.   x2 = XEXP (x1, 0);
  1540.   if (general_operand (x2, HImode))
  1541.     { recog_operand[1] = x2; goto L622; }
  1542.   goto L140;
  1543.  L622:
  1544.   x2 = XEXP (x1, 1);
  1545.   if (general_operand (x2, HImode))
  1546.     { recog_operand[2] = x2; return 129; }
  1547.   goto L140;
  1548.  L636:
  1549.   x2 = XEXP (x1, 0);
  1550.   if (general_operand (x2, HImode))
  1551.     { recog_operand[1] = x2; goto L637; }
  1552.   goto L140;
  1553.  L637:
  1554.   x2 = XEXP (x1, 1);
  1555.   if (general_operand (x2, HImode))
  1556.     { recog_operand[2] = x2; return 132; }
  1557.   goto L140;
  1558.  L651:
  1559.   x2 = XEXP (x1, 0);
  1560.   if (general_operand (x2, HImode))
  1561.     { recog_operand[1] = x2; goto L652; }
  1562.   goto L140;
  1563.  L652:
  1564.   x2 = XEXP (x1, 1);
  1565.   if (general_operand (x2, HImode))
  1566.     { recog_operand[2] = x2; return 135; }
  1567.   goto L140;
  1568.  L666:
  1569.   x2 = XEXP (x1, 0);
  1570.   if (general_operand (x2, HImode))
  1571.     { recog_operand[1] = x2; goto L667; }
  1572.   goto L140;
  1573.  L667:
  1574.   x2 = XEXP (x1, 1);
  1575.   if (general_operand (x2, HImode))
  1576.     { recog_operand[2] = x2; return 138; }
  1577.   goto L140;
  1578.  L681:
  1579.   x2 = XEXP (x1, 0);
  1580.   if (general_operand (x2, HImode))
  1581.     { recog_operand[1] = x2; goto L682; }
  1582.   goto L140;
  1583.  L682:
  1584.   x2 = XEXP (x1, 1);
  1585.   if (general_operand (x2, HImode))
  1586.     { recog_operand[2] = x2; return 141; }
  1587.   goto L140;
  1588.  ret0: return -1;
  1589. }
  1590.  
  1591. int
  1592. recog_5 (x0, insn)
  1593.      register rtx x0;
  1594.      rtx insn;
  1595. {
  1596.   register rtx x1, x2, x3, x4, x5;
  1597.   rtx x6, x7, x8, x9, x10, x11;
  1598.   int tem;
  1599.  L181:
  1600.   x1 = XEXP (x0, 1);
  1601.  switch (GET_CODE (x1))
  1602.   {
  1603.   case SIGN_EXTEND:
  1604.   if (GET_MODE (x1) == SImode && 1)
  1605.     goto L182;
  1606.   break;
  1607.   case FIX:
  1608.   if (GET_MODE (x1) == SImode && 1)
  1609.     goto L242;
  1610.   break;
  1611.   case PLUS:
  1612.   if (GET_MODE (x1) == SImode && 1)
  1613.     goto L258;
  1614.   break;
  1615.   case MINUS:
  1616.   if (GET_MODE (x1) == SImode && 1)
  1617.     goto L301;
  1618.   break;
  1619.   case MULT:
  1620.   if (GET_MODE (x1) == SImode && 1)
  1621.     goto L349;
  1622.   break;
  1623.   case UMULT:
  1624.   if (GET_MODE (x1) == SImode && 1)
  1625.     goto L364;
  1626.   break;
  1627.   case DIV:
  1628.   if (GET_MODE (x1) == SImode && 1)
  1629.     goto L394;
  1630.   break;
  1631.   case UDIV:
  1632.   if (GET_MODE (x1) == SImode && 1)
  1633.     goto L409;
  1634.   break;
  1635.   case AND:
  1636.   if (GET_MODE (x1) == SImode && 1)
  1637.     goto L481;
  1638.   break;
  1639.   case IOR:
  1640.   if (GET_MODE (x1) == SImode && 1)
  1641.     goto L493;
  1642.   break;
  1643.   case XOR:
  1644.   if (GET_MODE (x1) == SImode && 1)
  1645.     goto L508;
  1646.   break;
  1647.   case NEG:
  1648.   if (GET_MODE (x1) == SImode && 1)
  1649.     goto L523;
  1650.   break;
  1651.   case NOT:
  1652.   if (GET_MODE (x1) == SImode && 1)
  1653.     goto L551;
  1654.   break;
  1655.   case ASHIFTRT:
  1656.   if (GET_MODE (x1) == SImode && 1)
  1657.     goto L563;
  1658.   break;
  1659.   case LSHIFTRT:
  1660.   if (GET_MODE (x1) == SImode && 1)
  1661.     goto L568;
  1662.   break;
  1663.   case ASHIFT:
  1664.   if (GET_MODE (x1) == SImode && 1)
  1665.     goto L601;
  1666.   break;
  1667.   case LSHIFT:
  1668.   if (GET_MODE (x1) == SImode && 1)
  1669.     goto L631;
  1670.   break;
  1671.   case ROTATE:
  1672.   if (GET_MODE (x1) == SImode && 1)
  1673.     goto L661;
  1674.   break;
  1675.   case ROTATERT:
  1676.   if (GET_MODE (x1) == SImode && 1)
  1677.     goto L676;
  1678.   break;
  1679.   case ZERO_EXTRACT:
  1680.   if (GET_MODE (x1) == SImode && 1)
  1681.     goto L715;
  1682.   break;
  1683.   case SIGN_EXTRACT:
  1684.   if (GET_MODE (x1) == SImode && 1)
  1685.     goto L709;
  1686.   break;
  1687.   }
  1688.  L166:
  1689.   if (address_operand (x1, QImode))
  1690.     { recog_operand[1] = x1; return 34; }
  1691.   goto ret0;
  1692.  L182:
  1693.   x2 = XEXP (x1, 0);
  1694.   if (general_operand (x2, HImode))
  1695.     { recog_operand[1] = x2; return 41; }
  1696.  L190:
  1697.   if (general_operand (x2, QImode))
  1698.     { recog_operand[1] = x2; if (TARGET_68020) return 43; }
  1699.   goto L166;
  1700.  L242:
  1701.   x2 = XEXP (x1, 0);
  1702.   if (general_operand (x2, SFmode))
  1703.     { recog_operand[1] = x2; if (TARGET_68881) return 56; }
  1704.  L254:
  1705.   if (general_operand (x2, DFmode))
  1706.     { recog_operand[1] = x2; if (TARGET_68881) return 59; }
  1707.   goto L166;
  1708.  L258:
  1709.   x2 = XEXP (x1, 0);
  1710.   if (general_operand (x2, SImode))
  1711.     { recog_operand[1] = x2; goto L264; }
  1712.   goto L166;
  1713.  L264:
  1714.   x2 = XEXP (x1, 1);
  1715.   if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
  1716.     goto L265;
  1717.  L259:
  1718.   if (general_operand (x2, SImode))
  1719.     { recog_operand[2] = x2; return 60; }
  1720.   goto L166;
  1721.  L265:
  1722.   x3 = XEXP (x2, 0);
  1723.   if (general_operand (x3, HImode))
  1724.     { recog_operand[2] = x3; return 61; }
  1725.   goto L259;
  1726.  L301:
  1727.   x2 = XEXP (x1, 0);
  1728.   if (general_operand (x2, SImode))
  1729.     { recog_operand[1] = x2; goto L307; }
  1730.   goto L166;
  1731.  L307:
  1732.   x2 = XEXP (x1, 1);
  1733.   if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
  1734.     goto L308;
  1735.  L302:
  1736.   if (general_operand (x2, SImode))
  1737.     { recog_operand[2] = x2; return 68; }
  1738.   goto L166;
  1739.  L308:
  1740.   x3 = XEXP (x2, 0);
  1741.   if (general_operand (x3, HImode))
  1742.     { recog_operand[2] = x3; return 69; }
  1743.   goto L302;
  1744.  L349:
  1745.   x2 = XEXP (x1, 0);
  1746.   if (general_operand (x2, HImode))
  1747.     { recog_operand[1] = x2; goto L350; }
  1748.  L354:
  1749.   if (general_operand (x2, SImode))
  1750.     { recog_operand[1] = x2; goto L355; }
  1751.   goto L166;
  1752.  L350:
  1753.   x2 = XEXP (x1, 1);
  1754.   if (general_operand (x2, HImode))
  1755.     { recog_operand[2] = x2; return 77; }
  1756.   x2 = XEXP (x1, 0);
  1757.   goto L354;
  1758.  L355:
  1759.   x2 = XEXP (x1, 1);
  1760.   if (general_operand (x2, SImode))
  1761.     { recog_operand[2] = x2; if (TARGET_68020) return 78; }
  1762.   goto L166;
  1763.  L364:
  1764.   x2 = XEXP (x1, 0);
  1765.   if (general_operand (x2, HImode))
  1766.     { recog_operand[1] = x2; goto L365; }
  1767.  L369:
  1768.   if (general_operand (x2, SImode))
  1769.     { recog_operand[1] = x2; goto L370; }
  1770.   goto L166;
  1771.  L365:
  1772.   x2 = XEXP (x1, 1);
  1773.   if (general_operand (x2, HImode))
  1774.     { recog_operand[2] = x2; return 80; }
  1775.   x2 = XEXP (x1, 0);
  1776.   goto L369;
  1777.  L370:
  1778.   x2 = XEXP (x1, 1);
  1779.   if (general_operand (x2, SImode))
  1780.     { recog_operand[2] = x2; if (TARGET_68020) return 81; }
  1781.   goto L166;
  1782.  L394:
  1783.   x2 = XEXP (x1, 0);
  1784.   if (general_operand (x2, SImode))
  1785.     { recog_operand[1] = x2; goto L395; }
  1786.   goto L166;
  1787.  L395:
  1788.   x2 = XEXP (x1, 1);
  1789.   if (general_operand (x2, SImode))
  1790.     { recog_operand[2] = x2; if (TARGET_68020) return 86; }
  1791.   goto L166;
  1792.  L409:
  1793.   x2 = XEXP (x1, 0);
  1794.   if (general_operand (x2, SImode))
  1795.     { recog_operand[1] = x2; goto L410; }
  1796.   goto L166;
  1797.  L410:
  1798.   x2 = XEXP (x1, 1);
  1799.   if (general_operand (x2, SImode))
  1800.     { recog_operand[2] = x2; if (TARGET_68020) return 89; }
  1801.   goto L166;
  1802.  L481:
  1803.   x2 = XEXP (x1, 0);
  1804.   if (GET_CODE (x2) == ZERO_EXTEND && GET_MODE (x2) == SImode && 1)
  1805.     goto L482;
  1806.  L466:
  1807.   if (general_operand (x2, SImode))
  1808.     { recog_operand[1] = x2; goto L467; }
  1809.   goto L166;
  1810.  L482:
  1811.   x3 = XEXP (x2, 0);
  1812.   if (general_operand (x3, HImode))
  1813.     { recog_operand[1] = x3; goto L483; }
  1814.  L488:
  1815.   if (general_operand (x3, QImode))
  1816.     { recog_operand[1] = x3; goto L489; }
  1817.   goto L466;
  1818.  L483:
  1819.   x2 = XEXP (x1, 1);
  1820.   if (general_operand (x2, SImode))
  1821.     { recog_operand[2] = x2; if (GET_CODE (operands[2]) == CONST_INT
  1822.    && (unsigned int) INTVAL (operands[2]) < (1 << GET_MODE_BITSIZE (HImode))) return 101; }
  1823.   x2 = XEXP (x1, 0);
  1824.   x3 = XEXP (x2, 0);
  1825.   goto L488;
  1826.  L489:
  1827.   x2 = XEXP (x1, 1);
  1828.   if (general_operand (x2, SImode))
  1829.     { recog_operand[2] = x2; if (GET_CODE (operands[2]) == CONST_INT
  1830.    && (unsigned int) INTVAL (operands[2]) < (1 << GET_MODE_BITSIZE (QImode))) return 102; }
  1831.   x2 = XEXP (x1, 0);
  1832.   goto L466;
  1833.  L467:
  1834.   x2 = XEXP (x1, 1);
  1835.   if (general_operand (x2, SImode))
  1836.     { recog_operand[2] = x2; return 98; }
  1837.   goto L166;
  1838.  L493:
  1839.   x2 = XEXP (x1, 0);
  1840.   if (general_operand (x2, SImode))
  1841.     { recog_operand[1] = x2; goto L494; }
  1842.   goto L166;
  1843.  L494:
  1844.   x2 = XEXP (x1, 1);
  1845.   if (general_operand (x2, SImode))
  1846.     { recog_operand[2] = x2; return 103; }
  1847.   goto L166;
  1848.  L508:
  1849.   x2 = XEXP (x1, 0);
  1850.   if (general_operand (x2, SImode))
  1851.     { recog_operand[1] = x2; goto L509; }
  1852.   goto L166;
  1853.  L509:
  1854.   x2 = XEXP (x1, 1);
  1855.   if (general_operand (x2, SImode))
  1856.     { recog_operand[2] = x2; return 106; }
  1857.   goto L166;
  1858.  L523:
  1859.   x2 = XEXP (x1, 0);
  1860.   if (general_operand (x2, SImode))
  1861.     { recog_operand[1] = x2; return 109; }
  1862.   goto L166;
  1863.  L551:
  1864.   x2 = XEXP (x1, 0);
  1865.   if (general_operand (x2, SImode))
  1866.     { recog_operand[1] = x2; return 116; }
  1867.   goto L166;
  1868.  L563:
  1869.   x2 = XEXP (x1, 0);
  1870.   if (memory_operand (x2, SImode))
  1871.     { recog_operand[1] = x2; goto L564; }
  1872.  L616:
  1873.   if (general_operand (x2, SImode))
  1874.     { recog_operand[1] = x2; goto L617; }
  1875.   goto L166;
  1876.  L564:
  1877.   x2 = XEXP (x1, 1);
  1878.   if (GET_CODE (x2) == CONST_INT && XINT (x2, 0) == 24 && 1)
  1879.     return 119;
  1880.   x2 = XEXP (x1, 0);
  1881.   goto L616;
  1882.  L617:
  1883.   x2 = XEXP (x1, 1);
  1884.   if (general_operand (x2, SImode))
  1885.     { recog_operand[2] = x2; return 128; }
  1886.   goto L166;
  1887.  L568:
  1888.   x2 = XEXP (x1, 0);
  1889.   if (memory_operand (x2, SImode))
  1890.     { recog_operand[1] = x2; goto L569; }
  1891.  L646:
  1892.   if (general_operand (x2, SImode))
  1893.     { recog_operand[1] = x2; goto L647; }
  1894.   goto L166;
  1895.  L569:
  1896.   x2 = XEXP (x1, 1);
  1897.   if (GET_CODE (x2) == CONST_INT && XINT (x2, 0) == 24 && 1)
  1898.     return 120;
  1899.   x2 = XEXP (x1, 0);
  1900.   goto L646;
  1901.  L647:
  1902.   x2 = XEXP (x1, 1);
  1903.   if (general_operand (x2, SImode))
  1904.     { recog_operand[2] = x2; return 134; }
  1905.   goto L166;
  1906.  L601:
  1907.   x2 = XEXP (x1, 0);
  1908.   if (general_operand (x2, SImode))
  1909.     { recog_operand[1] = x2; goto L602; }
  1910.   goto L166;
  1911.  L602:
  1912.   x2 = XEXP (x1, 1);
  1913.   if (general_operand (x2, SImode))
  1914.     { recog_operand[2] = x2; return 125; }
  1915.   goto L166;
  1916.  L631:
  1917.   x2 = XEXP (x1, 0);
  1918.   if (general_operand (x2, SImode))
  1919.     { recog_operand[1] = x2; goto L632; }
  1920.   goto L166;
  1921.  L632:
  1922.   x2 = XEXP (x1, 1);
  1923.   if (general_operand (x2, SImode))
  1924.     { recog_operand[2] = x2; return 131; }
  1925.   goto L166;
  1926.  L661:
  1927.   x2 = XEXP (x1, 0);
  1928.   if (general_operand (x2, SImode))
  1929.     { recog_operand[1] = x2; goto L662; }
  1930.   goto L166;
  1931.  L662:
  1932.   x2 = XEXP (x1, 1);
  1933.   if (general_operand (x2, SImode))
  1934.     { recog_operand[2] = x2; return 137; }
  1935.   goto L166;
  1936.  L676:
  1937.   x2 = XEXP (x1, 0);
  1938.   if (general_operand (x2, SImode))
  1939.     { recog_operand[1] = x2; goto L677; }
  1940.   goto L166;
  1941.  L677:
  1942.   x2 = XEXP (x1, 1);
  1943.   if (general_operand (x2, SImode))
  1944.     { recog_operand[2] = x2; return 140; }
  1945.   goto L166;
  1946.  L715:
  1947.   x2 = XEXP (x1, 0);
  1948.   if (nonimmediate_operand (x2, QImode))
  1949.     { recog_operand[1] = x2; goto L716; }
  1950.  L697:
  1951.   if (nonimmediate_operand (x2, SImode))
  1952.     { recog_operand[1] = x2; goto L698; }
  1953.   goto L166;
  1954.  L716:
  1955.   x2 = XEXP (x1, 1);
  1956.   if (general_operand (x2, SImode))
  1957.     { recog_operand[2] = x2; goto L717; }
  1958.   x2 = XEXP (x1, 0);
  1959.   goto L697;
  1960.  L717:
  1961.   x2 = XEXP (x1, 2);
  1962.   if (general_operand (x2, SImode))
  1963.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 147; }
  1964.   x2 = XEXP (x1, 0);
  1965.   goto L697;
  1966.  L698:
  1967.   x2 = XEXP (x1, 1);
  1968.   if (immediate_operand (x2, SImode))
  1969.     { recog_operand[2] = x2; goto L699; }
  1970.  L757:
  1971.   if (general_operand (x2, SImode))
  1972.     { recog_operand[2] = x2; goto L758; }
  1973.   goto L166;
  1974.  L699:
  1975.   x2 = XEXP (x1, 2);
  1976.   if (immediate_operand (x2, SImode))
  1977.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
  1978.    && GET_CODE (operands[2]) == CONST_INT
  1979.    && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
  1980.    && GET_CODE (operands[3]) == CONST_INT
  1981.    && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
  1982.    && (GET_CODE (operands[1]) == REG
  1983.        || ! mode_dependent_address_p (XEXP (operands[1], 0)))) return 144; }
  1984.   x2 = XEXP (x1, 1);
  1985.   goto L757;
  1986.  L758:
  1987.   x2 = XEXP (x1, 2);
  1988.   if (general_operand (x2, SImode))
  1989.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 153; }
  1990.   goto L166;
  1991.  L709:
  1992.   x2 = XEXP (x1, 0);
  1993.   if (nonimmediate_operand (x2, QImode))
  1994.     { recog_operand[1] = x2; goto L710; }
  1995.  L703:
  1996.   if (nonimmediate_operand (x2, SImode))
  1997.     { recog_operand[1] = x2; goto L704; }
  1998.   goto L166;
  1999.  L710:
  2000.   x2 = XEXP (x1, 1);
  2001.   if (general_operand (x2, SImode))
  2002.     { recog_operand[2] = x2; goto L711; }
  2003.   x2 = XEXP (x1, 0);
  2004.   goto L703;
  2005.  L711:
  2006.   x2 = XEXP (x1, 2);
  2007.   if (general_operand (x2, SImode))
  2008.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 146; }
  2009.   x2 = XEXP (x1, 0);
  2010.   goto L703;
  2011.  L704:
  2012.   x2 = XEXP (x1, 1);
  2013.   if (immediate_operand (x2, SImode))
  2014.     { recog_operand[2] = x2; goto L705; }
  2015.  L751:
  2016.   if (general_operand (x2, SImode))
  2017.     { recog_operand[2] = x2; goto L752; }
  2018.   goto L166;
  2019.  L705:
  2020.   x2 = XEXP (x1, 2);
  2021.   if (immediate_operand (x2, SImode))
  2022.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
  2023.    && GET_CODE (operands[2]) == CONST_INT
  2024.    && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
  2025.    && GET_CODE (operands[3]) == CONST_INT
  2026.    && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
  2027.    && (GET_CODE (operands[1]) == REG
  2028.        || ! mode_dependent_address_p (XEXP (operands[1], 0)))) return 145; }
  2029.   x2 = XEXP (x1, 1);
  2030.   goto L751;
  2031.  L752:
  2032.   x2 = XEXP (x1, 2);
  2033.   if (general_operand (x2, SImode))
  2034.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 152; }
  2035.   goto L166;
  2036.  ret0: return -1;
  2037. }
  2038.  
  2039. int
  2040. recog_6 (x0, insn)
  2041.      register rtx x0;
  2042.      rtx insn;
  2043. {
  2044.   register rtx x1, x2, x3, x4, x5;
  2045.   rtx x6, x7, x8, x9, x10, x11;
  2046.   int tem;
  2047.  L7:
  2048.   x1 = XEXP (x0, 0);
  2049.   if (x1 == cc0_rtx && 1)
  2050.     goto L23;
  2051.   if (GET_CODE (x1) == STRICT_LOW_PART && 1)
  2052.     goto L150;
  2053.   if (x1 == pc_rtx && 1)
  2054.     goto L869;
  2055.  L1102:
  2056.   if (1)
  2057.     { recog_operand[0] = x1; goto L1103; }
  2058.  L146:
  2059.  switch (GET_MODE (x1))
  2060.   {
  2061.   case QImode:
  2062.   if (general_operand (x1, QImode))
  2063.     { recog_operand[0] = x1; goto L169; }
  2064.   break;
  2065.  L139:
  2066.   case HImode:
  2067.   if (general_operand (x1, HImode))
  2068.     { recog_operand[0] = x1; goto L177; }
  2069.   break;
  2070.   case SImode:
  2071.   if (GET_CODE (x1) == ZERO_EXTRACT && 1)
  2072.     goto L720;
  2073.  L130:
  2074.   if (general_operand (x1, SImode))
  2075.     { recog_operand[0] = x1; goto L131; }
  2076.  L133:
  2077.   if (push_operand (x1, SImode))
  2078.     { recog_operand[0] = x1; goto L134; }
  2079.  L136:
  2080.   if (general_operand (x1, SImode))
  2081.     { recog_operand[0] = x1; goto L137; }
  2082.  L162:
  2083.   if (push_operand (x1, SImode))
  2084.     { recog_operand[0] = x1; goto L163; }
  2085.  L165:
  2086.   if (general_operand (x1, SImode))
  2087.     { recog_operand[0] = x1; goto L181; }
  2088.   break;
  2089.   case DImode:
  2090.   if (push_operand (x1, DImode))
  2091.     { recog_operand[0] = x1; goto L5; }
  2092.  L159:
  2093.   if (general_operand (x1, DImode))
  2094.     { recog_operand[0] = x1; goto L160; }
  2095.   break;
  2096.   case SFmode:
  2097.   if (general_operand (x1, SFmode))
  2098.     { recog_operand[0] = x1; goto L197; }
  2099.   break;
  2100.   case DFmode:
  2101.   if (push_operand (x1, DFmode))
  2102.     { recog_operand[0] = x1; goto L2; }
  2103.  L156:
  2104.   if (general_operand (x1, DFmode))
  2105.     { recog_operand[0] = x1; goto L193; }
  2106.   break;
  2107.   }
  2108.   goto ret0;
  2109.  L23:
  2110.   tem = recog_1 (x0, insn);
  2111.   if (tem >= 0) return tem;
  2112.   goto L1102;
  2113.  L150:
  2114.   x2 = XEXP (x1, 0);
  2115.   if (general_operand (x2, QImode))
  2116.     { recog_operand[0] = x2; goto L285; }
  2117.  L143:
  2118.   if (general_operand (x2, HImode))
  2119.     { recog_operand[0] = x2; goto L274; }
  2120.   goto L1102;
  2121.  L285:
  2122.   x1 = XEXP (x0, 1);
  2123.   if (GET_CODE (x1) == PLUS && GET_MODE (x1) == QImode && 1)
  2124.     goto L286;
  2125.   if (GET_CODE (x1) == MINUS && GET_MODE (x1) == QImode && 1)
  2126.     goto L329;
  2127.  L151:
  2128.   if (general_operand (x1, QImode))
  2129.     { recog_operand[1] = x1; return 29; }
  2130.   x1 = XEXP (x0, 0);
  2131.   x2 = XEXP (x1, 0);
  2132.   goto L143;
  2133.  L286:
  2134.   x2 = XEXP (x1, 0);
  2135.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2136.     goto L287;
  2137.   goto L151;
  2138.  L287:
  2139.   x2 = XEXP (x1, 1);
  2140.   if (general_operand (x2, QImode))
  2141.     { recog_operand[1] = x2; return 65; }
  2142.   goto L151;
  2143.  L329:
  2144.   x2 = XEXP (x1, 0);
  2145.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2146.     goto L330;
  2147.   goto L151;
  2148.  L330:
  2149.   x2 = XEXP (x1, 1);
  2150.   if (general_operand (x2, QImode))
  2151.     { recog_operand[1] = x2; return 73; }
  2152.   goto L151;
  2153.  L274:
  2154.   x1 = XEXP (x0, 1);
  2155.   if (GET_CODE (x1) == PLUS && GET_MODE (x1) == HImode && 1)
  2156.     goto L275;
  2157.   if (GET_CODE (x1) == MINUS && GET_MODE (x1) == HImode && 1)
  2158.     goto L318;
  2159.  L144:
  2160.   if (general_operand (x1, HImode))
  2161.     { recog_operand[1] = x1; return 27; }
  2162.   x1 = XEXP (x0, 0);
  2163.   goto L1102;
  2164.  L275:
  2165.   x2 = XEXP (x1, 0);
  2166.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2167.     goto L276;
  2168.   goto L144;
  2169.  L276:
  2170.   x2 = XEXP (x1, 1);
  2171.   if (general_operand (x2, HImode))
  2172.     { recog_operand[1] = x2; return 63; }
  2173.   goto L144;
  2174.  L318:
  2175.   x2 = XEXP (x1, 0);
  2176.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2177.     goto L319;
  2178.   goto L144;
  2179.  L319:
  2180.   x2 = XEXP (x1, 1);
  2181.   if (general_operand (x2, HImode))
  2182.     { recog_operand[1] = x2; return 71; }
  2183.   goto L144;
  2184.  L869:
  2185.   x1 = XEXP (x0, 1);
  2186.   if (GET_CODE (x1) == IF_THEN_ELSE && 1)
  2187.     goto L870;
  2188.   if (GET_CODE (x1) == LABEL_REF && 1)
  2189.     goto L1059;
  2190.   x1 = XEXP (x0, 0);
  2191.   goto L1102;
  2192.  L870:
  2193.   tem = recog_2 (x0, insn);
  2194.   if (tem >= 0) return tem;
  2195.   x1 = XEXP (x0, 0);
  2196.   goto L1102;
  2197.  L1059:
  2198.   x2 = XEXP (x1, 0);
  2199.   if (1)
  2200.     { recog_operand[0] = x2; return 197; }
  2201.   x1 = XEXP (x0, 0);
  2202.   goto L1102;
  2203.  L1103:
  2204.   x1 = XEXP (x0, 1);
  2205.   if (GET_CODE (x1) == CALL && 1)
  2206.     goto L1104;
  2207.   x1 = XEXP (x0, 0);
  2208.   goto L146;
  2209.  L1104:
  2210.   x2 = XEXP (x1, 0);
  2211.   if (general_operand (x2, QImode))
  2212.     { recog_operand[1] = x2; goto L1105; }
  2213.   x1 = XEXP (x0, 0);
  2214.   goto L146;
  2215.  L1105:
  2216.   x2 = XEXP (x1, 1);
  2217.   if (general_operand (x2, SImode))
  2218.     { recog_operand[2] = x2; return 201; }
  2219.   x1 = XEXP (x0, 0);
  2220.   goto L146;
  2221.  L169:
  2222.   tem = recog_3 (x0, insn);
  2223.   if (tem >= 0) return tem;
  2224.   goto L139;
  2225.  L177:
  2226.   return recog_4 (x0, insn);
  2227.  L720:
  2228.   x2 = XEXP (x1, 0);
  2229.   if (nonimmediate_operand (x2, QImode))
  2230.     { recog_operand[0] = x2; goto L721; }
  2231.  L690:
  2232.   if (nonimmediate_operand (x2, SImode))
  2233.     { recog_operand[0] = x2; goto L691; }
  2234.   goto L130;
  2235.  L721:
  2236.   x2 = XEXP (x1, 1);
  2237.   if (general_operand (x2, SImode))
  2238.     { recog_operand[1] = x2; goto L722; }
  2239.   x2 = XEXP (x1, 0);
  2240.   goto L690;
  2241.  L722:
  2242.   x2 = XEXP (x1, 2);
  2243.   if (general_operand (x2, SImode))
  2244.     { recog_operand[2] = x2; goto L723; }
  2245.   x2 = XEXP (x1, 0);
  2246.   goto L690;
  2247.  L723:
  2248.   x1 = XEXP (x0, 1);
  2249.   if (GET_CODE (x1) == XOR && GET_MODE (x1) == SImode && 1)
  2250.     goto L724;
  2251.   if (x1 == const0_rtx && 1)
  2252.     if (TARGET_68020 && TARGET_BITFIELD) return 149;
  2253.  L740:
  2254.   if (GET_CODE (x1) == CONST_INT && XINT (x1, 0) == -1 && 1)
  2255.     if (TARGET_68020 && TARGET_BITFIELD) return 150;
  2256.  L746:
  2257.   if (general_operand (x1, SImode))
  2258.     { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD) return 151; }
  2259.   x1 = XEXP (x0, 0);
  2260.   x2 = XEXP (x1, 0);
  2261.   goto L690;
  2262.  L724:
  2263.   x2 = XEXP (x1, 0);
  2264.   if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
  2265.     goto L725;
  2266.   goto L746;
  2267.  L725:
  2268.   x3 = XEXP (x2, 0);
  2269.   if (rtx_equal_p (x3, recog_operand[0]) && 1)
  2270.     goto L726;
  2271.   goto L746;
  2272.  L726:
  2273.   x3 = XEXP (x2, 1);
  2274.   if (rtx_equal_p (x3, recog_operand[1]) && 1)
  2275.     goto L727;
  2276.   goto L746;
  2277.  L727:
  2278.   x3 = XEXP (x2, 2);
  2279.   if (rtx_equal_p (x3, recog_operand[2]) && 1)
  2280.     goto L728;
  2281.   goto L746;
  2282.  L728:
  2283.   x2 = XEXP (x1, 1);
  2284.   if (immediate_operand (x2, VOIDmode))
  2285.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
  2286.    && GET_CODE (operands[3]) == CONST_INT
  2287.    && (INTVAL (operands[3]) == -1
  2288.        || (GET_CODE (operands[1]) == CONST_INT
  2289.            && (~ INTVAL (operands[3]) & ((1 << INTVAL (operands[1]))- 1)) == 0))) return 148; }
  2290.   goto L746;
  2291.  L691:
  2292.   x2 = XEXP (x1, 1);
  2293.   if (immediate_operand (x2, SImode))
  2294.     { recog_operand[1] = x2; goto L692; }
  2295.  L762:
  2296.   if (general_operand (x2, SImode))
  2297.     { recog_operand[1] = x2; goto L763; }
  2298.   goto L130;
  2299.  L692:
  2300.   x2 = XEXP (x1, 2);
  2301.   if (immediate_operand (x2, SImode))
  2302.     { recog_operand[2] = x2; goto L693; }
  2303.   x2 = XEXP (x1, 1);
  2304.   goto L762;
  2305.  L693:
  2306.   x1 = XEXP (x0, 1);
  2307.   if (general_operand (x1, SImode))
  2308.     { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD
  2309.    && GET_CODE (operands[1]) == CONST_INT
  2310.    && (INTVAL (operands[1]) == 8 || INTVAL (operands[1]) == 16)
  2311.    && GET_CODE (operands[2]) == CONST_INT
  2312.    && INTVAL (operands[2]) % INTVAL (operands[1]) == 0
  2313.    && (GET_CODE (operands[0]) == REG
  2314.        || ! mode_dependent_address_p (XEXP (operands[0], 0)))) return 143; }
  2315.   x1 = XEXP (x0, 0);
  2316.   x2 = XEXP (x1, 1);
  2317.   goto L762;
  2318.  L763:
  2319.   x2 = XEXP (x1, 2);
  2320.   if (general_operand (x2, SImode))
  2321.     { recog_operand[2] = x2; goto L764; }
  2322.   goto L130;
  2323.  L764:
  2324.   x1 = XEXP (x0, 1);
  2325.   if (x1 == const0_rtx && 1)
  2326.     if (TARGET_68020 && TARGET_BITFIELD) return 154;
  2327.  L770:
  2328.   if (GET_CODE (x1) == CONST_INT && XINT (x1, 0) == -1 && 1)
  2329.     if (TARGET_68020 && TARGET_BITFIELD) return 155;
  2330.  L776:
  2331.   if (general_operand (x1, SImode))
  2332.     { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD) return 156; }
  2333.   x1 = XEXP (x0, 0);
  2334.   goto L130;
  2335.  L131:
  2336.   x1 = XEXP (x0, 1);
  2337.   if (x1 == const0_rtx && 1)
  2338.     return 23;
  2339.   x1 = XEXP (x0, 0);
  2340.   goto L133;
  2341.  L134:
  2342.   x1 = XEXP (x0, 1);
  2343.   if (general_operand (x1, SImode))
  2344.     { recog_operand[1] = x1; if (GET_CODE (operands[1]) == CONST_INT
  2345.    && INTVAL (operands[1]) >= -0x8000
  2346.    && INTVAL (operands[1]) < 0x8000) return 24; }
  2347.   x1 = XEXP (x0, 0);
  2348.   goto L136;
  2349.  L137:
  2350.   x1 = XEXP (x0, 1);
  2351.   if (general_operand (x1, SImode))
  2352.     { recog_operand[1] = x1; return 25; }
  2353.   x1 = XEXP (x0, 0);
  2354.   goto L162;
  2355.  L163:
  2356.   x1 = XEXP (x0, 1);
  2357.   if (address_operand (x1, SImode))
  2358.     { recog_operand[1] = x1; return 33; }
  2359.   x1 = XEXP (x0, 0);
  2360.   goto L165;
  2361.  L181:
  2362.   return recog_5 (x0, insn);
  2363.  L5:
  2364.   x1 = XEXP (x0, 1);
  2365.   if (general_operand (x1, DImode))
  2366.     { recog_operand[1] = x1; return 1; }
  2367.   x1 = XEXP (x0, 0);
  2368.   goto L159;
  2369.  L160:
  2370.   x1 = XEXP (x0, 1);
  2371.   if (general_operand (x1, DImode))
  2372.     { recog_operand[1] = x1; return 32; }
  2373.   goto ret0;
  2374.  L197:
  2375.   x1 = XEXP (x0, 1);
  2376.  switch (GET_CODE (x1))
  2377.   {
  2378.   case FLOAT_TRUNCATE:
  2379.   if (GET_MODE (x1) == SFmode && 1)
  2380.     goto L198;
  2381.   break;
  2382.   case FLOAT:
  2383.   if (GET_MODE (x1) == SFmode && 1)
  2384.     goto L202;
  2385.   break;
  2386.   case FIX:
  2387.   if (GET_MODE (x1) == SFmode && 1)
  2388.     goto L230;
  2389.   break;
  2390.   case PLUS:
  2391.   if (GET_MODE (x1) == SFmode && 1)
  2392.     goto L296;
  2393.   break;
  2394.   case MINUS:
  2395.   if (GET_MODE (x1) == SFmode && 1)
  2396.     goto L339;
  2397.   break;
  2398.   case MULT:
  2399.   if (GET_MODE (x1) == SFmode && 1)
  2400.     goto L379;
  2401.   break;
  2402.   case DIV:
  2403.   if (GET_MODE (x1) == SFmode && 1)
  2404.     goto L419;
  2405.   break;
  2406.   case NEG:
  2407.   if (GET_MODE (x1) == SFmode && 1)
  2408.     goto L535;
  2409.   break;
  2410.   case ABS:
  2411.   if (GET_MODE (x1) == SFmode && 1)
  2412.     goto L543;
  2413.   break;
  2414.   }
  2415.  L154:
  2416.   if (general_operand (x1, SFmode))
  2417.     { recog_operand[1] = x1; return 30; }
  2418.   goto ret0;
  2419.  L198:
  2420.   x2 = XEXP (x1, 0);
  2421.   if (general_operand (x2, DFmode))
  2422.     { recog_operand[1] = x2; if (TARGET_68881) return 45; }
  2423.   goto L154;
  2424.  L202:
  2425.   x2 = XEXP (x1, 0);
  2426.   if (general_operand (x2, SImode))
  2427.     { recog_operand[1] = x2; if (TARGET_68881) return 46; }
  2428.  L210:
  2429.   if (general_operand (x2, HImode))
  2430.     { recog_operand[1] = x2; if (TARGET_68881) return 48; }
  2431.  L218:
  2432.   if (general_operand (x2, QImode))
  2433.     { recog_operand[1] = x2; if (TARGET_68881) return 50; }
  2434.   goto L154;
  2435.  L230:
  2436.   x2 = XEXP (x1, 0);
  2437.   if (general_operand (x2, SFmode))
  2438.     { recog_operand[1] = x2; if (TARGET_68881) return 53; }
  2439.   goto L154;
  2440.  L296:
  2441.   x2 = XEXP (x1, 0);
  2442.   if (general_operand (x2, SFmode))
  2443.     { recog_operand[1] = x2; goto L297; }
  2444.   goto L154;
  2445.  L297:
  2446.   x2 = XEXP (x1, 1);
  2447.   if (general_operand (x2, SFmode))
  2448.     { recog_operand[2] = x2; if (TARGET_68881) return 67; }
  2449.   goto L154;
  2450.  L339:
  2451.   x2 = XEXP (x1, 0);
  2452.   if (general_operand (x2, SFmode))
  2453.     { recog_operand[1] = x2; goto L340; }
  2454.   goto L154;
  2455.  L340:
  2456.   x2 = XEXP (x1, 1);
  2457.   if (general_operand (x2, SFmode))
  2458.     { recog_operand[2] = x2; if (TARGET_68881) return 75; }
  2459.   goto L154;
  2460.  L379:
  2461.   x2 = XEXP (x1, 0);
  2462.   if (general_operand (x2, SFmode))
  2463.     { recog_operand[1] = x2; goto L380; }
  2464.   goto L154;
  2465.  L380:
  2466.   x2 = XEXP (x1, 1);
  2467.   if (general_operand (x2, SFmode))
  2468.     { recog_operand[2] = x2; if (TARGET_68881) return 83; }
  2469.   goto L154;
  2470.  L419:
  2471.   x2 = XEXP (x1, 0);
  2472.   if (general_operand (x2, SFmode))
  2473.     { recog_operand[1] = x2; goto L420; }
  2474.   goto L154;
  2475.  L420:
  2476.   x2 = XEXP (x1, 1);
  2477.   if (general_operand (x2, SFmode))
  2478.     { recog_operand[2] = x2; if (TARGET_68881) return 91; }
  2479.   goto L154;
  2480.  L535:
  2481.   x2 = XEXP (x1, 0);
  2482.   if (general_operand (x2, SFmode))
  2483.     { recog_operand[1] = x2; if (TARGET_68881) return 112; }
  2484.   goto L154;
  2485.  L543:
  2486.   x2 = XEXP (x1, 0);
  2487.   if (general_operand (x2, SFmode))
  2488.     { recog_operand[1] = x2; if (TARGET_68881) return 114; }
  2489.   goto L154;
  2490.  L2:
  2491.   x1 = XEXP (x0, 1);
  2492.   if (general_operand (x1, DFmode))
  2493.     { recog_operand[1] = x1; return 0; }
  2494.   x1 = XEXP (x0, 0);
  2495.   goto L156;
  2496.  L193:
  2497.   x1 = XEXP (x0, 1);
  2498.  switch (GET_CODE (x1))
  2499.   {
  2500.   case FLOAT_EXTEND:
  2501.   if (GET_MODE (x1) == DFmode && 1)
  2502.     goto L194;
  2503.   break;
  2504.   case FLOAT:
  2505.   if (GET_MODE (x1) == DFmode && 1)
  2506.     goto L206;
  2507.   break;
  2508.   case FIX:
  2509.   if (GET_MODE (x1) == DFmode && 1)
  2510.     goto L226;
  2511.   break;
  2512.   case PLUS:
  2513.   if (GET_MODE (x1) == DFmode && 1)
  2514.     goto L291;
  2515.   break;
  2516.   case MINUS:
  2517.   if (GET_MODE (x1) == DFmode && 1)
  2518.     goto L334;
  2519.   break;
  2520.   case MULT:
  2521.   if (GET_MODE (x1) == DFmode && 1)
  2522.     goto L374;
  2523.   break;
  2524.   case DIV:
  2525.   if (GET_MODE (x1) == DFmode && 1)
  2526.     goto L414;
  2527.   break;
  2528.   case NEG:
  2529.   if (GET_MODE (x1) == DFmode && 1)
  2530.     goto L539;
  2531.   break;
  2532.   case ABS:
  2533.   if (GET_MODE (x1) == DFmode && 1)
  2534.     goto L547;
  2535.   break;
  2536.   }
  2537.  L157:
  2538.   if (general_operand (x1, DFmode))
  2539.     { recog_operand[1] = x1; return 31; }
  2540.   goto ret0;
  2541.  L194:
  2542.   x2 = XEXP (x1, 0);
  2543.   if (general_operand (x2, SFmode))
  2544.     { recog_operand[1] = x2; if (TARGET_68881) return 44; }
  2545.   goto L157;
  2546.  L206:
  2547.   x2 = XEXP (x1, 0);
  2548.   if (general_operand (x2, SImode))
  2549.     { recog_operand[1] = x2; if (TARGET_68881) return 47; }
  2550.  L214:
  2551.   if (general_operand (x2, HImode))
  2552.     { recog_operand[1] = x2; if (TARGET_68881) return 49; }
  2553.  L222:
  2554.   if (general_operand (x2, QImode))
  2555.     { recog_operand[1] = x2; if (TARGET_68881) return 51; }
  2556.   goto L157;
  2557.  L226:
  2558.   x2 = XEXP (x1, 0);
  2559.   if (general_operand (x2, DFmode))
  2560.     { recog_operand[1] = x2; if (TARGET_68881) return 52; }
  2561.   goto L157;
  2562.  L291:
  2563.   x2 = XEXP (x1, 0);
  2564.   if (general_operand (x2, DFmode))
  2565.     { recog_operand[1] = x2; goto L292; }
  2566.   goto L157;
  2567.  L292:
  2568.   x2 = XEXP (x1, 1);
  2569.   if (general_operand (x2, DFmode))
  2570.     { recog_operand[2] = x2; if (TARGET_68881) return 66; }
  2571.   goto L157;
  2572.  L334:
  2573.   x2 = XEXP (x1, 0);
  2574.   if (general_operand (x2, DFmode))
  2575.     { recog_operand[1] = x2; goto L335; }
  2576.   goto L157;
  2577.  L335:
  2578.   x2 = XEXP (x1, 1);
  2579.   if (general_operand (x2, DFmode))
  2580.     { recog_operand[2] = x2; if (TARGET_68881) return 74; }
  2581.   goto L157;
  2582.  L374:
  2583.   x2 = XEXP (x1, 0);
  2584.   if (general_operand (x2, DFmode))
  2585.     { recog_operand[1] = x2; goto L375; }
  2586.   goto L157;
  2587.  L375:
  2588.   x2 = XEXP (x1, 1);
  2589.   if (general_operand (x2, DFmode))
  2590.     { recog_operand[2] = x2; if (TARGET_68881) return 82; }
  2591.   goto L157;
  2592.  L414:
  2593.   x2 = XEXP (x1, 0);
  2594.   if (general_operand (x2, DFmode))
  2595.     { recog_operand[1] = x2; goto L415; }
  2596.   goto L157;
  2597.  L415:
  2598.   x2 = XEXP (x1, 1);
  2599.   if (general_operand (x2, DFmode))
  2600.     { recog_operand[2] = x2; if (TARGET_68881) return 90; }
  2601.   goto L157;
  2602.  L539:
  2603.   x2 = XEXP (x1, 0);
  2604.   if (general_operand (x2, DFmode))
  2605.     { recog_operand[1] = x2; if (TARGET_68881) return 113; }
  2606.   goto L157;
  2607.  L547:
  2608.   x2 = XEXP (x1, 0);
  2609.   if (general_operand (x2, DFmode))
  2610.     { recog_operand[1] = x2; if (TARGET_68881) return 115; }
  2611.   goto L157;
  2612.  ret0: return -1;
  2613. }
  2614.  
  2615. int
  2616. recog_7 (x0, insn)
  2617.      register rtx x0;
  2618.      rtx insn;
  2619. {
  2620.   register rtx x1, x2, x3, x4, x5;
  2621.   rtx x6, x7, x8, x9, x10, x11;
  2622.   int tem;
  2623.  L1049:
  2624.   x1 = XVECEXP (x0, 0, 0);
  2625.   x2 = XEXP (x1, 0);
  2626.   if (x2 == pc_rtx && 1)
  2627.     goto L1050;
  2628.  L124:
  2629.   if (general_operand (x2, SImode))
  2630.     { recog_operand[0] = x2; goto L444; }
  2631.   goto ret0;
  2632.  L1050:
  2633.   x2 = XEXP (x1, 1);
  2634.   if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
  2635.     goto L1051;
  2636.   if (GET_CODE (x2) == IF_THEN_ELSE && 1)
  2637.     goto L1064;
  2638.   x2 = XEXP (x1, 0);
  2639.   goto L124;
  2640.  L1051:
  2641.   x3 = XEXP (x2, 0);
  2642.   if (x3 == pc_rtx && 1)
  2643.     goto L1052;
  2644.   x2 = XEXP (x1, 0);
  2645.   goto L124;
  2646.  L1052:
  2647.   x3 = XEXP (x2, 1);
  2648.   if (general_operand (x3, HImode))
  2649.     { recog_operand[0] = x3; goto L1053; }
  2650.   x2 = XEXP (x1, 0);
  2651.   goto L124;
  2652.  L1053:
  2653.   x1 = XVECEXP (x0, 0, 1);
  2654.   if (GET_CODE (x1) == USE && 1)
  2655.     goto L1054;
  2656.   x1 = XVECEXP (x0, 0, 0);
  2657.   x2 = XEXP (x1, 0);
  2658.   goto L124;
  2659.  L1054:
  2660.   x2 = XEXP (x1, 0);
  2661.   if (GET_CODE (x2) == LABEL_REF && 1)
  2662.     goto L1055;
  2663.   x1 = XVECEXP (x0, 0, 0);
  2664.   x2 = XEXP (x1, 0);
  2665.   goto L124;
  2666.  L1055:
  2667.   x3 = XEXP (x2, 0);
  2668.   if (1)
  2669.     { recog_operand[1] = x3; return 196; }
  2670.   x1 = XVECEXP (x0, 0, 0);
  2671.   x2 = XEXP (x1, 0);
  2672.   goto L124;
  2673.  L1064:
  2674.   x3 = XEXP (x2, 0);
  2675.   if (GET_CODE (x3) == NE && 1)
  2676.     goto L1065;
  2677.   x2 = XEXP (x1, 0);
  2678.   goto L124;
  2679.  L1065:
  2680.   x4 = XEXP (x3, 0);
  2681.   if (GET_CODE (x4) == MINUS && 1)
  2682.     goto L1066;
  2683.   x2 = XEXP (x1, 0);
  2684.   goto L124;
  2685.  L1066:
  2686.   x5 = XEXP (x4, 0);
  2687.   if (GET_CODE (x5) != PLUS)
  2688.     {  x2 = XEXP (x1, 0);
  2689.     goto L124; }
  2690.   if (GET_MODE (x5) == HImode && 1)
  2691.     goto L1067;
  2692.   if (GET_MODE (x5) == SImode && 1)
  2693.     goto L1086;
  2694.   x2 = XEXP (x1, 0);
  2695.   goto L124;
  2696.  L1067:
  2697.   x6 = XEXP (x5, 0);
  2698.   if (general_operand (x6, HImode))
  2699.     { recog_operand[0] = x6; goto L1068; }
  2700.   x2 = XEXP (x1, 0);
  2701.   goto L124;
  2702.  L1068:
  2703.   x6 = XEXP (x5, 1);
  2704.   if (GET_CODE (x6) == CONST_INT && XINT (x6, 0) == -1 && 1)
  2705.     goto L1069;
  2706.   x2 = XEXP (x1, 0);
  2707.   goto L124;
  2708.  L1069:
  2709.   x5 = XEXP (x4, 1);
  2710.   if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
  2711.     goto L1070;
  2712.   x2 = XEXP (x1, 0);
  2713.   goto L124;
  2714.  L1070:
  2715.   x4 = XEXP (x3, 1);
  2716.   if (x4 == const0_rtx && 1)
  2717.     goto L1071;
  2718.   x2 = XEXP (x1, 0);
  2719.   goto L124;
  2720.  L1071:
  2721.   x3 = XEXP (x2, 1);
  2722.   if (GET_CODE (x3) == LABEL_REF && 1)
  2723.     goto L1072;
  2724.   x2 = XEXP (x1, 0);
  2725.   goto L124;
  2726.  L1072:
  2727.   x4 = XEXP (x3, 0);
  2728.   if (1)
  2729.     { recog_operand[1] = x4; goto L1073; }
  2730.   x2 = XEXP (x1, 0);
  2731.   goto L124;
  2732.  L1073:
  2733.   x3 = XEXP (x2, 2);
  2734.   if (x3 == pc_rtx && 1)
  2735.     goto L1074;
  2736.   x2 = XEXP (x1, 0);
  2737.   goto L124;
  2738.  L1074:
  2739.   x1 = XVECEXP (x0, 0, 1);
  2740.   if (GET_CODE (x1) == SET && 1)
  2741.     goto L1075;
  2742.   x1 = XVECEXP (x0, 0, 0);
  2743.   x2 = XEXP (x1, 0);
  2744.   goto L124;
  2745.  L1075:
  2746.   x2 = XEXP (x1, 0);
  2747.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2748.     goto L1076;
  2749.   x1 = XVECEXP (x0, 0, 0);
  2750.   x2 = XEXP (x1, 0);
  2751.   goto L124;
  2752.  L1076:
  2753.   x2 = XEXP (x1, 1);
  2754.   if (GET_CODE (x2) == PLUS && GET_MODE (x2) == HImode && 1)
  2755.     goto L1077;
  2756.   x1 = XVECEXP (x0, 0, 0);
  2757.   x2 = XEXP (x1, 0);
  2758.   goto L124;
  2759.  L1077:
  2760.   x3 = XEXP (x2, 0);
  2761.   if (rtx_equal_p (x3, recog_operand[0]) && 1)
  2762.     goto L1078;
  2763.   x1 = XVECEXP (x0, 0, 0);
  2764.   x2 = XEXP (x1, 0);
  2765.   goto L124;
  2766.  L1078:
  2767.   x3 = XEXP (x2, 1);
  2768.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
  2769.     return 198;
  2770.   x1 = XVECEXP (x0, 0, 0);
  2771.   x2 = XEXP (x1, 0);
  2772.   goto L124;
  2773.  L1086:
  2774.   x6 = XEXP (x5, 0);
  2775.   if (general_operand (x6, SImode))
  2776.     { recog_operand[0] = x6; goto L1087; }
  2777.   x2 = XEXP (x1, 0);
  2778.   goto L124;
  2779.  L1087:
  2780.   x6 = XEXP (x5, 1);
  2781.   if (GET_CODE (x6) == CONST_INT && XINT (x6, 0) == -1 && 1)
  2782.     goto L1088;
  2783.   x2 = XEXP (x1, 0);
  2784.   goto L124;
  2785.  L1088:
  2786.   x5 = XEXP (x4, 1);
  2787.   if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
  2788.     goto L1089;
  2789.   x2 = XEXP (x1, 0);
  2790.   goto L124;
  2791.  L1089:
  2792.   x4 = XEXP (x3, 1);
  2793.   if (x4 == const0_rtx && 1)
  2794.     goto L1090;
  2795.   x2 = XEXP (x1, 0);
  2796.   goto L124;
  2797.  L1090:
  2798.   x3 = XEXP (x2, 1);
  2799.   if (GET_CODE (x3) == LABEL_REF && 1)
  2800.     goto L1091;
  2801.   x2 = XEXP (x1, 0);
  2802.   goto L124;
  2803.  L1091:
  2804.   x4 = XEXP (x3, 0);
  2805.   if (1)
  2806.     { recog_operand[1] = x4; goto L1092; }
  2807.   x2 = XEXP (x1, 0);
  2808.   goto L124;
  2809.  L1092:
  2810.   x3 = XEXP (x2, 2);
  2811.   if (x3 == pc_rtx && 1)
  2812.     goto L1093;
  2813.   x2 = XEXP (x1, 0);
  2814.   goto L124;
  2815.  L1093:
  2816.   x1 = XVECEXP (x0, 0, 1);
  2817.   if (GET_CODE (x1) == SET && 1)
  2818.     goto L1094;
  2819.   x1 = XVECEXP (x0, 0, 0);
  2820.   x2 = XEXP (x1, 0);
  2821.   goto L124;
  2822.  L1094:
  2823.   x2 = XEXP (x1, 0);
  2824.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2825.     goto L1095;
  2826.   x1 = XVECEXP (x0, 0, 0);
  2827.   x2 = XEXP (x1, 0);
  2828.   goto L124;
  2829.  L1095:
  2830.   x2 = XEXP (x1, 1);
  2831.   if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
  2832.     goto L1096;
  2833.   x1 = XVECEXP (x0, 0, 0);
  2834.   x2 = XEXP (x1, 0);
  2835.   goto L124;
  2836.  L1096:
  2837.   x3 = XEXP (x2, 0);
  2838.   if (rtx_equal_p (x3, recog_operand[0]) && 1)
  2839.     goto L1097;
  2840.   x1 = XVECEXP (x0, 0, 0);
  2841.   x2 = XEXP (x1, 0);
  2842.   goto L124;
  2843.  L1097:
  2844.   x3 = XEXP (x2, 1);
  2845.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
  2846.     return 199;
  2847.   x1 = XVECEXP (x0, 0, 0);
  2848.   x2 = XEXP (x1, 0);
  2849.   goto L124;
  2850.  L444:
  2851.   x2 = XEXP (x1, 1);
  2852.   if (GET_CODE (x2) == DIV && GET_MODE (x2) == SImode && 1)
  2853.     goto L445;
  2854.   if (GET_CODE (x2) == UDIV && GET_MODE (x2) == SImode && 1)
  2855.     goto L456;
  2856.  L125:
  2857.   if (general_operand (x2, SImode))
  2858.     { recog_operand[1] = x2; goto L126; }
  2859.   goto ret0;
  2860.  L445:
  2861.   x3 = XEXP (x2, 0);
  2862.   if (general_operand (x3, SImode))
  2863.     { recog_operand[1] = x3; goto L446; }
  2864.   goto L125;
  2865.  L446:
  2866.   x3 = XEXP (x2, 1);
  2867.   if (general_operand (x3, SImode))
  2868.     { recog_operand[2] = x3; goto L447; }
  2869.   goto L125;
  2870.  L447:
  2871.   x1 = XVECEXP (x0, 0, 1);
  2872.   if (GET_CODE (x1) == SET && 1)
  2873.     goto L448;
  2874.   x1 = XVECEXP (x0, 0, 0);
  2875.   x2 = XEXP (x1, 1);
  2876.   goto L125;
  2877.  L448:
  2878.   x2 = XEXP (x1, 0);
  2879.   if (general_operand (x2, SImode))
  2880.     { recog_operand[3] = x2; goto L449; }
  2881.   x1 = XVECEXP (x0, 0, 0);
  2882.   x2 = XEXP (x1, 1);
  2883.   goto L125;
  2884.  L449:
  2885.   x2 = XEXP (x1, 1);
  2886.   if (GET_CODE (x2) == MOD && GET_MODE (x2) == SImode && 1)
  2887.     goto L450;
  2888.   x1 = XVECEXP (x0, 0, 0);
  2889.   x2 = XEXP (x1, 1);
  2890.   goto L125;
  2891.  L450:
  2892.   x3 = XEXP (x2, 0);
  2893.   if (rtx_equal_p (x3, recog_operand[1]) && 1)
  2894.     goto L451;
  2895.   x1 = XVECEXP (x0, 0, 0);
  2896.   x2 = XEXP (x1, 1);
  2897.   goto L125;
  2898.  L451:
  2899.   x3 = XEXP (x2, 1);
  2900.   if (rtx_equal_p (x3, recog_operand[2]) && 1)
  2901.     if (TARGET_68020) return 96;
  2902.   x1 = XVECEXP (x0, 0, 0);
  2903.   x2 = XEXP (x1, 1);
  2904.   goto L125;
  2905.  L456:
  2906.   x3 = XEXP (x2, 0);
  2907.   if (general_operand (x3, SImode))
  2908.     { recog_operand[1] = x3; goto L457; }
  2909.   goto L125;
  2910.  L457:
  2911.   x3 = XEXP (x2, 1);
  2912.   if (general_operand (x3, SImode))
  2913.     { recog_operand[2] = x3; goto L458; }
  2914.   goto L125;
  2915.  L458:
  2916.   x1 = XVECEXP (x0, 0, 1);
  2917.   if (GET_CODE (x1) == SET && 1)
  2918.     goto L459;
  2919.   x1 = XVECEXP (x0, 0, 0);
  2920.   x2 = XEXP (x1, 1);
  2921.   goto L125;
  2922.  L459:
  2923.   x2 = XEXP (x1, 0);
  2924.   if (general_operand (x2, SImode))
  2925.     { recog_operand[3] = x2; goto L460; }
  2926.   x1 = XVECEXP (x0, 0, 0);
  2927.   x2 = XEXP (x1, 1);
  2928.   goto L125;
  2929.  L460:
  2930.   x2 = XEXP (x1, 1);
  2931.   if (GET_CODE (x2) == UMOD && GET_MODE (x2) == SImode && 1)
  2932.     goto L461;
  2933.   x1 = XVECEXP (x0, 0, 0);
  2934.   x2 = XEXP (x1, 1);
  2935.   goto L125;
  2936.  L461:
  2937.   x3 = XEXP (x2, 0);
  2938.   if (rtx_equal_p (x3, recog_operand[1]) && 1)
  2939.     goto L462;
  2940.   x1 = XVECEXP (x0, 0, 0);
  2941.   x2 = XEXP (x1, 1);
  2942.   goto L125;
  2943.  L462:
  2944.   x3 = XEXP (x2, 1);
  2945.   if (rtx_equal_p (x3, recog_operand[2]) && 1)
  2946.     if (TARGET_68020) return 97;
  2947.   x1 = XVECEXP (x0, 0, 0);
  2948.   x2 = XEXP (x1, 1);
  2949.   goto L125;
  2950.  L126:
  2951.   x1 = XVECEXP (x0, 0, 1);
  2952.   if (GET_CODE (x1) == SET && 1)
  2953.     goto L127;
  2954.   goto ret0;
  2955.  L127:
  2956.   x2 = XEXP (x1, 0);
  2957.   if (rtx_equal_p (x2, recog_operand[1]) && 1)
  2958.     goto L128;
  2959.   goto ret0;
  2960.  L128:
  2961.   x2 = XEXP (x1, 1);
  2962.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2963.     return 22;
  2964.   goto ret0;
  2965.  ret0: return -1;
  2966. }
  2967.  
  2968. int
  2969. recog (x0, insn)
  2970.      register rtx x0;
  2971.      rtx insn;
  2972. {
  2973.   register rtx x1, x2, x3, x4, x5;
  2974.   rtx x6, x7, x8, x9, x10, x11;
  2975.   int tem;
  2976.  L0:
  2977.  switch (GET_CODE (x0))
  2978.   {
  2979.   case SET:
  2980.   if (1)
  2981.     goto L7;
  2982.   break;
  2983.   case PARALLEL:
  2984.   if (XVECLEN (x0, 0) == 2 && 1)
  2985.     goto L123;
  2986.   break;
  2987.   case CALL:
  2988.   if (1)
  2989.     goto L1099;
  2990.   break;
  2991.   case RETURN:
  2992.   if (1)
  2993.     return 202;
  2994.   break;
  2995.   }
  2996.   goto ret0;
  2997.  L7:
  2998.   return recog_6 (x0, insn);
  2999.  L123:
  3000.   x1 = XVECEXP (x0, 0, 0);
  3001.   if (GET_CODE (x1) == SET && 1)
  3002.     goto L1049;
  3003.   goto ret0;
  3004.  L1049:
  3005.   return recog_7 (x0, insn);
  3006.  L1099:
  3007.   x1 = XEXP (x0, 0);
  3008.   if (general_operand (x1, QImode))
  3009.     { recog_operand[0] = x1; goto L1100; }
  3010.   goto ret0;
  3011.  L1100:
  3012.   x1 = XEXP (x0, 1);
  3013.   if (general_operand (x1, SImode))
  3014.     { recog_operand[1] = x1; return 200; }
  3015.   goto ret0;
  3016.  ret0: return -1;
  3017. }
  3018.