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

#include "config.h"
#include "system.h"
#include "rtl.h"
#include "insn-config.h"
#include "recog.h"
#include "real.h"
#include "output.h"
#include "flags.h"

extern rtx gen_split_1 ();
extern rtx gen_split_5 ();
extern rtx gen_split_7 ();
extern rtx gen_split_8 ();
extern rtx gen_split_11 ();
extern rtx gen_split_14 ();
extern rtx gen_split_17 ();
extern rtx gen_split_19 ();
extern rtx gen_split_21 ();
extern rtx gen_split_23 ();
extern rtx gen_split_50 ();
extern rtx gen_split_117 ();
extern rtx gen_split_118 ();
extern rtx gen_split_123 ();
extern rtx gen_split_124 ();
extern rtx gen_split_171 ();
extern rtx gen_split_172 ();
extern rtx gen_split_173 ();
extern rtx gen_split_174 ();
extern rtx gen_split_184 ();
extern rtx gen_split_187 ();
extern rtx gen_split_190 ();
extern rtx gen_split_192 ();
extern rtx gen_split_197 ();
extern rtx gen_split_244 ();
extern rtx gen_split_245 ();
extern rtx gen_split_246 ();
extern rtx gen_split_247 ();
extern rtx gen_split_248 ();
extern rtx gen_split_291 ();
extern rtx gen_split_295 ();
extern rtx gen_split_313 ();
extern rtx gen_split_314 ();
extern rtx gen_split_315 ();
extern rtx gen_split_316 ();

/* `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 various
   insn_* tables, such as insn_templates, insn_outfun, and insn_n_operands
   (found in insn-output.c).

   The third argument to recog is an optional pointer to an int.
   If present, recog will accept a pattern if it matches except for
   missing CLOBBER expressions at the end.  In that case, the value
   pointed to by the optional pointer will be set to the number of
   CLOBBERs that need to be added (it should be initialized to zero by
   the caller).  If it is set nonzero, the caller should allocate a
   PARALLEL of the appropriate size, copy the initial entries, and call
   add_clobbers (found in insn-emit.c) to fill in the CLOBBERs.

   The function split_insns returns 0 if the rtl could not
   be split or the split rtl in a SEQUENCE if it can be.*/

#define operands recog_operand

int
recog_1 (x0, insn, pnum_clobbers)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
     int *pnum_clobbers ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x2))
	{
	default:
	  break;
	case AND:
	  goto L454;
	case ZERO_EXTEND:
	  goto L484;
	case SUBREG:
	case REG:
	  if (register_operand (x2, DImode))
	    {
	      ro[1] = x2;
	      goto L526;
	    }
	}
    }
  L375: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L441;
    }
  goto ret0;

  L454: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L455;
    }
  goto ret0;

  L455: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) != CONST_INT)
    goto ret0;
  if (XWINT (x3, 0) == 2147483647 && 1)
    goto L456;
  if (XWINT (x3, 0) == 65535 && 1)
    goto L471;
  goto ret0;

  L456: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MINUS && 1)
    goto L457;
  goto ret0;

  L457: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 56 && 1)
    goto L458;
  goto ret0;

  L458: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ASHIFT && 1)
    goto L459;
  goto ret0;

  L459: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == AND && 1)
    goto L460;
  goto ret0;

  L460: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == PLUS && 1)
    goto L461;
  goto ret0;

  L461: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (reg_or_8bit_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L462;
    }
  goto ret0;

  L462: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == -1 && 1)
    goto L463;
  goto ret0;

  L463: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 7 && 1)
    goto L464;
  goto ret0;

  L464: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 3 && 1)
    return 93;
  goto ret0;

  L471: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MINUS && 1)
    goto L472;
  goto ret0;

  L472: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 56 && 1)
    goto L473;
  goto ret0;

  L473: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ASHIFT && 1)
    goto L474;
  goto ret0;

  L474: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == AND && 1)
    goto L475;
  goto ret0;

  L475: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == PLUS && 1)
    goto L476;
  goto ret0;

  L476: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (reg_or_8bit_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L477;
    }
  goto ret0;

  L477: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == -1 && 1)
    goto L478;
  goto ret0;

  L478: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 7 && 1)
    goto L479;
  goto ret0;

  L479: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 3 && 1)
    return 94;
  goto ret0;

  L484: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case QImode:
      if (register_operand (x3, QImode))
	{
	  ro[1] = x3;
	  goto L503;
	}
      break;
    case HImode:
      if (register_operand (x3, HImode))
	{
	  ro[1] = x3;
	  goto L511;
	}
      break;
    case SImode:
      if (register_operand (x3, SImode))
	{
	  ro[1] = x3;
	  goto L519;
	}
    }
  goto ret0;

  L503: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ASHIFT:
      if (GET_MODE (x2) == DImode && 1)
	goto L504;
      break;
    case CONST_INT:
      if (GET_CODE (x2) == CONST_INT && mul8_operand (x2, DImode))
	{
	  ro[2] = x2;
	  return 95;
	}
    }
  goto ret0;

  L504: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L505;
    }
  goto ret0;

  L505: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 3 && 1)
    return 98;
  goto ret0;

  L511: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ASHIFT:
      if (GET_MODE (x2) == DImode && 1)
	goto L512;
      break;
    case CONST_INT:
      if (GET_CODE (x2) == CONST_INT && mul8_operand (x2, DImode))
	{
	  ro[2] = x2;
	  return 96;
	}
    }
  goto ret0;

  L512: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L513;
    }
  goto ret0;

  L513: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 3 && 1)
    return 99;
  goto ret0;

  L519: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ASHIFT:
      if (GET_MODE (x2) == DImode && 1)
	goto L520;
      break;
    case CONST_INT:
      if (GET_CODE (x2) == CONST_INT && mul8_operand (x2, DImode))
	{
	  ro[2] = x2;
	  return 97;
	}
    }
  goto ret0;

  L520: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L521;
    }
  goto ret0;

  L521: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 3 && 1)
    return 100;
  goto ret0;

  L526: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ASHIFT && 1)
    goto L527;
  x2 = XEXP (x1, 0);
  goto L375;

  L527: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L528;
    }
  x2 = XEXP (x1, 0);
  goto L375;

  L528: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 3 && 1)
    return 101;
  x2 = XEXP (x1, 0);
  goto L375;

  L441: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MINUS && 1)
    goto L442;
  if (reg_or_6bit_operand (x2, DImode))
    {
      ro[2] = x2;
      return 73;
    }
  goto ret0;

  L442: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 56 && 1)
    goto L443;
  goto ret0;

  L443: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ASHIFT && 1)
    goto L444;
  goto ret0;

  L444: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == AND && 1)
    goto L445;
  goto ret0;

  L445: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && GET_CODE (x5) == PLUS && 1)
    goto L446;
  goto ret0;

  L446: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  if (reg_or_8bit_operand (x6, DImode))
    {
      ro[2] = x6;
      goto L447;
    }
  goto ret0;

  L447: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  if (GET_CODE (x6) == CONST_INT && XWINT (x6, 0) == -1 && 1)
    goto L448;
  goto ret0;

  L448: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 7 && 1)
    goto L449;
  goto ret0;

  L449: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 3 && 1)
    return 92;
  goto ret0;
 ret0: return -1;
}

