
/* Generated automatically by the program `genrecog'
from the machine description file `md'.  */

#include "config.h"
#include "rtl.h"
#include "insn-config.h"
#include "recog.h"
#include "real.h"

/* `recog' contains a decision tree
   that recognizes whether the rtx X0 is a valid instruction.

   recog returns -1 if the rtx is not valid.
   If the rtx is valid, recog returns a nonnegative number
   which is the insn code number for the pattern that matched.
   This is the same as the order in the machine description of
   the entry that matched.  This number can be used as an index into
   insn_templates and insn_n_operands (found in insn-output.c)
   or as an argument to output_insn_hairy (also in insn-output.c).  */

rtx recog_operand[MAX_RECOG_OPERANDS];

rtx *recog_operand_loc[MAX_RECOG_OPERANDS];

rtx *recog_dup_loc[MAX_DUP_OPERANDS];

char recog_dup_num[MAX_DUP_OPERANDS];

extern rtx recog_addr_dummy;

#define operands recog_operand

int
recog_1 (x0, insn)
     register rtx x0;
     rtx insn;
{
  register rtx x1, x2, x3, x4, x5;
  rtx x6, x7, x8, x9, x10, x11;
  int tem;
 L8:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, SImode))
    { recog_operand[0] = x1; return 2; }
 L11:
  if (general_operand (x1, HImode))
    { recog_operand[0] = x1; return 3; }
 L14:
  if (general_operand (x1, QImode))
    { recog_operand[0] = x1; return 4; }
 L17:
  if (general_operand (x1, SFmode))
    { recog_operand[0] = x1; if (TARGET_68881) return 6; }
 L20:
  if (general_operand (x1, DFmode))
    { recog_operand[0] = x1; if (TARGET_68881) return 8; }
 L23:
  if (GET_CODE (x1) == COMPARE && 1)
    goto L24;
  if (GET_CODE (x1) == ZERO_EXTRACT && 1)
    goto L49;
  if (GET_CODE (x1) == SUBREG && GET_MODE (x1) == SImode && XINT (x1, 1) == 0 && 1)
    goto L103;
  if (GET_CODE (x1) == AND && GET_MODE (x1) == SImode && 1)
    goto L109;
 L812:
  if (GET_CODE (x1) == ZERO_EXTRACT && GET_MODE (x1) == SImode && 1)
    goto L813;
  if (GET_CODE (x1) != SUBREG)
    goto ret0;
  if (GET_MODE (x1) == QImode && XINT (x1, 1) == 0 && 1)
    goto L819;
  if (GET_MODE (x1) == HImode && XINT (x1, 1) == 0 && 1)
    goto L826;
  goto ret0;
 L24:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[0] = x2; goto L25; }
 L29:
  if (general_operand (x2, HImode))
    { recog_operand[0] = x2; goto L30; }
 L34:
  if (general_operand (x2, QImode))
    { recog_operand[0] = x2; goto L35; }
 L39:
  if (general_operand (x2, DFmode))
    { recog_operand[0] = x2; goto L40; }
 L44:
  if (general_operand (x2, SFmode))
    { recog_operand[0] = x2; goto L45; }
 L586:
  if (general_operand (x2, QImode))
    { recog_operand[0] = x2; goto L587; }
 L593:
  if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == SImode && 1)
    goto L594;
 L600:
  if (general_operand (x2, QImode))
    { recog_operand[0] = x2; goto L601; }
 L607:
  if (GET_CODE (x2) == ASHIFTRT && GET_MODE (x2) == SImode && 1)
    goto L608;
  goto ret0;
 L25:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; return 9; }
  x2 = XEXP (x1, 0);
  goto L29;
 L30:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; return 10; }
  x2 = XEXP (x1, 0);
  goto L34;
 L35:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; return 11; }
  x2 = XEXP (x1, 0);
  goto L39;
 L40:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 13; }
  x2 = XEXP (x1, 0);
  goto L44;
 L45:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 15; }
  x2 = XEXP (x1, 0);
  goto L586;
 L587:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == SImode && 1)
    goto L588;
  x2 = XEXP (x1, 0);
  goto L593;
 L588:
  x3 = XEXP (x2, 0);
  if (memory_operand (x3, SImode))
    { recog_operand[1] = x3; goto L589; }
  x2 = XEXP (x1, 0);
  goto L593;
 L589:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
    if ((GET_CODE (operands[0]) == CONST_INT
     && (INTVAL (operands[0]) & ~0xff) == 0)) return 150;
  x2 = XEXP (x1, 0);
  goto L593;
 L594:
  x3 = XEXP (x2, 0);
  if (memory_operand (x3, SImode))
    { recog_operand[0] = x3; goto L595; }
  goto L600;
 L595:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
    goto L596;
  goto L600;
 L596:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
     && (INTVAL (operands[1]) & ~0xff) == 0)) return 151; }
  x2 = XEXP (x1, 0);
  goto L600;
 L601:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == ASHIFTRT && GET_MODE (x2) == SImode && 1)
    goto L602;
  x2 = XEXP (x1, 0);
  goto L607;
 L602:
  x3 = XEXP (x2, 0);
  if (memory_operand (x3, SImode))
    { recog_operand[1] = x3; goto L603; }
  x2 = XEXP (x1, 0);
  goto L607;
 L603:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
    if ((GET_CODE (operands[0]) == CONST_INT
     && ((INTVAL (operands[0]) + 0x80) & ~0xff) == 0)) return 152;
  x2 = XEXP (x1, 0);
  goto L607;
 L608:
  x3 = XEXP (x2, 0);
  if (memory_operand (x3, SImode))
    { recog_operand[0] = x3; goto L609; }
  goto ret0;
 L609:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 24 && 1)
    goto L610;
  goto ret0;
 L610:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
      && ((INTVAL (operands[1]) + 0x80) & ~0xff) == 0)) return 153; }
  goto ret0;
 L49:
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    { recog_operand[0] = x2; goto L50; }
 L91:
  if (nonimmediate_operand (x2, HImode))
    { recog_operand[0] = x2; goto L92; }
 L57:
  if (nonimmediate_operand (x2, SImode))
    { recog_operand[0] = x2; goto L58; }
  goto L812;
 L50:
  x2 = XEXP (x1, 1);
  if (x2 == const1_rtx && 1)
    goto L51;
  x2 = XEXP (x1, 0);
  goto L91;
 L51:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == MINUS && GET_MODE (x2) == SImode && 1)
    goto L52;
 L87:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT
   && (unsigned) INTVAL (operands[1]) < 8) return 20; }
  x2 = XEXP (x1, 0);
  goto L91;
 L52:
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 7 && 1)
    goto L53;
  goto L87;
 L53:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, SImode))
    { recog_operand[1] = x3; return 16; }
 L69:
  if (GET_CODE (x3) == AND && GET_MODE (x3) == SImode && 1)
    goto L70;
  goto L87;
 L70:
  x4 = XEXP (x3, 0);
  if (general_operand (x4, SImode))
    { recog_operand[1] = x4; goto L71; }
  goto L87;
 L71:
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XINT (x4, 0) == 7 && 1)
    return 18;
  goto L87;
 L92:
  x2 = XEXP (x1, 1);
  if (x2 == const1_rtx && 1)
    goto L93;
  x2 = XEXP (x1, 0);
  goto L57;
 L93:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 21; }
  x2 = XEXP (x1, 0);
  goto L57;
 L58:
  x2 = XEXP (x1, 1);
  if (x2 == const1_rtx && 1)
    goto L59;
  goto L812;
 L59:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == MINUS && GET_MODE (x2) == SImode && 1)
    goto L60;
 L99:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; if (GET_CODE (operands[1]) == CONST_INT) return 22; }
  goto L812;
 L60:
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 31 && 1)
    goto L61;
  goto L99;
 L61:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, SImode))
    { recog_operand[1] = x3; return 17; }
 L79:
  if (GET_CODE (x3) == AND && GET_MODE (x3) == SImode && 1)
    goto L80;
  goto L99;
 L80:
  x4 = XEXP (x3, 0);
  if (general_operand (x4, SImode))
    { recog_operand[1] = x4; goto L81; }
  goto L99;
 L81:
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XINT (x4, 0) == 31 && 1)
    return 19;
  goto L99;
 L103:
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == LSHIFTRT && GET_MODE (x2) == QImode && 1)
    goto L104;
  goto ret0;
 L104:
  x3 = XEXP (x2, 0);
  if (nonimmediate_operand (x3, QImode))
    { recog_operand[0] = x3; goto L105; }
  goto ret0;
 L105:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == 7 && 1)
    return 23;
  goto ret0;
 L109:
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
    goto L110;
  goto ret0;
 L110:
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == SIGN_EXTEND && GET_MODE (x3) == HImode && 1)
    goto L111;
  goto ret0;
 L111:
  x4 = XEXP (x3, 0);
  if (nonimmediate_operand (x4, QImode))
    { recog_operand[0] = x4; goto L112; }
  goto ret0;
 L112:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; if ((GET_CODE (operands[1]) == CONST_INT
    && (unsigned) INTVAL (operands[1]) < 0x100
    && exact_log2 (INTVAL (operands[1])) >= 0)) return 24; }
  goto ret0;
 L813:
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, QImode))
    { recog_operand[0] = x2; goto L814; }
 L833:
  if (nonimmediate_operand (x2, SImode))
    { recog_operand[0] = x2; goto L834; }
  goto ret0;
 L814:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L815; }
  x2 = XEXP (x1, 0);
  goto L833;
 L815:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[1]) == CONST_INT) return 190; }
  x2 = XEXP (x1, 0);
  goto L833;
 L834:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L835; }
  goto ret0;
 L835:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[1]) == CONST_INT) return 193; }
  goto ret0;
 L819:
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
    goto L820;
  goto ret0;
 L820:
  x3 = XEXP (x2, 0);
  if (memory_operand (x3, QImode))
    { recog_operand[0] = x3; goto L821; }
 L840:
  if (nonimmediate_operand (x3, SImode))
    { recog_operand[0] = x3; goto L841; }
  goto ret0;
 L821:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, SImode))
    { recog_operand[1] = x3; goto L822; }
  x3 = XEXP (x2, 0);
  goto L840;
 L822:
  x3 = XEXP (x2, 2);
  if (general_operand (x3, SImode))
    { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[1]) == CONST_INT) return 191; }
  x3 = XEXP (x2, 0);
  goto L840;
 L841:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, SImode))
    { recog_operand[1] = x3; goto L842; }
  goto ret0;
 L842:
  x3 = XEXP (x2, 2);
  if (general_operand (x3, SImode))
    { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[1]) == CONST_INT) return 194; }
  goto ret0;
 L826:
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
    goto L827;
  goto ret0;
 L827:
  x3 = XEXP (x2, 0);
  if (memory_operand (x3, QImode))
    { recog_operand[0] = x3; goto L828; }
 L847:
  if (nonimmediate_operand (x3, SImode))
    { recog_operand[0] = x3; goto L848; }
  goto ret0;
 L828:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, SImode))
    { recog_operand[1] = x3; goto L829; }
  x3 = XEXP (x2, 0);
  goto L847;
 L829:
  x3 = XEXP (x2, 2);
  if (general_operand (x3, SImode))
    { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[1]) == CONST_INT) return 192; }
  x3 = XEXP (x2, 0);
  goto L847;
 L848:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, SImode))
    { recog_operand[1] = x3; goto L849; }
  goto ret0;
 L849:
  x3 = XEXP (x2, 2);
  if (general_operand (x3, SImode))
    { recog_operand[2] = x3; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[1]) == CONST_INT) return 195; }
  goto ret0;
 ret0: return -1;
}

