home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / GCC 1.37.1r14 / usr / gcc-1.37.1r14 / (gcc-1.37.π) / insn-recog.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-02  |  77.2 KB  |  3,524 lines  |  [TEXT/CPED]

  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. #include "real.h"
  9.  
  10. /* `recog' contains a decision tree
  11.    that recognizes whether the rtx X0 is a valid instruction.
  12.  
  13.    recog returns -1 if the rtx is not valid.
  14.    If the rtx is valid, recog returns a nonnegative number
  15.    which is the insn code number for the pattern that matched.
  16.    This is the same as the order in the machine description of
  17.    the entry that matched.  This number can be used as an index into
  18.    insn_templates and insn_n_operands (found in insn-output.c)
  19.    or as an argument to output_insn_hairy (also in insn-output.c).  */
  20.  
  21. rtx recog_operand[MAX_RECOG_OPERANDS];
  22.  
  23. rtx *recog_operand_loc[MAX_RECOG_OPERANDS];
  24.  
  25. rtx *recog_dup_loc[MAX_DUP_OPERANDS];
  26.  
  27. char recog_dup_num[MAX_DUP_OPERANDS];
  28.  
  29. extern rtx recog_addr_dummy;
  30.  
  31. #define operands recog_operand
  32.  
  33. int
  34. recog_1 (x0, insn)
  35.      register rtx x0;
  36.      rtx insn;
  37. {
  38.   register rtx x1, x2, x3, x4, x5;
  39.   rtx x6, x7, x8, x9, x10, x11;
  40.   int tem;
  41.  L8:
  42.   x1 = XEXP (x0, 1);
  43.   if (general_operand (x1, SImode))
  44.     { recog_operand[0] = x1; return 2; }
  45.  L11:
  46.   if (general_operand (x1, HImode))
  47.     { recog_operand[0] = x1; return 3; }
  48.  L14:
  49.   if (general_operand (x1, QImode))
  50.     { recog_operand[0] = x1; return 4; }
  51.  L17:
  52.   if (general_operand (x1, SFmode))
  53.     { recog_operand[0] = x1; if (TARGET_68881) return 6; }
  54.  L20:
  55.   if (general_operand (x1, SFmode))
  56.     { recog_operand[0] = x1; if (TARGET_SANE) return 7; }
  57.  L23:
  58.   if (general_operand (x1, DFmode))
  59.     { recog_operand[0] = x1; if (TARGET_68881) return 9; }
  60.  L26:
  61.   if (general_operand (x1, DFmode))
  62.     { recog_operand[0] = x1; if (TARGET_SANE) return 10; }
  63.  L29:
  64.   if (general_operand (x1, XFmode))
  65.     { recog_operand[0] = x1; if (TARGET_68881) return 12; }
  66.  L32:
  67.   if (general_operand (x1, XFmode))
  68.     { recog_operand[0] = x1; if (TARGET_SANE) return 13; }
  69.  L35:
  70.   if (GET_CODE (x1) == COMPARE && 1)
  71.     goto L36;
  72.   if (GET_CODE (x1) == ZERO_EXTRACT && 1)
  73.     goto L81;
  74.   if (GET_CODE (x1) == SUBREG && GET_MODE (x1) == SImode && XINT (x1, 1) == 0 && 1)
  75.     goto L135;
  76.   if (GET_CODE (x1) == AND && GET_MODE (x1) == SImode && 1)
  77.     goto L141;
  78.  L1095:
  79.   if (GET_CODE (x1) == ZERO_EXTRACT && GET_MODE (x1) == SImode && 1)
  80.     goto L1096;
  81.   if (GET_CODE (x1) != SUBREG)
  82.     goto ret0;
  83.   if (GET_MODE (x1) == QImode && XINT (x1, 1) == 0 && 1)
  84.     goto L1102;
  85.   if (GET_MODE (x1) == HImode && XINT (x1, 1) == 0 && 1)
  86.     goto L1109;
  87.   goto ret0;
  88.  L36:
  89.   x2 = XEXP (x1, 0);
  90.   if (general_operand (x2, SImode))
  91.     { recog_operand[0] = x2; goto L37; }
  92.  L41:
  93.   if (general_operand (x2, HImode))
  94.     { recog_operand[0] = x2; goto L42; }
  95.  L46:
  96.   if (general_operand (x2, QImode))
  97.     { recog_operand[0] = x2; goto L47; }
  98.  L51:
  99.   if (general_operand (x2, SFmode))
  100.     { recog_operand[0] = x2; goto L52; }
  101.  L61:
  102.   if (general_operand (x2, DFmode))
  103.     { recog_operand[0] = x2; goto L62; }
  104.  L71:
  105.   if (general_operand (x2, XFmode))
  106.     { recog_operand[0] = x2; goto L72; }
  107.  L889:
  108.   if (general_operand (x2, QImode))
  109.     { recog_operand[0] = x2; goto L890; }
  110.  L896:
  111.   if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == SImode && 1)
  112.     goto L897;
  113.  L903:
  114.   if (general_operand (x2, QImode))
  115.     { recog_operand[0] = x2; goto L904; }
  116.  L910:
  117.   if (GET_CODE (x2) == ASHIFTRT && GET_MODE (x2) == SImode && 1)
  118.     goto L911;
  119.   goto ret0;
  120.  L37:
  121.   x2 = XEXP (x1, 1);
  122.   if (general_operand (x2, SImode))
  123.     { recog_operand[1] = x2; return 14; }
  124.   x2 = XEXP (x1, 0);
  125.   goto L41;
  126.  L42:
  127.   x2 = XEXP (x1, 1);
  128.   if (general_operand (x2, HImode))
  129.     { recog_operand[1] = x2; return 15; }
  130.   x2 = XEXP (x1, 0);
  131.   goto L46;
  132.  L47:
  133.   x2 = XEXP (x1, 1);
  134.   if (general_operand (x2, QImode))
  135.     { recog_operand[1] = x2; return 16; }
  136.   x2 = XEXP (x1, 0);
  137.   goto L51;
  138.  L52:
  139.   x2 = XEXP (x1, 1);
  140.   if (general_operand (x2, SFmode))
  141.     { recog_operand[1] = x2; if (TARGET_68881) return 18; }
  142.  L57:
  143.   if (general_operand (x2, SFmode))
  144.     { recog_operand[1] = x2; if (TARGET_SANE) return 19; }
  145.   x2 = XEXP (x1, 0);
  146.   goto L61;
  147.  L62:
  148.   x2 = XEXP (x1, 1);
  149.   if (general_operand (x2, DFmode))
  150.     { recog_operand[1] = x2; if (TARGET_68881) return 21; }
  151.  L67:
  152.   if (general_operand (x2, DFmode))
  153.     { recog_operand[1] = x2; if (TARGET_SANE) return 22; }
  154.   x2 = XEXP (x1, 0);
  155.   goto L71;
  156.  L72:
  157.   x2 = XEXP (x1, 1);
  158.   if (general_operand (x2, XFmode))
  159.     { recog_operand[1] = x2; if (TARGET_68881) return 24; }
  160.  L77:
  161.   if (general_operand (x2, XFmode))
  162.     { recog_operand[1] = x2; if (TARGET_SANE) return 25; }
  163.   x2 = XEXP (x1, 0);
  164.   goto L889;
  165.  L890:
  166.   x2 = XEXP (x1, 1);
  167.   if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == SImode && 1)
  168.     goto L891;
  169.   x2 = XEXP (x1, 0);
  170.   goto L896;
  171.  L891:
  172.   x3 = XEXP (x2, 0);
  173.   if (memory_operand (x3, SImode))
  174.     { recog_operand[1] = x3; goto L892; }
  175.   x2 = XEXP (x1, 0);
  176.   goto L896;
  177.  L892:
  178.   x3 = XEXP (x2, 1);
  179.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
  180.     if ((GET_CODE (operands[0]) == CONST_INT
  181.     && (INTVAL (operands[0]) & ~0xff) == 0)) return 239;
  182.   x2 = XEXP (x1, 0);
  183.   goto L896;
  184.  L897:
  185.   x3 = XEXP (x2, 0);
  186.   if (memory_operand (x3, SImode))
  187.     { recog_operand[0] = x3; goto L898; }
  188.   goto L903;
  189.  L898:
  190.   x3 = XEXP (x2, 1);
  191.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
  192.     goto L899;
  193.   goto L903;
  194.  L899:
  195.   x2 = XEXP (x1, 1);
  196.   if (general_operand (x2, QImode))
  197.     { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
  198.     && (INTVAL (operands[1]) & ~0xff) == 0)) return 240; }
  199.   x2 = XEXP (x1, 0);
  200.   goto L903;
  201.  L904:
  202.   x2 = XEXP (x1, 1);
  203.   if (GET_CODE (x2) == ASHIFTRT && GET_MODE (x2) == SImode && 1)
  204.     goto L905;
  205.   x2 = XEXP (x1, 0);
  206.   goto L910;
  207.  L905:
  208.   x3 = XEXP (x2, 0);
  209.   if (memory_operand (x3, SImode))
  210.     { recog_operand[1] = x3; goto L906; }
  211.   x2 = XEXP (x1, 0);
  212.   goto L910;
  213.  L906:
  214.   x3 = XEXP (x2, 1);
  215.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
  216.     if ((GET_CODE (operands[0]) == CONST_INT
  217.     && ((INTVAL (operands[0]) + 0x80) & ~0xff) == 0)) return 241;
  218.   x2 = XEXP (x1, 0);
  219.   goto L910;
  220.  L911:
  221.   x3 = XEXP (x2, 0);
  222.   if (memory_operand (x3, SImode))
  223.     { recog_operand[0] = x3; goto L912; }
  224.   goto ret0;
  225.  L912:
  226.   x3 = XEXP (x2, 1);
  227.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
  228.     goto L913;
  229.   goto ret0;
  230.  L913:
  231.   x2 = XEXP (x1, 1);
  232.   if (general_operand (x2, QImode))
  233.     { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
  234.     && ((INTVAL (operands[1]) + 0x80) & ~0xff) == 0)) return 242; }
  235.   goto ret0;
  236.  L81:
  237.   x2 = XEXP (x1, 0);
  238.   if (nonimmediate_operand (x2, QImode))
  239.     { recog_operand[0] = x2; goto L82; }
  240.  L123:
  241.   if (nonimmediate_operand (x2, HImode))
  242.     { recog_operand[0] = x2; goto L124; }
  243.  L89:
  244.   if (nonimmediate_operand (x2, SImode))
  245.     { recog_operand[0] = x2; goto L90; }
  246.   goto L1095;
  247.  L82:
  248.   x2 = XEXP (x1, 1);
  249.   if (x2 == const1_rtx && 1)
  250.     goto L83;
  251.   x2 = XEXP (x1, 0);
  252.   goto L123;
  253.  L83:
  254.   x2 = XEXP (x1, 2);
  255.   if (GET_CODE (x2) == MINUS && GET_MODE (x2) == SImode && 1)
  256.     goto L84;
  257.  L119:
  258.   if (general_operand (x2, SImode))
  259.     { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 30; }
  260.   x2 = XEXP (x1, 0);
  261.   goto L123;
  262.  L84:
  263.   x3 = XEXP (x2, 0);
  264.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 7 && 1)
  265.     goto L85;
  266.   goto L119;
  267.  L85:
  268.   x3 = XEXP (x2, 1);
  269.   if (general_operand (x3, SImode))
  270.     { recog_operand[1] = x3; return 26; }
  271.  L101:
  272.   if (GET_CODE (x3) == AND && GET_MODE (x3) == SImode && 1)
  273.     goto L102;
  274.   goto L119;
  275.  L102:
  276.   x4 = XEXP (x3, 0);
  277.   if (general_operand (x4, SImode))
  278.     { recog_operand[1] = x4; goto L103; }
  279.   goto L119;
  280.  L103:
  281.   x4 = XEXP (x3, 1);
  282.   if (GET_CODE (x4) == CONST_INT && XINT (x4, 0) == 7 && 1)
  283.     return 28;
  284.   goto L119;
  285.  L124:
  286.   x2 = XEXP (x1, 1);
  287.   if (x2 == const1_rtx && 1)
  288.     goto L125;
  289.   x2 = XEXP (x1, 0);
  290.   goto L89;
  291.  L125:
  292.   x2 = XEXP (x1, 2);
  293.   if (general_operand (x2, SImode))
  294.     { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 31; }
  295.   x2 = XEXP (x1, 0);
  296.   goto L89;
  297.  L90:
  298.   x2 = XEXP (x1, 1);
  299.   if (x2 == const1_rtx && 1)
  300.     goto L91;
  301.   goto L1095;
  302.  L91:
  303.   x2 = XEXP (x1, 2);
  304.   if (GET_CODE (x2) == MINUS && GET_MODE (x2) == SImode && 1)
  305.     goto L92;
  306.  L131:
  307.   if (general_operand (x2, SImode))
  308.     { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 32; }
  309.   goto L1095;
  310.  L92:
  311.   x3 = XEXP (x2, 0);
  312.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 31 && 1)
  313.     goto L93;
  314.   goto L131;
  315.  L93:
  316.   x3 = XEXP (x2, 1);
  317.   if (general_operand (x3, SImode))
  318.     { recog_operand[1] = x3; return 27; }
  319.  L111:
  320.   if (GET_CODE (x3) == AND && GET_MODE (x3) == SImode && 1)
  321.     goto L112;
  322.   goto L131;
  323.  L112:
  324.   x4 = XEXP (x3, 0);
  325.   if (general_operand (x4, SImode))
  326.     { recog_operand[1] = x4; goto L113; }
  327.   goto L131;
  328.  L113:
  329.   x4 = XEXP (x3, 1);
  330.   if (GET_CODE (x4) == CONST_INT && XINT (x4, 0) == 31 && 1)
  331.     return 29;
  332.   goto L131;
  333.  L135:
  334.   x2 = XEXP (x1, 0);
  335.   if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == QImode && 1)
  336.     goto L136;
  337.   goto ret0;
  338.  L136:
  339.   x3 = XEXP (x2, 0);
  340.   if (nonimmediate_operand (x3, QImode))
  341.     { recog_operand[0] = x3; goto L137; }
  342.   goto ret0;
  343.  L137:
  344.   x3 = XEXP (x2, 1);
  345.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 7 && 1)
  346.     return 33;
  347.   goto ret0;
  348.  L141:
  349.   x2 = XEXP (x1, 0);
  350.   if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
  351.     goto L142;
  352.   goto ret0;
  353.  L142:
  354.   x3 = XEXP (x2, 0);
  355.   if (GET_CODE (x3) == SIGN_EXTEND && GET_MODE (x3) == HImode && 1)
  356.     goto L143;
  357.   goto ret0;
  358.  L143:
  359.   x4 = XEXP (x3, 0);
  360.   if (nonimmediate_operand (x4, QImode))
  361.     { recog_operand[0] = x4; goto L144; }
  362.   goto ret0;
  363.  L144:
  364.   x2 = XEXP (x1, 1);
  365.   if (general_operand (x2, SImode))
  366.     { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
  367.     && (unsigned) INTVAL (operands[1]) < 0x100
  368.     && exact_log2 (INTVAL (operands[1])) >= 0)) return 34; }
  369.   goto ret0;
  370.  L1096:
  371.   x2 = XEXP (x1, 0);
  372.   if (memory_operand (x2, QImode))
  373.     { recog_operand[0] = x2; goto L1097; }
  374.  L1116:
  375.   if (nonimmediate_operand (x2, SImode))
  376.     { recog_operand[0] = x2; goto L1117; }
  377.   goto ret0;
  378.  L1097:
  379.   x2 = XEXP (x1, 1);
  380.   if (general_operand (x2, SImode))
  381.     { recog_operand[1] = x2; goto L1098; }
  382.   x2 = XEXP (x1, 0);
  383.   goto L1116;
  384.  L1098:
  385.   x2 = XEXP (x1, 2);
  386.   if (general_operand (x2, SImode))
  387.     { recog_operand[2] = x2; if (TARGET_68020 && TARGET_BITFIELD
  388.    && GET_CODE (operands[1]) == CONST_INT) return 275; }
  389.   x2 = XEXP (x1, 0);
  390.   goto L1116;
  391.  L1117:
  392.   x2 = XEXP (x1, 1);
  393.   if (general_operand (x2, SImode))
  394.     { recog_operand[1] = x2; goto L1118; }
  395.   goto ret0;
  396.  L1118:
  397.   x2 = XEXP (x1, 2);
  398.   if (general_operand (x2, SImode))
  399.     { recog_operand[2] = x2; if (TARGET_68020 && TARGET_BITFIELD
  400.    && GET_CODE (operands[1]) == CONST_INT) return 278; }
  401.   goto ret0;
  402.  L1102:
  403.   x2 = XEXP (x1, 0);
  404.   if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
  405.     goto L1103;
  406.   goto ret0;
  407.  L1103:
  408.   x3 = XEXP (x2, 0);
  409.   if (memory_operand (x3, QImode))
  410.     { recog_operand[0] = x3; goto L1104; }
  411.  L1123:
  412.   if (nonimmediate_operand (x3, SImode))
  413.     { recog_operand[0] = x3; goto L1124; }
  414.   goto ret0;
  415.  L1104:
  416.   x3 = XEXP (x2, 1);
  417.   if (general_operand (x3, SImode))
  418.     { recog_operand[1] = x3; goto L1105; }
  419.   x3 = XEXP (x2, 0);
  420.   goto L1123;
  421.  L1105:
  422.   x3 = XEXP (x2, 2);
  423.   if (general_operand (x3, SImode))
  424.     { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
  425.    && GET_CODE (operands[1]) == CONST_INT) return 276; }
  426.   x3 = XEXP (x2, 0);
  427.   goto L1123;
  428.  L1124:
  429.   x3 = XEXP (x2, 1);
  430.   if (general_operand (x3, SImode))
  431.     { recog_operand[1] = x3; goto L1125; }
  432.   goto ret0;
  433.  L1125:
  434.   x3 = XEXP (x2, 2);
  435.   if (general_operand (x3, SImode))
  436.     { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
  437.    && GET_CODE (operands[1]) == CONST_INT) return 279; }
  438.   goto ret0;
  439.  L1109:
  440.   x2 = XEXP (x1, 0);
  441.   if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
  442.     goto L1110;
  443.   goto ret0;
  444.  L1110:
  445.   x3 = XEXP (x2, 0);
  446.   if (memory_operand (x3, QImode))
  447.     { recog_operand[0] = x3; goto L1111; }
  448.  L1130:
  449.   if (nonimmediate_operand (x3, SImode))
  450.     { recog_operand[0] = x3; goto L1131; }
  451.   goto ret0;
  452.  L1111:
  453.   x3 = XEXP (x2, 1);
  454.   if (general_operand (x3, SImode))
  455.     { recog_operand[1] = x3; goto L1112; }
  456.   x3 = XEXP (x2, 0);
  457.   goto L1130;
  458.  L1112:
  459.   x3 = XEXP (x2, 2);
  460.   if (general_operand (x3, SImode))
  461.     { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
  462.    && GET_CODE (operands[1]) == CONST_INT) return 277; }
  463.   x3 = XEXP (x2, 0);
  464.   goto L1130;
  465.  L1131:
  466.   x3 = XEXP (x2, 1);
  467.   if (general_operand (x3, SImode))
  468.     { recog_operand[1] = x3; goto L1132; }
  469.   goto ret0;
  470.  L1132:
  471.   x3 = XEXP (x2, 2);
  472.   if (general_operand (x3, SImode))
  473.     { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
  474.    && GET_CODE (operands[1]) == CONST_INT) return 280; }
  475.   goto ret0;
  476.  ret0: return -1;
  477. }
  478.  
  479. int
  480. recog_2 (x0, insn)
  481.      register rtx x0;
  482.      rtx insn;
  483. {
  484.   register rtx x1, x2, x3, x4, x5;
  485.   rtx x6, x7, x8, x9, x10, x11;
  486.   int tem;
  487.  L1186:
  488.   x1 = XEXP (x0, 1);
  489.   x2 = XEXP (x1, 0);
  490.  switch (GET_CODE (x2))
  491.   {
  492.   case EQ:
  493.   if (1)
  494.     goto L1187;
  495.   break;
  496.   case NE:
  497.   if (1)
  498.     goto L1196;
  499.   break;
  500.   case GT:
  501.   if (1)
  502.     goto L1205;
  503.   break;
  504.   case GTU:
  505.   if (1)
  506.     goto L1214;
  507.   break;
  508.   case LT:
  509.   if (1)
  510.     goto L1223;
  511.   break;
  512.   case LTU:
  513.   if (1)
  514.     goto L1232;
  515.   break;
  516.   case GE:
  517.   if (1)
  518.     goto L1241;
  519.   break;
  520.   case GEU:
  521.   if (1)
  522.     goto L1250;
  523.   break;
  524.   case LE:
  525.   if (1)
  526.     goto L1259;
  527.   break;
  528.   case LEU:
  529.   if (1)
  530.     goto L1268;
  531.   break;
  532.   }
  533.   goto ret0;
  534.  L1187:
  535.   x3 = XEXP (x2, 0);
  536.   if (x3 == cc0_rtx && 1)
  537.     goto L1188;
  538.   goto ret0;
  539.  L1188:
  540.   x3 = XEXP (x2, 1);
  541.   if (x3 == const0_rtx && 1)
  542.     goto L1189;
  543.   goto ret0;
  544.  L1189:
  545.   x2 = XEXP (x1, 1);
  546.   if (GET_CODE (x2) == LABEL_REF && 1)
  547.     goto L1190;
  548.   if (x2 == pc_rtx && 1)
  549.     goto L1280;
  550.   goto ret0;
  551.  L1190:
  552.   x3 = XEXP (x2, 0);
  553.   if (1)
  554.     { recog_operand[0] = x3; goto L1191; }
  555.   goto ret0;
  556.  L1191:
  557.   x2 = XEXP (x1, 2);
  558.   if (x2 == pc_rtx && 1)
  559.     return 291;
  560.   goto ret0;
  561.  L1280:
  562.   x2 = XEXP (x1, 2);
  563.   if (GET_CODE (x2) == LABEL_REF && 1)
  564.     goto L1281;
  565.   goto ret0;
  566.  L1281:
  567.   x3 = XEXP (x2, 0);
  568.   if (1)
  569.     { recog_operand[0] = x3; return 301; }
  570.   goto ret0;
  571.  L1196:
  572.   x3 = XEXP (x2, 0);
  573.   if (x3 == cc0_rtx && 1)
  574.     goto L1197;
  575.   goto ret0;
  576.  L1197:
  577.   x3 = XEXP (x2, 1);
  578.   if (x3 == const0_rtx && 1)
  579.     goto L1198;
  580.   goto ret0;
  581.  L1198:
  582.   x2 = XEXP (x1, 1);
  583.   if (GET_CODE (x2) == LABEL_REF && 1)
  584.     goto L1199;
  585.   if (x2 == pc_rtx && 1)
  586.     goto L1289;
  587.   goto ret0;
  588.  L1199:
  589.   x3 = XEXP (x2, 0);
  590.   if (1)
  591.     { recog_operand[0] = x3; goto L1200; }
  592.   goto ret0;
  593.  L1200:
  594.   x2 = XEXP (x1, 2);
  595.   if (x2 == pc_rtx && 1)
  596.     return 292;
  597.   goto ret0;
  598.  L1289:
  599.   x2 = XEXP (x1, 2);
  600.   if (GET_CODE (x2) == LABEL_REF && 1)
  601.     goto L1290;
  602.   goto ret0;
  603.  L1290:
  604.   x3 = XEXP (x2, 0);
  605.   if (1)
  606.     { recog_operand[0] = x3; return 302; }
  607.   goto ret0;
  608.  L1205:
  609.   x3 = XEXP (x2, 0);
  610.   if (x3 == cc0_rtx && 1)
  611.     goto L1206;
  612.   goto ret0;
  613.  L1206:
  614.   x3 = XEXP (x2, 1);
  615.   if (x3 == const0_rtx && 1)
  616.     goto L1207;
  617.   goto ret0;
  618.  L1207:
  619.   x2 = XEXP (x1, 1);
  620.   if (GET_CODE (x2) == LABEL_REF && 1)
  621.     goto L1208;
  622.   if (x2 == pc_rtx && 1)
  623.     goto L1298;
  624.   goto ret0;
  625.  L1208:
  626.   x3 = XEXP (x2, 0);
  627.   if (1)
  628.     { recog_operand[0] = x3; goto L1209; }
  629.   goto ret0;
  630.  L1209:
  631.   x2 = XEXP (x1, 2);
  632.   if (x2 == pc_rtx && 1)
  633.     return 293;
  634.   goto ret0;
  635.  L1298:
  636.   x2 = XEXP (x1, 2);
  637.   if (GET_CODE (x2) == LABEL_REF && 1)
  638.     goto L1299;
  639.   goto ret0;
  640.  L1299:
  641.   x3 = XEXP (x2, 0);
  642.   if (1)
  643.     { recog_operand[0] = x3; return 303; }
  644.   goto ret0;
  645.  L1214:
  646.   x3 = XEXP (x2, 0);
  647.   if (x3 == cc0_rtx && 1)
  648.     goto L1215;
  649.   goto ret0;
  650.  L1215:
  651.   x3 = XEXP (x2, 1);
  652.   if (x3 == const0_rtx && 1)
  653.     goto L1216;
  654.   goto ret0;
  655.  L1216:
  656.   x2 = XEXP (x1, 1);
  657.   if (GET_CODE (x2) == LABEL_REF && 1)
  658.     goto L1217;
  659.   if (x2 == pc_rtx && 1)
  660.     goto L1307;
  661.   goto ret0;
  662.  L1217:
  663.   x3 = XEXP (x2, 0);
  664.   if (1)
  665.     { recog_operand[0] = x3; goto L1218; }
  666.   goto ret0;
  667.  L1218:
  668.   x2 = XEXP (x1, 2);
  669.   if (x2 == pc_rtx && 1)
  670.     return 294;
  671.   goto ret0;
  672.  L1307:
  673.   x2 = XEXP (x1, 2);
  674.   if (GET_CODE (x2) == LABEL_REF && 1)
  675.     goto L1308;
  676.   goto ret0;
  677.  L1308:
  678.   x3 = XEXP (x2, 0);
  679.   if (1)
  680.     { recog_operand[0] = x3; return 304; }
  681.   goto ret0;
  682.  L1223:
  683.   x3 = XEXP (x2, 0);
  684.   if (x3 == cc0_rtx && 1)
  685.     goto L1224;
  686.   goto ret0;
  687.  L1224:
  688.   x3 = XEXP (x2, 1);
  689.   if (x3 == const0_rtx && 1)
  690.     goto L1225;
  691.   goto ret0;
  692.  L1225:
  693.   x2 = XEXP (x1, 1);
  694.   if (GET_CODE (x2) == LABEL_REF && 1)
  695.     goto L1226;
  696.   if (x2 == pc_rtx && 1)
  697.     goto L1316;
  698.   goto ret0;
  699.  L1226:
  700.   x3 = XEXP (x2, 0);
  701.   if (1)
  702.     { recog_operand[0] = x3; goto L1227; }
  703.   goto ret0;
  704.  L1227:
  705.   x2 = XEXP (x1, 2);
  706.   if (x2 == pc_rtx && 1)
  707.     return 295;
  708.   goto ret0;
  709.  L1316:
  710.   x2 = XEXP (x1, 2);
  711.   if (GET_CODE (x2) == LABEL_REF && 1)
  712.     goto L1317;
  713.   goto ret0;
  714.  L1317:
  715.   x3 = XEXP (x2, 0);
  716.   if (1)
  717.     { recog_operand[0] = x3; return 305; }
  718.   goto ret0;
  719.  L1232:
  720.   x3 = XEXP (x2, 0);
  721.   if (x3 == cc0_rtx && 1)
  722.     goto L1233;
  723.   goto ret0;
  724.  L1233:
  725.   x3 = XEXP (x2, 1);
  726.   if (x3 == const0_rtx && 1)
  727.     goto L1234;
  728.   goto ret0;
  729.  L1234:
  730.   x2 = XEXP (x1, 1);
  731.   if (GET_CODE (x2) == LABEL_REF && 1)
  732.     goto L1235;
  733.   if (x2 == pc_rtx && 1)
  734.     goto L1325;
  735.   goto ret0;
  736.  L1235:
  737.   x3 = XEXP (x2, 0);
  738.   if (1)
  739.     { recog_operand[0] = x3; goto L1236; }
  740.   goto ret0;
  741.  L1236:
  742.   x2 = XEXP (x1, 2);
  743.   if (x2 == pc_rtx && 1)
  744.     return 296;
  745.   goto ret0;
  746.  L1325:
  747.   x2 = XEXP (x1, 2);
  748.   if (GET_CODE (x2) == LABEL_REF && 1)
  749.     goto L1326;
  750.   goto ret0;
  751.  L1326:
  752.   x3 = XEXP (x2, 0);
  753.   if (1)
  754.     { recog_operand[0] = x3; return 306; }
  755.   goto ret0;
  756.  L1241:
  757.   x3 = XEXP (x2, 0);
  758.   if (x3 == cc0_rtx && 1)
  759.     goto L1242;
  760.   goto ret0;
  761.  L1242:
  762.   x3 = XEXP (x2, 1);
  763.   if (x3 == const0_rtx && 1)
  764.     goto L1243;
  765.   goto ret0;
  766.  L1243:
  767.   x2 = XEXP (x1, 1);
  768.   if (GET_CODE (x2) == LABEL_REF && 1)
  769.     goto L1244;
  770.   if (x2 == pc_rtx && 1)
  771.     goto L1334;
  772.   goto ret0;
  773.  L1244:
  774.   x3 = XEXP (x2, 0);
  775.   if (1)
  776.     { recog_operand[0] = x3; goto L1245; }
  777.   goto ret0;
  778.  L1245:
  779.   x2 = XEXP (x1, 2);
  780.   if (x2 == pc_rtx && 1)
  781.     return 297;
  782.   goto ret0;
  783.  L1334:
  784.   x2 = XEXP (x1, 2);
  785.   if (GET_CODE (x2) == LABEL_REF && 1)
  786.     goto L1335;
  787.   goto ret0;
  788.  L1335:
  789.   x3 = XEXP (x2, 0);
  790.   if (1)
  791.     { recog_operand[0] = x3; return 307; }
  792.   goto ret0;
  793.  L1250:
  794.   x3 = XEXP (x2, 0);
  795.   if (x3 == cc0_rtx && 1)
  796.     goto L1251;
  797.   goto ret0;
  798.  L1251:
  799.   x3 = XEXP (x2, 1);
  800.   if (x3 == const0_rtx && 1)
  801.     goto L1252;
  802.   goto ret0;
  803.  L1252:
  804.   x2 = XEXP (x1, 1);
  805.   if (GET_CODE (x2) == LABEL_REF && 1)
  806.     goto L1253;
  807.   if (x2 == pc_rtx && 1)
  808.     goto L1343;
  809.   goto ret0;
  810.  L1253:
  811.   x3 = XEXP (x2, 0);
  812.   if (1)
  813.     { recog_operand[0] = x3; goto L1254; }
  814.   goto ret0;
  815.  L1254:
  816.   x2 = XEXP (x1, 2);
  817.   if (x2 == pc_rtx && 1)
  818.     return 298;
  819.   goto ret0;
  820.  L1343:
  821.   x2 = XEXP (x1, 2);
  822.   if (GET_CODE (x2) == LABEL_REF && 1)
  823.     goto L1344;
  824.   goto ret0;
  825.  L1344:
  826.   x3 = XEXP (x2, 0);
  827.   if (1)
  828.     { recog_operand[0] = x3; return 308; }
  829.   goto ret0;
  830.  L1259:
  831.   x3 = XEXP (x2, 0);
  832.   if (x3 == cc0_rtx && 1)
  833.     goto L1260;
  834.   goto ret0;
  835.  L1260:
  836.   x3 = XEXP (x2, 1);
  837.   if (x3 == const0_rtx && 1)
  838.     goto L1261;
  839.   goto ret0;
  840.  L1261:
  841.   x2 = XEXP (x1, 1);
  842.   if (GET_CODE (x2) == LABEL_REF && 1)
  843.     goto L1262;
  844.   if (x2 == pc_rtx && 1)
  845.     goto L1352;
  846.   goto ret0;
  847.  L1262:
  848.   x3 = XEXP (x2, 0);
  849.   if (1)
  850.     { recog_operand[0] = x3; goto L1263; }
  851.   goto ret0;
  852.  L1263:
  853.   x2 = XEXP (x1, 2);
  854.   if (x2 == pc_rtx && 1)
  855.     return 299;
  856.   goto ret0;
  857.  L1352:
  858.   x2 = XEXP (x1, 2);
  859.   if (GET_CODE (x2) == LABEL_REF && 1)
  860.     goto L1353;
  861.   goto ret0;
  862.  L1353:
  863.   x3 = XEXP (x2, 0);
  864.   if (1)
  865.     { recog_operand[0] = x3; return 309; }
  866.   goto ret0;
  867.  L1268:
  868.   x3 = XEXP (x2, 0);
  869.   if (x3 == cc0_rtx && 1)
  870.     goto L1269;
  871.   goto ret0;
  872.  L1269:
  873.   x3 = XEXP (x2, 1);
  874.   if (x3 == const0_rtx && 1)
  875.     goto L1270;
  876.   goto ret0;
  877.  L1270:
  878.   x2 = XEXP (x1, 1);
  879.   if (GET_CODE (x2) == LABEL_REF && 1)
  880.     goto L1271;
  881.   if (x2 == pc_rtx && 1)
  882.     goto L1361;
  883.   goto ret0;
  884.  L1271:
  885.   x3 = XEXP (x2, 0);
  886.   if (1)
  887.     { recog_operand[0] = x3; goto L1272; }
  888.   goto ret0;
  889.  L1272:
  890.   x2 = XEXP (x1, 2);
  891.   if (x2 == pc_rtx && 1)
  892.     return 300;
  893.   goto ret0;
  894.  L1361:
  895.   x2 = XEXP (x1, 2);
  896.   if (GET_CODE (x2) == LABEL_REF && 1)
  897.     goto L1362;
  898.   goto ret0;
  899.  L1362:
  900.   x3 = XEXP (x2, 0);
  901.   if (1)
  902.     { recog_operand[0] = x3; return 310; }
  903.   goto ret0;
  904.  ret0: return -1;
  905. }
  906.  
  907. int
  908. recog_3 (x0, insn)
  909.      register rtx x0;
  910.      rtx insn;
  911. {
  912.   register rtx x1, x2, x3, x4, x5;
  913.   rtx x6, x7, x8, x9, x10, x11;
  914.   int tem;
  915.  L163:
  916.   x1 = XEXP (x0, 1);
  917.   if (general_operand (x1, QImode))
  918.     { recog_operand[1] = x1; return 40; }
  919.  L185:
  920.  switch (GET_CODE (x1))
  921.   {
  922.   case TRUNCATE:
  923.   if (GET_MODE (x1) == QImode && 1)
  924.     goto L186;
  925.   break;
  926.   case FIX:
  927.   if (GET_MODE (x1) == QImode && 1)
  928.     goto L342;
  929.   break;
  930.   case PLUS:
  931.   if (GET_MODE (x1) == QImode && 1)
  932.     goto L412;
  933.   break;
  934.   case MINUS:
  935.   if (GET_MODE (x1) == QImode && 1)
  936.     goto L475;
  937.   break;
  938.   case AND:
  939.   if (GET_MODE (x1) == QImode && 1)
  940.     goto L708;
  941.   break;
  942.   case IOR:
  943.   if (GET_MODE (x1) == QImode && 1)
  944.     goto L735;
  945.   break;
  946.   case XOR:
  947.   if (GET_MODE (x1) == QImode && 1)
  948.     goto L750;
  949.   break;
  950.   case NEG:
  951.   if (GET_MODE (x1) == QImode && 1)
  952.     goto L763;
  953.   break;
  954.   case NOT:
  955.   if (GET_MODE (x1) == QImode && 1)
  956.     goto L875;
  957.   break;
  958.   case ASHIFT:
  959.   if (GET_MODE (x1) == QImode && 1)
  960.     goto L927;
  961.   break;
  962.   case ASHIFTRT:
  963.   if (GET_MODE (x1) == QImode && 1)
  964.     goto L942;
  965.   break;
  966.   case LSHIFT:
  967.   if (GET_MODE (x1) == QImode && 1)
  968.     goto L957;
  969.   break;
  970.   case LSHIFTRT:
  971.   if (GET_MODE (x1) == QImode && 1)
  972.     goto L972;
  973.   break;
  974.   case ROTATE:
  975.   if (GET_MODE (x1) == QImode && 1)
  976.     goto L987;
  977.   break;
  978.   case ROTATERT:
  979.   if (GET_MODE (x1) == QImode && 1)
  980.     goto L1002;
  981.   break;
  982.   case EQ:
  983.   if (1)
  984.     goto L1136;
  985.   break;
  986.   case NE:
  987.   if (1)
  988.     goto L1141;
  989.   break;
  990.   case GT:
  991.   if (1)
  992.     goto L1146;
  993.   break;
  994.   case GTU:
  995.   if (1)
  996.     goto L1151;
  997.   break;
  998.   case LT:
  999.   if (1)
  1000.     goto L1156;
  1001.   break;
  1002.   case LTU:
  1003.   if (1)
  1004.     goto L1161;
  1005.   break;
  1006.   case GE:
  1007.   if (1)
  1008.     goto L1166;
  1009.   break;
  1010.   case GEU:
  1011.   if (1)
  1012.     goto L1171;
  1013.   break;
  1014.   case LE:
  1015.   if (1)
  1016.     goto L1176;
  1017.   break;
  1018.   case LEU:
  1019.   if (1)
  1020.     goto L1181;
  1021.   break;
  1022.   }
  1023.   goto ret0;
  1024.  L186:
  1025.   x2 = XEXP (x1, 0);
  1026.   if (general_operand (x2, SImode))
  1027.     { recog_operand[1] = x2; return 47; }
  1028.  L190:
  1029.   if (general_operand (x2, HImode))
  1030.     { recog_operand[1] = x2; return 48; }
  1031.   goto ret0;
  1032.  L342:
  1033.   x2 = XEXP (x1, 0);
  1034.   if (general_operand (x2, SFmode))
  1035.     { recog_operand[1] = x2; if (TARGET_68881) return 101; }
  1036.  L354:
  1037.   if (general_operand (x2, DFmode))
  1038.     { recog_operand[1] = x2; if (TARGET_68881) return 104; }
  1039.  L366:
  1040.   if (general_operand (x2, XFmode))
  1041.     { recog_operand[1] = x2; if (TARGET_68881) return 107; }
  1042.   goto ret0;
  1043.  L412:
  1044.   x2 = XEXP (x1, 0);
  1045.   if (general_operand (x2, QImode))
  1046.     { recog_operand[1] = x2; goto L413; }
  1047.   goto ret0;
  1048.  L413:
  1049.   x2 = XEXP (x1, 1);
  1050.   if (general_operand (x2, QImode))
  1051.     { recog_operand[2] = x2; return 119; }
  1052.   goto ret0;
  1053.  L475:
  1054.   x2 = XEXP (x1, 0);
  1055.   if (general_operand (x2, QImode))
  1056.     { recog_operand[1] = x2; goto L476; }
  1057.   goto ret0;
  1058.  L476:
  1059.   x2 = XEXP (x1, 1);
  1060.   if (general_operand (x2, QImode))
  1061.     { recog_operand[2] = x2; return 134; }
  1062.   goto ret0;
  1063.  L708:
  1064.   x2 = XEXP (x1, 0);
  1065.   if (general_operand (x2, QImode))
  1066.     { recog_operand[1] = x2; goto L709; }
  1067.   goto ret0;
  1068.  L709:
  1069.   x2 = XEXP (x1, 1);
  1070.   if (general_operand (x2, QImode))
  1071.     { recog_operand[2] = x2; return 191; }
  1072.   goto ret0;
  1073.  L735:
  1074.   x2 = XEXP (x1, 0);
  1075.   if (general_operand (x2, QImode))
  1076.     { recog_operand[1] = x2; goto L736; }
  1077.   goto ret0;
  1078.  L736:
  1079.   x2 = XEXP (x1, 1);
  1080.   if (general_operand (x2, QImode))
  1081.     { recog_operand[2] = x2; return 196; }
  1082.   goto ret0;
  1083.  L750:
  1084.   x2 = XEXP (x1, 0);
  1085.   if (general_operand (x2, QImode))
  1086.     { recog_operand[1] = x2; goto L751; }
  1087.   goto ret0;
  1088.  L751:
  1089.   x2 = XEXP (x1, 1);
  1090.   if (general_operand (x2, QImode))
  1091.     { recog_operand[2] = x2; return 199; }
  1092.   goto ret0;
  1093.  L763:
  1094.   x2 = XEXP (x1, 0);
  1095.   if (general_operand (x2, QImode))
  1096.     { recog_operand[1] = x2; return 202; }
  1097.   goto ret0;
  1098.  L875:
  1099.   x2 = XEXP (x1, 0);
  1100.   if (general_operand (x2, QImode))
  1101.     { recog_operand[1] = x2; return 236; }
  1102.   goto ret0;
  1103.  L927:
  1104.   x2 = XEXP (x1, 0);
  1105.   if (general_operand (x2, QImode))
  1106.     { recog_operand[1] = x2; goto L928; }
  1107.   goto ret0;
  1108.  L928:
  1109.   x2 = XEXP (x1, 1);
  1110.   if (general_operand (x2, QImode))
  1111.     { recog_operand[2] = x2; return 245; }
  1112.   goto ret0;
  1113.  L942:
  1114.   x2 = XEXP (x1, 0);
  1115.   if (general_operand (x2, QImode))
  1116.     { recog_operand[1] = x2; goto L943; }
  1117.   goto ret0;
  1118.  L943:
  1119.   x2 = XEXP (x1, 1);
  1120.   if (general_operand (x2, QImode))
  1121.     { recog_operand[2] = x2; return 248; }
  1122.   goto ret0;
  1123.  L957:
  1124.   x2 = XEXP (x1, 0);
  1125.   if (general_operand (x2, QImode))
  1126.     { recog_operand[1] = x2; goto L958; }
  1127.   goto ret0;
  1128.  L958:
  1129.   x2 = XEXP (x1, 1);
  1130.   if (general_operand (x2, QImode))
  1131.     { recog_operand[2] = x2; return 251; }
  1132.   goto ret0;
  1133.  L972:
  1134.   x2 = XEXP (x1, 0);
  1135.   if (general_operand (x2, QImode))
  1136.     { recog_operand[1] = x2; goto L973; }
  1137.   goto ret0;
  1138.  L973:
  1139.   x2 = XEXP (x1, 1);
  1140.   if (general_operand (x2, QImode))
  1141.     { recog_operand[2] = x2; return 254; }
  1142.   goto ret0;
  1143.  L987:
  1144.   x2 = XEXP (x1, 0);
  1145.   if (general_operand (x2, QImode))
  1146.     { recog_operand[1] = x2; goto L988; }
  1147.   goto ret0;
  1148.  L988:
  1149.   x2 = XEXP (x1, 1);
  1150.   if (general_operand (x2, QImode))
  1151.     { recog_operand[2] = x2; return 257; }
  1152.   goto ret0;
  1153.  L1002:
  1154.   x2 = XEXP (x1, 0);
  1155.   if (general_operand (x2, QImode))
  1156.     { recog_operand[1] = x2; goto L1003; }
  1157.   goto ret0;
  1158.  L1003:
  1159.   x2 = XEXP (x1, 1);
  1160.   if (general_operand (x2, QImode))
  1161.     { recog_operand[2] = x2; return 260; }
  1162.   goto ret0;
  1163.  L1136:
  1164.   x2 = XEXP (x1, 0);
  1165.   if (x2 == cc0_rtx && 1)
  1166.     goto L1137;
  1167.   goto ret0;
  1168.  L1137:
  1169.   x2 = XEXP (x1, 1);
  1170.   if (x2 == const0_rtx && 1)
  1171.     return 281;
  1172.   goto ret0;
  1173.  L1141:
  1174.   x2 = XEXP (x1, 0);
  1175.   if (x2 == cc0_rtx && 1)
  1176.     goto L1142;
  1177.   goto ret0;
  1178.  L1142:
  1179.   x2 = XEXP (x1, 1);
  1180.   if (x2 == const0_rtx && 1)
  1181.     return 282;
  1182.   goto ret0;
  1183.  L1146:
  1184.   x2 = XEXP (x1, 0);
  1185.   if (x2 == cc0_rtx && 1)
  1186.     goto L1147;
  1187.   goto ret0;
  1188.  L1147:
  1189.   x2 = XEXP (x1, 1);
  1190.   if (x2 == const0_rtx && 1)
  1191.     return 283;
  1192.   goto ret0;
  1193.  L1151:
  1194.   x2 = XEXP (x1, 0);
  1195.   if (x2 == cc0_rtx && 1)
  1196.     goto L1152;
  1197.   goto ret0;
  1198.  L1152:
  1199.   x2 = XEXP (x1, 1);
  1200.   if (x2 == const0_rtx && 1)
  1201.     return 284;
  1202.   goto ret0;
  1203.  L1156:
  1204.   x2 = XEXP (x1, 0);
  1205.   if (x2 == cc0_rtx && 1)
  1206.     goto L1157;
  1207.   goto ret0;
  1208.  L1157:
  1209.   x2 = XEXP (x1, 1);
  1210.   if (x2 == const0_rtx && 1)
  1211.     return 285;
  1212.   goto ret0;
  1213.  L1161:
  1214.   x2 = XEXP (x1, 0);
  1215.   if (x2 == cc0_rtx && 1)
  1216.     goto L1162;
  1217.   goto ret0;
  1218.  L1162:
  1219.   x2 = XEXP (x1, 1);
  1220.   if (x2 == const0_rtx && 1)
  1221.     return 286;
  1222.   goto ret0;
  1223.  L1166:
  1224.   x2 = XEXP (x1, 0);
  1225.   if (x2 == cc0_rtx && 1)
  1226.     goto L1167;
  1227.   goto ret0;
  1228.  L1167:
  1229.   x2 = XEXP (x1, 1);
  1230.   if (x2 == const0_rtx && 1)
  1231.     return 287;
  1232.   goto ret0;
  1233.  L1171:
  1234.   x2 = XEXP (x1, 0);
  1235.   if (x2 == cc0_rtx && 1)
  1236.     goto L1172;
  1237.   goto ret0;
  1238.  L1172:
  1239.   x2 = XEXP (x1, 1);
  1240.   if (x2 == const0_rtx && 1)
  1241.     return 288;
  1242.   goto ret0;
  1243.  L1176:
  1244.   x2 = XEXP (x1, 0);
  1245.   if (x2 == cc0_rtx && 1)
  1246.     goto L1177;
  1247.   goto ret0;
  1248.  L1177:
  1249.   x2 = XEXP (x1, 1);
  1250.   if (x2 == const0_rtx && 1)
  1251.     return 289;
  1252.   goto ret0;
  1253.  L1181:
  1254.   x2 = XEXP (x1, 0);
  1255.   if (x2 == cc0_rtx && 1)
  1256.     goto L1182;
  1257.   goto ret0;
  1258.  L1182:
  1259.   x2 = XEXP (x1, 1);
  1260.   if (x2 == const0_rtx && 1)
  1261.     return 290;
  1262.   goto ret0;
  1263.  ret0: return -1;
  1264. }
  1265.  
  1266. int
  1267. recog_4 (x0, insn)
  1268.      register rtx x0;
  1269.      rtx insn;
  1270. {
  1271.   register rtx x1, x2, x3, x4, x5;
  1272.   rtx x6, x7, x8, x9, x10, x11;
  1273.   int tem;
  1274.  L156:
  1275.   x1 = XEXP (x0, 1);
  1276.   if (general_operand (x1, HImode))
  1277.     { recog_operand[1] = x1; return 38; }
  1278.  L193:
  1279.   if (GET_MODE (x1) != HImode)
  1280.     goto ret0;
  1281.  switch (GET_CODE (x1))
  1282.   {
  1283.   case TRUNCATE:
  1284.   if (1)
  1285.     goto L194;
  1286.   break;
  1287.   case ZERO_EXTEND:
  1288.   if (1)
  1289.     goto L202;
  1290.   break;
  1291.   case SIGN_EXTEND:
  1292.   if (1)
  1293.     goto L214;
  1294.   break;
  1295.   case FIX:
  1296.   if (1)
  1297.     goto L346;
  1298.   break;
  1299.   case PLUS:
  1300.   if (1)
  1301.     goto L401;
  1302.   break;
  1303.   case MINUS:
  1304.   if (1)
  1305.     goto L464;
  1306.   break;
  1307.   case MULT:
  1308.   if (1)
  1309.     goto L516;
  1310.   break;
  1311.   case UMULT:
  1312.   if (1)
  1313.     goto L536;
  1314.   break;
  1315.   case DIV:
  1316.   if (1)
  1317.     goto L586;
  1318.   break;
  1319.   case UDIV:
  1320.   if (1)
  1321.     goto L606;
  1322.   break;
  1323.   case MOD:
  1324.   if (1)
  1325.     goto L656;
  1326.   break;
  1327.   case UMOD:
  1328.   if (1)
  1329.     goto L666;
  1330.   break;
  1331.   case AND:
  1332.   if (1)
  1333.     goto L703;
  1334.   break;
  1335.   case IOR:
  1336.   if (1)
  1337.     goto L730;
  1338.   break;
  1339.   case XOR:
  1340.   if (1)
  1341.     goto L745;
  1342.   break;
  1343.   case NEG:
  1344.   if (1)
  1345.     goto L759;
  1346.   break;
  1347.   case NOT:
  1348.   if (1)
  1349.     goto L871;
  1350.   break;
  1351.   case ASHIFT:
  1352.   if (1)
  1353.     goto L922;
  1354.   break;
  1355.   case ASHIFTRT:
  1356.   if (1)
  1357.     goto L937;
  1358.   break;
  1359.   case LSHIFT:
  1360.   if (1)
  1361.     goto L952;
  1362.   break;
  1363.   case LSHIFTRT:
  1364.   if (1)
  1365.     goto L967;
  1366.   break;
  1367.   case ROTATE:
  1368.   if (1)
  1369.     goto L982;
  1370.   break;
  1371.   case ROTATERT:
  1372.   if (1)
  1373.     goto L997;
  1374.   break;
  1375.   }
  1376.   goto ret0;
  1377.  L194:
  1378.   x2 = XEXP (x1, 0);
  1379.   if (general_operand (x2, SImode))
  1380.     { recog_operand[1] = x2; return 49; }
  1381.   goto ret0;
  1382.  L202:
  1383.   x2 = XEXP (x1, 0);
  1384.   if (general_operand (x2, QImode))
  1385.     { recog_operand[1] = x2; return 54; }
  1386.   goto ret0;
  1387.  L214:
  1388.   x2 = XEXP (x1, 0);
  1389.   if (general_operand (x2, QImode))
  1390.     { recog_operand[1] = x2; return 57; }
  1391.   goto ret0;
  1392.  L346:
  1393.   x2 = XEXP (x1, 0);
  1394.   if (general_operand (x2, SFmode))
  1395.     { recog_operand[1] = x2; if (TARGET_68881) return 102; }
  1396.  L358:
  1397.   if (general_operand (x2, DFmode))
  1398.     { recog_operand[1] = x2; if (TARGET_68881) return 105; }
  1399.  L370:
  1400.   if (general_operand (x2, XFmode))
  1401.     { recog_operand[1] = x2; if (TARGET_68881) return 108; }
  1402.   goto ret0;
  1403.  L401:
  1404.   x2 = XEXP (x1, 0);
  1405.   if (general_operand (x2, HImode))
  1406.     { recog_operand[1] = x2; goto L402; }
  1407.   goto ret0;
  1408.  L402:
  1409.   x2 = XEXP (x1, 1);
  1410.   if (general_operand (x2, HImode))
  1411.     { recog_operand[2] = x2; return 117; }
  1412.   goto ret0;
  1413.  L464:
  1414.   x2 = XEXP (x1, 0);
  1415.   if (general_operand (x2, HImode))
  1416.     { recog_operand[1] = x2; goto L465; }
  1417.   goto ret0;
  1418.  L465:
  1419.   x2 = XEXP (x1, 1);
  1420.   if (general_operand (x2, HImode))
  1421.     { recog_operand[2] = x2; return 132; }
  1422.   goto ret0;
  1423.  L516:
  1424.   x2 = XEXP (x1, 0);
  1425.   if (general_operand (x2, HImode))
  1426.     { recog_operand[1] = x2; goto L517; }
  1427.   goto ret0;
  1428.  L517:
  1429.   x2 = XEXP (x1, 1);
  1430.   if (general_operand (x2, HImode))
  1431.     { recog_operand[2] = x2; return 145; }
  1432.   goto ret0;
  1433.  L536:
  1434.   x2 = XEXP (x1, 0);
  1435.   if (general_operand (x2, HImode))
  1436.     { recog_operand[1] = x2; goto L537; }
  1437.   goto ret0;
  1438.  L537:
  1439.   x2 = XEXP (x1, 1);
  1440.   if (general_operand (x2, HImode))
  1441.     { recog_operand[2] = x2; return 150; }
  1442.   goto ret0;
  1443.  L586:
  1444.   x2 = XEXP (x1, 0);
  1445.   if (general_operand (x2, HImode))
  1446.     { recog_operand[1] = x2; goto L587; }
  1447.  L591:
  1448.   if (general_operand (x2, SImode))
  1449.     { recog_operand[1] = x2; goto L592; }
  1450.   goto ret0;
  1451.  L587:
  1452.   x2 = XEXP (x1, 1);
  1453.   if (general_operand (x2, HImode))
  1454.     { recog_operand[2] = x2; return 164; }
  1455.   x2 = XEXP (x1, 0);
  1456.   goto L591;
  1457.  L592:
  1458.   x2 = XEXP (x1, 1);
  1459.   if (general_operand (x2, HImode))
  1460.     { recog_operand[2] = x2; return 165; }
  1461.   goto ret0;
  1462.  L606:
  1463.   x2 = XEXP (x1, 0);
  1464.   if (general_operand (x2, HImode))
  1465.     { recog_operand[1] = x2; goto L607; }
  1466.  L611:
  1467.   if (general_operand (x2, SImode))
  1468.     { recog_operand[1] = x2; goto L612; }
  1469.   goto ret0;
  1470.  L607:
  1471.   x2 = XEXP (x1, 1);
  1472.   if (general_operand (x2, HImode))
  1473.     { recog_operand[2] = x2; return 169; }
  1474.   x2 = XEXP (x1, 0);
  1475.   goto L611;
  1476.  L612:
  1477.   x2 = XEXP (x1, 1);
  1478.   if (general_operand (x2, HImode))
  1479.     { recog_operand[2] = x2; return 170; }
  1480.   goto ret0;
  1481.  L656:
  1482.   x2 = XEXP (x1, 0);
  1483.   if (general_operand (x2, HImode))
  1484.     { recog_operand[1] = x2; goto L657; }
  1485.  L661:
  1486.   if (general_operand (x2, SImode))
  1487.     { recog_operand[1] = x2; goto L662; }
  1488.   goto ret0;
  1489.  L657:
  1490.   x2 = XEXP (x1, 1);
  1491.   if (general_operand (x2, HImode))
  1492.     { recog_operand[2] = x2; return 183; }
  1493.   x2 = XEXP (x1, 0);
  1494.   goto L661;
  1495.  L662:
  1496.   x2 = XEXP (x1, 1);
  1497.   if (general_operand (x2, HImode))
  1498.     { recog_operand[2] = x2; return 184; }
  1499.   goto ret0;
  1500.  L666:
  1501.   x2 = XEXP (x1, 0);
  1502.   if (general_operand (x2, HImode))
  1503.     { recog_operand[1] = x2; goto L667; }
  1504.  L671:
  1505.   if (general_operand (x2, SImode))
  1506.     { recog_operand[1] = x2; goto L672; }
  1507.   goto ret0;
  1508.  L667:
  1509.   x2 = XEXP (x1, 1);
  1510.   if (general_operand (x2, HImode))
  1511.     { recog_operand[2] = x2; return 185; }
  1512.   x2 = XEXP (x1, 0);
  1513.   goto L671;
  1514.  L672:
  1515.   x2 = XEXP (x1, 1);
  1516.   if (general_operand (x2, HImode))
  1517.     { recog_operand[2] = x2; return 186; }
  1518.   goto ret0;
  1519.  L703:
  1520.   x2 = XEXP (x1, 0);
  1521.   if (general_operand (x2, HImode))
  1522.     { recog_operand[1] = x2; goto L704; }
  1523.   goto ret0;
  1524.  L704:
  1525.   x2 = XEXP (x1, 1);
  1526.   if (general_operand (x2, HImode))
  1527.     { recog_operand[2] = x2; return 190; }
  1528.   goto ret0;
  1529.  L730:
  1530.   x2 = XEXP (x1, 0);
  1531.   if (general_operand (x2, HImode))
  1532.     { recog_operand[1] = x2; goto L731; }
  1533.   goto ret0;
  1534.  L731:
  1535.   x2 = XEXP (x1, 1);
  1536.   if (general_operand (x2, HImode))
  1537.     { recog_operand[2] = x2; return 195; }
  1538.   goto ret0;
  1539.  L745:
  1540.   x2 = XEXP (x1, 0);
  1541.   if (general_operand (x2, HImode))
  1542.     { recog_operand[1] = x2; goto L746; }
  1543.   goto ret0;
  1544.  L746:
  1545.   x2 = XEXP (x1, 1);
  1546.   if (general_operand (x2, HImode))
  1547.     { recog_operand[2] = x2; return 198; }
  1548.   goto ret0;
  1549.  L759:
  1550.   x2 = XEXP (x1, 0);
  1551.   if (general_operand (x2, HImode))
  1552.     { recog_operand[1] = x2; return 201; }
  1553.   goto ret0;
  1554.  L871:
  1555.   x2 = XEXP (x1, 0);
  1556.   if (general_operand (x2, HImode))
  1557.     { recog_operand[1] = x2; return 235; }
  1558.   goto ret0;
  1559.  L922:
  1560.   x2 = XEXP (x1, 0);
  1561.   if (general_operand (x2, HImode))
  1562.     { recog_operand[1] = x2; goto L923; }
  1563.   goto ret0;
  1564.  L923:
  1565.   x2 = XEXP (x1, 1);
  1566.   if (general_operand (x2, HImode))
  1567.     { recog_operand[2] = x2; return 244; }
  1568.   goto ret0;
  1569.  L937:
  1570.   x2 = XEXP (x1, 0);
  1571.   if (general_operand (x2, HImode))
  1572.     { recog_operand[1] = x2; goto L938; }
  1573.   goto ret0;
  1574.  L938:
  1575.   x2 = XEXP (x1, 1);
  1576.   if (general_operand (x2, HImode))
  1577.     { recog_operand[2] = x2; return 247; }
  1578.   goto ret0;
  1579.  L952:
  1580.   x2 = XEXP (x1, 0);
  1581.   if (general_operand (x2, HImode))
  1582.     { recog_operand[1] = x2; goto L953; }
  1583.   goto ret0;
  1584.  L953:
  1585.   x2 = XEXP (x1, 1);
  1586.   if (general_operand (x2, HImode))
  1587.     { recog_operand[2] = x2; return 250; }
  1588.   goto ret0;
  1589.  L967:
  1590.   x2 = XEXP (x1, 0);
  1591.   if (general_operand (x2, HImode))
  1592.     { recog_operand[1] = x2; goto L968; }
  1593.   goto ret0;
  1594.  L968:
  1595.   x2 = XEXP (x1, 1);
  1596.   if (general_operand (x2, HImode))
  1597.     { recog_operand[2] = x2; return 253; }
  1598.   goto ret0;
  1599.  L982:
  1600.   x2 = XEXP (x1, 0);
  1601.   if (general_operand (x2, HImode))
  1602.     { recog_operand[1] = x2; goto L983; }
  1603.   goto ret0;
  1604.  L983:
  1605.   x2 = XEXP (x1, 1);
  1606.   if (general_operand (x2, HImode))
  1607.     { recog_operand[2] = x2; return 256; }
  1608.   goto ret0;
  1609.  L997:
  1610.   x2 = XEXP (x1, 0);
  1611.   if (general_operand (x2, HImode))
  1612.     { recog_operand[1] = x2; goto L998; }
  1613.   goto ret0;
  1614.  L998:
  1615.   x2 = XEXP (x1, 1);
  1616.   if (general_operand (x2, HImode))
  1617.     { recog_operand[2] = x2; return 259; }
  1618.   goto ret0;
  1619.  ret0: return -1;
  1620. }
  1621.  
  1622. int
  1623. recog_5 (x0, insn)
  1624.      register rtx x0;
  1625.      rtx insn;
  1626. {
  1627.   register rtx x1, x2, x3, x4, x5;
  1628.   rtx x6, x7, x8, x9, x10, x11;
  1629.   int tem;
  1630.  L197:
  1631.   x1 = XEXP (x0, 1);
  1632.   if (GET_MODE (x1) != SImode)
  1633.     goto ret0;
  1634.  switch (GET_CODE (x1))
  1635.   {
  1636.   case ZERO_EXTEND:
  1637.   if (1)
  1638.     goto L198;
  1639.   break;
  1640.   case SIGN_EXTEND:
  1641.   if (1)
  1642.     goto L210;
  1643.   break;
  1644.   case FIX:
  1645.   if (1)
  1646.     goto L350;
  1647.   break;
  1648.   case UNSIGNED_FIX:
  1649.   if (1)
  1650.     goto L382;
  1651.   break;
  1652.   case PLUS:
  1653.   if (1)
  1654.     goto L390;
  1655.   break;
  1656.   case MINUS:
  1657.   if (1)
  1658.     goto L453;
  1659.   break;
  1660.   case MULT:
  1661.   if (1)
  1662.     goto L521;
  1663.   break;
  1664.   case UMULT:
  1665.   if (1)
  1666.     goto L541;
  1667.   break;
  1668.   case DIV:
  1669.   if (1)
  1670.     goto L596;
  1671.   break;
  1672.   case UDIV:
  1673.   if (1)
  1674.     goto L616;
  1675.   break;
  1676.   case AND:
  1677.   if (1)
  1678.     goto L698;
  1679.   break;
  1680.   case IOR:
  1681.   if (1)
  1682.     goto L725;
  1683.   break;
  1684.   case XOR:
  1685.   if (1)
  1686.     goto L740;
  1687.   break;
  1688.   case NEG:
  1689.   if (1)
  1690.     goto L755;
  1691.   break;
  1692.   case NOT:
  1693.   if (1)
  1694.     goto L867;
  1695.   break;
  1696.   case ASHIFTRT:
  1697.   if (1)
  1698.     goto L879;
  1699.   break;
  1700.   case LSHIFTRT:
  1701.   if (1)
  1702.     goto L884;
  1703.   break;
  1704.   case ASHIFT:
  1705.   if (1)
  1706.     goto L917;
  1707.   break;
  1708.   case LSHIFT:
  1709.   if (1)
  1710.     goto L947;
  1711.   break;
  1712.   case ROTATE:
  1713.   if (1)
  1714.     goto L977;
  1715.   break;
  1716.   case ROTATERT:
  1717.   if (1)
  1718.     goto L992;
  1719.   break;
  1720.   }
  1721.   goto ret0;
  1722.  L198:
  1723.   x2 = XEXP (x1, 0);
  1724.   if (general_operand (x2, HImode))
  1725.     { recog_operand[1] = x2; return 53; }
  1726.  L206:
  1727.   if (general_operand (x2, QImode))
  1728.     { recog_operand[1] = x2; return 55; }
  1729.   goto ret0;
  1730.  L210:
  1731.   x2 = XEXP (x1, 0);
  1732.   if (general_operand (x2, HImode))
  1733.     { recog_operand[1] = x2; return 56; }
  1734.  L218:
  1735.   if (general_operand (x2, QImode))
  1736.     { recog_operand[1] = x2; if (TARGET_68020) return 58; }
  1737.   goto ret0;
  1738.  L350:
  1739.   x2 = XEXP (x1, 0);
  1740.   if (general_operand (x2, SFmode))
  1741.     { recog_operand[1] = x2; if (TARGET_68881) return 103; }
  1742.  L362:
  1743.   if (general_operand (x2, DFmode))
  1744.     { recog_operand[1] = x2; if (TARGET_68881) return 106; }
  1745.  L374:
  1746.   if (general_operand (x2, XFmode))
  1747.     { recog_operand[1] = x2; if (TARGET_SANE) return 110; }
  1748.  L378:
  1749.   if (general_operand (x2, XFmode))
  1750.     { recog_operand[1] = x2; if (TARGET_68881) return 111; }
  1751.   goto ret0;
  1752.  L382:
  1753.   x2 = XEXP (x1, 0);
  1754.   if (general_operand (x2, XFmode))
  1755.     { recog_operand[1] = x2; if (TARGET_SANE) return 113; }
  1756.  L386:
  1757.   if (general_operand (x2, XFmode))
  1758.     { recog_operand[1] = x2; if (TARGET_68881) return 114; }
  1759.   goto ret0;
  1760.  L390:
  1761.   x2 = XEXP (x1, 0);
  1762.   if (general_operand (x2, SImode))
  1763.     { recog_operand[1] = x2; goto L391; }
  1764.   goto ret0;
  1765.  L391:
  1766.   x2 = XEXP (x1, 1);
  1767.   if (general_operand (x2, SImode))
  1768.     { recog_operand[2] = x2; return 115; }
  1769.  L396:
  1770.   if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
  1771.     goto L397;
  1772.   goto ret0;
  1773.  L397:
  1774.   x3 = XEXP (x2, 0);
  1775.   if (general_operand (x3, HImode))
  1776.     { recog_operand[2] = x3; return 116; }
  1777.   goto ret0;
  1778.  L453:
  1779.   x2 = XEXP (x1, 0);
  1780.   if (general_operand (x2, SImode))
  1781.     { recog_operand[1] = x2; goto L454; }
  1782.   goto ret0;
  1783.  L454:
  1784.   x2 = XEXP (x1, 1);
  1785.   if (general_operand (x2, SImode))
  1786.     { recog_operand[2] = x2; return 130; }
  1787.  L459:
  1788.   if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
  1789.     goto L460;
  1790.   goto ret0;
  1791.  L460:
  1792.   x3 = XEXP (x2, 0);
  1793.   if (general_operand (x3, HImode))
  1794.     { recog_operand[2] = x3; return 131; }
  1795.   goto ret0;
  1796.  L521:
  1797.   x2 = XEXP (x1, 0);
  1798.   if (general_operand (x2, HImode))
  1799.     { recog_operand[1] = x2; goto L522; }
  1800.  L526:
  1801.   if (general_operand (x2, SImode))
  1802.     { recog_operand[1] = x2; goto L527; }
  1803.   goto ret0;
  1804.  L522:
  1805.   x2 = XEXP (x1, 1);
  1806.   if (general_operand (x2, HImode))
  1807.     { recog_operand[2] = x2; return 146; }
  1808.   x2 = XEXP (x1, 0);
  1809.   goto L526;
  1810.  L527:
  1811.   x2 = XEXP (x1, 1);
  1812.   if (general_operand (x2, SImode))
  1813.     { recog_operand[2] = x2; if (TARGET_68020) return 148; }
  1814.  L532:
  1815.   if (general_operand (x2, SImode))
  1816.     { recog_operand[2] = x2; if (TARGET_INTLIB) return 149; }
  1817.   goto ret0;
  1818.  L541:
  1819.   x2 = XEXP (x1, 0);
  1820.   if (general_operand (x2, HImode))
  1821.     { recog_operand[1] = x2; goto L542; }
  1822.  L546:
  1823.   if (general_operand (x2, SImode))
  1824.     { recog_operand[1] = x2; goto L547; }
  1825.   goto ret0;
  1826.  L542:
  1827.   x2 = XEXP (x1, 1);
  1828.   if (general_operand (x2, HImode))
  1829.     { recog_operand[2] = x2; return 151; }
  1830.   x2 = XEXP (x1, 0);
  1831.   goto L546;
  1832.  L547:
  1833.   x2 = XEXP (x1, 1);
  1834.   if (general_operand (x2, SImode))
  1835.     { recog_operand[2] = x2; if (TARGET_68020) return 153; }
  1836.  L552:
  1837.   if (general_operand (x2, SImode))
  1838.     { recog_operand[2] = x2; if (TARGET_INTLIB) return 154; }
  1839.   goto ret0;
  1840.  L596:
  1841.   x2 = XEXP (x1, 0);
  1842.   if (general_operand (x2, SImode))
  1843.     { recog_operand[1] = x2; goto L597; }
  1844.   goto ret0;
  1845.  L597:
  1846.   x2 = XEXP (x1, 1);
  1847.   if (general_operand (x2, SImode))
  1848.     { recog_operand[2] = x2; if (TARGET_68020) return 167; }
  1849.  L602:
  1850.   if (general_operand (x2, SImode))
  1851.     { recog_operand[2] = x2; if (TARGET_INTLIB) return 168; }
  1852.   goto ret0;
  1853.  L616:
  1854.   x2 = XEXP (x1, 0);
  1855.   if (general_operand (x2, SImode))
  1856.     { recog_operand[1] = x2; goto L617; }
  1857.   goto ret0;
  1858.  L617:
  1859.   x2 = XEXP (x1, 1);
  1860.   if (general_operand (x2, SImode))
  1861.     { recog_operand[2] = x2; if (TARGET_68020) return 172; }
  1862.  L622:
  1863.   if (general_operand (x2, SImode))
  1864.     { recog_operand[2] = x2; if (TARGET_INTLIB) return 173; }
  1865.   goto ret0;
  1866.  L698:
  1867.   x2 = XEXP (x1, 0);
  1868.   if (general_operand (x2, SImode))
  1869.     { recog_operand[1] = x2; goto L699; }
  1870.  L713:
  1871.   if (GET_CODE (x2) == ZERO_EXTEND && GET_MODE (x2) == SImode && 1)
  1872.     goto L714;
  1873.   goto ret0;
  1874.  L699:
  1875.   x2 = XEXP (x1, 1);
  1876.   if (general_operand (x2, SImode))
  1877.     { recog_operand[2] = x2; return 189; }
  1878.   x2 = XEXP (x1, 0);
  1879.   goto L713;
  1880.  L714:
  1881.   x3 = XEXP (x2, 0);
  1882.   if (general_operand (x3, HImode))
  1883.     { recog_operand[1] = x3; goto L715; }
  1884.  L720:
  1885.   if (general_operand (x3, QImode))
  1886.     { recog_operand[1] = x3; goto L721; }
  1887.   goto ret0;
  1888.  L715:
  1889.   x2 = XEXP (x1, 1);
  1890.   if (general_operand (x2, SImode))
  1891.     { recog_operand[2] = x2; if (GET_CODE (operands[2]) == CONST_INT
  1892.    && (unsigned int) INTVAL (operands[2]) < (1 << GET_MODE_BITSIZE (HImode))) return 192; }
  1893.   x2 = XEXP (x1, 0);
  1894.   x3 = XEXP (x2, 0);
  1895.   goto L720;
  1896.  L721:
  1897.   x2 = XEXP (x1, 1);
  1898.   if (general_operand (x2, SImode))
  1899.     { recog_operand[2] = x2; if (GET_CODE (operands[2]) == CONST_INT
  1900.    && (unsigned int) INTVAL (operands[2]) < (1 << GET_MODE_BITSIZE (QImode))) return 193; }
  1901.   goto ret0;
  1902.  L725:
  1903.   x2 = XEXP (x1, 0);
  1904.   if (general_operand (x2, SImode))
  1905.     { recog_operand[1] = x2; goto L726; }
  1906.   goto ret0;
  1907.  L726:
  1908.   x2 = XEXP (x1, 1);
  1909.   if (general_operand (x2, SImode))
  1910.     { recog_operand[2] = x2; return 194; }
  1911.   goto ret0;
  1912.  L740:
  1913.   x2 = XEXP (x1, 0);
  1914.   if (general_operand (x2, SImode))
  1915.     { recog_operand[1] = x2; goto L741; }
  1916.   goto ret0;
  1917.  L741:
  1918.   x2 = XEXP (x1, 1);
  1919.   if (general_operand (x2, SImode))
  1920.     { recog_operand[2] = x2; return 197; }
  1921.   goto ret0;
  1922.  L755:
  1923.   x2 = XEXP (x1, 0);
  1924.   if (general_operand (x2, SImode))
  1925.     { recog_operand[1] = x2; return 200; }
  1926.   goto ret0;
  1927.  L867:
  1928.   x2 = XEXP (x1, 0);
  1929.   if (general_operand (x2, SImode))
  1930.     { recog_operand[1] = x2; return 234; }
  1931.   goto ret0;
  1932.  L879:
  1933.   x2 = XEXP (x1, 0);
  1934.   if (memory_operand (x2, SImode))
  1935.     { recog_operand[1] = x2; goto L880; }
  1936.  L932:
  1937.   if (general_operand (x2, SImode))
  1938.     { recog_operand[1] = x2; goto L933; }
  1939.   goto ret0;
  1940.  L880:
  1941.   x2 = XEXP (x1, 1);
  1942.   if (GET_CODE (x2) == CONST_INT && XINT (x2, 0) == 24 && 1)
  1943.     if (GET_CODE (XEXP (operands[1], 0)) != POST_INC
  1944.    && GET_CODE (XEXP (operands[1], 0)) != PRE_DEC) return 237;
  1945.   x2 = XEXP (x1, 0);
  1946.   goto L932;
  1947.  L933:
  1948.   x2 = XEXP (x1, 1);
  1949.   if (general_operand (x2, SImode))
  1950.     { recog_operand[2] = x2; return 246; }
  1951.   goto ret0;
  1952.  L884:
  1953.   x2 = XEXP (x1, 0);
  1954.   if (memory_operand (x2, SImode))
  1955.     { recog_operand[1] = x2; goto L885; }
  1956.  L962:
  1957.   if (general_operand (x2, SImode))
  1958.     { recog_operand[1] = x2; goto L963; }
  1959.   goto ret0;
  1960.  L885:
  1961.   x2 = XEXP (x1, 1);
  1962.   if (GET_CODE (x2) == CONST_INT && XINT (x2, 0) == 24 && 1)
  1963.     if (GET_CODE (XEXP (operands[1], 0)) != POST_INC
  1964.    && GET_CODE (XEXP (operands[1], 0)) != PRE_DEC) return 238;
  1965.   x2 = XEXP (x1, 0);
  1966.   goto L962;
  1967.  L963:
  1968.   x2 = XEXP (x1, 1);
  1969.   if (general_operand (x2, SImode))
  1970.     { recog_operand[2] = x2; return 252; }
  1971.   goto ret0;
  1972.  L917:
  1973.   x2 = XEXP (x1, 0);
  1974.   if (general_operand (x2, SImode))
  1975.     { recog_operand[1] = x2; goto L918; }
  1976.   goto ret0;
  1977.  L918:
  1978.   x2 = XEXP (x1, 1);
  1979.   if (general_operand (x2, SImode))
  1980.     { recog_operand[2] = x2; return 243; }
  1981.   goto ret0;
  1982.  L947:
  1983.   x2 = XEXP (x1, 0);
  1984.   if (general_operand (x2, SImode))
  1985.     { recog_operand[1] = x2; goto L948; }
  1986.   goto ret0;
  1987.  L948:
  1988.   x2 = XEXP (x1, 1);
  1989.   if (general_operand (x2, SImode))
  1990.     { recog_operand[2] = x2; return 249; }
  1991.   goto ret0;
  1992.  L977:
  1993.   x2 = XEXP (x1, 0);
  1994.   if (general_operand (x2, SImode))
  1995.     { recog_operand[1] = x2; goto L978; }
  1996.   goto ret0;
  1997.  L978:
  1998.   x2 = XEXP (x1, 1);
  1999.   if (general_operand (x2, SImode))
  2000.     { recog_operand[2] = x2; return 255; }
  2001.   goto ret0;
  2002.  L992:
  2003.   x2 = XEXP (x1, 0);
  2004.   if (general_operand (x2, SImode))
  2005.     { recog_operand[1] = x2; goto L993; }
  2006.   goto ret0;
  2007.  L993:
  2008.   x2 = XEXP (x1, 1);
  2009.   if (general_operand (x2, SImode))
  2010.     { recog_operand[2] = x2; return 258; }
  2011.   goto ret0;
  2012.  ret0: return -1;
  2013. }
  2014.  
  2015. int
  2016. recog_6 (x0, insn)
  2017.      register rtx x0;
  2018.      rtx insn;
  2019. {
  2020.   register rtx x1, x2, x3, x4, x5;
  2021.   rtx x6, x7, x8, x9, x10, x11;
  2022.   int tem;
  2023.  L176:
  2024.   x1 = XEXP (x0, 1);
  2025.   if (general_operand (x1, XFmode))
  2026.     { recog_operand[1] = x1; return 44; }
  2027.  L229:
  2028.   if (GET_MODE (x1) != XFmode)
  2029.     goto ret0;
  2030.  switch (GET_CODE (x1))
  2031.   {
  2032.   case FLOAT_EXTEND:
  2033.   if (1)
  2034.     goto L230;
  2035.   break;
  2036.   case FLOAT:
  2037.   if (1)
  2038.     goto L286;
  2039.   break;
  2040.   case FIX:
  2041.   if (1)
  2042.     goto L334;
  2043.   break;
  2044.   case PLUS:
  2045.   if (1)
  2046.     goto L443;
  2047.   break;
  2048.   case MINUS:
  2049.   if (1)
  2050.     goto L506;
  2051.   break;
  2052.   case MULT:
  2053.   if (1)
  2054.     goto L576;
  2055.   break;
  2056.   case DIV:
  2057.   if (1)
  2058.     goto L646;
  2059.   break;
  2060.   case NEG:
  2061.   if (1)
  2062.     goto L783;
  2063.   break;
  2064.   case SIN:
  2065.   if (1)
  2066.     goto L791;
  2067.   break;
  2068.   case COS:
  2069.   if (1)
  2070.     goto L795;
  2071.   break;
  2072.   case TAN:
  2073.   if (1)
  2074.     goto L799;
  2075.   break;
  2076.   case ASIN:
  2077.   if (1)
  2078.     goto L803;
  2079.   break;
  2080.   case ACOS:
  2081.   if (1)
  2082.     goto L807;
  2083.   break;
  2084.   case ATAN:
  2085.   if (1)
  2086.     goto L811;
  2087.   break;
  2088.   case SINH:
  2089.   if (1)
  2090.     goto L815;
  2091.   break;
  2092.   case COSH:
  2093.   if (1)
  2094.     goto L819;
  2095.   break;
  2096.   case TANH:
  2097.   if (1)
  2098.     goto L823;
  2099.   break;
  2100.   case EXP:
  2101.   if (1)
  2102.     goto L827;
  2103.   break;
  2104.   case LOG:
  2105.   if (1)
  2106.     goto L831;
  2107.   break;
  2108.   case LOG10:
  2109.   if (1)
  2110.     goto L835;
  2111.   break;
  2112.   case SQRT:
  2113.   if (1)
  2114.     goto L839;
  2115.   break;
  2116.   case ABS:
  2117.   if (1)
  2118.     goto L859;
  2119.   break;
  2120.   }
  2121.   goto ret0;
  2122.  L230:
  2123.   x2 = XEXP (x1, 0);
  2124.   if (general_operand (x2, SFmode))
  2125.     { recog_operand[1] = x2; if (TARGET_68881) return 63; }
  2126.  L234:
  2127.   if (general_operand (x2, SFmode))
  2128.     { recog_operand[1] = x2; if (TARGET_SANE) return 64; }
  2129.  L238:
  2130.   if (general_operand (x2, DFmode))
  2131.     { recog_operand[1] = x2; if (TARGET_68881) return 66; }
  2132.  L242:
  2133.   if (general_operand (x2, DFmode))
  2134.     { recog_operand[1] = x2; if (TARGET_SANE) return 67; }
  2135.   goto ret0;
  2136.  L286:
  2137.   x2 = XEXP (x1, 0);
  2138.   if (general_operand (x2, SImode))
  2139.     { recog_operand[1] = x2; if (TARGET_68881) return 84; }
  2140.  L290:
  2141.   if (general_operand (x2, SImode))
  2142.     { recog_operand[1] = x2; if (TARGET_SANE) return 85; }
  2143.  L302:
  2144.   if (general_operand (x2, HImode))
  2145.     { recog_operand[1] = x2; if (TARGET_68881) return 88; }
  2146.  L314:
  2147.   if (general_operand (x2, QImode))
  2148.     { recog_operand[1] = x2; if (TARGET_68881) return 91; }
  2149.   goto ret0;
  2150.  L334:
  2151.   x2 = XEXP (x1, 0);
  2152.   if (general_operand (x2, XFmode))
  2153.     { recog_operand[1] = x2; if (TARGET_SANE) return 99; }
  2154.  L338:
  2155.   if (general_operand (x2, XFmode))
  2156.     { recog_operand[1] = x2; if (TARGET_68881) return 100; }
  2157.   goto ret0;
  2158.  L443:
  2159.   x2 = XEXP (x1, 0);
  2160.   if (general_operand (x2, XFmode))
  2161.     { recog_operand[1] = x2; goto L444; }
  2162.   goto ret0;
  2163.  L444:
  2164.   x2 = XEXP (x1, 1);
  2165.   if (general_operand (x2, XFmode))
  2166.     { recog_operand[2] = x2; if (TARGET_68881) return 128; }
  2167.  L449:
  2168.   if (general_operand (x2, XFmode))
  2169.     { recog_operand[2] = x2; if (TARGET_SANE) return 129; }
  2170.   goto ret0;
  2171.  L506:
  2172.   x2 = XEXP (x1, 0);
  2173.   if (general_operand (x2, XFmode))
  2174.     { recog_operand[1] = x2; goto L507; }
  2175.   goto ret0;
  2176.  L507:
  2177.   x2 = XEXP (x1, 1);
  2178.   if (general_operand (x2, XFmode))
  2179.     { recog_operand[2] = x2; if (TARGET_68881) return 143; }
  2180.  L512:
  2181.   if (general_operand (x2, XFmode))
  2182.     { recog_operand[2] = x2; if (TARGET_SANE) return 144; }
  2183.   goto ret0;
  2184.  L576:
  2185.   x2 = XEXP (x1, 0);
  2186.   if (general_operand (x2, XFmode))
  2187.     { recog_operand[1] = x2; goto L577; }
  2188.   goto ret0;
  2189.  L577:
  2190.   x2 = XEXP (x1, 1);
  2191.   if (general_operand (x2, XFmode))
  2192.     { recog_operand[2] = x2; if (TARGET_68881) return 162; }
  2193.  L582:
  2194.   if (general_operand (x2, XFmode))
  2195.     { recog_operand[2] = x2; if (TARGET_SANE) return 163; }
  2196.   goto ret0;
  2197.  L646:
  2198.   x2 = XEXP (x1, 0);
  2199.   if (general_operand (x2, XFmode))
  2200.     { recog_operand[1] = x2; goto L647; }
  2201.   goto ret0;
  2202.  L647:
  2203.   x2 = XEXP (x1, 1);
  2204.   if (general_operand (x2, XFmode))
  2205.     { recog_operand[2] = x2; if (TARGET_68881) return 181; }
  2206.  L652:
  2207.   if (general_operand (x2, XFmode))
  2208.     { recog_operand[2] = x2; if (TARGET_SANE) return 182; }
  2209.   goto ret0;
  2210.  L783:
  2211.   x2 = XEXP (x1, 0);
  2212.   if (general_operand (x2, XFmode))
  2213.     { recog_operand[1] = x2; if (TARGET_68881) return 210; }
  2214.  L787:
  2215.   if (general_operand (x2, XFmode))
  2216.     { recog_operand[1] = x2; if (TARGET_SANE) return 211; }
  2217.   goto ret0;
  2218.  L791:
  2219.   x2 = XEXP (x1, 0);
  2220.   if (general_operand (x2, XFmode))
  2221.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 212; }
  2222.   goto ret0;
  2223.  L795:
  2224.   x2 = XEXP (x1, 0);
  2225.   if (general_operand (x2, XFmode))
  2226.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 213; }
  2227.   goto ret0;
  2228.  L799:
  2229.   x2 = XEXP (x1, 0);
  2230.   if (general_operand (x2, XFmode))
  2231.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 214; }
  2232.   goto ret0;
  2233.  L803:
  2234.   x2 = XEXP (x1, 0);
  2235.   if (general_operand (x2, XFmode))
  2236.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 215; }
  2237.   goto ret0;
  2238.  L807:
  2239.   x2 = XEXP (x1, 0);
  2240.   if (general_operand (x2, XFmode))
  2241.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 216; }
  2242.   goto ret0;
  2243.  L811:
  2244.   x2 = XEXP (x1, 0);
  2245.   if (general_operand (x2, XFmode))
  2246.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 217; }
  2247.   goto ret0;
  2248.  L815:
  2249.   x2 = XEXP (x1, 0);
  2250.   if (general_operand (x2, XFmode))
  2251.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 218; }
  2252.   goto ret0;
  2253.  L819:
  2254.   x2 = XEXP (x1, 0);
  2255.   if (general_operand (x2, XFmode))
  2256.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 219; }
  2257.   goto ret0;
  2258.  L823:
  2259.   x2 = XEXP (x1, 0);
  2260.   if (general_operand (x2, XFmode))
  2261.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 220; }
  2262.   goto ret0;
  2263.  L827:
  2264.   x2 = XEXP (x1, 0);
  2265.   if (general_operand (x2, XFmode))
  2266.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 221; }
  2267.   goto ret0;
  2268.  L831:
  2269.   x2 = XEXP (x1, 0);
  2270.   if (general_operand (x2, XFmode))
  2271.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 222; }
  2272.   goto ret0;
  2273.  L835:
  2274.   x2 = XEXP (x1, 0);
  2275.   if (general_operand (x2, XFmode))
  2276.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 223; }
  2277.   goto ret0;
  2278.  L839:
  2279.   x2 = XEXP (x1, 0);
  2280.   if (general_operand (x2, XFmode))
  2281.     { recog_operand[1] = x2; if (TARGET_ELEMS881) return 224; }
  2282.   goto ret0;
  2283.  L859:
  2284.   x2 = XEXP (x1, 0);
  2285.   if (general_operand (x2, XFmode))
  2286.     { recog_operand[1] = x2; if (TARGET_68881) return 232; }
  2287.  L863:
  2288.   if (general_operand (x2, XFmode))
  2289.     { recog_operand[1] = x2; if (TARGET_SANE) return 233; }
  2290.   goto ret0;
  2291.  ret0: return -1;
  2292. }
  2293.  
  2294. int
  2295. recog_7 (x0, insn)
  2296.      register rtx x0;
  2297.      rtx insn;
  2298. {
  2299.   register rtx x1, x2, x3, x4, x5;
  2300.   rtx x6, x7, x8, x9, x10, x11;
  2301.   int tem;
  2302.  L7:
  2303.   x1 = XEXP (x0, 0);
  2304.   if (x1 == cc0_rtx && 1)
  2305.     goto L8;
  2306.   if (GET_CODE (x1) == STRICT_LOW_PART && 1)
  2307.     goto L166;
  2308.   if (x1 == pc_rtx && 1)
  2309.     goto L1185;
  2310.  L1435:
  2311.   if (1)
  2312.     { recog_operand[0] = x1; goto L1436; }
  2313.  L162:
  2314.  switch (GET_MODE (x1))
  2315.   {
  2316.   case QImode:
  2317.   if (general_operand (x1, QImode))
  2318.     { recog_operand[0] = x1; goto L163; }
  2319.   break;
  2320.  L155:
  2321.   case HImode:
  2322.   if (general_operand (x1, HImode))
  2323.     { recog_operand[0] = x1; goto L156; }
  2324.   break;
  2325.   case SImode:
  2326.   if (push_operand (x1, SImode))
  2327.     { recog_operand[0] = x1; goto L147; }
  2328.  L149:
  2329.   if (general_operand (x1, SImode))
  2330.     { recog_operand[0] = x1; goto L150; }
  2331.  L181:
  2332.   if (push_operand (x1, SImode))
  2333.     { recog_operand[0] = x1; goto L182; }
  2334.  L196:
  2335.   if (general_operand (x1, SImode))
  2336.     { recog_operand[0] = x1; goto L197; }
  2337.  L1005:
  2338.   if (GET_CODE (x1) == ZERO_EXTRACT && 1)
  2339.     goto L1036;
  2340.  L1011:
  2341.   if (general_operand (x1, SImode))
  2342.     { recog_operand[0] = x1; goto L1012; }
  2343.   break;
  2344.   case DImode:
  2345.   if (push_operand (x1, DImode))
  2346.     { recog_operand[0] = x1; goto L5; }
  2347.  L178:
  2348.   if (general_operand (x1, DImode))
  2349.     { recog_operand[0] = x1; goto L179; }
  2350.   break;
  2351.   case SFmode:
  2352.   if (general_operand (x1, SFmode))
  2353.     { recog_operand[0] = x1; goto L170; }
  2354.   break;
  2355.   case DFmode:
  2356.   if (push_operand (x1, DFmode))
  2357.     { recog_operand[0] = x1; goto L2; }
  2358.  L172:
  2359.   if (general_operand (x1, DFmode))
  2360.     { recog_operand[0] = x1; goto L173; }
  2361.   break;
  2362.   case XFmode:
  2363.   if (general_operand (x1, XFmode))
  2364.     { recog_operand[0] = x1; goto L176; }
  2365.   break;
  2366.   }
  2367.   goto ret0;
  2368.  L8:
  2369.   tem = recog_1 (x0, insn);
  2370.   if (tem >= 0) return tem;
  2371.   goto L1435;
  2372.  L166:
  2373.   x2 = XEXP (x1, 0);
  2374.   if (general_operand (x2, QImode))
  2375.     { recog_operand[0] = x2; goto L167; }
  2376.  L159:
  2377.   if (general_operand (x2, HImode))
  2378.     { recog_operand[0] = x2; goto L160; }
  2379.   goto L1435;
  2380.  L167:
  2381.   x1 = XEXP (x0, 1);
  2382.   if (general_operand (x1, QImode))
  2383.     { recog_operand[1] = x1; return 41; }
  2384.  L417:
  2385.   if (GET_MODE (x1) != QImode)
  2386.     {
  2387.       x1 = XEXP (x0, 0);
  2388.   x2 = XEXP (x1, 0);
  2389.       goto L159;
  2390.     }
  2391.   if (GET_CODE (x1) == PLUS && 1)
  2392.     goto L418;
  2393.   if (GET_CODE (x1) == MINUS && 1)
  2394.     goto L481;
  2395.   x1 = XEXP (x0, 0);
  2396.   x2 = XEXP (x1, 0);
  2397.   goto L159;
  2398.  L418:
  2399.   x2 = XEXP (x1, 0);
  2400.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2401.     goto L419;
  2402.   x1 = XEXP (x0, 0);
  2403.   x2 = XEXP (x1, 0);
  2404.   goto L159;
  2405.  L419:
  2406.   x2 = XEXP (x1, 1);
  2407.   if (general_operand (x2, QImode))
  2408.     { recog_operand[1] = x2; return 120; }
  2409.   x1 = XEXP (x0, 0);
  2410.   x2 = XEXP (x1, 0);
  2411.   goto L159;
  2412.  L481:
  2413.   x2 = XEXP (x1, 0);
  2414.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2415.     goto L482;
  2416.   x1 = XEXP (x0, 0);
  2417.   x2 = XEXP (x1, 0);
  2418.   goto L159;
  2419.  L482:
  2420.   x2 = XEXP (x1, 1);
  2421.   if (general_operand (x2, QImode))
  2422.     { recog_operand[1] = x2; return 135; }
  2423.   x1 = XEXP (x0, 0);
  2424.   x2 = XEXP (x1, 0);
  2425.   goto L159;
  2426.  L160:
  2427.   x1 = XEXP (x0, 1);
  2428.   if (general_operand (x1, HImode))
  2429.     { recog_operand[1] = x1; return 39; }
  2430.  L406:
  2431.   if (GET_MODE (x1) != HImode)
  2432.     {
  2433.       x1 = XEXP (x0, 0);
  2434.       goto L1435;
  2435.     }
  2436.   if (GET_CODE (x1) == PLUS && 1)
  2437.     goto L407;
  2438.   if (GET_CODE (x1) == MINUS && 1)
  2439.     goto L470;
  2440.   x1 = XEXP (x0, 0);
  2441.   goto L1435;
  2442.  L407:
  2443.   x2 = XEXP (x1, 0);
  2444.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2445.     goto L408;
  2446.   x1 = XEXP (x0, 0);
  2447.   goto L1435;
  2448.  L408:
  2449.   x2 = XEXP (x1, 1);
  2450.   if (general_operand (x2, HImode))
  2451.     { recog_operand[1] = x2; return 118; }
  2452.   x1 = XEXP (x0, 0);
  2453.   goto L1435;
  2454.  L470:
  2455.   x2 = XEXP (x1, 0);
  2456.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  2457.     goto L471;
  2458.   x1 = XEXP (x0, 0);
  2459.   goto L1435;
  2460.  L471:
  2461.   x2 = XEXP (x1, 1);
  2462.   if (general_operand (x2, HImode))
  2463.     { recog_operand[1] = x2; return 133; }
  2464.   x1 = XEXP (x0, 0);
  2465.   goto L1435;
  2466.  L1185:
  2467.   x1 = XEXP (x0, 1);
  2468.   if (GET_CODE (x1) == IF_THEN_ELSE && 1)
  2469.     goto L1186;
  2470.   if (GET_CODE (x1) == LABEL_REF && 1)
  2471.     goto L1375;
  2472.   x1 = XEXP (x0, 0);
  2473.   goto L1435;
  2474.  L1186:
  2475.   tem = recog_2 (x0, insn);
  2476.   if (tem >= 0) return tem;
  2477.   x1 = XEXP (x0, 0);
  2478.   goto L1435;
  2479.  L1375:
  2480.   x2 = XEXP (x1, 0);
  2481.   if (1)
  2482.     { recog_operand[0] = x2; return 315; }
  2483.   x1 = XEXP (x0, 0);
  2484.   goto L1435;
  2485.  L1436:
  2486.   x1 = XEXP (x0, 1);
  2487.   if (GET_CODE (x1) == CALL && 1)
  2488.     goto L1437;
  2489.   x1 = XEXP (x0, 0);
  2490.   goto L162;
  2491.  L1437:
  2492.   x2 = XEXP (x1, 0);
  2493.   if (general_operand (x2, QImode))
  2494.     { recog_operand[1] = x2; goto L1438; }
  2495.   x1 = XEXP (x0, 0);
  2496.   goto L162;
  2497.  L1438:
  2498.   x2 = XEXP (x1, 1);
  2499.   if (general_operand (x2, SImode))
  2500.     { recog_operand[2] = x2; return 320; }
  2501.   x1 = XEXP (x0, 0);
  2502.   goto L162;
  2503.  L163:
  2504.   tem = recog_3 (x0, insn);
  2505.   if (tem >= 0) return tem;
  2506.   goto L155;
  2507.  L156:
  2508.   return recog_4 (x0, insn);
  2509.  L147:
  2510.   x1 = XEXP (x0, 1);
  2511.   if (general_operand (x1, SImode))
  2512.     { recog_operand[1] = x1; if (GET_CODE (operands[1]) == CONST_INT
  2513.    && INTVAL (operands[1]) >= -0x8000
  2514.    && INTVAL (operands[1]) < 0x8000) return 35; }
  2515.   x1 = XEXP (x0, 0);
  2516.   goto L149;
  2517.  L150:
  2518.   x1 = XEXP (x0, 1);
  2519.   if (x1 == const0_rtx && 1)
  2520.     return 36;
  2521.  L153:
  2522.   if (general_operand (x1, SImode))
  2523.     { recog_operand[1] = x1; return 37; }
  2524.   x1 = XEXP (x0, 0);
  2525.   goto L181;
  2526.  L182:
  2527.   x1 = XEXP (x0, 1);
  2528.   if (address_operand (x1, SImode))
  2529.     { recog_operand[1] = x1; return 46; }
  2530.   x1 = XEXP (x0, 0);
  2531.   goto L196;
  2532.  L197:
  2533.   tem = recog_5 (x0, insn);
  2534.   if (tem >= 0) return tem;
  2535.   goto L1005;
  2536.  L1036:
  2537.   x2 = XEXP (x1, 0);
  2538.   if (nonimmediate_operand (x2, QImode))
  2539.     { recog_operand[0] = x2; goto L1037; }
  2540.  L1006:
  2541.   if (nonimmediate_operand (x2, SImode))
  2542.     { recog_operand[0] = x2; goto L1007; }
  2543.   goto L1011;
  2544.  L1037:
  2545.   x2 = XEXP (x1, 1);
  2546.   if (general_operand (x2, SImode))
  2547.     { recog_operand[1] = x2; goto L1038; }
  2548.   x2 = XEXP (x1, 0);
  2549.   goto L1006;
  2550.  L1038:
  2551.   x2 = XEXP (x1, 2);
  2552.   if (general_operand (x2, SImode))
  2553.     { recog_operand[2] = x2; goto L1039; }
  2554.   x2 = XEXP (x1, 0);
  2555.   goto L1006;
  2556.  L1039:
  2557.   x1 = XEXP (x0, 1);
  2558.   if (GET_CODE (x1) == XOR && GET_MODE (x1) == SImode && 1)
  2559.     goto L1040;
  2560.   if (x1 == const0_rtx && 1)
  2561.     if (TARGET_68020 && TARGET_BITFIELD) return 267;
  2562.  L1056:
  2563.   if (GET_CODE (x1) == CONST_INT && XINT (x1, 0) == -1 && 1)
  2564.     if (TARGET_68020 && TARGET_BITFIELD) return 268;
  2565.  L1062:
  2566.   if (general_operand (x1, SImode))
  2567.     { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD) return 269; }
  2568.   x1 = XEXP (x0, 0);
  2569.   x2 = XEXP (x1, 0);
  2570.   goto L1006;
  2571.  L1040:
  2572.   x2 = XEXP (x1, 0);
  2573.   if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
  2574.     goto L1041;
  2575.   goto L1062;
  2576.  L1041:
  2577.   x3 = XEXP (x2, 0);
  2578.   if (rtx_equal_p (x3, recog_operand[0]) && 1)
  2579.     goto L1042;
  2580.   goto L1062;
  2581.  L1042:
  2582.   x3 = XEXP (x2, 1);
  2583.   if (rtx_equal_p (x3, recog_operand[1]) && 1)
  2584.     goto L1043;
  2585.   goto L1062;
  2586.  L1043:
  2587.   x3 = XEXP (x2, 2);
  2588.   if (rtx_equal_p (x3, recog_operand[2]) && 1)
  2589.     goto L1044;
  2590.   goto L1062;
  2591.  L1044:
  2592.   x2 = XEXP (x1, 1);
  2593.   if (immediate_operand (x2, VOIDmode))
  2594.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
  2595.    && GET_CODE (operands[3]) == CONST_INT
  2596.    && (INTVAL (operands[3]) == -1
  2597.        || (GET_CODE (operands[1]) == CONST_INT
  2598.            && (~ INTVAL (operands[3]) & ((1 << INTVAL (operands[1]))- 1)) == 0))) return 266; }
  2599.   goto L1062;
  2600.  L1007:
  2601.   x2 = XEXP (x1, 1);
  2602.   if (immediate_operand (x2, SImode))
  2603.     { recog_operand[1] = x2; goto L1008; }
  2604.  L1078:
  2605.   if (general_operand (x2, SImode))
  2606.     { recog_operand[1] = x2; goto L1079; }
  2607.   goto L1011;
  2608.  L1008:
  2609.   x2 = XEXP (x1, 2);
  2610.   if (immediate_operand (x2, SImode))
  2611.     { recog_operand[2] = x2; goto L1009; }
  2612.   x2 = XEXP (x1, 1);
  2613.   goto L1078;
  2614.  L1009:
  2615.   x1 = XEXP (x0, 1);
  2616.   if (general_operand (x1, SImode))
  2617.     { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD
  2618.    && GET_CODE (operands[1]) == CONST_INT
  2619.    && (INTVAL (operands[1]) == 8 || INTVAL (operands[1]) == 16)
  2620.    && GET_CODE (operands[2]) == CONST_INT
  2621.    && INTVAL (operands[2]) % INTVAL (operands[1]) == 0
  2622.    && (GET_CODE (operands[0]) == REG
  2623.        || ! mode_dependent_address_p (XEXP (operands[0], 0)))) return 261; }
  2624.   x1 = XEXP (x0, 0);
  2625.   x2 = XEXP (x1, 1);
  2626.   goto L1078;
  2627.  L1079:
  2628.   x2 = XEXP (x1, 2);
  2629.   if (general_operand (x2, SImode))
  2630.     { recog_operand[2] = x2; goto L1080; }
  2631.   goto L1011;
  2632.  L1080:
  2633.   x1 = XEXP (x0, 1);
  2634.   if (x1 == const0_rtx && 1)
  2635.     if (TARGET_68020 && TARGET_BITFIELD) return 272;
  2636.  L1086:
  2637.   if (GET_CODE (x1) == CONST_INT && XINT (x1, 0) == -1 && 1)
  2638.     if (TARGET_68020 && TARGET_BITFIELD) return 273;
  2639.  L1092:
  2640.   if (general_operand (x1, SImode))
  2641.     { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD) return 274; }
  2642.   x1 = XEXP (x0, 0);
  2643.   goto L1011;
  2644.  L1012:
  2645.   x1 = XEXP (x0, 1);
  2646.   if (GET_CODE (x1) == ZERO_EXTRACT && GET_MODE (x1) == SImode && 1)
  2647.     goto L1031;
  2648.   if (GET_CODE (x1) == SIGN_EXTRACT && GET_MODE (x1) == SImode && 1)
  2649.     goto L1025;
  2650.  L1443:
  2651.   if (address_operand (x1, QImode))
  2652.     { recog_operand[1] = x1; return 323; }
  2653.   goto ret0;
  2654.  L1031:
  2655.   x2 = XEXP (x1, 0);
  2656.   if (nonimmediate_operand (x2, QImode))
  2657.     { recog_operand[1] = x2; goto L1032; }
  2658.  L1013:
  2659.   if (nonimmediate_operand (x2, SImode))
  2660.     { recog_operand[1] = x2; goto L1014; }
  2661.   goto L1443;
  2662.  L1032:
  2663.   x2 = XEXP (x1, 1);
  2664.   if (general_operand (x2, SImode))
  2665.     { recog_operand[2] = x2; goto L1033; }
  2666.   x2 = XEXP (x1, 0);
  2667.   goto L1013;
  2668.  L1033:
  2669.   x2 = XEXP (x1, 2);
  2670.   if (general_operand (x2, SImode))
  2671.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 265; }
  2672.   x2 = XEXP (x1, 0);
  2673.   goto L1013;
  2674.  L1014:
  2675.   x2 = XEXP (x1, 1);
  2676.   if (immediate_operand (x2, SImode))
  2677.     { recog_operand[2] = x2; goto L1015; }
  2678.  L1073:
  2679.   if (general_operand (x2, SImode))
  2680.     { recog_operand[2] = x2; goto L1074; }
  2681.   goto L1443;
  2682.  L1015:
  2683.   x2 = XEXP (x1, 2);
  2684.   if (immediate_operand (x2, SImode))
  2685.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
  2686.    && GET_CODE (operands[2]) == CONST_INT
  2687.    && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
  2688.    && GET_CODE (operands[3]) == CONST_INT
  2689.    && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
  2690.    && (GET_CODE (operands[1]) == REG
  2691.        || ! mode_dependent_address_p (XEXP (operands[1], 0)))) return 262; }
  2692.   x2 = XEXP (x1, 1);
  2693.   goto L1073;
  2694.  L1074:
  2695.   x2 = XEXP (x1, 2);
  2696.   if (general_operand (x2, SImode))
  2697.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 271; }
  2698.   goto L1443;
  2699.  L1025:
  2700.   x2 = XEXP (x1, 0);
  2701.   if (nonimmediate_operand (x2, QImode))
  2702.     { recog_operand[1] = x2; goto L1026; }
  2703.  L1019:
  2704.   if (nonimmediate_operand (x2, SImode))
  2705.     { recog_operand[1] = x2; goto L1020; }
  2706.   goto L1443;
  2707.  L1026:
  2708.   x2 = XEXP (x1, 1);
  2709.   if (general_operand (x2, SImode))
  2710.     { recog_operand[2] = x2; goto L1027; }
  2711.   x2 = XEXP (x1, 0);
  2712.   goto L1019;
  2713.  L1027:
  2714.   x2 = XEXP (x1, 2);
  2715.   if (general_operand (x2, SImode))
  2716.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 264; }
  2717.   x2 = XEXP (x1, 0);
  2718.   goto L1019;
  2719.  L1020:
  2720.   x2 = XEXP (x1, 1);
  2721.   if (immediate_operand (x2, SImode))
  2722.     { recog_operand[2] = x2; goto L1021; }
  2723.  L1067:
  2724.   if (general_operand (x2, SImode))
  2725.     { recog_operand[2] = x2; goto L1068; }
  2726.   goto L1443;
  2727.  L1021:
  2728.   x2 = XEXP (x1, 2);
  2729.   if (immediate_operand (x2, SImode))
  2730.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
  2731.    && GET_CODE (operands[2]) == CONST_INT
  2732.    && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
  2733.    && GET_CODE (operands[3]) == CONST_INT
  2734.    && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
  2735.    && (GET_CODE (operands[1]) == REG
  2736.        || ! mode_dependent_address_p (XEXP (operands[1], 0)))) return 263; }
  2737.   x2 = XEXP (x1, 1);
  2738.   goto L1067;
  2739.  L1068:
  2740.   x2 = XEXP (x1, 2);
  2741.   if (general_operand (x2, SImode))
  2742.     { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 270; }
  2743.   goto L1443;
  2744.  L5:
  2745.   x1 = XEXP (x0, 1);
  2746.   if (general_operand (x1, DImode))
  2747.     { recog_operand[1] = x1; return 1; }
  2748.   x1 = XEXP (x0, 0);
  2749.   goto L178;
  2750.  L179:
  2751.   x1 = XEXP (x0, 1);
  2752.   if (general_operand (x1, DImode))
  2753.     { recog_operand[1] = x1; return 45; }
  2754.   goto ret0;
  2755.  L170:
  2756.   x1 = XEXP (x0, 1);
  2757.   if (general_operand (x1, SFmode))
  2758.     { recog_operand[1] = x1; return 42; }
  2759.  L245:
  2760.   if (GET_MODE (x1) != SFmode)
  2761.     goto ret0;
  2762.  switch (GET_CODE (x1))
  2763.   {
  2764.   case FLOAT_TRUNCATE:
  2765.   if (1)
  2766.     goto L246;
  2767.   break;
  2768.   case FLOAT:
  2769.   if (1)
  2770.     goto L270;
  2771.   break;
  2772.   case FIX:
  2773.   if (1)
  2774.     goto L318;
  2775.   break;
  2776.   case PLUS:
  2777.   if (1)
  2778.     goto L423;
  2779.   break;
  2780.   case MINUS:
  2781.   if (1)
  2782.     goto L486;
  2783.   break;
  2784.   case MULT:
  2785.   if (1)
  2786.     goto L556;
  2787.   break;
  2788.   case DIV:
  2789.   if (1)
  2790.     goto L626;
  2791.   break;
  2792.   case NEG:
  2793.   if (1)
  2794.     goto L767;
  2795.   break;
  2796.   case ABS:
  2797.   if (1)
  2798.     goto L843;
  2799.   break;
  2800.   }
  2801.   goto ret0;
  2802.  L246:
  2803.   x2 = XEXP (x1, 0);
  2804.   if (general_operand (x2, DFmode))
  2805.     { recog_operand[1] = x2; if (TARGET_68881) return 69; }
  2806.  L250:
  2807.   if (general_operand (x2, DFmode))
  2808.     { recog_operand[1] = x2; if (TARGET_SANE) return 70; }
  2809.  L254:
  2810.   if (general_operand (x2, XFmode))
  2811.     { recog_operand[1] = x2; if (TARGET_68881) return 72; }
  2812.  L258:
  2813.   if (general_operand (x2, XFmode))
  2814.     { recog_operand[1] = x2; if (TARGET_SANE) return 73; }
  2815.   goto ret0;
  2816.  L270:
  2817.   x2 = XEXP (x1, 0);
  2818.   if (general_operand (x2, SImode))
  2819.     { recog_operand[1] = x2; if (TARGET_68881) return 78; }
  2820.  L274:
  2821.   if (general_operand (x2, SImode))
  2822.     { recog_operand[1] = x2; if (TARGET_SANE) return 79; }
  2823.  L294:
  2824.   if (general_operand (x2, HImode))
  2825.     { recog_operand[1] = x2; if (TARGET_68881) return 86; }
  2826.  L306:
  2827.   if (general_operand (x2, QImode))
  2828.     { recog_operand[1] = x2; if (TARGET_68881) return 89; }
  2829.   goto ret0;
  2830.  L318:
  2831.   x2 = XEXP (x1, 0);
  2832.   if (general_operand (x2, SFmode))
  2833.     { recog_operand[1] = x2; if (TARGET_SANE) return 93; }
  2834.  L322:
  2835.   if (general_operand (x2, SFmode))
  2836.     { recog_operand[1] = x2; if (TARGET_68881) return 94; }
  2837.   goto ret0;
  2838.  L423:
  2839.   x2 = XEXP (x1, 0);
  2840.   if (general_operand (x2, SFmode))
  2841.     { recog_operand[1] = x2; goto L424; }
  2842.   goto ret0;
  2843.  L424:
  2844.   x2 = XEXP (x1, 1);
  2845.   if (general_operand (x2, SFmode))
  2846.     { recog_operand[2] = x2; if (TARGET_68881) return 122; }
  2847.  L429:
  2848.   if (general_operand (x2, SFmode))
  2849.     { recog_operand[2] = x2; if (TARGET_SANE) return 123; }
  2850.   goto ret0;
  2851.  L486:
  2852.   x2 = XEXP (x1, 0);
  2853.   if (general_operand (x2, SFmode))
  2854.     { recog_operand[1] = x2; goto L487; }
  2855.   goto ret0;
  2856.  L487:
  2857.   x2 = XEXP (x1, 1);
  2858.   if (general_operand (x2, SFmode))
  2859.     { recog_operand[2] = x2; if (TARGET_68881) return 137; }
  2860.  L492:
  2861.   if (general_operand (x2, SFmode))
  2862.     { recog_operand[2] = x2; if (TARGET_SANE) return 138; }
  2863.   goto ret0;
  2864.  L556:
  2865.   x2 = XEXP (x1, 0);
  2866.   if (general_operand (x2, SFmode))
  2867.     { recog_operand[1] = x2; goto L557; }
  2868.   goto ret0;
  2869.  L557:
  2870.   x2 = XEXP (x1, 1);
  2871.   if (general_operand (x2, SFmode))
  2872.     { recog_operand[2] = x2; if (TARGET_68881) return 156; }
  2873.  L562:
  2874.   if (general_operand (x2, SFmode))
  2875.     { recog_operand[2] = x2; if (TARGET_SANE) return 157; }
  2876.   goto ret0;
  2877.  L626:
  2878.   x2 = XEXP (x1, 0);
  2879.   if (general_operand (x2, SFmode))
  2880.     { recog_operand[1] = x2; goto L627; }
  2881.   goto ret0;
  2882.  L627:
  2883.   x2 = XEXP (x1, 1);
  2884.   if (general_operand (x2, SFmode))
  2885.     { recog_operand[2] = x2; if (TARGET_68881) return 175; }
  2886.  L632:
  2887.   if (general_operand (x2, SFmode))
  2888.     { recog_operand[2] = x2; if (TARGET_SANE) return 176; }
  2889.   goto ret0;
  2890.  L767:
  2891.   x2 = XEXP (x1, 0);
  2892.   if (general_operand (x2, SFmode))
  2893.     { recog_operand[1] = x2; if (TARGET_68881) return 204; }
  2894.  L771:
  2895.   if (general_operand (x2, SFmode))
  2896.     { recog_operand[1] = x2; if (TARGET_SANE) return 205; }
  2897.   goto ret0;
  2898.  L843:
  2899.   x2 = XEXP (x1, 0);
  2900.   if (general_operand (x2, SFmode))
  2901.     { recog_operand[1] = x2; if (TARGET_68881) return 226; }
  2902.  L847:
  2903.   if (general_operand (x2, SFmode))
  2904.     { recog_operand[1] = x2; if (TARGET_SANE) return 227; }
  2905.   goto ret0;
  2906.  L2:
  2907.   x1 = XEXP (x0, 1);
  2908.   if (general_operand (x1, DFmode))
  2909.     { recog_operand[1] = x1; return 0; }
  2910.   x1 = XEXP (x0, 0);
  2911.   goto L172;
  2912.  L173:
  2913.   x1 = XEXP (x0, 1);
  2914.   if (general_operand (x1, DFmode))
  2915.     { recog_operand[1] = x1; return 43; }
  2916.  L221:
  2917.   if (GET_MODE (x1) != DFmode)
  2918.     goto ret0;
  2919.  switch (GET_CODE (x1))
  2920.   {
  2921.   case FLOAT_EXTEND:
  2922.   if (1)
  2923.     goto L222;
  2924.   break;
  2925.   case FLOAT_TRUNCATE:
  2926.   if (1)
  2927.     goto L262;
  2928.   break;
  2929.   case FLOAT:
  2930.   if (1)
  2931.     goto L278;
  2932.   break;
  2933.   case FIX:
  2934.   if (1)
  2935.     goto L326;
  2936.   break;
  2937.   case PLUS:
  2938.   if (1)
  2939.     goto L433;
  2940.   break;
  2941.   case MINUS:
  2942.   if (1)
  2943.     goto L496;
  2944.   break;
  2945.   case MULT:
  2946.   if (1)
  2947.     goto L566;
  2948.   break;
  2949.   case DIV:
  2950.   if (1)
  2951.     goto L636;
  2952.   break;
  2953.   case NEG:
  2954.   if (1)
  2955.     goto L775;
  2956.   break;
  2957.   case ABS:
  2958.   if (1)
  2959.     goto L851;
  2960.   break;
  2961.   }
  2962.   goto ret0;
  2963.  L222:
  2964.   x2 = XEXP (x1, 0);
  2965.   if (general_operand (x2, SFmode))
  2966.     { recog_operand[1] = x2; if (TARGET_68881) return 60; }
  2967.  L226:
  2968.   if (general_operand (x2, SFmode))
  2969.     { recog_operand[1] = x2; if (TARGET_SANE) return 61; }
  2970.   goto ret0;
  2971.  L262:
  2972.   x2 = XEXP (x1, 0);
  2973.   if (general_operand (x2, XFmode))
  2974.     { recog_operand[1] = x2; if (TARGET_68881) return 75; }
  2975.  L266:
  2976.   if (general_operand (x2, XFmode))
  2977.     { recog_operand[1] = x2; if (TARGET_SANE) return 76; }
  2978.   goto ret0;
  2979.  L278:
  2980.   x2 = XEXP (x1, 0);
  2981.   if (general_operand (x2, SImode))
  2982.     { recog_operand[1] = x2; if (TARGET_68881) return 81; }
  2983.  L282:
  2984.   if (general_operand (x2, SImode))
  2985.     { recog_operand[1] = x2; if (TARGET_SANE) return 82; }
  2986.  L298:
  2987.   if (general_operand (x2, HImode))
  2988.     { recog_operand[1] = x2; if (TARGET_68881) return 87; }
  2989.  L310:
  2990.   if (general_operand (x2, QImode))
  2991.     { recog_operand[1] = x2; if (TARGET_68881) return 90; }
  2992.   goto ret0;
  2993.  L326:
  2994.   x2 = XEXP (x1, 0);
  2995.   if (general_operand (x2, DFmode))
  2996.     { recog_operand[1] = x2; if (TARGET_SANE) return 96; }
  2997.  L330:
  2998.   if (general_operand (x2, DFmode))
  2999.     { recog_operand[1] = x2; if (TARGET_68881) return 97; }
  3000.   goto ret0;
  3001.  L433:
  3002.   x2 = XEXP (x1, 0);
  3003.   if (general_operand (x2, DFmode))
  3004.     { recog_operand[1] = x2; goto L434; }
  3005.   goto ret0;
  3006.  L434:
  3007.   x2 = XEXP (x1, 1);
  3008.   if (general_operand (x2, DFmode))
  3009.     { recog_operand[2] = x2; if (TARGET_68881) return 125; }
  3010.  L439:
  3011.   if (general_operand (x2, DFmode))
  3012.     { recog_operand[2] = x2; if (TARGET_SANE) return 126; }
  3013.   goto ret0;
  3014.  L496:
  3015.   x2 = XEXP (x1, 0);
  3016.   if (general_operand (x2, DFmode))
  3017.     { recog_operand[1] = x2; goto L497; }
  3018.   goto ret0;
  3019.  L497:
  3020.   x2 = XEXP (x1, 1);
  3021.   if (general_operand (x2, DFmode))
  3022.     { recog_operand[2] = x2; if (TARGET_68881) return 140; }
  3023.  L502:
  3024.   if (general_operand (x2, DFmode))
  3025.     { recog_operand[2] = x2; if (TARGET_SANE) return 141; }
  3026.   goto ret0;
  3027.  L566:
  3028.   x2 = XEXP (x1, 0);
  3029.   if (general_operand (x2, DFmode))
  3030.     { recog_operand[1] = x2; goto L567; }
  3031.   goto ret0;
  3032.  L567:
  3033.   x2 = XEXP (x1, 1);
  3034.   if (general_operand (x2, DFmode))
  3035.     { recog_operand[2] = x2; if (TARGET_68881) return 159; }
  3036.  L572:
  3037.   if (general_operand (x2, DFmode))
  3038.     { recog_operand[2] = x2; if (TARGET_SANE) return 160; }
  3039.   goto ret0;
  3040.  L636:
  3041.   x2 = XEXP (x1, 0);
  3042.   if (general_operand (x2, DFmode))
  3043.     { recog_operand[1] = x2; goto L637; }
  3044.   goto ret0;
  3045.  L637:
  3046.   x2 = XEXP (x1, 1);
  3047.   if (general_operand (x2, DFmode))
  3048.     { recog_operand[2] = x2; if (TARGET_68881) return 178; }
  3049.  L642:
  3050.   if (general_operand (x2, DFmode))
  3051.     { recog_operand[2] = x2; if (TARGET_SANE) return 179; }
  3052.   goto ret0;
  3053.  L775:
  3054.   x2 = XEXP (x1, 0);
  3055.   if (general_operand (x2, DFmode))
  3056.     { recog_operand[1] = x2; if (TARGET_68881) return 207; }
  3057.  L779:
  3058.   if (general_operand (x2, DFmode))
  3059.     { recog_operand[1] = x2; if (TARGET_SANE) return 208; }
  3060.   goto ret0;
  3061.  L851:
  3062.   x2 = XEXP (x1, 0);
  3063.   if (general_operand (x2, DFmode))
  3064.     { recog_operand[1] = x2; if (TARGET_68881) return 229; }
  3065.  L855:
  3066.   if (general_operand (x2, DFmode))
  3067.     { recog_operand[1] = x2; if (TARGET_SANE) return 230; }
  3068.   goto ret0;
  3069.  L176:
  3070.   return recog_6 (x0, insn);
  3071.  ret0: return -1;
  3072. }
  3073.  
  3074. int
  3075. recog_8 (x0, insn)
  3076.      register rtx x0;
  3077.      rtx insn;
  3078. {
  3079.   register rtx x1, x2, x3, x4, x5;
  3080.   rtx x6, x7, x8, x9, x10, x11;
  3081.   int tem;
  3082.  L1365:
  3083.   x1 = XVECEXP (x0, 0, 0);
  3084.   x2 = XEXP (x1, 0);
  3085.   if (x2 == pc_rtx && 1)
  3086.     goto L1366;
  3087.  L675:
  3088.   if (general_operand (x2, SImode))
  3089.     { recog_operand[0] = x2; goto L676; }
  3090.   goto ret0;
  3091.  L1366:
  3092.   x2 = XEXP (x1, 1);
  3093.   if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
  3094.     goto L1367;
  3095.   if (GET_CODE (x2) == IF_THEN_ELSE && 1)
  3096.     goto L1380;
  3097.   x2 = XEXP (x1, 0);
  3098.   goto L675;
  3099.  L1367:
  3100.   x3 = XEXP (x2, 0);
  3101.   if (x3 == pc_rtx && 1)
  3102.     goto L1368;
  3103.   x2 = XEXP (x1, 0);
  3104.   goto L675;
  3105.  L1368:
  3106.   x3 = XEXP (x2, 1);
  3107.   if (general_operand (x3, HImode))
  3108.     { recog_operand[0] = x3; goto L1369; }
  3109.   x2 = XEXP (x1, 0);
  3110.   goto L675;
  3111.  L1369:
  3112.   x1 = XVECEXP (x0, 0, 1);
  3113.   if (GET_CODE (x1) == USE && 1)
  3114.     goto L1370;
  3115.   x1 = XVECEXP (x0, 0, 0);
  3116.   x2 = XEXP (x1, 0);
  3117.   goto L675;
  3118.  L1370:
  3119.   x2 = XEXP (x1, 0);
  3120.   if (GET_CODE (x2) == LABEL_REF && 1)
  3121.     goto L1371;
  3122.   x1 = XVECEXP (x0, 0, 0);
  3123.   x2 = XEXP (x1, 0);
  3124.   goto L675;
  3125.  L1371:
  3126.   x3 = XEXP (x2, 0);
  3127.   if (1)
  3128.     { recog_operand[1] = x3; return 314; }
  3129.   x1 = XVECEXP (x0, 0, 0);
  3130.   x2 = XEXP (x1, 0);
  3131.   goto L675;
  3132.  L1380:
  3133.   x3 = XEXP (x2, 0);
  3134.   if (GET_CODE (x3) == NE && 1)
  3135.     goto L1381;
  3136.   if (GET_CODE (x3) == GE && 1)
  3137.     goto L1419;
  3138.   x2 = XEXP (x1, 0);
  3139.   goto L675;
  3140.  L1381:
  3141.   x4 = XEXP (x3, 0);
  3142.   if (GET_CODE (x4) == COMPARE && 1)
  3143.     goto L1382;
  3144.   x2 = XEXP (x1, 0);
  3145.   goto L675;
  3146.  L1382:
  3147.   x5 = XEXP (x4, 0);
  3148.   if (GET_CODE (x5) != PLUS)
  3149.     {  x2 = XEXP (x1, 0);
  3150.     goto L675; }
  3151.   if (GET_MODE (x5) == HImode && 1)
  3152.     goto L1383;
  3153.   if (GET_MODE (x5) == SImode && 1)
  3154.     goto L1402;
  3155.   x2 = XEXP (x1, 0);
  3156.   goto L675;
  3157.  L1383:
  3158.   x6 = XEXP (x5, 0);
  3159.   if (general_operand (x6, HImode))
  3160.     { recog_operand[0] = x6; goto L1384; }
  3161.   x2 = XEXP (x1, 0);
  3162.   goto L675;
  3163.  L1384:
  3164.   x6 = XEXP (x5, 1);
  3165.   if (GET_CODE (x6) == CONST_INT && XINT (x6, 0) == -1 && 1)
  3166.     goto L1385;
  3167.   x2 = XEXP (x1, 0);
  3168.   goto L675;
  3169.  L1385:
  3170.   x5 = XEXP (x4, 1);
  3171.   if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
  3172.     goto L1386;
  3173.   x2 = XEXP (x1, 0);
  3174.   goto L675;
  3175.  L1386:
  3176.   x4 = XEXP (x3, 1);
  3177.   if (x4 == const0_rtx && 1)
  3178.     goto L1387;
  3179.   x2 = XEXP (x1, 0);
  3180.   goto L675;
  3181.  L1387:
  3182.   x3 = XEXP (x2, 1);
  3183.   if (GET_CODE (x3) == LABEL_REF && 1)
  3184.     goto L1388;
  3185.   x2 = XEXP (x1, 0);
  3186.   goto L675;
  3187.  L1388:
  3188.   x4 = XEXP (x3, 0);
  3189.   if (1)
  3190.     { recog_operand[1] = x4; goto L1389; }
  3191.   x2 = XEXP (x1, 0);
  3192.   goto L675;
  3193.  L1389:
  3194.   x3 = XEXP (x2, 2);
  3195.   if (x3 == pc_rtx && 1)
  3196.     goto L1390;
  3197.   x2 = XEXP (x1, 0);
  3198.   goto L675;
  3199.  L1390:
  3200.   x1 = XVECEXP (x0, 0, 1);
  3201.   if (GET_CODE (x1) == SET && 1)
  3202.     goto L1391;
  3203.   x1 = XVECEXP (x0, 0, 0);
  3204.   x2 = XEXP (x1, 0);
  3205.   goto L675;
  3206.  L1391:
  3207.   x2 = XEXP (x1, 0);
  3208.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  3209.     goto L1392;
  3210.   x1 = XVECEXP (x0, 0, 0);
  3211.   x2 = XEXP (x1, 0);
  3212.   goto L675;
  3213.  L1392:
  3214.   x2 = XEXP (x1, 1);
  3215.   if (GET_CODE (x2) == PLUS && GET_MODE (x2) == HImode && 1)
  3216.     goto L1393;
  3217.   x1 = XVECEXP (x0, 0, 0);
  3218.   x2 = XEXP (x1, 0);
  3219.   goto L675;
  3220.  L1393:
  3221.   x3 = XEXP (x2, 0);
  3222.   if (rtx_equal_p (x3, recog_operand[0]) && 1)
  3223.     goto L1394;
  3224.   x1 = XVECEXP (x0, 0, 0);
  3225.   x2 = XEXP (x1, 0);
  3226.   goto L675;
  3227.  L1394:
  3228.   x3 = XEXP (x2, 1);
  3229.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
  3230.     return 316;
  3231.   x1 = XVECEXP (x0, 0, 0);
  3232.   x2 = XEXP (x1, 0);
  3233.   goto L675;
  3234.  L1402:
  3235.   x6 = XEXP (x5, 0);
  3236.   if (general_operand (x6, SImode))
  3237.     { recog_operand[0] = x6; goto L1403; }
  3238.   x2 = XEXP (x1, 0);
  3239.   goto L675;
  3240.  L1403:
  3241.   x6 = XEXP (x5, 1);
  3242.   if (GET_CODE (x6) == CONST_INT && XINT (x6, 0) == -1 && 1)
  3243.     goto L1404;
  3244.   x2 = XEXP (x1, 0);
  3245.   goto L675;
  3246.  L1404:
  3247.   x5 = XEXP (x4, 1);
  3248.   if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
  3249.     goto L1405;
  3250.   x2 = XEXP (x1, 0);
  3251.   goto L675;
  3252.  L1405:
  3253.   x4 = XEXP (x3, 1);
  3254.   if (x4 == const0_rtx && 1)
  3255.     goto L1406;
  3256.   x2 = XEXP (x1, 0);
  3257.   goto L675;
  3258.  L1406:
  3259.   x3 = XEXP (x2, 1);
  3260.   if (GET_CODE (x3) == LABEL_REF && 1)
  3261.     goto L1407;
  3262.   x2 = XEXP (x1, 0);
  3263.   goto L675;
  3264.  L1407:
  3265.   x4 = XEXP (x3, 0);
  3266.   if (1)
  3267.     { recog_operand[1] = x4; goto L1408; }
  3268.   x2 = XEXP (x1, 0);
  3269.   goto L675;
  3270.  L1408:
  3271.   x3 = XEXP (x2, 2);
  3272.   if (x3 == pc_rtx && 1)
  3273.     goto L1409;
  3274.   x2 = XEXP (x1, 0);
  3275.   goto L675;
  3276.  L1409:
  3277.   x1 = XVECEXP (x0, 0, 1);
  3278.   if (GET_CODE (x1) == SET && 1)
  3279.     goto L1410;
  3280.   x1 = XVECEXP (x0, 0, 0);
  3281.   x2 = XEXP (x1, 0);
  3282.   goto L675;
  3283.  L1410:
  3284.   x2 = XEXP (x1, 0);
  3285.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  3286.     goto L1411;
  3287.   x1 = XVECEXP (x0, 0, 0);
  3288.   x2 = XEXP (x1, 0);
  3289.   goto L675;
  3290.  L1411:
  3291.   x2 = XEXP (x1, 1);
  3292.   if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
  3293.     goto L1412;
  3294.   x1 = XVECEXP (x0, 0, 0);
  3295.   x2 = XEXP (x1, 0);
  3296.   goto L675;
  3297.  L1412:
  3298.   x3 = XEXP (x2, 0);
  3299.   if (rtx_equal_p (x3, recog_operand[0]) && 1)
  3300.     goto L1413;
  3301.   x1 = XVECEXP (x0, 0, 0);
  3302.   x2 = XEXP (x1, 0);
  3303.   goto L675;
  3304.  L1413:
  3305.   x3 = XEXP (x2, 1);
  3306.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
  3307.     return 317;
  3308.   x1 = XVECEXP (x0, 0, 0);
  3309.   x2 = XEXP (x1, 0);
  3310.   goto L675;
  3311.  L1419:
  3312.   x4 = XEXP (x3, 0);
  3313.   if (GET_CODE (x4) == PLUS && GET_MODE (x4) == SImode && 1)
  3314.     goto L1420;
  3315.   x2 = XEXP (x1, 0);
  3316.   goto L675;
  3317.  L1420:
  3318.   x5 = XEXP (x4, 0);
  3319.   if (general_operand (x5, SImode))
  3320.     { recog_operand[0] = x5; goto L1421; }
  3321.   x2 = XEXP (x1, 0);
  3322.   goto L675;
  3323.  L1421:
  3324.   x5 = XEXP (x4, 1);
  3325.   if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
  3326.     goto L1422;
  3327.   x2 = XEXP (x1, 0);
  3328.   goto L675;
  3329.  L1422:
  3330.   x4 = XEXP (x3, 1);
  3331.   if (x4 == const0_rtx && 1)
  3332.     goto L1423;
  3333.   x2 = XEXP (x1, 0);
  3334.   goto L675;
  3335.  L1423:
  3336.   x3 = XEXP (x2, 1);
  3337.   if (GET_CODE (x3) == LABEL_REF && 1)
  3338.     goto L1424;
  3339.   x2 = XEXP (x1, 0);
  3340.   goto L675;
  3341.  L1424:
  3342.   x4 = XEXP (x3, 0);
  3343.   if (1)
  3344.     { recog_operand[1] = x4; goto L1425; }
  3345.   x2 = XEXP (x1, 0);
  3346.   goto L675;
  3347.  L1425:
  3348.   x3 = XEXP (x2, 2);
  3349.   if (x3 == pc_rtx && 1)
  3350.     goto L1426;
  3351.   x2 = XEXP (x1, 0);
  3352.   goto L675;
  3353.  L1426:
  3354.   x1 = XVECEXP (x0, 0, 1);
  3355.   if (GET_CODE (x1) == SET && 1)
  3356.     goto L1427;
  3357.   x1 = XVECEXP (x0, 0, 0);
  3358.   x2 = XEXP (x1, 0);
  3359.   goto L675;
  3360.  L1427:
  3361.   x2 = XEXP (x1, 0);
  3362.   if (rtx_equal_p (x2, recog_operand[0]) && 1)
  3363.     goto L1428;
  3364.   x1 = XVECEXP (x0, 0, 0);
  3365.   x2 = XEXP (x1, 0);
  3366.   goto L675;
  3367.  L1428:
  3368.   x2 = XEXP (x1, 1);
  3369.   if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
  3370.     goto L1429;
  3371.   x1 = XVECEXP (x0, 0, 0);
  3372.   x2 = XEXP (x1, 0);
  3373.   goto L675;
  3374.  L1429:
  3375.   x3 = XEXP (x2, 0);
  3376.   if (rtx_equal_p (x3, recog_operand[0]) && 1)
  3377.     goto L1430;
  3378.   x1 = XVECEXP (x0, 0, 0);
  3379.   x2 = XEXP (x1, 0);
  3380.   goto L675;
  3381.  L1430:
  3382.   x3 = XEXP (x2, 1);
  3383.   if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
  3384.     if (find_reg_note (insn, REG_NONNEG, 0)) return 318;
  3385.   x1 = XVECEXP (x0, 0, 0);
  3386.   x2 = XEXP (x1, 0);
  3387.   goto L675;
  3388.  L676:
  3389.   x2 = XEXP (x1, 1);
  3390.   if (GET_MODE (x2) != SImode)
  3391.     goto ret0;
  3392.   if (GET_CODE (x2) == DIV && 1)
  3393.     goto L677;
  3394.   if (GET_CODE (x2) == UDIV && 1)
  3395.     goto L688;
  3396.   goto ret0;
  3397.  L677:
  3398.   x3 = XEXP (x2, 0);
  3399.   if (general_operand (x3, SImode))
  3400.     { recog_operand[1] = x3; goto L678; }
  3401.   goto ret0;
  3402.  L678:
  3403.   x3 = XEXP (x2, 1);
  3404.   if (general_operand (x3, SImode))
  3405.     { recog_operand[2] = x3; goto L679; }
  3406.   goto ret0;
  3407.  L679:
  3408.   x1 = XVECEXP (x0, 0, 1);
  3409.   if (GET_CODE (x1) == SET && 1)
  3410.     goto L680;
  3411.   goto ret0;
  3412.  L680:
  3413.   x2 = XEXP (x1, 0);
  3414.   if (general_operand (x2, SImode))
  3415.     { recog_operand[3] = x2; goto L681; }
  3416.   goto ret0;
  3417.  L681:
  3418.   x2 = XEXP (x1, 1);
  3419.   if (GET_CODE (x2) == MOD && GET_MODE (x2) == SImode && 1)
  3420.     goto L682;
  3421.   goto ret0;
  3422.  L682:
  3423.   x3 = XEXP (x2, 0);
  3424.   if (rtx_equal_p (x3, recog_operand[1]) && 1)
  3425.     goto L683;
  3426.   goto ret0;
  3427.  L683:
  3428.   x3 = XEXP (x2, 1);
  3429.   if (rtx_equal_p (x3, recog_operand[2]) && 1)
  3430.     if (TARGET_68020) return 187;
  3431.   goto ret0;
  3432.  L688:
  3433.   x3 = XEXP (x2, 0);
  3434.   if (general_operand (x3, SImode))
  3435.     { recog_operand[1] = x3; goto L689; }
  3436.   goto ret0;
  3437.  L689:
  3438.   x3 = XEXP (x2, 1);
  3439.   if (general_operand (x3, SImode))
  3440.     { recog_operand[2] = x3; goto L690; }
  3441.   goto ret0;
  3442.  L690:
  3443.   x1 = XVECEXP (x0, 0, 1);
  3444.   if (GET_CODE (x1) == SET && 1)
  3445.     goto L691;
  3446.   goto ret0;
  3447.  L691:
  3448.   x2 = XEXP (x1, 0);
  3449.   if (general_operand (x2, SImode))
  3450.     { recog_operand[3] = x2; goto L692; }
  3451.   goto ret0;
  3452.  L692:
  3453.   x2 = XEXP (x1, 1);
  3454.   if (GET_CODE (x2) == UMOD && GET_MODE (x2) == SImode && 1)
  3455.     goto L693;
  3456.   goto ret0;
  3457.  L693:
  3458.   x3 = XEXP (x2, 0);
  3459.   if (rtx_equal_p (x3, recog_operand[1]) && 1)
  3460.     goto L694;
  3461.   goto ret0;
  3462.  L694:
  3463.   x3 = XEXP (x2, 1);
  3464.   if (rtx_equal_p (x3, recog_operand[2]) && 1)
  3465.     if (TARGET_68020) return 188;
  3466.   goto ret0;
  3467.  ret0: return -1;
  3468. }
  3469.  
  3470. int
  3471. recog (x0, insn)
  3472.      register rtx x0;
  3473.      rtx insn;
  3474. {
  3475.   register rtx x1, x2, x3, x4, x5;
  3476.   rtx x6, x7, x8, x9, x10, x11;
  3477.   int tem;
  3478.  L0:
  3479.  switch (GET_CODE (x0))
  3480.   {
  3481.   case SET:
  3482.   if (1)
  3483.     goto L7;
  3484.   break;
  3485.   case PARALLEL:
  3486.   if (XVECLEN (x0, 0) == 2 && 1)
  3487.     goto L674;
  3488.   break;
  3489.   case CALL:
  3490.   if (1)
  3491.     goto L1432;
  3492.   break;
  3493.   case RETURN:
  3494.   if (1)
  3495.     if (0) return 321;
  3496.   break;
  3497.   case CONST_INT:
  3498.   if (x0 == const0_rtx && 1)
  3499.     return 322;
  3500.   break;
  3501.   }
  3502.   goto ret0;
  3503.  L7:
  3504.   return recog_7 (x0, insn);
  3505.  L674:
  3506.   x1 = XVECEXP (x0, 0, 0);
  3507.   if (GET_CODE (x1) == SET && 1)
  3508.     goto L1365;
  3509.   goto ret0;
  3510.  L1365:
  3511.   return recog_8 (x0, insn);
  3512.  L1432:
  3513.   x1 = XEXP (x0, 0);
  3514.   if (general_operand (x1, QImode))
  3515.     { recog_operand[0] = x1; goto L1433; }
  3516.   goto ret0;
  3517.  L1433:
  3518.   x1 = XEXP (x0, 1);
  3519.   if (general_operand (x1, SImode))
  3520.     { recog_operand[1] = x1; return 319; }
  3521.   goto ret0;
  3522.  ret0: return -1;
  3523. }
  3524.