int
recog_2 (x0, insn, pnum_clobbers)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
     int *pnum_clobbers ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case SIGN_EXTEND:
	  goto L25;
	case UNSPEC:
	  if (XINT (x1, 1) == 4 && XVECLEN (x1, 0) == 1 && 1)
	    goto L11;
	  if (XINT (x1, 1) == 6 && XVECLEN (x1, 0) == 2 && 1)
	    goto L1591;
	  break;
	case PLUS:
	  goto L51;
	case NEG:
	  goto L180;
	case MINUS:
	  goto L215;
	case MULT:
	  goto L233;
	case TRUNCATE:
	  goto L238;
	case AND:
	  goto L339;
	case ZERO_EXTEND:
	  goto L311;
	case IOR:
	  goto L354;
	case NOT:
	  goto L365;
	case XOR:
	  goto L360;
	case ASHIFT:
	  goto L453;
	case LSHIFTRT:
	  goto L380;
	case ASHIFTRT:
	  goto L385;
	case ZERO_EXTRACT:
	  goto L410;
	case IF_THEN_ELSE:
	  goto L941;
	case SMAX:
	  goto L1043;
	case SMIN:
	  goto L1056;
	case EQ:
	case LE:
	case LT:
	case LEU:
	case LTU:
	  if (alpha_comparison_operator (x1, DImode))
	    {
	      ro[1] = x1;
	      goto L923;
	    }
	}
    L927: ATTRIBUTE_UNUSED_LABEL
      if (alpha_swapped_comparison_operator (x1, DImode))
	{
	  ro[1] = x1;
	  goto L928;
	}
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case UNSPEC:
      if (XINT (x1, 1) == 1 && XVECLEN (x1, 0) == 1 && 1)
	goto L371;
      if (XINT (x1, 1) == 2 && XVECLEN (x1, 0) == 3 && 1)
	goto L539;
      if (XINT (x1, 1) == 3 && XVECLEN (x1, 0) == 3 && 1)
	goto L555;
      break;
    case AND:
    L423: ATTRIBUTE_UNUSED_LABEL
      goto L424;
    }
  goto ret0;

  L25: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SImode:
      switch (GET_CODE (x2))
	{
	default:
	  break;
	case PLUS:
	  goto L74;
	case NEG:
	  goto L176;
	case MINUS:
	  goto L208;
	case MULT:
	  goto L228;
	case SUBREG:
	case REG:
	case MEM:
	  if (nonimmediate_operand (x2, SImode))
	    {
	      ro[1] = x2;
	      return 0;
	    }
	}
      break;
    case QImode:
      if (register_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (TARGET_BWX)
	    return 77;
	  }
      break;
    case HImode:
      if (register_operand (x2, HImode))
	{
	  ro[1] = x2;
	  if (TARGET_BWX)
	    return 78;
	  }
    }
  goto ret0;

  L74: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MULT && 1)
    goto L75;
  if (reg_or_0_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L27;
    }
  goto ret0;

  L75: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_not_elim_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L76;
    }
  goto ret0;

  L76: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && const48_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L77;
    }
  goto ret0;

  L77: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (sext_add_operand (x3, SImode))
    {
      ro[3] = x3;
      return 13;
    }
  goto ret0;

  L27: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (sext_add_operand (x3, SImode))
    {
      ro[2] = x3;
      return 6;
    }
  goto ret0;

  L176: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_8bit_operand (x3, SImode))
    {
      ro[1] = x3;
      return 25;
    }
  goto ret0;

  L208: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MULT && 1)
    goto L209;
  if (reg_or_0_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L191;
    }
  goto ret0;

  L209: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_not_elim_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L210;
    }
  goto ret0;

  L210: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && const48_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L211;
    }
  goto ret0;

  L211: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_8bit_operand (x3, SImode))
    {
      ro[3] = x3;
      return 32;
    }
  goto ret0;

  L191: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_8bit_operand (x3, SImode))
    {
      ro[2] = x3;
      return 29;
    }
  goto ret0;

  L228: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L229;
    }
  goto ret0;

  L229: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_8bit_operand (x3, SImode))
    {
      ro[2] = x3;
      return 35;
    }
  goto ret0;

  L11: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, SImode))
    {
      ro[1] = x2;
      return 2;
    }
  goto ret0;

  L1591: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (rtx_equal_p (x2, ro[0]) && 1)
    goto L1592;
  goto ret0;

  L1592: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[1] = x2;
      return 329;
    }
  goto ret0;

  L51: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L52;
    }
  L56: ATTRIBUTE_UNUSED_LABEL
  if (GET_MODE (x2) != DImode)
    goto ret0;
  switch (GET_CODE (x2))
    {
    default:
      break;
    case REG:
      if (reg_no_subreg_operand (x2, DImode))
	{
	  ro[1] = x2;
	  goto L57;
	}
      break;
    case MULT:
      goto L95;
    }
  goto ret0;

  L52: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (add_operand (x2, DImode))
    {
      ro[2] = x2;
      return 9;
    }
  x2 = XEXP (x1, 0);
  goto L56;

  L57: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      if (REG_OK_FP_BASE_P (operands[1]))
	return 10;
      }
  goto ret0;

  L95: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_not_elim_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L96;
    }
  goto ret0;

  L96: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && const48_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L97;
    }
  goto ret0;

  L97: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (sext_add_operand (x2, DImode))
    {
      ro[3] = x2;
      return 15;
    }
  goto ret0;

  L180: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[1] = x2;
      return 26;
    }
  goto ret0;

  L215: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MULT && 1)
    goto L216;
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L196;
    }
  goto ret0;

  L216: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_not_elim_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L217;
    }
  goto ret0;

  L217: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && const48_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L218;
    }
  goto ret0;

  L218: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[3] = x2;
      return 33;
    }
  goto ret0;

  L196: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[2] = x2;
      return 30;
    }
  goto ret0;

  L233: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L234;
    }
  goto ret0;

  L234: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[2] = x2;
      return 36;
    }
  goto ret0;

  L238: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == TImode && GET_CODE (x2) == LSHIFTRT && 1)
    goto L239;
  goto ret0;

  L239: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == TImode && GET_CODE (x3) == MULT && 1)
    goto L240;
  goto ret0;

  L240: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == TImode && GET_CODE (x4) == ZERO_EXTEND && 1)
    goto L241;
  goto ret0;

  L241: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) != DImode)
    goto ret0;
  if (reg_or_0_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L242;
    }
  L251: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x5, DImode))
    {
      ro[1] = x5;
      goto L252;
    }
  goto ret0;

  L242: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == TImode && GET_CODE (x4) == ZERO_EXTEND && 1)
    goto L243;
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L251;

  L243: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (GET_MODE (x5) == DImode && reg_or_8bit_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L244;
    }
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L251;

  L244: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 64 && 1)
    return 37;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  x5 = XEXP (x4, 0);
  goto L251;

  L252: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && cint8_operand (x4, TImode))
    {
      ro[2] = x4;
      goto L253;
    }
  goto ret0;

  L253: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 64 && 1)
    return 38;
  goto ret0;

  L339: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x2))
	{
	default:
	  break;
	case NOT:
	  goto L546;
	case ASHIFT:
	  goto L533;
	}
    }
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L290;
    }
  goto L423;

  L546: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ASHIFT && 1)
    goto L547;
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L341;
    }
  goto L423;

  L547: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_CODE (x4) == CONST_INT && mode_mask_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L548;
    }
  goto L423;

  L548: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ASHIFT && 1)
    goto L549;
  goto L423;

  L549: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (reg_or_8bit_operand (x5, DImode))
    {
      ro[3] = x5;
      goto L550;
    }
  goto L423;

  L550: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 3 && 1)
    goto L551;
  goto L423;

  L551: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      return 104;
    }
  goto L423;

  L341: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[2] = x2;
      return 65;
    }
  goto L423;

  L533: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L534;
    }
  goto L423;

  L534: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && mul8_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L535;
    }
  goto L423;

  L535: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (immediate_operand (x2, DImode))
    {
      ro[3] = x2;
      if (HOST_BITS_PER_WIDE_INT == 64
   && GET_CODE (operands[3]) == CONST_INT
   && (((unsigned HOST_WIDE_INT) 0xff << INTVAL (operands[2])
        == (unsigned HOST_WIDE_INT) INTVAL (operands[3]))
       || ((unsigned HOST_WIDE_INT) 0xffff << INTVAL (operands[2])
        == (unsigned HOST_WIDE_INT) INTVAL (operands[3]))
       || ((unsigned HOST_WIDE_INT) 0xffffffff << INTVAL (operands[2])
        == (unsigned HOST_WIDE_INT) INTVAL (operands[3]))))
	return 102;
      }
  goto L423;

  L290: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (and_operand (x2, DImode))
    {
      ro[2] = x2;
      return 49;
    }
  goto L423;

  L311: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (nonimmediate_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (TARGET_BWX)
	    return 55;
	  }
    L315: ATTRIBUTE_UNUSED_LABEL
      if (register_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (! TARGET_BWX)
	    return 56;
	  }
      break;
    case HImode:
      if (nonimmediate_operand (x2, HImode))
	{
	  ro[1] = x2;
	  if (TARGET_BWX)
	    return 61;
	  }
    L331: ATTRIBUTE_UNUSED_LABEL
      if (register_operand (x2, HImode))
	{
	  ro[1] = x2;
	  return 62;
	}
      break;
    case SImode:
      if (register_operand (x2, SImode))
	{
	  ro[1] = x2;
	  return 64;
	}
    }
  goto ret0;

  L354: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == NOT && 1)
    goto L355;
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L346;
    }
  goto ret0;

  L355: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L356;
    }
  goto ret0;

  L356: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[2] = x2;
      return 68;
    }
  goto ret0;

  L346: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (or_operand (x2, DImode))
    {
      ro[2] = x2;
      return 66;
    }
  goto ret0;

  L365: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == XOR && 1)
    goto L366;
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[1] = x2;
      return 67;
    }
  goto ret0;

  L366: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L367;
    }
  goto ret0;

  L367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      ro[2] = x3;
      return 70;
    }
  goto ret0;

  L360: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L361;
    }
  goto ret0;

  L361: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (or_operand (x2, DImode))
    {
      ro[2] = x2;
      return 69;
    }
  goto ret0;
 L453: ATTRIBUTE_UNUSED_LABEL
  return recog_1 (x0, insn, pnum_clobbers);

  L380: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L434;
    }
  goto ret0;

  L434: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ASHIFT && 1)
    goto L435;
  if (reg_or_6bit_operand (x2, DImode))
    {
      ro[2] = x2;
      return 74;
    }
  goto ret0;

  L435: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L436;
    }
  goto ret0;

  L436: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 3 && 1)
    return 91;
  goto ret0;

  L385: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L386;
    }
  goto ret0;

  L386: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_6bit_operand (x2, DImode))
    {
      ro[2] = x2;
      return 75;
    }
  goto ret0;

  L410: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && reg_or_0_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L411;
    }
  goto ret0;

  L411: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && mode_width_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L418;
    }
  goto ret0;

  L418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  switch (GET_CODE (x2))
    {
    default:
      break;
    case ASHIFT:
      if (GET_MODE (x2) == DImode && 1)
	goto L419;
      break;
    case CONST_INT:
      if (GET_CODE (x2) == CONST_INT && mul8_operand (x2, DImode))
	{
	  ro[3] = x2;
	  return 88;
	}
    }
  goto ret0;

  L419: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[3] = x3;
      goto L420;
    }
  goto ret0;

  L420: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 3 && 1)
    return 89;
  goto ret0;

  L941: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (signed_comparison_operator (x2, VOIDmode))
    {
      ro[2] = x2;
      goto L942;
    }
  L949: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    default:
      break;
    case EQ:
      goto L950;
    case NE:
      goto L961;
    }
  goto ret0;

  L942: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[3] = x3;
      goto L943;
    }
  goto L949;

  L943: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[4] = x3;
      goto L944;
    }
  goto L949;

  L944: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L945;
    }
  x2 = XEXP (x1, 0);
  goto L949;

  L945: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[5] = x2;
      if (operands[3] == const0_rtx || operands[4] == const0_rtx)
	return 165;
      }
  x2 = XEXP (x1, 0);
  goto L949;

  L950: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ZERO_EXTRACT && 1)
    goto L951;
  goto ret0;

  L951: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && reg_or_0_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L952;
    }
  goto ret0;

  L952: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 1 && 1)
    goto L953;
  goto ret0;

  L953: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L954;
  goto ret0;

  L954: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L955;
  goto ret0;

  L955: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L956;
    }
  goto ret0;

  L956: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[3] = x2;
      return 166;
    }
  goto ret0;

  L961: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ZERO_EXTRACT && 1)
    goto L962;
  goto ret0;

  L962: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && reg_or_0_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L963;
    }
  goto ret0;

  L963: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 1 && 1)
    goto L964;
  goto ret0;

  L964: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L965;
  goto ret0;

  L965: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L966;
  goto ret0;

  L966: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L967;
    }
  goto ret0;

  L967: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[3] = x2;
      return 167;
    }
  goto ret0;

  L1043: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L1044;
    }
  goto ret0;

  L1044: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    return 185;
  goto ret0;

  L1056: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L1057;
    }
  goto ret0;

  L1057: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    return 188;
  goto ret0;

  L923: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L924;
    }
  goto L927;

  L924: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[3] = x2;
      return 162;
    }
  goto L927;

  L928: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L929;
    }
  goto ret0;

  L929: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_0_operand (x2, DImode))
    {
      ro[3] = x2;
      return 163;
    }
  goto ret0;

  L371: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      if (TARGET_CIX)
	return 72;
      }
  goto ret0;

  L539: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L540;
    }
  goto ret0;

  L540: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CONST_INT && mode_width_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L541;
    }
  goto ret0;

  L541: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[3] = x2;
      return 103;
    }
  goto ret0;

  L555: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L556;
    }
  goto ret0;

  L556: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 1);
  if (GET_CODE (x2) == CONST_INT && mode_width_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L557;
    }
  goto ret0;

  L557: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 2);
  if (reg_or_8bit_operand (x2, DImode))
    {
      ro[3] = x2;
      return 105;
    }
  goto ret0;

  L424: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == LSHIFTRT && 1)
    goto L425;
  goto ret0;

  L425: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L426;
    }
  goto ret0;

  L426: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ASHIFT && 1)
    goto L427;
  goto ret0;

  L427: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_or_8bit_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L428;
    }
  goto ret0;

  L428: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 3 && 1)
    goto L429;
  goto ret0;

  L429: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && mode_mask_operand (x2, DImode))
    {
      ro[3] = x2;
      return 90;
    }
  goto ret0;
 ret0: return -1;
}

int
recog_3 (x0, insn, pnum_clobbers)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
     int *pnum_clobbers ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != DFmode)
    goto ret0;
  switch (GET_CODE (x1))
    {
    default:
      break;
    case ABS:
      goto L565;
    case NEG:
      goto L573;
    case PLUS:
      goto L601;
    case FLOAT:
      goto L752;
    case FLOAT_EXTEND:
      goto L762;
    case DIV:
      goto L804;
    case MULT:
      goto L847;
    case MINUS:
      goto L884;
    case SQRT:
      goto L913;
    case IF_THEN_ELSE:
      goto L1190;
    case EQ:
    case LE:
    case LT:
    case LEU:
    case LTU:
      if (alpha_comparison_operator (x1, DFmode))
	{
	  ro[1] = x1;
	  goto L1146;
	}
    }
  goto ret0;

  L565: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[1] = x2;
      if (TARGET_FP)
	return 107;
      }
  goto ret0;

  L573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[1] = x2;
      if (TARGET_FP)
	return 109;
      }
  goto ret0;

  L601: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L602;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L590;
    }
  goto ret0;

  L602: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L609;
    }
  goto ret0;

  L609: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L610;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 114;
      }
  goto ret0;

  L610: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[2] = x3;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 115;
      }
  goto ret0;

  L590: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_fp0_operand (x2, DFmode))
    goto L596;
  goto ret0;

  L596: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 112;
  L597: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP)
    return 113;
  goto ret0;

  L752: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG && reg_no_subreg_operand (x2, DImode))
    goto L757;
  goto ret0;

  L757: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 131;
  L758: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP)
    return 132;
  goto ret0;

  L762: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SFmode)
    goto ret0;
  if (register_operand (x2, SFmode))
    {
      ro[1] = x2;
      if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
	return 134;
      }
  L766: ATTRIBUTE_UNUSED_LABEL
  if (nonimmediate_operand (x2, SFmode))
    {
      ro[1] = x2;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 135;
      }
  goto ret0;

  L804: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L805;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L811;
    }
  goto ret0;

  L805: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L818;
    }
  goto ret0;

  L818: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L819;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 142;
      }
  goto ret0;

  L819: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[2] = x3;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 144;
      }
  goto ret0;

  L811: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L812;
  if (reg_or_fp0_operand (x2, DFmode))
    goto L799;
  goto ret0;

  L812: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[2] = x3;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 143;
      }
  goto ret0;

  L799: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 140;
  L800: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP)
    return 141;
  goto ret0;

  L847: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L848;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L836;
    }
  goto ret0;

  L848: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L855;
    }
  goto ret0;

  L855: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L856;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 149;
      }
  goto ret0;

  L856: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[2] = x3;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 150;
      }
  goto ret0;

  L836: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_fp0_operand (x2, DFmode))
    goto L842;
  goto ret0;

  L842: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 147;
  L843: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP)
    return 148;
  goto ret0;

  L884: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L885;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L891;
    }
  goto ret0;

  L885: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L898;
    }
  goto ret0;

  L898: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L899;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[2] = x2;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 155;
      }
  goto ret0;

  L899: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[2] = x3;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 157;
      }
  goto ret0;

  L891: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L892;
  if (reg_or_fp0_operand (x2, DFmode))
    goto L879;
  goto ret0;

  L892: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[2] = x3;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 156;
      }
  goto ret0;

  L879: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 153;
  L880: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP)
    return 154;
  goto ret0;

  L913: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, DFmode))
    goto L918;
  goto ret0;

  L918: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP && TARGET_FIX && alpha_tp == ALPHA_TP_INSN)
    return 160;
  L919: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP && TARGET_FIX)
    return 161;
  goto ret0;

  L1190: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (signed_comparison_operator (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L1216;
    }
  goto ret0;

  L1216: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DFmode)
    goto ret0;
  if (GET_CODE (x3) == FLOAT_EXTEND && 1)
    goto L1217;
  if (reg_or_fp0_operand (x3, DFmode))
    {
      ro[4] = x3;
      goto L1192;
    }
  goto ret0;

  L1217: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_or_fp0_operand (x4, SFmode))
    {
      ro[4] = x4;
      goto L1218;
    }
  goto ret0;

  L1218: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_DOUBLE && fp0_operand (x3, DFmode))
    {
      ro[2] = x3;
      goto L1237;
    }
  goto ret0;

  L1237: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L1238;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L1220;
    }
  goto ret0;

  L1238: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L1239;
    }
  goto ret0;

  L1239: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[5] = x2;
      if (TARGET_FP)
	return 211;
      }
  goto ret0;

  L1220: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[5] = x2;
      if (TARGET_FP)
	return 209;
      }
  goto ret0;

  L1192: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_DOUBLE && fp0_operand (x3, DFmode))
    {
      ro[2] = x3;
      goto L1209;
    }
  goto ret0;

  L1209: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L1210;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[1] = x2;
      goto L1194;
    }
  goto ret0;

  L1210: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[1] = x3;
      goto L1211;
    }
  goto ret0;

  L1211: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[5] = x2;
      if (TARGET_FP)
	return 208;
      }
  goto ret0;

  L1194: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[5] = x2;
      if (TARGET_FP)
	return 206;
      }
  goto ret0;

  L1146: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L1147;
  if (reg_or_fp0_operand (x2, DFmode))
    {
      ro[2] = x2;
      goto L1161;
    }
  goto ret0;

  L1147: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    {
      ro[2] = x3;
      goto L1176;
    }
  goto ret0;

  L1176: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L1177;
  if (reg_or_fp0_operand (x2, DFmode))
    goto L1155;
  goto ret0;

  L1177: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    goto L1185;
  goto ret0;

  L1185: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x3;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 204;
  L1186: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x3;
  if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
    return 205;
  goto ret0;

  L1155: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 200;
  L1156: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
    return 201;
  goto ret0;

  L1161: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DFmode)
    goto ret0;
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L1162;
  if (reg_or_fp0_operand (x2, DFmode))
    goto L1141;
  goto ret0;

  L1162: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    goto L1169;
  goto ret0;

  L1169: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x3;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 202;
  L1170: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x3;
  if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
    return 203;
  goto ret0;

  L1141: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 198;
  L1142: ATTRIBUTE_UNUSED_LABEL
  ro[3] = x2;
  if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
    return 199;
  goto ret0;
 ret0: return -1;
}