int
recog_2 (x0, insn)
     register rtx x0;
     rtx insn;
{
  register rtx x1, x2, x3, x4, x5;
  rtx x6, x7, x8, x9, x10, x11;
  int tem;
 L903:
  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
 switch (GET_CODE (x2))
  {
  case EQ:
  if (1)
    goto L904;
  break;
  case NE:
  if (1)
    goto L913;
  break;
  case GT:
  if (1)
    goto L922;
  break;
  case GTU:
  if (1)
    goto L931;
  break;
  case LT:
  if (1)
    goto L940;
  break;
  case LTU:
  if (1)
    goto L949;
  break;
  case GE:
  if (1)
    goto L958;
  break;
  case GEU:
  if (1)
    goto L967;
  break;
  case LE:
  if (1)
    goto L976;
  break;
  case LEU:
  if (1)
    goto L985;
  break;
  }
  goto ret0;
 L904:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L905;
  goto ret0;
 L905:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L906;
  goto ret0;
 L906:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L907;
  if (x2 == pc_rtx && 1)
    goto L997;
  goto ret0;
 L907:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L908; }
  goto ret0;
 L908:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 206;
  goto ret0;
 L997:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L998;
  goto ret0;
 L998:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 216; }
  goto ret0;
 L913:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L914;
  goto ret0;
 L914:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L915;
  goto ret0;
 L915:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L916;
  if (x2 == pc_rtx && 1)
    goto L1006;
  goto ret0;
 L916:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L917; }
  goto ret0;
 L917:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 207;
  goto ret0;
 L1006:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1007;
  goto ret0;
 L1007:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 217; }
  goto ret0;
 L922:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L923;
  goto ret0;
 L923:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L924;
  goto ret0;
 L924:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L925;
  if (x2 == pc_rtx && 1)
    goto L1015;
  goto ret0;
 L925:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L926; }
  goto ret0;
 L926:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 208;
  goto ret0;
 L1015:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1016;
  goto ret0;
 L1016:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 218; }
  goto ret0;
 L931:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L932;
  goto ret0;
 L932:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L933;
  goto ret0;
 L933:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L934;
  if (x2 == pc_rtx && 1)
    goto L1024;
  goto ret0;
 L934:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L935; }
  goto ret0;
 L935:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 209;
  goto ret0;
 L1024:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1025;
  goto ret0;
 L1025:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 219; }
  goto ret0;
 L940:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L941;
  goto ret0;
 L941:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L942;
  goto ret0;
 L942:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L943;
  if (x2 == pc_rtx && 1)
    goto L1033;
  goto ret0;
 L943:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L944; }
  goto ret0;
 L944:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 210;
  goto ret0;
 L1033:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1034;
  goto ret0;
 L1034:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 220; }
  goto ret0;
 L949:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L950;
  goto ret0;
 L950:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L951;
  goto ret0;
 L951:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L952;
  if (x2 == pc_rtx && 1)
    goto L1042;
  goto ret0;
 L952:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L953; }
  goto ret0;
 L953:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 211;
  goto ret0;
 L1042:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1043;
  goto ret0;
 L1043:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 221; }
  goto ret0;
 L958:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L959;
  goto ret0;
 L959:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L960;
  goto ret0;
 L960:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L961;
  if (x2 == pc_rtx && 1)
    goto L1051;
  goto ret0;
 L961:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L962; }
  goto ret0;
 L962:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 212;
  goto ret0;
 L1051:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1052;
  goto ret0;
 L1052:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 222; }
  goto ret0;
 L967:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L968;
  goto ret0;
 L968:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L969;
  goto ret0;
 L969:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L970;
  if (x2 == pc_rtx && 1)
    goto L1060;
  goto ret0;
 L970:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L971; }
  goto ret0;
 L971:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 213;
  goto ret0;
 L1060:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1061;
  goto ret0;
 L1061:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 223; }
  goto ret0;
 L976:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L977;
  goto ret0;
 L977:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L978;
  goto ret0;
 L978:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L979;
  if (x2 == pc_rtx && 1)
    goto L1069;
  goto ret0;
 L979:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L980; }
  goto ret0;
 L980:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 214;
  goto ret0;
 L1069:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1070;
  goto ret0;
 L1070:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 224; }
  goto ret0;
 L985:
  x3 = XEXP (x2, 0);
  if (x3 == cc0_rtx && 1)
    goto L986;
  goto ret0;
 L986:
  x3 = XEXP (x2, 1);
  if (x3 == const0_rtx && 1)
    goto L987;
  goto ret0;
 L987:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L988;
  if (x2 == pc_rtx && 1)
    goto L1078;
  goto ret0;
 L988:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; goto L989; }
  goto ret0;
 L989:
  x2 = XEXP (x1, 2);
  if (x2 == pc_rtx && 1)
    return 215;
  goto ret0;
 L1078:
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1079;
  goto ret0;
 L1079:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[0] = x3; return 225; }
  goto ret0;
 ret0: return -1;
}