int
recog_4 (x0, insn, pnum_clobbers)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
     int *pnum_clobbers ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      if (GET_CODE (x1) == PLUS && 1)
	goto L1447;
      if (register_operand (x1, DImode))
	{
	  ro[0] = x1;
	  return 268;
	}
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case IF_THEN_ELSE:
      goto L1077;
    case LABEL_REF:
      goto L1426;
    }
  goto ret0;

  L1447: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L1448;
    }
  L1460: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L1461;
    }
  goto ret0;

  L1448: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == LABEL_REF && 1)
    goto L1449;
  x2 = XEXP (x1, 0);
  goto L1460;

  L1449: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x3;
      if (! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && next_active_insn (insn) != 0
   && GET_CODE (PATTERN (next_active_insn (insn))) == ADDR_DIFF_VEC
   && PREV_INSN (next_active_insn (insn)) == operands[1])
	{
	  *pnum_clobbers = 1;
	  return 273;
	}
      }
  x2 = XEXP (x1, 0);
  goto L1460;

  L1461: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1462;
  goto ret0;

  L1462: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[1] = x3;
  if (TARGET_OPEN_VMS)
    return 275;
  goto ret0;

  L1077: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (signed_comparison_operator (x2, VOIDmode))
    {
      ro[1] = x2;
      goto L1253;
    }
  L1095: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x2))
    {
    default:
      break;
    case NE:
      goto L1096;
    case EQ:
      goto L1108;
    }
  goto ret0;

  L1253: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  switch (GET_MODE (x3))
    {
    default:
      break;
    case DFmode:
      if (GET_CODE (x3) == FLOAT_EXTEND && 1)
	goto L1254;
      if (reg_or_fp0_operand (x3, DFmode))
	{
	  ro[2] = x3;
	  goto L1245;
	}
    }
  L1078: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_0_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L1079;
    }
  L1087: ATTRIBUTE_UNUSED_LABEL
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1088;
  goto L1095;

  L1254: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_or_fp0_operand (x4, SFmode))
    {
      ro[2] = x4;
      goto L1255;
    }
  goto L1095;

  L1255: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_DOUBLE && fp0_operand (x3, DFmode))
    {
      ro[3] = x3;
      goto L1256;
    }
  goto L1095;

  L1256: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1257;
  x2 = XEXP (x1, 0);
  goto L1095;

  L1257: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[0] = x3;
  goto L1258;

  L1258: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC && 1)
    if (TARGET_FP)
      return 217;
  x2 = XEXP (x1, 0);
  goto L1095;

  L1245: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_DOUBLE && fp0_operand (x3, DFmode))
    {
      ro[3] = x3;
      goto L1246;
    }
  x3 = XEXP (x2, 0);
  goto L1078;

  L1246: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1247;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1078;

  L1247: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[0] = x3;
  goto L1248;

  L1248: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC && 1)
    if (TARGET_FP)
      return 216;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1078;

  L1079: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1080;
  x3 = XEXP (x2, 0);
  goto L1087;

  L1080: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1081;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1087;

  L1081: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[0] = x3;
  goto L1082;

  L1082: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC && 1)
    return 193;
  x2 = XEXP (x1, 0);
  x3 = XEXP (x2, 0);
  goto L1087;

  L1088: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L1089;
    }
  goto L1095;

  L1089: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1090;
  x2 = XEXP (x1, 0);
  goto L1095;

  L1090: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[0] = x3;
  goto L1091;

  L1091: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC && 1)
    return 194;
  x2 = XEXP (x1, 0);
  goto L1095;

  L1096: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ZERO_EXTRACT && 1)
    goto L1097;
  goto ret0;

  L1097: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && reg_or_0_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L1098;
    }
  goto ret0;

  L1098: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 1 && 1)
    goto L1099;
  goto ret0;

  L1099: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L1100;
  goto ret0;

  L1100: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1101;
  goto ret0;

  L1101: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1102;
  goto ret0;

  L1102: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[0] = x3;
  goto L1103;

  L1103: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC && 1)
    return 195;
  goto ret0;

  L1108: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ZERO_EXTRACT && 1)
    goto L1109;
  goto ret0;

  L1109: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && reg_or_0_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L1110;
    }
  goto ret0;

  L1110: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 1 && 1)
    goto L1111;
  goto ret0;

  L1111: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 2);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L1112;
  goto ret0;

  L1112: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1113;
  goto ret0;

  L1113: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1114;
  goto ret0;

  L1114: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[0] = x3;
  goto L1115;

  L1115: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (GET_CODE (x2) == PC && 1)
    return 196;
  goto ret0;

  L1426: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  ro[0] = x2;
  return 265;
 ret0: return -1;
}

int
recog_5 (x0, insn, pnum_clobbers)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
     int *pnum_clobbers ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      if (register_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L2;
	}
    L99: ATTRIBUTE_UNUSED_LABEL
      if (some_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L100;
	}
    L1512: ATTRIBUTE_UNUSED_LABEL
      if (general_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L1513;
	}
      break;
    case SImode:
      if (register_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L14;
	}
    L113: ATTRIBUTE_UNUSED_LABEL
      if (some_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L114;
	}
    L644: ATTRIBUTE_UNUSED_LABEL
      if (memory_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L645;
	}
    L1482: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L1483;
	}
    }
  L266: ATTRIBUTE_UNUSED_LABEL
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case REG:
	  if (XINT (x1, 0) == 27 && 1)
	    goto L267;
	L664: ATTRIBUTE_UNUSED_LABEL
	  if (reg_no_subreg_operand (x1, DImode))
	    {
	      ro[0] = x1;
	      goto L665;
	    }
	}
      break;
    case HImode:
      if (register_operand (x1, HImode))
	{
	  ro[0] = x1;
	  goto L298;
	}
    L1493: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, HImode))
	{
	  ro[0] = x1;
	  goto L1494;
	}
      break;
    case SFmode:
      if (register_operand (x1, SFmode))
	{
	  ro[0] = x1;
	  goto L560;
	}
    L1466: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, SFmode))
	{
	  ro[0] = x1;
	  goto L1467;
	}
      break;
    case DFmode:
      if (register_operand (x1, DFmode))
	{
	  ro[0] = x1;
	  goto L564;
	}
    L1474: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, DFmode))
	{
	  ro[0] = x1;
	  goto L1475;
	}
      break;
    case QImode:
      if (register_operand (x1, QImode))
	{
	  ro[0] = x1;
	  goto L994;
	}
    L1501: ATTRIBUTE_UNUSED_LABEL
      if (nonimmediate_operand (x1, QImode))
	{
	  ro[0] = x1;
	  goto L1502;
	}
    }
  if (GET_CODE (x1) == PC && 1)
    goto L1446;
  L1373: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x1, VOIDmode))
    {
      ro[0] = x1;
      goto L1374;
    }
  goto ret0;
 L2: ATTRIBUTE_UNUSED_LABEL
  tem = recog_2 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x1 = XEXP (x0, 0);
  goto L99;

  L100: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != DImode)
    {
      x1 = XEXP (x0, 0);
      goto L1512;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case PLUS:
      goto L101;
    case SIGN_EXTEND:
      goto L133;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L101: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == PLUS && 1)
    goto L154;
  x1 = XEXP (x0, 0);
  goto L1512;

  L154: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == MULT && 1)
    goto L155;
  if (some_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L103;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L155: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (some_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L156;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L156: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && const48_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L157;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L157: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (some_operand (x3, DImode))
    {
      ro[3] = x3;
      goto L158;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L158: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (some_operand (x2, DImode))
    {
      ro[4] = x2;
      if (reload_in_progress)
	return 22;
      }
  x1 = XEXP (x0, 0);
  goto L1512;

  L103: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (some_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L104;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L104: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (some_operand (x2, DImode))
    {
      ro[3] = x2;
      if (reload_in_progress)
	return 16;
      }
  x1 = XEXP (x0, 0);
  goto L1512;

  L133: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L134;
  x1 = XEXP (x0, 0);
  goto L1512;

  L134: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
    goto L135;
  x1 = XEXP (x0, 0);
  goto L1512;

  L135: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == MULT && 1)
    goto L136;
  x1 = XEXP (x0, 0);
  goto L1512;

  L136: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (some_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L137;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L137: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && const48_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L138;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L138: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (some_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L139;
    }
  x1 = XEXP (x0, 0);
  goto L1512;

  L139: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (some_operand (x3, SImode))
    {
      ro[4] = x3;
      if (reload_in_progress)
	return 20;
      }
  x1 = XEXP (x0, 0);
  goto L1512;

  L1513: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, DImode))
    goto L1517;
  x1 = XEXP (x0, 0);
  goto L266;

  L1517: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_FIX
   && (register_operand (operands[0], DImode)
       || reg_or_0_operand (operands[1], DImode)))
    return 292;
  L1518: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (TARGET_FIX
   && (register_operand (operands[0], DImode)
       || reg_or_0_operand (operands[1], DImode)))
    return 293;
  x1 = XEXP (x0, 0);
  goto L266;

  L14: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != SImode)
    {
      x1 = XEXP (x0, 0);
      goto L113;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case PLUS:
      goto L66;
    case NEG:
      goto L171;
    case MINUS:
      goto L200;
    case MULT:
      goto L222;
    case ZERO_EXTEND:
      goto L303;
    case SIGN_EXTEND:
      goto L398;
    case UNSPEC:
      if (XINT (x1, 1) == 5 && XVECLEN (x1, 0) == 1 && 1)
	goto L614;
      break;
    case IF_THEN_ELSE:
      goto L933;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L66: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MULT && 1)
    goto L67;
  if (reg_or_0_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L16;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L67: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_not_elim_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L68;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L68: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && const48_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L69;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L69: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (sext_add_operand (x2, SImode))
    {
      ro[3] = x2;
      return 12;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L16: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (add_operand (x2, SImode))
    {
      ro[2] = x2;
      return 4;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L171: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_8bit_operand (x2, SImode))
    {
      ro[1] = x2;
      return 24;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L200: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == MULT && 1)
    goto L201;
  if (reg_or_0_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L185;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L201: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_not_elim_operand (x3, SImode))
    {
      ro[1] = x3;
      goto L202;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L202: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && const48_operand (x3, SImode))
    {
      ro[2] = x3;
      goto L203;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L203: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, SImode))
    {
      ro[3] = x2;
      return 31;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L185: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, SImode))
    {
      ro[2] = x2;
      return 28;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L222: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L223;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L223: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, SImode))
    {
      ro[2] = x2;
      return 34;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L303: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (nonimmediate_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (TARGET_BWX)
	    return 52;
	  }
    L307: ATTRIBUTE_UNUSED_LABEL
      if (register_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (! TARGET_BWX)
	    return 53;
	  }
      break;
    case HImode:
      if (nonimmediate_operand (x2, HImode))
	{
	  ro[1] = x2;
	  if (TARGET_BWX)
	    return 58;
	  }
    L323: ATTRIBUTE_UNUSED_LABEL
      if (register_operand (x2, HImode))
	{
	  ro[1] = x2;
	  if (! TARGET_BWX)
	    return 59;
	  }
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L398: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case QImode:
      if (register_operand (x2, QImode))
	{
	  ro[1] = x2;
	  if (TARGET_BWX)
	    return 79;
	  }
      break;
    case HImode:
      if (register_operand (x2, HImode))
	{
	  ro[1] = x2;
	  if (TARGET_BWX)
	    return 80;
	  }
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L614: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (reg_or_fp0_operand (x2, DImode))
    {
      ro[1] = x2;
      if (TARGET_FP)
	return 116;
      }
  x1 = XEXP (x0, 0);
  goto L113;

  L933: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (signed_comparison_operator (x2, VOIDmode))
    {
      ro[2] = x2;
      goto L934;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L934: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[3] = x3;
      goto L935;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L935: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[4] = x3;
      goto L936;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L936: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L937;
    }
  x1 = XEXP (x0, 0);
  goto L113;

  L937: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_8bit_operand (x2, SImode))
    {
      ro[5] = x2;
      if (operands[3] == const0_rtx || operands[4] == const0_rtx)
	return 164;
      }
  x1 = XEXP (x0, 0);
  goto L113;

  L114: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode && GET_CODE (x1) == PLUS && 1)
    goto L115;
  x1 = XEXP (x0, 0);
  goto L644;

  L115: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L116;
  x1 = XEXP (x0, 0);
  goto L644;

  L116: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MULT && 1)
    goto L117;
  x1 = XEXP (x0, 0);
  goto L644;

  L117: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (some_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L118;
    }
  x1 = XEXP (x0, 0);
  goto L644;

  L118: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && const48_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L119;
    }
  x1 = XEXP (x0, 0);
  goto L644;

  L119: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (some_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L120;
    }
  x1 = XEXP (x0, 0);
  goto L644;

  L120: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (some_operand (x2, SImode))
    {
      ro[4] = x2;
      if (reload_in_progress)
	return 18;
      }
  x1 = XEXP (x0, 0);
  goto L644;

  L645: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == SImode && GET_CODE (x1) == SUBREG && XINT (x1, 1) == 0 && 1)
    goto L646;
  x1 = XEXP (x0, 0);
  goto L1482;

  L646: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == FIX && 1)
    goto L708;
  x1 = XEXP (x0, 0);
  goto L1482;

  L708: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DFmode)
    {
      x1 = XEXP (x0, 0);
      goto L1482;
    }
  if (GET_CODE (x3) == FLOAT_EXTEND && 1)
    goto L709;
  if (reg_or_fp0_operand (x3, DFmode))
    goto L661;
  x1 = XEXP (x0, 0);
  goto L1482;

  L709: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_or_fp0_operand (x4, SFmode))
    goto L725;
  x1 = XEXP (x0, 0);
  goto L1482;

  L725: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x4;
      if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
	{
	  *pnum_clobbers = 2;
	  return 125;
	}
      }
  L726: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x4;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	{
	  *pnum_clobbers = 1;
	  return 126;
	}
      }
  x1 = XEXP (x0, 0);
  goto L1482;

  L661: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x3;
      if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
	{
	  *pnum_clobbers = 2;
	  return 119;
	}
      }
  L662: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x3;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	{
	  *pnum_clobbers = 1;
	  return 120;
	}
      }
  x1 = XEXP (x0, 0);
  goto L1482;

  L1483: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, SImode))
    goto L1487;
  L1491: ATTRIBUTE_UNUSED_LABEL
  if (input_operand (x1, SImode))
    {
      ro[1] = x1;
      if ((TARGET_WINDOWS_NT || TARGET_OPEN_VMS)
    && (register_operand (operands[0], SImode)
        || reg_or_0_operand (operands[1], SImode)))
	return 285;
      }
  x1 = XEXP (x0, 0);
  goto L1373;

  L1487: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && ! TARGET_FIX
   && (register_operand (operands[0], SImode)
       || reg_or_0_operand (operands[1], SImode)))
    return 283;
  L1488: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && TARGET_FIX
   && (register_operand (operands[0], SImode)
       || reg_or_0_operand (operands[1], SImode)))
    return 284;
  goto L1491;

  L267: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != DImode)
    {
      x1 = XEXP (x0, 0);
      goto L664;
    }
  if (GET_CODE (x1) == SIGN_EXTEND && 1)
    goto L268;
  if (divmod_operator (x1, DImode))
    {
      ro[1] = x1;
      goto L284;
    }
  x1 = XEXP (x0, 0);
  goto L664;

  L268: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (divmod_operator (x2, SImode))
    {
      ro[1] = x2;
      goto L269;
    }
  x1 = XEXP (x0, 0);
  goto L664;

  L269: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == REG && XINT (x3, 0) == 24 && 1)
    goto L270;
  x1 = XEXP (x0, 0);
  goto L664;

  L270: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == REG && XINT (x3, 0) == 25 && pnum_clobbers != 0 && 1)
    if (!TARGET_OPEN_VMS)
      {
	*pnum_clobbers = 2;
	return 47;
      }
  x1 = XEXP (x0, 0);
  goto L664;

  L284: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 24 && 1)
    goto L285;
  x1 = XEXP (x0, 0);
  goto L664;

  L285: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 25 && pnum_clobbers != 0 && 1)
    if (!TARGET_OPEN_VMS)
      {
	*pnum_clobbers = 2;
	return 48;
      }
  x1 = XEXP (x0, 0);
  goto L664;

  L665: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode && GET_CODE (x1) == FIX && 1)
    goto L730;
  x1 = XEXP (x0, 0);
  goto L1373;

  L730: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DFmode)
    {
      x1 = XEXP (x0, 0);
      goto L1373;
    }
  if (GET_CODE (x2) == FLOAT_EXTEND && 1)
    goto L731;
  if (reg_or_fp0_operand (x2, DFmode))
    goto L671;
  x1 = XEXP (x0, 0);
  goto L1373;

  L731: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_fp0_operand (x3, SFmode))
    goto L737;
  x1 = XEXP (x0, 0);
  goto L1373;

  L737: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x3;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 127;
  L738: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x3;
  if (TARGET_FP)
    return 128;
  x1 = XEXP (x0, 0);
  goto L1373;

  L671: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 121;
  L672: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP)
    return 122;
  x1 = XEXP (x0, 0);
  goto L1373;

  L298: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != HImode)
    {
      x1 = XEXP (x0, 0);
      goto L1493;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case ZERO_EXTEND:
      goto L299;
    case SIGN_EXTEND:
      goto L406;
    case SMIN:
      goto L1015;
    case UMIN:
      goto L1020;
    case SMAX:
      goto L1025;
    case UMAX:
      goto L1030;
    }
  x1 = XEXP (x0, 0);
  goto L1493;

  L299: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      ro[1] = x2;
      return 51;
    }
  x1 = XEXP (x0, 0);
  goto L1493;

  L406: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, QImode))
    {
      ro[1] = x2;
      if (TARGET_BWX)
	return 81;
      }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1015: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, HImode))
    {
      ro[1] = x2;
      goto L1016;
    }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1016: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, HImode))
    {
      ro[2] = x2;
      if (TARGET_MAX)
	return 179;
      }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1020: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, HImode))
    {
      ro[1] = x2;
      goto L1021;
    }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1021: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, HImode))
    {
      ro[2] = x2;
      if (TARGET_MAX)
	return 180;
      }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1025: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, HImode))
    {
      ro[1] = x2;
      goto L1026;
    }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1026: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, HImode))
    {
      ro[2] = x2;
      if (TARGET_MAX)
	return 181;
      }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1030: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, HImode))
    {
      ro[1] = x2;
      goto L1031;
    }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1031: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, HImode))
    {
      ro[2] = x2;
      if (TARGET_MAX)
	return 182;
      }
  x1 = XEXP (x0, 0);
  goto L1493;

  L1494: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, HImode))
    goto L1498;
  x1 = XEXP (x0, 0);
  goto L1373;

  L1498: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_BWX
   && (register_operand (operands[0], HImode)
       || register_operand (operands[1], HImode)))
    return 286;
  L1499: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (TARGET_BWX
   && (register_operand (operands[0], HImode)
       || reg_or_0_operand (operands[1], HImode)))
    return 287;
  x1 = XEXP (x0, 0);
  goto L1373;

  L560: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != SFmode)
    {
      x1 = XEXP (x0, 0);
      goto L1466;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case ABS:
      goto L561;
    case NEG:
      goto L569;
    case PLUS:
      goto L577;
    case FLOAT:
      goto L742;
    case FLOAT_TRUNCATE:
      goto L770;
    case DIV:
      goto L780;
    case MULT:
      goto L823;
    case MINUS:
      goto L860;
    case SQRT:
      goto L903;
    case IF_THEN_ELSE:
      goto L1198;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L561: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[1] = x2;
      if (TARGET_FP)
	return 106;
      }
  x1 = XEXP (x0, 0);
  goto L1466;

  L569: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[1] = x2;
      if (TARGET_FP)
	return 108;
      }
  x1 = XEXP (x0, 0);
  goto L1466;

  L577: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L578;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L578: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_fp0_operand (x2, SFmode))
    goto L584;
  x1 = XEXP (x0, 0);
  goto L1466;

  L584: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 110;
  L585: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP)
    return 111;
  x1 = XEXP (x0, 0);
  goto L1466;

  L742: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == REG && reg_no_subreg_operand (x2, DImode))
    goto L747;
  x1 = XEXP (x0, 0);
  goto L1466;

  L747: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 129;
  L748: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP)
    return 130;
  x1 = XEXP (x0, 0);
  goto L1466;

  L770: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, DFmode))
    goto L775;
  x1 = XEXP (x0, 0);
  goto L1466;

  L775: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 136;
  L776: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP)
    return 137;
  x1 = XEXP (x0, 0);
  goto L1466;

  L780: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L781;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L781: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_fp0_operand (x2, SFmode))
    goto L787;
  x1 = XEXP (x0, 0);
  goto L1466;

  L787: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 138;
  L788: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP)
    return 139;
  x1 = XEXP (x0, 0);
  goto L1466;

  L823: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L824;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L824: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_fp0_operand (x2, SFmode))
    goto L830;
  x1 = XEXP (x0, 0);
  goto L1466;

  L830: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 145;
  L831: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP)
    return 146;
  x1 = XEXP (x0, 0);
  goto L1466;

  L860: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L861;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L861: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_fp0_operand (x2, SFmode))
    goto L867;
  x1 = XEXP (x0, 0);
  goto L1466;

  L867: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
    return 151;
  L868: ATTRIBUTE_UNUSED_LABEL
  ro[2] = x2;
  if (TARGET_FP)
    return 152;
  x1 = XEXP (x0, 0);
  goto L1466;

  L903: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_fp0_operand (x2, SFmode))
    goto L908;
  x1 = XEXP (x0, 0);
  goto L1466;

  L908: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP && TARGET_FIX && alpha_tp == ALPHA_TP_INSN)
    return 158;
  L909: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x2;
  if (TARGET_FP && TARGET_FIX)
    return 159;
  x1 = XEXP (x0, 0);
  goto L1466;

  L1198: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (signed_comparison_operator (x2, VOIDmode))
    {
      ro[3] = x2;
      goto L1225;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1225: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DFmode)
    {
      x1 = XEXP (x0, 0);
      goto L1466;
    }
  if (GET_CODE (x3) == FLOAT_EXTEND && 1)
    goto L1226;
  if (reg_or_fp0_operand (x3, DFmode))
    {
      ro[4] = x3;
      goto L1200;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1226: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_or_fp0_operand (x4, SFmode))
    {
      ro[4] = x4;
      goto L1227;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1227: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_DOUBLE && fp0_operand (x3, DFmode))
    {
      ro[2] = x3;
      goto L1228;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1228: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L1229;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1229: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[5] = x2;
      if (TARGET_FP)
	return 210;
      }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1200: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_DOUBLE && fp0_operand (x3, DFmode))
    {
      ro[2] = x3;
      goto L1201;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1201: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[1] = x2;
      goto L1202;
    }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1202: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 2);
  if (reg_or_fp0_operand (x2, SFmode))
    {
      ro[5] = x2;
      if (TARGET_FP)
	return 207;
      }
  x1 = XEXP (x0, 0);
  goto L1466;

  L1467: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, SFmode))
    goto L1471;
  x1 = XEXP (x0, 0);
  goto L1373;

  L1471: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_FIX
   && (register_operand (operands[0], SFmode)
       || reg_or_fp0_operand (operands[1], SFmode)))
    return 277;
  L1472: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (TARGET_FIX
   && (register_operand (operands[0], SFmode)
       || reg_or_fp0_operand (operands[1], SFmode)))
    return 278;
  x1 = XEXP (x0, 0);
  goto L1373;
 L564: ATTRIBUTE_UNUSED_LABEL
  tem = recog_3 (x0, insn, pnum_clobbers);
  if (tem >= 0) return tem;
  x1 = XEXP (x0, 0);
  goto L1474;

  L1475: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, DFmode))
    goto L1479;
  x1 = XEXP (x0, 0);
  goto L1373;

  L1479: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_FIX
   && (register_operand (operands[0], DFmode)
       || reg_or_fp0_operand (operands[1], DFmode)))
    return 279;
  L1480: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (TARGET_FIX
   && (register_operand (operands[0], DFmode)
       || reg_or_fp0_operand (operands[1], DFmode)))
    return 280;
  x1 = XEXP (x0, 0);
  goto L1373;

  L994: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) != QImode)
    {
      x1 = XEXP (x0, 0);
      goto L1501;
    }
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SMIN:
      goto L995;
    case UMIN:
      goto L1000;
    case SMAX:
      goto L1005;
    case UMAX:
      goto L1010;
    }
  x1 = XEXP (x0, 0);
  goto L1501;

  L995: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, QImode))
    {
      ro[1] = x2;
      goto L996;
    }
  x1 = XEXP (x0, 0);
  goto L1501;

  L996: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, QImode))
    {
      ro[2] = x2;
      if (TARGET_MAX)
	return 175;
      }
  x1 = XEXP (x0, 0);
  goto L1501;

  L1000: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, QImode))
    {
      ro[1] = x2;
      goto L1001;
    }
  x1 = XEXP (x0, 0);
  goto L1501;

  L1001: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, QImode))
    {
      ro[2] = x2;
      if (TARGET_MAX)
	return 176;
      }
  x1 = XEXP (x0, 0);
  goto L1501;

  L1005: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, QImode))
    {
      ro[1] = x2;
      goto L1006;
    }
  x1 = XEXP (x0, 0);
  goto L1501;

  L1006: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, QImode))
    {
      ro[2] = x2;
      if (TARGET_MAX)
	return 177;
      }
  x1 = XEXP (x0, 0);
  goto L1501;

  L1010: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_or_0_operand (x2, QImode))
    {
      ro[1] = x2;
      goto L1011;
    }
  x1 = XEXP (x0, 0);
  goto L1501;

  L1011: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (reg_or_8bit_operand (x2, QImode))
    {
      ro[2] = x2;
      if (TARGET_MAX)
	return 178;
      }
  x1 = XEXP (x0, 0);
  goto L1501;

  L1502: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (input_operand (x1, QImode))
    goto L1506;
  x1 = XEXP (x0, 0);
  goto L1373;

  L1506: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (! TARGET_BWX
   && (register_operand (operands[0], QImode)
       || register_operand (operands[1], QImode)))
    return 288;
  L1507: ATTRIBUTE_UNUSED_LABEL
  ro[1] = x1;
  if (TARGET_BWX
   && (register_operand (operands[0], QImode)
       || reg_or_0_operand (operands[1], QImode)))
    return 289;
  x1 = XEXP (x0, 0);
  goto L1373;
 L1446: ATTRIBUTE_UNUSED_LABEL
  return recog_4 (x0, insn, pnum_clobbers);

  L1374: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_CODE (x1) == CALL && 1)
    goto L1375;
  goto ret0;

  L1375: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MEM && 1)
    goto L1376;
  goto ret0;

  L1376: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (call_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L1377;
    }
  goto ret0;

  L1377: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS)
	{
	  *pnum_clobbers = 2;
	  return 260;
	}
      }
  L1392: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[2] = x2;
      if (TARGET_WINDOWS_NT)
	{
	  *pnum_clobbers = 1;
	  return 261;
	}
      }
  goto ret0;
 ret0: return -1;
}