int
recog_3 (x0, insn)
     register rtx x0;
     rtx insn;
{
  register rtx x1, x2, x3, x4, x5;
  rtx x6, x7, x8, x9, x10, x11;
  int tem;
 L136:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, QImode))
    { recog_operand[1] = x1; return 35; }
 L158:
 switch (GET_CODE (x1))
  {
  case TRUNCATE:
  if (GET_MODE (x1) == QImode && 1)
    goto L159;
  break;
  case FIX:
  if (GET_MODE (x1) == QImode && 1)
    goto L235;
  break;
  case PLUS:
  if (GET_MODE (x1) == QImode && 1)
    goto L287;
  break;
  case MINUS:
  if (GET_MODE (x1) == QImode && 1)
    goto L336;
  break;
  case AND:
  if (GET_MODE (x1) == QImode && 1)
    goto L489;
  break;
  case IOR:
  if (GET_MODE (x1) == QImode && 1)
    goto L516;
  break;
  case XOR:
  if (GET_MODE (x1) == QImode && 1)
    goto L531;
  break;
  case NEG:
  if (GET_MODE (x1) == QImode && 1)
    goto L544;
  break;
  case NOT:
  if (GET_MODE (x1) == QImode && 1)
    goto L572;
  break;
  case ASHIFT:
  if (GET_MODE (x1) == QImode && 1)
    goto L629;
  break;
  case ASHIFTRT:
  if (GET_MODE (x1) == QImode && 1)
    goto L649;
  break;
  case LSHIFT:
  if (GET_MODE (x1) == QImode && 1)
    goto L669;
  break;
  case LSHIFTRT:
  if (GET_MODE (x1) == QImode && 1)
    goto L689;
  break;
  case ROTATE:
  if (GET_MODE (x1) == QImode && 1)
    goto L704;
  break;
  case ROTATERT:
  if (GET_MODE (x1) == QImode && 1)
    goto L719;
  break;
  case EQ:
  if (1)
    goto L853;
  break;
  case NE:
  if (1)
    goto L858;
  break;
  case GT:
  if (1)
    goto L863;
  break;
  case GTU:
  if (1)
    goto L868;
  break;
  case LT:
  if (1)
    goto L873;
  break;
  case LTU:
  if (1)
    goto L878;
  break;
  case GE:
  if (1)
    goto L883;
  break;
  case GEU:
  if (1)
    goto L888;
  break;
  case LE:
  if (1)
    goto L893;
  break;
  case LEU:
  if (1)
    goto L898;
  break;
  }
  goto ret0;
 L159:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; return 42; }
 L163:
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; return 43; }
  goto ret0;
 L235:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 68; }
 L247:
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 71; }
  goto ret0;
 L287:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L288; }
  goto ret0;
 L288:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 80; }
  goto ret0;
 L336:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L337; }
  goto ret0;
 L337:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 91; }
  goto ret0;
 L489:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L490; }
  goto ret0;
 L490:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 125; }
  goto ret0;
 L516:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L517; }
  goto ret0;
 L517:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 130; }
  goto ret0;
 L531:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L532; }
  goto ret0;
 L532:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 133; }
  goto ret0;
 L544:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; return 136; }
  goto ret0;
 L572:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; return 147; }
  goto ret0;
 L629:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L630; }
  goto ret0;
 L630:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 157; }
  goto ret0;
 L649:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L650; }
  goto ret0;
 L650:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 161; }
  goto ret0;
 L669:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L670; }
  goto ret0;
 L670:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 165; }
  goto ret0;
 L689:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L690; }
  goto ret0;
 L690:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 169; }
  goto ret0;
 L704:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L705; }
  goto ret0;
 L705:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 172; }
  goto ret0;
 L719:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L720; }
  goto ret0;
 L720:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[2] = x2; return 175; }
  goto ret0;
 L853:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L854;
  goto ret0;
 L854:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 196;
  goto ret0;
 L858:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L859;
  goto ret0;
 L859:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 197;
  goto ret0;
 L863:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L864;
  goto ret0;
 L864:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 198;
  goto ret0;
 L868:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L869;
  goto ret0;
 L869:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 199;
  goto ret0;
 L873:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L874;
  goto ret0;
 L874:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 200;
  goto ret0;
 L878:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L879;
  goto ret0;
 L879:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 201;
  goto ret0;
 L883:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L884;
  goto ret0;
 L884:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 202;
  goto ret0;
 L888:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L889;
  goto ret0;
 L889:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 203;
  goto ret0;
 L893:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L894;
  goto ret0;
 L894:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 204;
  goto ret0;
 L898:
  x2 = XEXP (x1, 0);
  if (x2 == cc0_rtx && 1)
    goto L899;
  goto ret0;
 L899:
  x2 = XEXP (x1, 1);
  if (x2 == const0_rtx && 1)
    return 205;
  goto ret0;
 ret0: return -1;
}