int
recog_6 (x0, insn, pnum_clobbers)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
     int *pnum_clobbers ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case DImode:
      if (GET_CODE (x2) == REG && XINT (x2, 0) == 27 && 1)
	goto L257;
      break;
    case SImode:
      if (memory_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L636;
	}
      break;
    case QImode:
      if (memory_operand (x2, QImode))
	{
	  ro[0] = x2;
	  goto L1537;
	}
      break;
    case HImode:
      if (memory_operand (x2, HImode))
	{
	  ro[0] = x2;
	  goto L1545;
	}
    }
  L1363: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L1364;
    }
  goto ret0;

  L257: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    {
      x2 = XEXP (x1, 0);
      goto L1363;
    }
  if (GET_CODE (x2) == SIGN_EXTEND && 1)
    goto L258;
  if (divmod_operator (x2, DImode))
    {
      ro[1] = x2;
      goto L275;
    }
  x2 = XEXP (x1, 0);
  goto L1363;

  L258: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (divmod_operator (x3, SImode))
    {
      ro[1] = x3;
      goto L259;
    }
  x2 = XEXP (x1, 0);
  goto L1363;

  L259: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == REG && XINT (x4, 0) == 24 && 1)
    goto L260;
  x2 = XEXP (x1, 0);
  goto L1363;

  L260: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == REG && XINT (x4, 0) == 25 && 1)
    goto L261;
  x2 = XEXP (x1, 0);
  goto L1363;

  L261: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L262;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L262: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 23 && 1)
    goto L263;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L263: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L264;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L264: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 28 && 1)
    if (!TARGET_OPEN_VMS)
      return 47;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L275: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == REG && XINT (x3, 0) == 24 && 1)
    goto L276;
  x2 = XEXP (x1, 0);
  goto L1363;

  L276: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == REG && XINT (x3, 0) == 25 && 1)
    goto L277;
  x2 = XEXP (x1, 0);
  goto L1363;

  L277: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L278;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L278: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 23 && 1)
    goto L279;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L279: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L280;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 28 && 1)
    if (!TARGET_OPEN_VMS)
      return 48;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L636: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == SUBREG && XINT (x2, 1) == 0 && 1)
    goto L637;
  x2 = XEXP (x1, 0);
  goto L1363;

  L637: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == FIX && 1)
    goto L698;
  x2 = XEXP (x1, 0);
  goto L1363;

  L698: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DFmode)
    {
      x2 = XEXP (x1, 0);
      goto L1363;
    }
  if (GET_CODE (x4) == FLOAT_EXTEND && 1)
    goto L699;
  if (reg_or_fp0_operand (x4, DFmode))
    {
      ro[1] = x4;
      goto L639;
    }
  x2 = XEXP (x1, 0);
  goto L1363;

  L699: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (reg_or_fp0_operand (x5, SFmode))
    {
      ro[1] = x5;
      goto L700;
    }
  x2 = XEXP (x1, 0);
  goto L1363;

  L700: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L701;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L701: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L702;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L702: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L703;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L703: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
	return 125;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L639: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L640;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L640: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L641;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L641: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L642;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L642: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_FP && alpha_tp == ALPHA_TP_INSN)
	return 119;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1537: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, QImode))
    {
      ro[1] = x2;
      goto L1538;
    }
  x2 = XEXP (x1, 0);
  goto L1363;

  L1538: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1539;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1539: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L1540;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1540: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1541;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1541: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_BWX && (reload_in_progress || reload_completed))
	return 311;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1545: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, HImode))
    {
      ro[1] = x2;
      goto L1546;
    }
  x2 = XEXP (x1, 0);
  goto L1363;

  L1546: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1547;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1547: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L1548;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1548: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1549;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1549: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_BWX && (reload_in_progress || reload_completed))
	return 312;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1363;

  L1364: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL && 1)
    goto L1365;
  goto ret0;

  L1365: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == MEM && 1)
    goto L1366;
  goto ret0;

  L1366: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (call_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L1367;
    }
  goto ret0;

  L1367: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  ro[2] = x3;
  goto L1368;

  L1368: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1369;
  goto ret0;

  L1369: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 27 && 1)
    goto L1370;
  goto ret0;

  L1370: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1371;
  goto ret0;

  L1371: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && 1)
    if (! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS)
      return 260;
  goto ret0;
 ret0: return -1;
}

int
recog_7 (x0, insn, pnum_clobbers)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
     int *pnum_clobbers ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L650;
    case CALL:
      goto L1328;
    case USE:
      goto L1430;
    }
  goto ret0;

  L650: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SImode:
      if (memory_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L651;
	}
      break;
    case QImode:
      if (register_operand (x2, QImode))
	{
	  ro[0] = x2;
	  goto L1525;
	}
      break;
    case HImode:
      if (register_operand (x2, HImode))
	{
	  ro[0] = x2;
	  goto L1531;
	}
      break;
    case DImode:
      if (register_operand (x2, DImode))
	{
	  ro[0] = x2;
	  goto L1584;
	}
    }
  if (GET_CODE (x2) == PC && 1)
    goto L1438;
  L1380: ATTRIBUTE_UNUSED_LABEL
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L1381;
    }
  goto ret0;

  L651: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == SUBREG && XINT (x2, 1) == 0 && 1)
    goto L652;
  x2 = XEXP (x1, 0);
  goto L1380;

  L652: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == FIX && 1)
    goto L715;
  x2 = XEXP (x1, 0);
  goto L1380;

  L715: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DFmode)
    {
      x2 = XEXP (x1, 0);
      goto L1380;
    }
  if (GET_CODE (x4) == FLOAT_EXTEND && 1)
    goto L716;
  if (reg_or_fp0_operand (x4, DFmode))
    {
      ro[1] = x4;
      goto L654;
    }
  x2 = XEXP (x1, 0);
  goto L1380;

  L716: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (reg_or_fp0_operand (x5, SFmode))
    {
      ro[1] = x5;
      goto L717;
    }
  x2 = XEXP (x1, 0);
  goto L1380;

  L717: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L718;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L718: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 126;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L654: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L655;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L655: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_FP && alpha_tp != ALPHA_TP_INSN)
	return 120;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L1525: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (memory_operand (x2, QImode))
    {
      ro[1] = x2;
      goto L1526;
    }
  x2 = XEXP (x1, 0);
  goto L1380;

  L1526: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1527;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L1527: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_BWX && (reload_in_progress || reload_completed))
	return 309;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L1531: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (memory_operand (x2, HImode))
    {
      ro[1] = x2;
      goto L1532;
    }
  x2 = XEXP (x1, 0);
  goto L1380;

  L1532: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1533;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L1533: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_BWX && (reload_in_progress || reload_completed))
	return 310;
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L1584: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L1585;
    }
  x2 = XEXP (x1, 0);
  goto L1380;

  L1585: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1586;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L1586: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L1587;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L1587: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      ro[2] = x3;
      return 326;
    }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 0);
  goto L1380;

  L1438: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  if (GET_CODE (x2) == PLUS && 1)
    goto L1439;
  if (register_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L1454;
    }
  goto ret0;

  L1439: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      ro[0] = x3;
      goto L1440;
    }
  goto ret0;

  L1440: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == LABEL_REF && 1)
    goto L1441;
  goto ret0;

  L1441: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[1] = x4;
  goto L1442;

  L1442: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1443;
  goto ret0;

  L1443: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS && next_active_insn (insn) != 0
   && GET_CODE (PATTERN (next_active_insn (insn))) == ADDR_DIFF_VEC
   && PREV_INSN (next_active_insn (insn)) == operands[1])
	return 273;
      }
  goto ret0;

  L1454: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L1455;
  goto ret0;

  L1455: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_CODE (x2) == LABEL_REF && 1)
    goto L1456;
  goto ret0;

  L1456: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  ro[1] = x3;
  if (TARGET_WINDOWS_NT && next_active_insn (insn) != 0
   && GET_CODE (PATTERN (next_active_insn (insn))) == ADDR_DIFF_VEC
   && PREV_INSN (next_active_insn (insn)) == operands[1])
    return 274;
  goto ret0;

  L1381: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL && 1)
    goto L1382;
  goto ret0;

  L1382: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == MEM && 1)
    goto L1383;
  goto ret0;

  L1383: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (call_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L1384;
    }
  goto ret0;

  L1384: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  ro[2] = x3;
  goto L1385;

  L1385: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1386;
  goto ret0;

  L1386: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && 1)
    if (TARGET_WINDOWS_NT)
      return 261;
  goto ret0;

  L1328: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MEM && 1)
    goto L1329;
  goto ret0;

  L1329: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (call_operand (x3, DImode))
    {
      ro[0] = x3;
      goto L1330;
    }
  goto ret0;

  L1330: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L1331;

  L1331: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1332;
  goto ret0;

  L1332: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && 1)
    if (TARGET_WINDOWS_NT)
      return 258;
  goto ret0;

  L1430: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && 1)
    goto L1431;
  goto ret0;

  L1431: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == RETURN && 1)
    return 267;
  goto ret0;
 ret0: return -1;
}