int
recog_4 (x0, insn)
     register rtx x0;
     rtx insn;
{
  register rtx x1, x2, x3, x4, x5;
  rtx x6, x7, x8, x9, x10, x11;
  int tem;
 L129:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, HImode))
    { recog_operand[1] = x1; return 32; }
 L166:
  if (GET_MODE (x1) != HImode)
    goto ret0;
 switch (GET_CODE (x1))
  {
  case TRUNCATE:
  if (1)
    goto L167;
  break;
  case ZERO_EXTEND:
  if (1)
    goto L175;
  break;
  case SIGN_EXTEND:
  if (1)
    goto L187;
  break;
  case FIX:
  if (1)
    goto L239;
  break;
  case PLUS:
  if (1)
    goto L270;
  break;
  case MINUS:
  if (1)
    goto L325;
  break;
  case MULT:
  if (1)
    goto L357;
  break;
  case UMULT:
  if (1)
    goto L372;
  break;
  case DIV:
  if (1)
    goto L397;
  break;
  case UDIV:
  if (1)
    goto L412;
  break;
  case MOD:
  if (1)
    goto L437;
  break;
  case UMOD:
  if (1)
    goto L447;
  break;
  case AND:
  if (1)
    goto L484;
  break;
  case IOR:
  if (1)
    goto L511;
  break;
  case XOR:
  if (1)
    goto L526;
  break;
  case NEG:
  if (1)
    goto L540;
  break;
  case NOT:
  if (1)
    goto L568;
  break;
  case ASHIFT:
  if (1)
    goto L624;
  break;
  case ASHIFTRT:
  if (1)
    goto L644;
  break;
  case LSHIFT:
  if (1)
    goto L664;
  break;
  case LSHIFTRT:
  if (1)
    goto L684;
  break;
  case ROTATE:
  if (1)
    goto L699;
  break;
  case ROTATERT:
  if (1)
    goto L714;
  break;
  }
  goto ret0;
 L167:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; return 44; }
  goto ret0;
 L175:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; return 49; }
  goto ret0;
 L187:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; return 52; }
  goto ret0;
 L239:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 69; }
 L251:
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 72; }
  goto ret0;
 L270:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L271; }
  goto ret0;
 L271:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 77; }
  goto ret0;
 L325:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L326; }
  goto ret0;
 L326:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 89; }
  goto ret0;
 L357:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L358; }
  goto ret0;
 L358:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 97; }
  goto ret0;
 L372:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L373; }
  goto ret0;
 L373:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 100; }
  goto ret0;
 L397:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L398; }
 L402:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L403; }
  goto ret0;
 L398:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 107; }
  x2 = XEXP (x1, 0);
  goto L402;
 L403:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 108; }
  goto ret0;
 L412:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L413; }
 L417:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L418; }
  goto ret0;
 L413:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 110; }
  x2 = XEXP (x1, 0);
  goto L417;
 L418:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 111; }
  goto ret0;
 L437:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L438; }
 L442:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L443; }
  goto ret0;
 L438:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 117; }
  x2 = XEXP (x1, 0);
  goto L442;
 L443:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 118; }
  goto ret0;
 L447:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L448; }
 L452:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L453; }
  goto ret0;
 L448:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 119; }
  x2 = XEXP (x1, 0);
  goto L452;
 L453:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 120; }
  goto ret0;
 L484:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L485; }
  goto ret0;
 L485:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 124; }
  goto ret0;
 L511:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L512; }
  goto ret0;
 L512:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 129; }
  goto ret0;
 L526:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L527; }
  goto ret0;
 L527:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 132; }
  goto ret0;
 L540:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; return 135; }
  goto ret0;
 L568:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; return 146; }
  goto ret0;
 L624:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L625; }
  goto ret0;
 L625:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 156; }
  goto ret0;
 L644:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L645; }
  goto ret0;
 L645:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 160; }
  goto ret0;
 L664:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L665; }
  goto ret0;
 L665:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 164; }
  goto ret0;
 L684:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L685; }
  goto ret0;
 L685:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 168; }
  goto ret0;
 L699:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L700; }
  goto ret0;
 L700:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 171; }
  goto ret0;
 L714:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L715; }
  goto ret0;
 L715:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 174; }
  goto ret0;
 ret0: return -1;
}

int
recog_5 (x0, insn)
     register rtx x0;
     rtx insn;
{
  register rtx x1, x2, x3, x4, x5;
  rtx x6, x7, x8, x9, x10, x11;
  int tem;
 L170:
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != SImode)
    goto ret0;
 switch (GET_CODE (x1))
  {
  case ZERO_EXTEND:
  if (1)
    goto L171;
  break;
  case SIGN_EXTEND:
  if (1)
    goto L183;
  break;
  case FIX:
  if (1)
    goto L243;
  break;
  case PLUS:
  if (1)
    goto L259;
  break;
  case MINUS:
  if (1)
    goto L314;
  break;
  case MULT:
  if (1)
    goto L362;
  break;
  case UMULT:
  if (1)
    goto L377;
  break;
  case DIV:
  if (1)
    goto L407;
  break;
  case UDIV:
  if (1)
    goto L422;
  break;
  case AND:
  if (1)
    goto L479;
  break;
  case IOR:
  if (1)
    goto L506;
  break;
  case XOR:
  if (1)
    goto L521;
  break;
  case NEG:
  if (1)
    goto L536;
  break;
  case NOT:
  if (1)
    goto L564;
  break;
  case ASHIFTRT:
  if (1)
    goto L576;
  break;
  case LSHIFTRT:
  if (1)
    goto L581;
  break;
  case ASHIFT:
  if (1)
    goto L614;
  break;
  case LSHIFT:
  if (1)
    goto L654;
  break;
  case ROTATE:
  if (1)
    goto L694;
  break;
  case ROTATERT:
  if (1)
    goto L709;
  break;
  }
  goto ret0;
 L171:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; return 48; }
 L179:
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; return 50; }
  goto ret0;
 L183:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; return 51; }
 L191:
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; if (TARGET_68020) return 53; }
  goto ret0;
 L243:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 70; }
 L255:
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 73; }
  goto ret0;
 L259:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L260; }
  goto ret0;
 L260:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 75; }
 L265:
  if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
    goto L266;
  goto ret0;
 L266:
  x3 = XEXP (x2, 0);
  if (general_operand (x3, HImode))
    { recog_operand[2] = x3; return 76; }
  goto ret0;
 L314:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L315; }
  goto ret0;
 L315:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 87; }
 L320:
  if (GET_CODE (x2) == SIGN_EXTEND && GET_MODE (x2) == SImode && 1)
    goto L321;
  goto ret0;
 L321:
  x3 = XEXP (x2, 0);
  if (general_operand (x3, HImode))
    { recog_operand[2] = x3; return 88; }
  goto ret0;
 L362:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L363; }
 L367:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L368; }
  goto ret0;
 L363:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 98; }
  x2 = XEXP (x1, 0);
  goto L367;
 L368:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (TARGET_68020) return 99; }
  goto ret0;
 L377:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L378; }
 L382:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L383; }
  goto ret0;
 L378:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[2] = x2; return 101; }
  x2 = XEXP (x1, 0);
  goto L382;
 L383:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (TARGET_68020) return 102; }
  goto ret0;
 L407:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L408; }
  goto ret0;
 L408:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (TARGET_68020) return 109; }
  goto ret0;
 L422:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L423; }
  goto ret0;
 L423:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (TARGET_68020) return 112; }
  goto ret0;
 L479:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L480; }
 L494:
  if (GET_CODE (x2) == ZERO_EXTEND && GET_MODE (x2) == SImode && 1)
    goto L495;
  goto ret0;
 L480:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 123; }
  x2 = XEXP (x1, 0);
  goto L494;
 L495:
  x3 = XEXP (x2, 0);
  if (general_operand (x3, HImode))
    { recog_operand[1] = x3; goto L496; }
 L501:
  if (general_operand (x3, QImode))
    { recog_operand[1] = x3; goto L502; }
  goto ret0;
 L496:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (GET_CODE (operands[2]) == CONST_INT
   && (unsigned int) INTVAL (operands[2]) < (1 << GET_MODE_BITSIZE (HImode))) return 126; }
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L501;
 L502:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (GET_CODE (operands[2]) == CONST_INT
   && (unsigned int) INTVAL (operands[2]) < (1 << GET_MODE_BITSIZE (QImode))) return 127; }
  goto ret0;
 L506:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L507; }
  goto ret0;
 L507:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 128; }
  goto ret0;
 L521:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L522; }
  goto ret0;
 L522:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 131; }
  goto ret0;
 L536:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; return 134; }
  goto ret0;
 L564:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; return 145; }
  goto ret0;
 L576:
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    { recog_operand[1] = x2; goto L577; }
 L634:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L635; }
  goto ret0;
 L577:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XINT (x2, 0) == 24 && 1)
    if (GET_CODE (XEXP (operands[1], 0)) != POST_INC
   && GET_CODE (XEXP (operands[1], 0)) != PRE_DEC) return 148;
  x2 = XEXP (x1, 0);
  goto L634;
 L635:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (!TARGET_68020
   && GET_CODE (operands[2]) == CONST_INT
   && INTVAL (operands[2]) >= 16
   && INTVAL (operands[2]) < 25) return 158; }
 L640:
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 159; }
  goto ret0;
 L581:
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    { recog_operand[1] = x2; goto L582; }
 L674:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L675; }
  goto ret0;
 L582:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XINT (x2, 0) == 24 && 1)
    if (GET_CODE (XEXP (operands[1], 0)) != POST_INC
   && GET_CODE (XEXP (operands[1], 0)) != PRE_DEC) return 149;
  x2 = XEXP (x1, 0);
  goto L674;
 L675:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (!TARGET_68020
   && GET_CODE (operands[2]) == CONST_INT
   && INTVAL (operands[2]) >= 16
   && INTVAL (operands[2]) < 25) return 166; }
 L680:
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 167; }
  goto ret0;
 L614:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L615; }
  goto ret0;
 L615:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (!TARGET_68020
   && GET_CODE (operands[2]) == CONST_INT
   && INTVAL (operands[2]) >= 16
   && INTVAL (operands[2]) < 25) return 154; }
 L620:
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 155; }
  goto ret0;
 L654:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L655; }
  goto ret0;
 L655:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; if (!TARGET_68020
   && GET_CODE (operands[2]) == CONST_INT
   && INTVAL (operands[2]) >= 16
   && INTVAL (operands[2]) < 25) return 162; }
 L660:
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 163; }
  goto ret0;
 L694:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L695; }
  goto ret0;
 L695:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 170; }
  goto ret0;
 L709:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L710; }
  goto ret0;
 L710:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 173; }
  goto ret0;
 ret0: return -1;
}