int
recog (x0, insn, pnum_clobbers)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
     int *pnum_clobbers ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  int tem ATTRIBUTE_UNUSED;

  L0: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x0))
    {
    default:
      break;
    case SET:
      goto L1;
    case PARALLEL:
      if (XVECLEN (x0, 0) == 3 && 1)
	goto L255;
      if (XVECLEN (x0, 0) == 2 && 1)
	goto L649;
      if (XVECLEN (x0, 0) == 5 && 1)
	goto L1338;
      if (XVECLEN (x0, 0) == 4 && 1)
	goto L1351;
      if (XVECLEN (x0, 0) == 19 && 1)
	goto L1602;
      if (XVECLEN (x0, 0) == 16 && 1)
	goto L1642;
      break;
    case CALL:
      goto L1323;
    case UNSPEC_VOLATILE:
      if (XINT (x0, 1) == 1 && XVECLEN (x0, 0) == 1 && 1)
	goto L1422;
      if (XINT (x0, 1) == 0 && XVECLEN (x0, 0) == 1 && 1)
	goto L1464;
      if (XINT (x0, 1) == 5 && XVECLEN (x0, 0) == 2 && 1)
	goto L1579;
      if (XINT (x0, 1) == 2 && XVECLEN (x0, 0) == 1 && 1)
	goto L1594;
      if (XINT (x0, 1) == 7 && XVECLEN (x0, 0) == 1 && 1)
	goto L1600;
      if (XINT (x0, 1) == 4 && XVECLEN (x0, 0) == 1 && 1)
	goto L1676;
      if (XINT (x0, 1) == 6 && XVECLEN (x0, 0) == 1 && 1)
	goto L1681;
      break;
    case RETURN:
      if (direct_return ())
	return 266;
      break;
    case CONST_INT:
      if (XWINT (x0, 0) == 0 && 1)
	return 337;
      if (XWINT (x0, 0) == 1 && 1)
	if (TARGET_FP)
	  return 338;
      if (XWINT (x0, 0) == 2 && 1)
	return 339;
    }
  goto ret0;
 L1: ATTRIBUTE_UNUSED_LABEL
  return recog_5 (x0, insn, pnum_clobbers);

  L255: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case SET:
      goto L256;
    case CALL:
      goto L1315;
    }
  goto ret0;
 L256: ATTRIBUTE_UNUSED_LABEL
  return recog_6 (x0, insn, pnum_clobbers);

  L1315: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MEM && 1)
    goto L1316;
  goto ret0;

  L1316: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (call_operand (x3, DImode))
    {
      ro[0] = x3;
      goto L1317;
    }
  goto ret0;

  L1317: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L1318;

  L1318: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1319;
  goto ret0;

  L1319: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 27 && 1)
    goto L1320;
  goto ret0;

  L1320: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1321;
  goto ret0;

  L1321: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && 1)
    if (! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS)
      return 257;
  goto ret0;
 L649: ATTRIBUTE_UNUSED_LABEL
  return recog_7 (x0, insn, pnum_clobbers);

  L1338: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case CALL:
      goto L1339;
    case SET:
      goto L1395;
    }
  goto ret0;

  L1339: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MEM && 1)
    goto L1340;
  goto ret0;

  L1340: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (call_operand (x3, DImode))
    {
      ro[0] = x3;
      goto L1341;
    }
  goto ret0;

  L1341: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L1342;

  L1342: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L1343;
  goto ret0;

  L1343: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L1344;
    }
  goto ret0;

  L1344: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L1345;
  goto ret0;

  L1345: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 25 && 1)
    goto L1346;
  goto ret0;

  L1346: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L1347;
  goto ret0;

  L1347: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && 1)
    goto L1348;
  goto ret0;

  L1348: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1349;
  goto ret0;

  L1349: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 27 && 1)
    if (TARGET_OPEN_VMS)
      return 259;
  goto ret0;

  L1395: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L1396;
    }
  goto ret0;

  L1396: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL && 1)
    goto L1397;
  goto ret0;

  L1397: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == MEM && 1)
    goto L1398;
  goto ret0;

  L1398: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (call_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L1399;
    }
  goto ret0;

  L1399: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  ro[2] = x3;
  goto L1400;

  L1400: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L1401;
  goto ret0;

  L1401: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DImode))
    {
      ro[3] = x2;
      goto L1402;
    }
  goto ret0;

  L1402: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L1403;
  goto ret0;

  L1403: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 25 && 1)
    goto L1404;
  goto ret0;

  L1404: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L1405;
  goto ret0;

  L1405: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && 1)
    goto L1406;
  goto ret0;

  L1406: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1407;
  goto ret0;

  L1407: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 27 && 1)
    if (TARGET_OPEN_VMS)
      return 262;
  goto ret0;

  L1351: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case CALL:
      goto L1352;
    case SET:
      goto L1410;
    }
  goto ret0;

  L1352: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == MEM && 1)
    goto L1353;
  goto ret0;

  L1353: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (call_operand (x3, DImode))
    {
      ro[0] = x3;
      goto L1354;
    }
  goto ret0;

  L1354: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  ro[1] = x2;
  goto L1355;

  L1355: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L1356;
  goto ret0;

  L1356: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L1357;
    }
  goto ret0;

  L1357: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L1358;
  goto ret0;

  L1358: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 25 && 1)
    goto L1359;
  goto ret0;

  L1359: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L1360;
  goto ret0;

  L1360: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && pnum_clobbers != 0 && 1)
    if (TARGET_OPEN_VMS)
      {
	*pnum_clobbers = 1;
	return 259;
      }
  goto ret0;

  L1410: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, VOIDmode))
    {
      ro[0] = x2;
      goto L1411;
    }
  goto ret0;

  L1411: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CALL && 1)
    goto L1412;
  goto ret0;

  L1412: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == MEM && 1)
    goto L1413;
  goto ret0;

  L1413: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (call_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L1414;
    }
  goto ret0;

  L1414: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  ro[2] = x3;
  goto L1415;

  L1415: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L1416;
  goto ret0;

  L1416: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (general_operand (x2, DImode))
    {
      ro[3] = x2;
      goto L1417;
    }
  goto ret0;

  L1417: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L1418;
  goto ret0;

  L1418: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 25 && 1)
    goto L1419;
  goto ret0;

  L1419: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L1420;
  goto ret0;

  L1420: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 26 && pnum_clobbers != 0 && 1)
    if (TARGET_OPEN_VMS)
      {
	*pnum_clobbers = 1;
	return 262;
      }
  goto ret0;

  L1602: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == UNSPEC && XINT (x1, 1) == 0 && XVECLEN (x1, 0) == 1 && 1)
    goto L1603;
  goto ret0;

  L1603: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    goto L1604;
  goto ret0;

  L1604: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L1605;
  goto ret0;

  L1605: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 1 && 1)
    goto L1606;
  goto ret0;

  L1606: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L1607;
  goto ret0;

  L1607: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 25 && 1)
    goto L1608;
  goto ret0;

  L1608: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L1609;
  goto ret0;

  L1609: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 16 && 1)
    goto L1610;
  goto ret0;

  L1610: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE && 1)
    goto L1611;
  goto ret0;

  L1611: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 17 && 1)
    goto L1612;
  goto ret0;

  L1612: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == USE && 1)
    goto L1613;
  goto ret0;

  L1613: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 18 && 1)
    goto L1614;
  goto ret0;

  L1614: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == USE && 1)
    goto L1615;
  goto ret0;

  L1615: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 19 && 1)
    goto L1616;
  goto ret0;

  L1616: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == USE && 1)
    goto L1617;
  goto ret0;

  L1617: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 20 && 1)
    goto L1618;
  goto ret0;

  L1618: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == USE && 1)
    goto L1619;
  goto ret0;

  L1619: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 21 && 1)
    goto L1620;
  goto ret0;

  L1620: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == USE && 1)
    goto L1621;
  goto ret0;

  L1621: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 48 && 1)
    goto L1622;
  goto ret0;

  L1622: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == USE && 1)
    goto L1623;
  goto ret0;

  L1623: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 49 && 1)
    goto L1624;
  goto ret0;

  L1624: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == USE && 1)
    goto L1625;
  goto ret0;

  L1625: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 50 && 1)
    goto L1626;
  goto ret0;

  L1626: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 12);
  if (GET_CODE (x1) == USE && 1)
    goto L1627;
  goto ret0;

  L1627: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 51 && 1)
    goto L1628;
  goto ret0;

  L1628: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 13);
  if (GET_CODE (x1) == USE && 1)
    goto L1629;
  goto ret0;

  L1629: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 52 && 1)
    goto L1630;
  goto ret0;

  L1630: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 14);
  if (GET_CODE (x1) == USE && 1)
    goto L1631;
  goto ret0;

  L1631: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 53 && 1)
    goto L1632;
  goto ret0;

  L1632: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 15);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1633;
  goto ret0;

  L1633: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L1634;
  goto ret0;

  L1634: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && 1)
    goto L1635;
  goto ret0;

  L1635: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 16);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1636;
  goto ret0;

  L1636: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 24 && 1)
    goto L1637;
  goto ret0;

  L1637: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 17);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1638;
  goto ret0;

  L1638: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 25 && 1)
    goto L1639;
  goto ret0;

  L1639: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 18);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1640;
  goto ret0;

  L1640: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 0 && 1)
    if (TARGET_OPEN_VMS)
      return 335;
  goto ret0;

  L1642: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == UNSPEC && XINT (x1, 1) == 0 && XVECLEN (x1, 0) == 1 && 1)
    goto L1643;
  goto ret0;

  L1643: ATTRIBUTE_UNUSED_LABEL
  x2 = XVECEXP (x1, 0, 0);
  if (GET_CODE (x2) == CONST_INT && XWINT (x2, 0) == 0 && 1)
    goto L1644;
  goto ret0;

  L1644: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == USE && 1)
    goto L1645;
  goto ret0;

  L1645: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 1 && 1)
    goto L1646;
  goto ret0;

  L1646: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == USE && 1)
    goto L1647;
  goto ret0;

  L1647: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 25 && 1)
    goto L1648;
  goto ret0;

  L1648: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 3);
  if (GET_CODE (x1) == USE && 1)
    goto L1649;
  goto ret0;

  L1649: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 16 && 1)
    goto L1650;
  goto ret0;

  L1650: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 4);
  if (GET_CODE (x1) == USE && 1)
    goto L1651;
  goto ret0;

  L1651: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 17 && 1)
    goto L1652;
  goto ret0;

  L1652: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 5);
  if (GET_CODE (x1) == USE && 1)
    goto L1653;
  goto ret0;

  L1653: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 18 && 1)
    goto L1654;
  goto ret0;

  L1654: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 6);
  if (GET_CODE (x1) == USE && 1)
    goto L1655;
  goto ret0;

  L1655: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 19 && 1)
    goto L1656;
  goto ret0;

  L1656: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 7);
  if (GET_CODE (x1) == USE && 1)
    goto L1657;
  goto ret0;

  L1657: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 20 && 1)
    goto L1658;
  goto ret0;

  L1658: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 8);
  if (GET_CODE (x1) == USE && 1)
    goto L1659;
  goto ret0;

  L1659: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 21 && 1)
    goto L1660;
  goto ret0;

  L1660: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 9);
  if (GET_CODE (x1) == USE && 1)
    goto L1661;
  goto ret0;

  L1661: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 48 && 1)
    goto L1662;
  goto ret0;

  L1662: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 10);
  if (GET_CODE (x1) == USE && 1)
    goto L1663;
  goto ret0;

  L1663: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 49 && 1)
    goto L1664;
  goto ret0;

  L1664: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 11);
  if (GET_CODE (x1) == USE && 1)
    goto L1665;
  goto ret0;

  L1665: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 50 && 1)
    goto L1666;
  goto ret0;

  L1666: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 12);
  if (GET_CODE (x1) == USE && 1)
    goto L1667;
  goto ret0;

  L1667: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 51 && 1)
    goto L1668;
  goto ret0;

  L1668: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 13);
  if (GET_CODE (x1) == USE && 1)
    goto L1669;
  goto ret0;

  L1669: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 52 && 1)
    goto L1670;
  goto ret0;

  L1670: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 14);
  if (GET_CODE (x1) == USE && 1)
    goto L1671;
  goto ret0;

  L1671: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == REG && XINT (x2, 0) == 53 && 1)
    goto L1672;
  goto ret0;

  L1672: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 15);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1673;
  goto ret0;

  L1673: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == BLKmode && GET_CODE (x2) == MEM && 1)
    goto L1674;
  goto ret0;

  L1674: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_CODE (x3) == CONST_INT && XWINT (x3, 0) == 0 && pnum_clobbers != 0 && 1)
    if (TARGET_OPEN_VMS)
      {
	*pnum_clobbers = 3;
	return 335;
      }
  goto ret0;

  L1323: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  if (GET_MODE (x1) == DImode && GET_CODE (x1) == MEM && 1)
    goto L1324;
  goto ret0;

  L1324: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (call_operand (x2, DImode))
    {
      ro[0] = x2;
      goto L1325;
    }
  goto ret0;

  L1325: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x1;
      if (! TARGET_WINDOWS_NT && ! TARGET_OPEN_VMS)
	{
	  *pnum_clobbers = 2;
	  return 257;
	}
      }
  L1336: ATTRIBUTE_UNUSED_LABEL
  if (pnum_clobbers != 0 && 1)
    {
      ro[1] = x1;
      if (TARGET_WINDOWS_NT)
	{
	  *pnum_clobbers = 1;
	  return 258;
	}
      }
  goto ret0;

  L1422: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == CONST_INT && XWINT (x1, 0) == 0 && 1)
    return 264;
  goto ret0;

  L1464: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == CONST_INT && XWINT (x1, 0) == 0 && 1)
    return 276;
  goto ret0;

  L1579: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (register_operand (x1, VOIDmode))
    {
      ro[0] = x1;
      goto L1580;
    }
  goto ret0;

  L1580: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (register_operand (x1, VOIDmode))
    {
      ro[1] = x1;
      return 324;
    }
  goto ret0;

  L1594: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == LABEL_REF && 1)
    goto L1595;
  goto ret0;

  L1595: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  ro[0] = x2;
  if (! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT && TARGET_AS_CAN_SUBTRACT_LABELS)
    return 331;
  L1598: ATTRIBUTE_UNUSED_LABEL
  ro[0] = x2;
  if (! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT)
    return 332;
  goto ret0;

  L1600: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == CONST_INT && XWINT (x1, 0) == 0 && 1)
    if (! TARGET_OPEN_VMS && ! TARGET_WINDOWS_NT)
      return 333;
  goto ret0;

  L1676: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == CONST_INT && XWINT (x1, 0) == 0 && 1)
    return 336;
  goto ret0;

  L1681: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (immediate_operand (x1, VOIDmode))
    {
      ro[0] = x1;
      return 340;
    }
  goto ret0;
 ret0: return -1;
}

rtx
split_1 (x0, insn)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x2))
	{
	default:
	  break;
	case SIGN_EXTEND:
	  goto L32;
	case ABS:
	  goto L972;
	case NEG:
	  goto L983;
	case SMAX:
	  goto L1036;
	case SMIN:
	  goto L1049;
	case UMAX:
	  goto L1062;
	case UMIN:
	  goto L1070;
	case IF_THEN_ELSE:
	  goto L1263;
	}
    }
  if (comparison_operator (x2, VOIDmode))
    {
      ro[1] = x2;
      goto L1309;
    }
  goto ret0;

  L32: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
    goto L83;
  goto ret0;

  L83: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != SImode)
    goto ret0;
  if (GET_CODE (x4) == MULT && 1)
    goto L84;
  if (register_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L34;
    }
  if (comparison_operator (x4, SImode))
    {
      ro[1] = x4;
      goto L43;
    }
  goto ret0;

  L84: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (comparison_operator (x5, SImode))
    {
      ro[1] = x5;
      goto L85;
    }
  goto ret0;

  L85: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 0);
  ro[2] = x6;
  goto L86;

  L86: ATTRIBUTE_UNUSED_LABEL
  x6 = XEXP (x5, 1);
  ro[3] = x6;
  goto L87;

  L87: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && const48_operand (x5, SImode))
    {
      ro[4] = x5;
      goto L88;
    }
  goto ret0;

  L88: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (add_operand (x4, SImode))
    {
      ro[5] = x4;
      goto L89;
    }
  goto ret0;

  L89: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L90;
  goto ret0;

  L90: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_not_elim_operand (x2, DImode))
    {
      ro[6] = x2;
      return gen_split_14 (operands);
    }
  goto ret0;

  L34: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && 1)
    {
      ro[2] = x4;
      goto L35;
    }
  goto ret0;

  L35: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L36;
  goto ret0;

  L36: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (reg_not_elim_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! sext_add_operand (operands[2], SImode) && INTVAL (operands[2]) > 0
   && INTVAL (operands[2]) % 4 == 0)
	return gen_split_7 (operands);
      }
  goto ret0;

  L43: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  ro[2] = x5;
  goto L44;

  L44: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  ro[3] = x5;
  goto L45;

  L45: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (add_operand (x4, SImode))
    {
      ro[4] = x4;
      goto L46;
    }
  goto ret0;

  L46: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L47;
  goto ret0;

  L47: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[5] = x2;
      return gen_split_8 (operands);
    }
  goto ret0;

  L972: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (rtx_equal_p (x3, ro[0]) && 1)
    goto L973;
  goto ret0;

  L973: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L974;
  goto ret0;

  L974: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      return gen_split_171 (operands);
    }
  goto ret0;

  L983: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == ABS && 1)
    goto L984;
  goto ret0;

  L984: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (rtx_equal_p (x4, ro[0]) && 1)
    goto L985;
  goto ret0;

  L985: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L986;
  goto ret0;

  L986: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[2] = x2;
      return gen_split_173 (operands);
    }
  goto ret0;

  L1036: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L1037;
    }
  goto ret0;

  L1037: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L1038;
    }
  goto ret0;

  L1038: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1039;
  goto ret0;

  L1039: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[3] = x2;
      if (operands[2] != const0_rtx)
	return gen_split_184 (operands);
      }
  goto ret0;

  L1049: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L1050;
    }
  goto ret0;

  L1050: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L1051;
    }
  goto ret0;

  L1051: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1052;
  goto ret0;

  L1052: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[3] = x2;
      if (operands[2] != const0_rtx)
	return gen_split_187 (operands);
      }
  goto ret0;

  L1062: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L1063;
    }
  goto ret0;

  L1063: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L1064;
    }
  goto ret0;

  L1064: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1065;
  goto ret0;

  L1065: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[3] = x2;
      if (operands[2] != const0_rtx)
	return gen_split_190 (operands);
      }
  goto ret0;

  L1070: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (reg_or_0_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L1071;
    }
  goto ret0;

  L1071: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L1072;
    }
  goto ret0;

  L1072: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1073;
  goto ret0;

  L1073: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[3] = x2;
      if (operands[2] != const0_rtx)
	return gen_split_192 (operands);
      }
  goto ret0;

  L1263: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (comparison_operator (x3, VOIDmode))
    {
      ro[1] = x3;
      goto L1264;
    }
  goto ret0;

  L1264: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_or_0_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L1265;
    }
  L1275: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_0_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1276;
    }
  goto ret0;

  L1265: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[3] = x4;
      goto L1266;
    }
  x4 = XEXP (x3, 0);
  goto L1275;

  L1266: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_cint_operand (x3, DImode))
    {
      ro[4] = x3;
      goto L1267;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1275;

  L1267: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (reg_or_cint_operand (x3, DImode))
    {
      ro[5] = x3;
      goto L1268;
    }
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1275;

  L1268: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1269;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1275;

  L1269: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[6] = x2;
      if (operands[3] != const0_rtx)
	return gen_split_244 (operands);
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1275;

  L1276: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L1277;
    }
  goto ret0;

  L1277: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[4] = x3;
      goto L1278;
    }
  goto ret0;

  L1278: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (reg_or_8bit_operand (x3, DImode))
    {
      ro[5] = x3;
      goto L1279;
    }
  goto ret0;

  L1279: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1280;
  goto ret0;

  L1280: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[6] = x2;
      if (operands[3] != const0_rtx
   && (GET_CODE (operands[1]) == EQ || GET_CODE (operands[1]) == NE))
	return gen_split_245 (operands);
      }
  goto ret0;

  L1309: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L1310;
    }
  goto ret0;

  L1310: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == CONST_INT && 1)
    {
      ro[3] = x3;
      goto L1311;
    }
  goto ret0;

  L1311: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1312;
  goto ret0;

  L1312: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[4] = x2;
      if (exact_log2 (INTVAL (operands[3]) + 1) >= 0
   && (GET_CODE (operands[1]) == GTU
       || GET_CODE (operands[1]) == LEU
       || ((GET_CODE (operands[1]) == GT || GET_CODE (operands[1]) == LE)
	   && extended_count (operands[2], DImode, 1) > 0)))
	return gen_split_248 (operands);
      }
  goto ret0;
 ret0: return 0;
}