int
recog_6 (x0, insn)
     register rtx x0;
     rtx insn;
{
  register rtx x1, x2, x3, x4, x5;
  rtx x6, x7, x8, x9, x10, x11;
  int tem;
 L7:
  x1 = XEXP (x0, 0);
  if (x1 == cc0_rtx && 1)
    goto L8;
  if (GET_CODE (x1) == STRICT_LOW_PART && 1)
    goto L139;
  if (x1 == pc_rtx && 1)
    goto L902;
 L1152:
  if (1)
    { recog_operand[0] = x1; goto L1153; }
 L135:
 switch (GET_MODE (x1))
  {
  case QImode:
  if (general_operand (x1, QImode))
    { recog_operand[0] = x1; goto L136; }
  break;
 L128:
  case HImode:
  if (general_operand (x1, HImode))
    { recog_operand[0] = x1; goto L129; }
  break;
  case SImode:
  if (push_operand (x1, SImode))
    { recog_operand[0] = x1; goto L115; }
 L117:
  if (x68k_test_operand (x1, SImode))
    { recog_operand[0] = x1; goto L118; }
 L120:
  if (register_operand (x1, SImode))
    { recog_operand[0] = x1; goto L121; }
 L125:
  if (general_operand (x1, SImode))
    { recog_operand[0] = x1; goto L126; }
 L151:
  if (push_operand (x1, SImode))
    { recog_operand[0] = x1; goto L152; }
 L154:
  if (register_operand (x1, SImode))
    { recog_operand[0] = x1; goto L155; }
 L169:
  if (general_operand (x1, SImode))
    { recog_operand[0] = x1; goto L170; }
 L722:
  if (GET_CODE (x1) == ZERO_EXTRACT && 1)
    goto L753;
 L728:
  if (general_operand (x1, SImode))
    { recog_operand[0] = x1; goto L729; }
  break;
  case DImode:
  if (push_operand (x1, DImode))
    { recog_operand[0] = x1; goto L5; }
 L148:
  if (general_operand (x1, DImode))
    { recog_operand[0] = x1; goto L149; }
  break;
  case SFmode:
  if (general_operand (x1, SFmode))
    { recog_operand[0] = x1; goto L143; }
  break;
  case DFmode:
  if (push_operand (x1, DFmode))
    { recog_operand[0] = x1; goto L2; }
 L145:
  if (general_operand (x1, DFmode))
    { recog_operand[0] = x1; goto L146; }
  break;
  }
  goto ret0;
 L8:
  tem = recog_1 (x0, insn);
  if (tem >= 0) return tem;
  goto L1152;
 L139:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[0] = x2; goto L140; }
 L132:
  if (general_operand (x2, HImode))
    { recog_operand[0] = x2; goto L133; }
  goto L1152;
 L140:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, QImode))
    { recog_operand[1] = x1; return 36; }
 L292:
  if (GET_MODE (x1) != QImode)
    {
      x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
      goto L132;
    }
  if (GET_CODE (x1) == PLUS && 1)
    goto L293;
  if (GET_CODE (x1) == MINUS && 1)
    goto L342;
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L132;
 L293:
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    goto L294;
 L299:
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L300; }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L132;
 L294:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; return 81; }
  x2 = XEXP (x1, 0);
  goto L299;
 L300:
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    return 82;
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L132;
 L342:
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    goto L343;
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L132;
 L343:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; return 92; }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L132;
 L133:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, HImode))
    { recog_operand[1] = x1; return 33; }
 L275:
  if (GET_MODE (x1) != HImode)
    {
      x1 = XEXP (x0, 0);
      goto L1152;
    }
  if (GET_CODE (x1) == PLUS && 1)
    goto L276;
  if (GET_CODE (x1) == MINUS && 1)
    goto L331;
  x1 = XEXP (x0, 0);
  goto L1152;
 L276:
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    goto L277;
 L282:
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; goto L283; }
  x1 = XEXP (x0, 0);
  goto L1152;
 L277:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; return 78; }
  x2 = XEXP (x1, 0);
  goto L282;
 L283:
  x2 = XEXP (x1, 1);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    return 79;
  x1 = XEXP (x0, 0);
  goto L1152;
 L331:
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    goto L332;
  x1 = XEXP (x0, 0);
  goto L1152;
 L332:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; return 90; }
  x1 = XEXP (x0, 0);
  goto L1152;
 L902:
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == IF_THEN_ELSE && 1)
    goto L903;
  if (GET_CODE (x1) == LABEL_REF && 1)
    goto L1092;
  x1 = XEXP (x0, 0);
  goto L1152;
 L903:
  tem = recog_2 (x0, insn);
  if (tem >= 0) return tem;
  x1 = XEXP (x0, 0);
  goto L1152;
 L1092:
  x2 = XEXP (x1, 0);
  if (1)
    { recog_operand[0] = x2; return 230; }
  x1 = XEXP (x0, 0);
  goto L1152;
 L1153:
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == CALL && 1)
    goto L1154;
  x1 = XEXP (x0, 0);
  goto L135;
 L1154:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; goto L1155; }
  x1 = XEXP (x0, 0);
  goto L135;
 L1155:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; return 235; }
  x1 = XEXP (x0, 0);
  goto L135;
 L136:
  tem = recog_3 (x0, insn);
  if (tem >= 0) return tem;
  goto L128;
 L129:
  return recog_4 (x0, insn);
 L115:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, SImode))
    { recog_operand[1] = x1; if (GET_CODE (operands[1]) == CONST_INT
   && INTVAL (operands[1]) >= -0x8000
   && INTVAL (operands[1]) < 0x8000) return 25; }
  x1 = XEXP (x0, 0);
  goto L117;
 L118:
  x1 = XEXP (x0, 1);
  if (x1 == const0_rtx && 1)
    return 26;
  x1 = XEXP (x0, 0);
  goto L120;
 L121:
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == PLUS && GET_MODE (x1) == SImode && 1)
    goto L122;
  x1 = XEXP (x0, 0);
  goto L125;
 L122:
  x2 = XEXP (x1, 0);
  if (x2 == pc_rtx && 1)
    goto L123;
  x1 = XEXP (x0, 0);
  goto L125;
 L123:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; return 28; }
  x1 = XEXP (x0, 0);
  goto L125;
 L126:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, SImode))
    { recog_operand[1] = x1; return 30; }
  x1 = XEXP (x0, 0);
  goto L151;
 L152:
  x1 = XEXP (x0, 1);
  if (address_operand (x1, SImode))
    { recog_operand[1] = x1; return 40; }
  x1 = XEXP (x0, 0);
  goto L154;
 L155:
  x1 = XEXP (x0, 1);
  if (address_operand (x1, SImode))
    { recog_operand[1] = x1; if (plus_symbol_ref_p (operands[1])) return 41; }
  x1 = XEXP (x0, 0);
  goto L169;
 L170:
  tem = recog_5 (x0, insn);
  if (tem >= 0) return tem;
  goto L722;
 L753:
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    { recog_operand[0] = x2; goto L754; }
 L723:
  if (nonimmediate_operand (x2, SImode))
    { recog_operand[0] = x2; goto L724; }
  goto L728;
 L754:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L755; }
  x2 = XEXP (x1, 0);
  goto L723;
 L755:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; goto L756; }
  x2 = XEXP (x1, 0);
  goto L723;
 L756:
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == XOR && GET_MODE (x1) == SImode && 1)
    goto L757;
  if (x1 == const0_rtx && 1)
    if (TARGET_68020 && TARGET_BITFIELD) return 182;
 L773:
  if (GET_CODE (x1) == CONST_INT && XINT (x1, 0) == -1 && 1)
    if (TARGET_68020 && TARGET_BITFIELD) return 183;
 L779:
  if (general_operand (x1, SImode))
    { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD) return 184; }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 0);
  goto L723;
 L757:
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == ZERO_EXTRACT && GET_MODE (x2) == SImode && 1)
    goto L758;
  goto L779;
 L758:
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, recog_operand[0]) && 1)
    goto L759;
  goto L779;
 L759:
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, recog_operand[1]) && 1)
    goto L760;
  goto L779;
 L760:
  x3 = XEXP (x2, 2);
  if (rtx_equal_p (x3, recog_operand[2]) && 1)
    goto L761;
  goto L779;
 L761:
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, VOIDmode))
    { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[3]) == CONST_INT
   && (INTVAL (operands[3]) == -1
       || (GET_CODE (operands[1]) == CONST_INT
           && (~ INTVAL (operands[3]) & ((1 << INTVAL (operands[1]))- 1)) == 0))) return 181; }
  goto L779;
 L724:
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, SImode))
    { recog_operand[1] = x2; goto L725; }
 L795:
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; goto L796; }
  goto L728;
 L725:
  x2 = XEXP (x1, 2);
  if (immediate_operand (x2, SImode))
    { recog_operand[2] = x2; goto L726; }
  x2 = XEXP (x1, 1);
  goto L795;
 L726:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, SImode))
    { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[1]) == CONST_INT
   && (INTVAL (operands[1]) == 8 || INTVAL (operands[1]) == 16)
   && GET_CODE (operands[2]) == CONST_INT
   && INTVAL (operands[2]) % INTVAL (operands[1]) == 0
   && (GET_CODE (operands[0]) == REG
       || ! mode_dependent_address_p (XEXP (operands[0], 0)))) return 176; }
  x1 = XEXP (x0, 0);
  x2 = XEXP (x1, 1);
  goto L795;
 L796:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; goto L797; }
  goto L728;
 L797:
  x1 = XEXP (x0, 1);
  if (x1 == const0_rtx && 1)
    if (TARGET_68020 && TARGET_BITFIELD) return 187;
 L803:
  if (GET_CODE (x1) == CONST_INT && XINT (x1, 0) == -1 && 1)
    if (TARGET_68020 && TARGET_BITFIELD) return 188;
 L809:
  if (general_operand (x1, SImode))
    { recog_operand[3] = x1; if (TARGET_68020 && TARGET_BITFIELD) return 189; }
  x1 = XEXP (x0, 0);
  goto L728;
 L729:
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == ZERO_EXTRACT && GET_MODE (x1) == SImode && 1)
    goto L748;
  if (GET_CODE (x1) == SIGN_EXTRACT && GET_MODE (x1) == SImode && 1)
    goto L742;
 L1159:
  if (address_operand (x1, QImode))
    { recog_operand[1] = x1; return 237; }
  goto ret0;
 L748:
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    { recog_operand[1] = x2; goto L749; }
 L730:
  if (nonimmediate_operand (x2, SImode))
    { recog_operand[1] = x2; goto L731; }
  goto L1159;
 L749:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; goto L750; }
  x2 = XEXP (x1, 0);
  goto L730;
 L750:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 180; }
  x2 = XEXP (x1, 0);
  goto L730;
 L731:
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, SImode))
    { recog_operand[2] = x2; goto L732; }
 L790:
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; goto L791; }
  goto L1159;
 L732:
  x2 = XEXP (x1, 2);
  if (immediate_operand (x2, SImode))
    { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[2]) == CONST_INT
   && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
   && GET_CODE (operands[3]) == CONST_INT
   && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
   && (GET_CODE (operands[1]) == REG
       || ! mode_dependent_address_p (XEXP (operands[1], 0)))) return 177; }
  x2 = XEXP (x1, 1);
  goto L790;
 L791:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 186; }
  goto L1159;
 L742:
  x2 = XEXP (x1, 0);
  if (nonimmediate_operand (x2, QImode))
    { recog_operand[1] = x2; goto L743; }
 L736:
  if (nonimmediate_operand (x2, SImode))
    { recog_operand[1] = x2; goto L737; }
  goto L1159;
 L743:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; goto L744; }
  x2 = XEXP (x1, 0);
  goto L736;
 L744:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 179; }
  x2 = XEXP (x1, 0);
  goto L736;
 L737:
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, SImode))
    { recog_operand[2] = x2; goto L738; }
 L784:
  if (general_operand (x2, SImode))
    { recog_operand[2] = x2; goto L785; }
  goto L1159;
 L738:
  x2 = XEXP (x1, 2);
  if (immediate_operand (x2, SImode))
    { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD
   && GET_CODE (operands[2]) == CONST_INT
   && (INTVAL (operands[2]) == 8 || INTVAL (operands[2]) == 16)
   && GET_CODE (operands[3]) == CONST_INT
   && INTVAL (operands[3]) % INTVAL (operands[2]) == 0
   && (GET_CODE (operands[1]) == REG
       || ! mode_dependent_address_p (XEXP (operands[1], 0)))) return 178; }
  x2 = XEXP (x1, 1);
  goto L784;
 L785:
  x2 = XEXP (x1, 2);
  if (general_operand (x2, SImode))
    { recog_operand[3] = x2; if (TARGET_68020 && TARGET_BITFIELD) return 185; }
  goto L1159;
 L5:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, DImode))
    { recog_operand[1] = x1; return 1; }
  x1 = XEXP (x0, 0);
  goto L148;
 L149:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, DImode))
    { recog_operand[1] = x1; return 39; }
  goto ret0;
 L143:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, SFmode))
    { recog_operand[1] = x1; return 37; }
 L198:
  if (GET_MODE (x1) != SFmode)
    goto ret0;
 switch (GET_CODE (x1))
  {
  case FLOAT_TRUNCATE:
  if (1)
    goto L199;
  break;
  case FLOAT:
  if (1)
    goto L203;
  break;
  case FIX:
  if (1)
    goto L231;
  break;
  case PLUS:
  if (1)
    goto L309;
  break;
  case MINUS:
  if (1)
    goto L352;
  break;
  case MULT:
  if (1)
    goto L392;
  break;
  case DIV:
  if (1)
    goto L432;
  break;
  case NEG:
  if (1)
    goto L548;
  break;
  case ABS:
  if (1)
    goto L556;
  break;
  }
  goto ret0;
 L199:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 57; }
  goto ret0;
 L203:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; if (TARGET_68881) return 59; }
 L211:
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; if (TARGET_68881) return 62; }
 L219:
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; if (TARGET_68881) return 64; }
  goto ret0;
 L231:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; if (TARGET_68881 && !TARGET_68040) return 67; }
  goto ret0;
 L309:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; goto L310; }
  goto ret0;
 L310:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SFmode))
    { recog_operand[2] = x2; if (TARGET_68881) return 86; }
  goto ret0;
 L352:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; goto L353; }
  goto ret0;
 L353:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SFmode))
    { recog_operand[2] = x2; if (TARGET_68881) return 96; }
  goto ret0;
 L392:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; goto L393; }
  goto ret0;
 L393:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SFmode))
    { recog_operand[2] = x2; if (TARGET_68881) return 106; }
  goto ret0;
 L432:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; goto L433; }
  goto ret0;
 L433:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, SFmode))
    { recog_operand[2] = x2; if (TARGET_68881) return 116; }
  goto ret0;
 L548:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 138; }
  goto ret0;
 L556:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 142; }
  goto ret0;
 L2:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, DFmode))
    { recog_operand[1] = x1; return 0; }
  x1 = XEXP (x0, 0);
  goto L145;
 L146:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, DFmode))
    { recog_operand[1] = x1; return 38; }
 L194:
  if (GET_MODE (x1) != DFmode)
    goto ret0;
 switch (GET_CODE (x1))
  {
  case FLOAT_EXTEND:
  if (1)
    goto L195;
  break;
  case FLOAT:
  if (1)
    goto L207;
  break;
  case FIX:
  if (1)
    goto L227;
  break;
  case PLUS:
  if (1)
    goto L304;
  break;
  case MINUS:
  if (1)
    goto L347;
  break;
  case MULT:
  if (1)
    goto L387;
  break;
  case DIV:
  if (1)
    goto L427;
  break;
  case NEG:
  if (1)
    goto L552;
  break;
  case ABS:
  if (1)
    goto L560;
  break;
  }
  goto ret0;
 L195:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 55; }
  goto ret0;
 L207:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[1] = x2; if (TARGET_68881) return 61; }
 L215:
  if (general_operand (x2, HImode))
    { recog_operand[1] = x2; if (TARGET_68881) return 63; }
 L223:
  if (general_operand (x2, QImode))
    { recog_operand[1] = x2; if (TARGET_68881) return 65; }
  goto ret0;
 L227:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; if (TARGET_68881 && !TARGET_68040) return 66; }
  goto ret0;
 L304:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; goto L305; }
  goto ret0;
 L305:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, DFmode))
    { recog_operand[2] = x2; if (TARGET_68881) return 84; }
  goto ret0;
 L347:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; goto L348; }
  goto ret0;
 L348:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, DFmode))
    { recog_operand[2] = x2; if (TARGET_68881) return 94; }
  goto ret0;
 L387:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; goto L388; }
  goto ret0;
 L388:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, DFmode))
    { recog_operand[2] = x2; if (TARGET_68881) return 104; }
  goto ret0;
 L427:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; goto L428; }
  goto ret0;
 L428:
  x2 = XEXP (x1, 1);
  if (general_operand (x2, DFmode))
    { recog_operand[2] = x2; if (TARGET_68881) return 114; }
  goto ret0;
 L552:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 140; }
  goto ret0;
 L560:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DFmode))
    { recog_operand[1] = x2; if (TARGET_68881) return 144; }
  goto ret0;
 ret0: return -1;
}