rtx
split_insns (x0, insn)
     register rtx x0;
     rtx insn ATTRIBUTE_UNUSED;
{
  register rtx *ro = &recog_operand[0];
  register rtx x1 ATTRIBUTE_UNUSED, x2 ATTRIBUTE_UNUSED, x3 ATTRIBUTE_UNUSED, x4 ATTRIBUTE_UNUSED, x5 ATTRIBUTE_UNUSED, x6 ATTRIBUTE_UNUSED;
  rtx tem ATTRIBUTE_UNUSED;

  L4: ATTRIBUTE_UNUSED_LABEL
  switch (GET_CODE (x0))
    {
    default:
      break;
    case SET:
      goto L5;
    case PARALLEL:
      if (XVECLEN (x0, 0) == 2 && 1)
	goto L29;
      if (XVECLEN (x0, 0) == 3 && 1)
	goto L616;
    }
  goto ret0;

  L5: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 0);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      if (hard_fp_register_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L6;
	}
    L59: ATTRIBUTE_UNUSED_LABEL
      if (register_operand (x1, DImode))
	{
	  ro[0] = x1;
	  goto L60;
	}
      break;
    case SImode:
      if (register_operand (x1, SImode))
	{
	  ro[0] = x1;
	  goto L19;
	}
    }
  goto ret0;

  L6: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  if (GET_MODE (x1) == DImode && GET_CODE (x1) == SIGN_EXTEND && 1)
    goto L7;
  x1 = XEXP (x0, 0);
  goto L59;

  L7: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (memory_operand (x2, SImode))
    {
      ro[1] = x2;
      if (reload_completed)
	return gen_split_1 (operands);
      }
  x1 = XEXP (x0, 0);
  goto L59;

  L60: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  switch (GET_MODE (x1))
    {
    default:
      break;
    case DImode:
      switch (GET_CODE (x1))
	{
	default:
	  break;
	case PLUS:
	  goto L108;
	case SIGN_EXTEND:
	  goto L143;
	case AND:
	  goto L294;
	case ABS:
	  goto L978;
	case NEG:
	  goto L990;
	}
    }
  if (GET_CODE (x1) == CONST_INT && 1)
    {
      ro[1] = x1;
      if (! add_operand (operands[1], DImode))
	return gen_split_295 (operands);
      }
  goto ret0;

  L108: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != DImode)
    goto ret0;
  if (GET_CODE (x2) == PLUS && 1)
    goto L163;
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L62;
    }
  goto ret0;

  L163: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) != DImode)
    goto ret0;
  if (GET_CODE (x3) == MULT && 1)
    goto L164;
  if (register_operand (x3, DImode))
    {
      ro[1] = x3;
      goto L110;
    }
  goto ret0;

  L164: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_or_0_operand (x4, DImode))
    {
      ro[1] = x4;
      goto L165;
    }
  goto ret0;

  L165: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && const48_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L166;
    }
  goto ret0;

  L166: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      ro[3] = x3;
      goto L167;
    }
  goto ret0;

  L167: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (add_operand (x2, DImode))
    {
      ro[4] = x2;
      if (reload_completed)
	return gen_split_23 (operands);
      }
  goto ret0;

  L110: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, DImode))
    {
      ro[2] = x3;
      goto L111;
    }
  goto ret0;

  L111: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (add_operand (x2, DImode))
    {
      ro[3] = x2;
      if (reload_completed)
	return gen_split_17 (operands);
      }
  goto ret0;

  L62: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      if (! add_operand (operands[2], DImode)
   && operands[0] != stack_pointer_rtx
   && operands[1] != frame_pointer_rtx
   && operands[1] != arg_pointer_rtx)
	return gen_split_11 (operands);
      }
  goto ret0;

  L143: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == PLUS && 1)
    goto L144;
  goto ret0;

  L144: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == PLUS && 1)
    goto L145;
  goto ret0;

  L145: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == SImode && GET_CODE (x4) == MULT && 1)
    goto L146;
  goto ret0;

  L146: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (reg_or_0_operand (x5, SImode))
    {
      ro[1] = x5;
      goto L147;
    }
  goto ret0;

  L147: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && const48_operand (x5, SImode))
    {
      ro[2] = x5;
      goto L148;
    }
  goto ret0;

  L148: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (register_operand (x4, SImode))
    {
      ro[3] = x4;
      goto L149;
    }
  goto ret0;

  L149: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (add_operand (x3, SImode))
    {
      ro[4] = x3;
      if (reload_completed)
	return gen_split_21 (operands);
      }
  goto ret0;

  L294: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      goto L295;
    }
  goto ret0;

  L295: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      if (HOST_BITS_PER_WIDE_INT == 64 && ! and_operand (operands[2], DImode))
	return gen_split_50 (operands);
      }
  goto ret0;

  L978: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[1] = x2;
      if (! rtx_equal_p (operands[0], operands[1]))
	return gen_split_172 (operands);
      }
  goto ret0;

  L990: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) == DImode && GET_CODE (x2) == ABS && 1)
    goto L991;
  goto ret0;

  L991: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (register_operand (x3, DImode))
    {
      ro[1] = x3;
      if (! rtx_equal_p (operands[0], operands[1]))
	return gen_split_174 (operands);
      }
  goto ret0;

  L19: ATTRIBUTE_UNUSED_LABEL
  x1 = XEXP (x0, 1);
  switch (GET_CODE (x1))
    {
    default:
      break;
    case PLUS:
      if (GET_MODE (x1) == SImode && 1)
	goto L124;
      break;
    case CONST_INT:
      ro[1] = x1;
      if (! add_operand (operands[1], SImode))
	return gen_split_291 (operands);
    }
  goto ret0;

  L124: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (GET_MODE (x2) != SImode)
    goto ret0;
  if (GET_CODE (x2) == PLUS && 1)
    goto L125;
  if (register_operand (x2, SImode))
    {
      ro[1] = x2;
      goto L21;
    }
  goto ret0;

  L125: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == SImode && GET_CODE (x3) == MULT && 1)
    goto L126;
  goto ret0;

  L126: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (reg_or_0_operand (x4, SImode))
    {
      ro[1] = x4;
      goto L127;
    }
  goto ret0;

  L127: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && const48_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L128;
    }
  goto ret0;

  L128: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (register_operand (x3, SImode))
    {
      ro[3] = x3;
      goto L129;
    }
  goto ret0;

  L129: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (add_operand (x2, SImode))
    {
      ro[4] = x2;
      if (reload_completed)
	return gen_split_19 (operands);
      }
  goto ret0;

  L21: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == CONST_INT && 1)
    {
      ro[2] = x2;
      if (! add_operand (operands[2], SImode))
	return gen_split_5 (operands);
      }
  goto ret0;

  L29: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L30;
  goto ret0;

  L30: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case DImode:
      if (register_operand (x2, DImode))
	{
	  ro[0] = x2;
	  goto L31;
	}
      break;
    case SImode:
      if (memory_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L628;
	}
      break;
    case QImode:
      if (register_operand (x2, QImode))
	{
	  ro[0] = x2;
	  goto L1553;
	}
      break;
    case HImode:
      if (register_operand (x2, HImode))
	{
	  ro[0] = x2;
	  goto L1559;
	}
    }
  if (GET_CODE (x2) == PC && 1)
    goto L1119;
  goto ret0;
 L31: ATTRIBUTE_UNUSED_LABEL
  return split_1 (x0, insn);

  L628: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == SUBREG && XINT (x2, 1) == 0 && 1)
    goto L629;
  goto ret0;

  L629: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == FIX && 1)
    goto L689;
  goto ret0;

  L689: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DFmode)
    goto ret0;
  if (GET_CODE (x4) == FLOAT_EXTEND && 1)
    goto L690;
  if (reg_or_fp0_operand (x4, DFmode))
    {
      ro[1] = x4;
      goto L631;
    }
  goto ret0;

  L690: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (reg_or_fp0_operand (x5, SFmode))
    {
      ro[1] = x5;
      goto L691;
    }
  goto ret0;

  L691: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L692;
  goto ret0;

  L692: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_FP && reload_completed)
	return gen_split_124 (operands);
      }
  goto ret0;

  L631: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L632;
  goto ret0;

  L632: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      if (TARGET_FP && reload_completed)
	return gen_split_118 (operands);
      }
  goto ret0;

  L1553: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (memory_operand (x2, QImode))
    {
      ro[1] = x2;
      goto L1554;
    }
  goto ret0;

  L1554: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1555;
  goto ret0;

  L1555: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_BWX && reload_completed)
	return gen_split_313 (operands);
      }
  goto ret0;

  L1559: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (memory_operand (x2, HImode))
    {
      ro[1] = x2;
      goto L1560;
    }
  goto ret0;

  L1560: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1561;
  goto ret0;

  L1561: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[2] = x2;
      if (! TARGET_BWX && reload_completed)
	return gen_split_314 (operands);
      }
  goto ret0;

  L1119: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_CODE (x2) == IF_THEN_ELSE && 1)
    goto L1120;
  goto ret0;

  L1120: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (comparison_operator (x3, VOIDmode))
    {
      ro[1] = x3;
      goto L1121;
    }
  goto ret0;

  L1121: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) == DImode && GET_CODE (x4) == ZERO_EXTRACT && 1)
    goto L1122;
  if (reg_or_0_operand (x4, DImode))
    {
      ro[2] = x4;
      goto L1287;
    }
  L1298: ATTRIBUTE_UNUSED_LABEL
  if (reg_or_0_operand (x4, SImode))
    {
      ro[2] = x4;
      goto L1299;
    }
  goto ret0;

  L1122: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (register_operand (x5, DImode))
    {
      ro[2] = x5;
      goto L1123;
    }
  goto ret0;

  L1123: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 1);
  if (GET_CODE (x5) == CONST_INT && XWINT (x5, 0) == 1 && 1)
    goto L1124;
  goto ret0;

  L1124: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 2);
  if (GET_CODE (x5) == CONST_INT && 1)
    {
      ro[3] = x5;
      goto L1125;
    }
  goto ret0;

  L1125: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && XWINT (x4, 0) == 0 && 1)
    goto L1126;
  goto ret0;

  L1126: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L1127;
  goto ret0;

  L1127: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L1128;

  L1128: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC && 1)
    goto L1129;
  goto ret0;

  L1129: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1130;
  goto ret0;

  L1130: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[4] = x2;
      if (INTVAL (operands[3]) != 0)
	return gen_split_197 (operands);
      }
  goto ret0;

  L1287: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (reg_or_cint_operand (x4, DImode))
    {
      ro[3] = x4;
      goto L1288;
    }
  x4 = XEXP (x3, 0);
  goto L1298;

  L1288: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L1289;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1298;

  L1289: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L1290;

  L1290: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC && 1)
    goto L1291;
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1298;

  L1291: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1292;
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1298;

  L1292: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[4] = x2;
      if (operands[3] != const0_rtx)
	return gen_split_246 (operands);
      }
  x1 = XVECEXP (x0, 0, 0);
  x2 = XEXP (x1, 1);
  x3 = XEXP (x2, 0);
  x4 = XEXP (x3, 0);
  goto L1298;

  L1299: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 1);
  if (GET_CODE (x4) == CONST_INT && 1)
    {
      ro[3] = x4;
      goto L1300;
    }
  goto ret0;

  L1300: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 1);
  if (GET_CODE (x3) == LABEL_REF && 1)
    goto L1301;
  goto ret0;

  L1301: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  ro[0] = x4;
  goto L1302;

  L1302: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 2);
  if (GET_CODE (x3) == PC && 1)
    goto L1303;
  goto ret0;

  L1303: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1304;
  goto ret0;

  L1304: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, DImode))
    {
      ro[4] = x2;
      if (operands[3] != const0_rtx
   && (GET_CODE (operands[1]) == EQ || GET_CODE (operands[1]) == NE))
	return gen_split_247 (operands);
      }
  goto ret0;

  L616: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 0);
  if (GET_CODE (x1) == SET && 1)
    goto L617;
  goto ret0;

  L617: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  switch (GET_MODE (x2))
    {
    default:
      break;
    case SImode:
      if (memory_operand (x2, SImode))
	{
	  ro[0] = x2;
	  goto L618;
	}
      break;
    case QImode:
      if (memory_operand (x2, QImode))
	{
	  ro[0] = x2;
	  goto L1565;
	}
      break;
    case HImode:
      if (memory_operand (x2, HImode))
	{
	  ro[0] = x2;
	  goto L1573;
	}
    }
  goto ret0;

  L618: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (GET_MODE (x2) == SImode && GET_CODE (x2) == SUBREG && XINT (x2, 1) == 0 && 1)
    goto L619;
  goto ret0;

  L619: ATTRIBUTE_UNUSED_LABEL
  x3 = XEXP (x2, 0);
  if (GET_MODE (x3) == DImode && GET_CODE (x3) == FIX && 1)
    goto L678;
  goto ret0;

  L678: ATTRIBUTE_UNUSED_LABEL
  x4 = XEXP (x3, 0);
  if (GET_MODE (x4) != DFmode)
    goto ret0;
  if (GET_CODE (x4) == FLOAT_EXTEND && 1)
    goto L679;
  if (reg_or_fp0_operand (x4, DFmode))
    {
      ro[1] = x4;
      goto L621;
    }
  goto ret0;

  L679: ATTRIBUTE_UNUSED_LABEL
  x5 = XEXP (x4, 0);
  if (reg_or_fp0_operand (x5, SFmode))
    {
      ro[1] = x5;
      goto L680;
    }
  goto ret0;

  L680: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L681;
  goto ret0;

  L681: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L682;
    }
  goto ret0;

  L682: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L683;
  goto ret0;

  L683: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_FP && reload_completed)
	return gen_split_123 (operands);
      }
  goto ret0;

  L621: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L622;
  goto ret0;

  L622: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, DImode))
    {
      ro[2] = x2;
      goto L623;
    }
  goto ret0;

  L623: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L624;
  goto ret0;

  L624: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (scratch_operand (x2, SImode))
    {
      ro[3] = x2;
      if (TARGET_FP && reload_completed)
	return gen_split_117 (operands);
      }
  goto ret0;

  L1565: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, QImode))
    {
      ro[1] = x2;
      goto L1566;
    }
  goto ret0;

  L1566: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1567;
  goto ret0;

  L1567: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L1568;
    }
  goto ret0;

  L1568: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1569;
  goto ret0;

  L1569: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_BWX && reload_completed)
	return gen_split_315 (operands);
      }
  goto ret0;

  L1573: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 1);
  if (register_operand (x2, HImode))
    {
      ro[1] = x2;
      goto L1574;
    }
  goto ret0;

  L1574: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 1);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1575;
  goto ret0;

  L1575: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[2] = x2;
      goto L1576;
    }
  goto ret0;

  L1576: ATTRIBUTE_UNUSED_LABEL
  x1 = XVECEXP (x0, 0, 2);
  if (GET_CODE (x1) == CLOBBER && 1)
    goto L1577;
  goto ret0;

  L1577: ATTRIBUTE_UNUSED_LABEL
  x2 = XEXP (x1, 0);
  if (register_operand (x2, SImode))
    {
      ro[3] = x2;
      if (! TARGET_BWX && reload_completed)
	return gen_split_316 (operands);
      }
  goto ret0;
 ret0: return 0;
}