int
recog_7 (x0, insn)
     register rtx x0;
     rtx insn;
{
  register rtx x1, x2, x3, x4, x5;
  rtx x6, x7, x8, x9, x10, x11;
  int tem;
 L1082:
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  if (x2 == pc_rtx && 1)
    goto L1083;
 L456:
  if (general_operand (x2, SImode))
    { recog_operand[0] = x2; goto L457; }
  goto ret0;
 L1083:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
    goto L1084;
  if (GET_CODE (x2) == IF_THEN_ELSE && 1)
    goto L1097;
  x2 = XEXP (x1, 0);
  goto L456;
 L1084:
  x3 = XEXP (x2, 0);
  if (x3 == pc_rtx && 1)
    goto L1085;
  x2 = XEXP (x1, 0);
  goto L456;
 L1085:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, HImode))
    { recog_operand[0] = x3; goto L1086; }
  x2 = XEXP (x1, 0);
  goto L456;
 L1086:
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L1087;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1087:
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1088;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1088:
  x3 = XEXP (x2, 0);
  if (1)
    { recog_operand[1] = x3; return 229; }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1097:
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == NE && 1)
    goto L1098;
  if (GET_CODE (x3) == GE && 1)
    goto L1136;
  x2 = XEXP (x1, 0);
  goto L456;
 L1098:
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == COMPARE && 1)
    goto L1099;
  x2 = XEXP (x1, 0);
  goto L456;
 L1099:
  x5 = XEXP (x4, 0);
  if (GET_CODE (x5) != PLUS)
    {  x2 = XEXP (x1, 0);
    goto L456; }
  if (GET_MODE (x5) == HImode && 1)
    goto L1100;
  if (GET_MODE (x5) == SImode && 1)
    goto L1119;
  x2 = XEXP (x1, 0);
  goto L456;
 L1100:
  x6 = XEXP (x5, 0);
  if (general_operand (x6, HImode))
    { recog_operand[0] = x6; goto L1101; }
  x2 = XEXP (x1, 0);
  goto L456;
 L1101:
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XINT (x6, 0) == -1 && 1)
    goto L1102;
  x2 = XEXP (x1, 0);
  goto L456;
 L1102:
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
    goto L1103;
  x2 = XEXP (x1, 0);
  goto L456;
 L1103:
  x4 = XEXP (x3, 1);
  if (x4 == const0_rtx && 1)
    goto L1104;
  x2 = XEXP (x1, 0);
  goto L456;
 L1104:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L1105;
  x2 = XEXP (x1, 0);
  goto L456;
 L1105:
  x4 = XEXP (x3, 0);
  if (1)
    { recog_operand[1] = x4; goto L1106; }
  x2 = XEXP (x1, 0);
  goto L456;
 L1106:
  x3 = XEXP (x2, 2);
  if (x3 == pc_rtx && 1)
    goto L1107;
  x2 = XEXP (x1, 0);
  goto L456;
 L1107:
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1108;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1108:
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    goto L1109;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1109:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PLUS && GET_MODE (x2) == HImode && 1)
    goto L1110;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1110:
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, recog_operand[0]) && 1)
    goto L1111;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1111:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
    return 231;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1119:
  x6 = XEXP (x5, 0);
  if (general_operand (x6, SImode))
    { recog_operand[0] = x6; goto L1120; }
  x2 = XEXP (x1, 0);
  goto L456;
 L1120:
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XINT (x6, 0) == -1 && 1)
    goto L1121;
  x2 = XEXP (x1, 0);
  goto L456;
 L1121:
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
    goto L1122;
  x2 = XEXP (x1, 0);
  goto L456;
 L1122:
  x4 = XEXP (x3, 1);
  if (x4 == const0_rtx && 1)
    goto L1123;
  x2 = XEXP (x1, 0);
  goto L456;
 L1123:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L1124;
  x2 = XEXP (x1, 0);
  goto L456;
 L1124:
  x4 = XEXP (x3, 0);
  if (1)
    { recog_operand[1] = x4; goto L1125; }
  x2 = XEXP (x1, 0);
  goto L456;
 L1125:
  x3 = XEXP (x2, 2);
  if (x3 == pc_rtx && 1)
    goto L1126;
  x2 = XEXP (x1, 0);
  goto L456;
 L1126:
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1127;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1127:
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    goto L1128;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1128:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
    goto L1129;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1129:
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, recog_operand[0]) && 1)
    goto L1130;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1130:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
    return 232;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1136:
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == PLUS && GET_MODE (x4) == SImode && 1)
    goto L1137;
  x2 = XEXP (x1, 0);
  goto L456;
 L1137:
  x5 = XEXP (x4, 0);
  if (general_operand (x5, SImode))
    { recog_operand[0] = x5; goto L1138; }
  x2 = XEXP (x1, 0);
  goto L456;
 L1138:
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XINT (x5, 0) == -1 && 1)
    goto L1139;
  x2 = XEXP (x1, 0);
  goto L456;
 L1139:
  x4 = XEXP (x3, 1);
  if (x4 == const0_rtx && 1)
    goto L1140;
  x2 = XEXP (x1, 0);
  goto L456;
 L1140:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L1141;
  x2 = XEXP (x1, 0);
  goto L456;
 L1141:
  x4 = XEXP (x3, 0);
  if (1)
    { recog_operand[1] = x4; goto L1142; }
  x2 = XEXP (x1, 0);
  goto L456;
 L1142:
  x3 = XEXP (x2, 2);
  if (x3 == pc_rtx && 1)
    goto L1143;
  x2 = XEXP (x1, 0);
  goto L456;
 L1143:
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L1144;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1144:
  x2 = XEXP (x1, 0);
  if (rtx_equal_p (x2, recog_operand[0]) && 1)
    goto L1145;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1145:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == PLUS && GET_MODE (x2) == SImode && 1)
    goto L1146;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1146:
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, recog_operand[0]) && 1)
    goto L1147;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L1147:
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XINT (x3, 0) == -1 && 1)
    if (find_reg_note (insn, REG_NONNEG, 0)) return 233;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L456;
 L457:
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (GET_CODE (x2) == DIV && 1)
    goto L458;
  if (GET_CODE (x2) == UDIV && 1)
    goto L469;
  goto ret0;
 L458:
  x3 = XEXP (x2, 0);
  if (general_operand (x3, SImode))
    { recog_operand[1] = x3; goto L459; }
  goto ret0;
 L459:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, SImode))
    { recog_operand[2] = x3; goto L460; }
  goto ret0;
 L460:
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L461;
  goto ret0;
 L461:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[3] = x2; goto L462; }
  goto ret0;
 L462:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == MOD && GET_MODE (x2) == SImode && 1)
    goto L463;
  goto ret0;
 L463:
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, recog_operand[1]) && 1)
    goto L464;
  goto ret0;
 L464:
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, recog_operand[2]) && 1)
    if (TARGET_68020) return 121;
  goto ret0;
 L469:
  x3 = XEXP (x2, 0);
  if (general_operand (x3, SImode))
    { recog_operand[1] = x3; goto L470; }
  goto ret0;
 L470:
  x3 = XEXP (x2, 1);
  if (general_operand (x3, SImode))
    { recog_operand[2] = x3; goto L471; }
  goto ret0;
 L471:
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == SET && 1)
    goto L472;
  goto ret0;
 L472:
  x2 = XEXP (x1, 0);
  if (general_operand (x2, SImode))
    { recog_operand[3] = x2; goto L473; }
  goto ret0;
 L473:
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == UMOD && GET_MODE (x2) == SImode && 1)
    goto L474;
  goto ret0;
 L474:
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, recog_operand[1]) && 1)
    goto L475;
  goto ret0;
 L475:
  x3 = XEXP (x2, 1);
  if (rtx_equal_p (x3, recog_operand[2]) && 1)
    if (TARGET_68020) return 122;
  goto ret0;
 ret0: return -1;
}

int
recog (x0, insn)
     register rtx x0;
     rtx insn;
{
  register rtx x1, x2, x3, x4, x5;
  rtx x6, x7, x8, x9, x10, x11;
  int tem;
 L0:
 switch (GET_CODE (x0))
  {
  case SET:
  if (1)
    goto L7;
  break;
  case PARALLEL:
  if (XVECLEN (x0, 0) == 2 && 1)
    goto L455;
  break;
  case CALL:
  if (1)
    goto L1149;
  break;
  case CONST_INT:
  if (x0 == const0_rtx && 1)
    return 236;
  break;
  }
  goto ret0;
 L7:
  return recog_6 (x0, insn);
 L455:
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L1082;
  goto ret0;
 L1082:
  return recog_7 (x0, insn);
 L1149:
  x1 = XEXP (x0, 0);
  if (general_operand (x1, QImode))
    { recog_operand[0] = x1; goto L1150; }
  goto ret0;
 L1150:
  x1 = XEXP (x0, 1);
  if (general_operand (x1, SImode))
    { recog_operand[1] = x1; return 234; }
  goto ret0;
 ret0: return -1;
}

